CentOS Stream 8如何进行安全审计
导读:CentOS Stream 8 安全审计实操指南 一 基础审计框架与日志采集 启用并验证内核审计服务 auditd:安装包为audit(命令:yum -y install audit),启动并设置开机自启(systemctl enable...
CentOS Stream 8 安全审计实操指南
一 基础审计框架与日志采集
- 启用并验证内核审计服务 auditd:安装包为audit(命令:yum -y install audit),启动并设置开机自启(systemctl enable --now auditd)。审计日志默认写入**/var/log/audit/audit.log**,规则目录为**/etc/audit/rules.d/,修改规则后使用augenrules --load加载,查询用ausearch**,服务参数在**/etc/audit/auditd.conf**。
- 统一查看 systemd 日志:使用journalctl进行实时与历史排查,例如 journalctl -f(实时)、journalctl -b(本次启动)、journalctl --since today、journalctl -p err(按优先级)。
- 关键日志文件位置:/var/log/messages(系统消息)、/var/log/secure(认证与 sudo)、/var/log/audit/audit.log(审计事件)。
- 持久化与远程集中:编辑**/etc/systemd/journald.conf将 Storage=persistent 并重启 systemd-journald;使用rsyslog**将日志转发到远程日志服务器,便于集中审计与留存。
二 审计规则与常用用例
- 文件与关键配置变更监控:对**/etc/passwd**、/etc/shadow、/etc/sudoers等设置写/属性变更审计,示例规则:-w /etc/passwd -p wa -k passwd_changes(监控写入与属性更改,标记为 passwd_changes)。
- 系统调用级访问审计:对敏感目录(如**/var/www**、/home)的打开行为审计,示例规则(64 位):-a always,exit -F arch=b64 -S open,openat -F dir=/var/www -F success=1 -k web_access;按需扩展为 creat/truncate/open_by_handle_at 等。
- 用户身份与提权审计:记录身份切换与提权行为,示例:-w /usr/bin/sudo -p x -k sudo_exec;-a always,exit -S setuid -S setgid -k priv_esc。
- 规则生效与查询:规则写入**/etc/audit/rules.d/audit.rules或/etc/audit/rules.d/*.rules后执行augenrules --load**;检索用ausearch -f /path或按时间/用户过滤,例如 ausearch --start today -k passwd_changes。
三 日志分析与可视化
- 本地快速分析:结合journalctl与命令行工具(grep、awk、sort、uniq)做关键字与统计,例如统计失败登录:journalctl -u sshd --since today | grep ‘Failed’ | awk ‘{ print $9} ’ | sort | uniq -c;Web 访问日志可用 awk 统计 Top IP。
- 集中化与可视化:部署ELK Stack(Elasticsearch、Logstash、Kibana)或Splunk收集与分析日志;网络侧可引入Suricata做入侵检测,日志送入 ELK/Kibana 的SIEM仪表板进行告警与取证。
四 合规巡检与加固建议
- 使用Lynis进行系统级合规审计:安装(yum -y install lynis),执行lynis audit system,报告与日志位于**/var/log/lynis.log与/var/log/lynis-report.dat**;可按组审计(lynis show groups,lynis --tests-from-group ‘kernel firewalls’),查看某条建议详情(lynis show details TEST-ID)。
- 审计与日志的稳健性配置:在**/etc/audit/auditd.conf中设置合理的max_log_file**、max_log_file_action=keep_logs、磁盘空间告警(space_left_action、admin_space_left_action),避免审计日志被覆盖或磁盘被写满导致审计中断。
五 最小可用审计规则示例
# /etc/audit/rules.d/audit.rules
# 关键文件变更
-w /etc/passwd -p wa -k passwd_changes
-w /etc/shadow -p wa -k shadow_changes
-w /etc/sudoers -p wa -k sudoers_changes
# 敏感目录访问(示例:/var/www)
-a always,exit -F arch=b64 -S open,openat -F dir=/var/www -F success=1 -k web_access
# 提权与身份切换
-a always,exit -S setuid -S setgid -k priv_esc
-w /usr/bin/sudo -p x -k sudo_exec
# 加载规则
augenrules --load
提示:规则生效后用 ausearch -k 验证是否产生事件;如需长期留存,请同时配置 journald 持久化与 rsyslog 远程转发。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Stream 8如何进行安全审计
本文地址: https://pptw.com/jishu/763149.html
