1. 审计概述
文件服务器审计记录文件访问、修改、删除等操作,满足合规和安全审计需求。
2. 启用文件审计
1
在 FS01 服务器打开本地安全策略(secpol.msc)→ 展开"本地策略" → 选择"审核策略"
2
双击"审核文件系统" → 选择"成功"和"失败"复选框 → 点击"确定"
3
双击"审核文件共享" → 选择"成功"和"失败"复选框 → 点击"确定"
4
运行 gpupdate /force 刷新策略
PowerShell - 启用审计策略
# 启用文件系统审计
auditpol /set /subcategory:"File System" /success:enable /failure:enable
# 启用文件共享审计
auditpol /set /subcategory:"File Share" /success:enable /failure:enable
# 查看当前审计策略
auditpol /get /category:"Object Access"
3. 配置审计策略
1
右键共享文件夹 → "属性" → "安全"选项卡 → 点击"高级"按钮
2
选择"审计"选项卡 → 点击"添加"按钮
3
点击"选择主体" → 输入 Everyone → 在"类型"中选择"全部"(成功和失败)
4
在"基本权限"中勾选"读取"、"写入"、"删除" → 在"适用于"中选择"此文件夹、子文件夹和文件" → 点击"确定"
PowerShell - 配置 SACL
# 为文件夹添加审计规则
$path = "E:\Shares\Public"
$acl = Get-Acl $path -Audit
$auditRule = New-Object System.Security.AccessControl.FileSystemAuditRule(
"Everyone", "FullControl", "None", "None", "Success,Failure"
)
$acl.AddAuditRule($auditRule)
Set-Acl $path $acl
4. 查看审计日志
1
打开事件查看器(eventvwr.msc)→ 展开"Windows 日志" → 选择"安全"日志
2
点击"筛选当前日志..." → 在"事件 ID"字段中输入:4656,4659,4660,4663(文件审计相关事件 ID)
3
查看事件列表,每条事件包含:时间、用户名、被访问的文件路径、操作类型
PowerShell - 查询审计日志
# 查询文件访问审计日志(Event ID 4663 = 文件访问)
Get-WinEvent -FilterHashtable @{LogName = 'Security'; ID = 4663} -MaxEvents 50 |
Select-Object TimeCreated, @{N="User";E={$_.Properties[1].Value}}, Message
# 导出到 CSV
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4663} -MaxEvents 100 |
Export-Csv -Path "C:\AuditLogs\FileAccess.csv"
5. 常见问题
Q1:审计日志太多怎么办
调整审计策略范围,仅审计关键文件夹。设置日志大小限制,或使用 Windows Server Audit Collection 集中收集。
Q2:如何实时监控文件访问
使用 PowerShell 的 Get-WinEvent 实时监控,或配置 Windows Event Forwarding (WEF) 集中收集日志。