iis日志默认存于c:inetpublogslogfiles,存在安全风险,应迁移至独立ntfs磁盘(如d:iislogs),仅授予iis_iusrs“修改”和administrators“完全控制”权限,禁用继承并启用对象访问审核与自动轮转备份。

服务器日志不能和系统盘、网站文件混在一起存,否则一旦被攻破,攻击者删日志就像删自己桌面上的文本文件一样简单。核心思路就一条:把日志挪到独立位置,再收紧访问权限,让IIS服务能写、别人几乎不能碰。
明确日志存放路径并迁移
IIS默认日志在 C:inetpublogsLogFiles,这个路径在系统盘且权限宽松,必须改。建议新建一个非系统盘的专用目录,比如 D:IISLogs。
- 在IIS管理器中,选中对应网站 → 右侧“高级设置” → 找到“日志文件目录”,填入新路径
- 确保目标盘符已格式化为NTFS(FAT32不支持细粒度权限)
- 迁移前先停用网站或暂停日志写入,避免写入中断导致丢失
严格限制日志目录的NTFS权限
权限不是“设了就行”,而是要精确到最小必要。只允许两个主体操作:
- IIS_IUSRS:赋予“修改”权限(IIS进程需要写日志)
- Administrators:赋予“完全控制”(仅限管理员排查或归档)
- 务必移除 Everyone、Users、IUSR 等泛化组的任何访问权限
- 禁用继承,手动清理子目录和文件的冗余权限(右键目录 → 属性 → 安全 → 高级 → 禁用继承 → 删除不需要的条目)
启用日志审核与变更告警
光防删不够,还要知道谁动过。开启对象访问审计后,删除、重命名、权限修改等动作都会进安全日志。
- 打开 gpedit.msc → 计算机配置 → Windows设置 → 安全设置 → 高级审计策略配置 → 对象访问 → 启用“对象访问-成功”和“对象访问-失败”
- 对日志目录右键 → 属性 → 安全 → 高级 → 审核 → 添加 Administrators 和 SYSTEM,勾选“删除”“更改权限”“取得所有者”等关键操作
- 配合事件查看器筛选事件ID 4663(句柄请求)、4660(对象删除)、4670(权限更改)
配置日志轮转与异地备份
本地日志只是临时记录,长期留存必须脱离原服务器。
- IIS日志属性中启用“按天/按大小”轮转,保留最近90天(避免单文件过大影响分析)
- 用Windows任务计划 + robocopy 每日自动同步到另一台内网服务器(如 \192.168.1.50BackupLogs)
- 备份脚本加参数 /MIR /Z /R:2 /W:5,保证断点续传和稳定性
- 备份目标目录同样需设置严格NTFS权限,且禁止执行权限(防止上传WebShell)











