2021-02-16 12:40:36
监控 Nginx 配置文件未授权修改的核心方法是建立完整的监控与告警机制,结合文件完整性监控(FIM)、版本控制、访问控制、审计日志、配置管理工具及实时监控工具,确保及时发现并处理异常变更。
具体解决方案文件完整性监控(FIM)
工具选择:使用 AIDE 或 Tripwire 生成基线哈希值,定期扫描文件变化。
AIDE 示例配置:
/etc/nginx/nginx.conf R /etc/nginx/conf.d/ R (R 表示递归监控目录及其所有文件)告警集成:配置工具在检测到更改时发送邮件或集成到 SIEM 系统(如 Splunk、ELK)。
版本控制
将配置文件纳入 Git 等版本控制系统,通过分支管理实现变更追踪与回滚。
Git 工作流:
创建专用仓库,修改前新建分支,代码审查后合并至主分支。
每次提交记录修改者、时间及内容,便于审计。
访问控制
严格限制文件权限,仅授权用户可修改配置。
示例命令:
chown root:nginx /etc/nginx/nginx.conf chmod 640 /etc/nginx/nginx.conf chown -R root:nginx /etc/nginx/conf.d/ chmod -R 640 /etc/nginx/conf.d/ (所有者:root;所属组:nginx;权限:所有者读写,组读,其他无权限)审计日志
启用 auditd 记录文件访问与修改操作。
示例审计规则:
-w /etc/nginx/nginx.conf -p wa -k nginx_config -w /etc/nginx/conf.d/ -p wa -k nginx_config (监控写入和属性更改,标记事件为 nginx_config)使用 ausearch -k nginx_config 搜索相关事件。
配置管理工具
使用 Ansible、Chef 或 Puppet 自动化部署,确保配置一致性并提供审计跟踪。
Ansible 示例:通过 Playbook 定义期望状态,自动同步配置文件至服务器。
实时监控工具
引入 Falco 等工具,基于预定义规则检测异常文件访问行为并立即告警。
监控 Nginx 配置文件未授权修改需综合多层次措施: