Linux 安全审计实战指南
一 审计目标与总体架构
二 核心审计方案与落地步骤
sudo apt/yum install auditd audispd-plugins && sudo systemctl enable --now auditd-w /etc/ -p wa -k etc_changes-w /var/www/ -p wa -k web_content-w /root/.ssh/ -p wa -k root_ssh-a always,exit -F path=/usr/bin/sudo -F perm=x -k priv_cmd-a always,exit -F path=/usr/bin/su -F perm=x -k priv_cmd-w /etc/passwd -p wa -k passwd_changes-w /etc/shadow -p wa -k shadow_changes-w /etc/group -p wa -k group_changes-e 1(失败即停,变更前先评估以免影响业务)ausearch -k etc_changes | aureport -f -i、aureport --login、aureport --summary。/etc/profile.d/ 注入审计函数,将 history 1 与 logger 结合输出到 local6.info,附带 TTY、PID、PWD、SSH 来源 等字段,便于还原会话。history 方案易被绕过、缺少上下文,仅作补充。*.* @@192.168.1.100:514(生产建议启用 TLS);sudo mkdir -p /var/log/journal && sudo systemctl restart systemd-journald;sudo lynis audit system;sudo oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_cis /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-ds.xml(按系统替换对应 DataStream)。三 SELinux 上下文专项审计
aureport | grep AVC 或 ausearch -m avc;journalctl | grep AVC 检索内核日志中的 AVC。sealert -a /var/log/audit/audit.log 获取处理建议;ausearch -c 'httpd' --raw | audit2allow -M my-httpdsemodule -X 300 -i my-httpd.pp(优先最小权限,必要时再放宽)。semanage fcontext -a -t httpd_sys_content_t "/abc/www/html(/.*)?"restorecon -R -v /abc/www/html。semodule -DB 禁用 dontaudit 再复现;定位完成后恢复默认 semodule -B。四 用户与权限审计要点
sudo awk -F: '($2 == "" ) {print $1}' /etc/shadow;lastlog | grep -v "Never logged in";sshd -T | egrep 'permitrootlogin|passwordauthentication|maxauthtries';建议 PermitRootLogin prohibit-password、PasswordAuthentication no、MaxAuthTries 3。sudo/su 执行;sudo grep -ER '^%|ALL=' /etc/sudoers /etc/sudoers.d/。auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=300(按系统选择 pam_faillock 或 pam_tally2,注意发行版差异与测试)。五 文件完整性与漏洞审计
sudo aideinit;每日检查并告警:/usr/bin/aide --check | mail -s "AIDE Report $(hostname)" admin@example.com;sudo lynis audit system;oscap xccdf eval ...(CIS/等保基线);sudo gvm-start,Web 访问 https://localhost:9392 创建任务;debsecan --suite bookworm --format detail;RHEL 系 dnf updateinfo list updates --security。