Linux虚拟机安全审计实施指南
系统级审计是基础,需覆盖漏洞扫描、合规性检查及文件完整性监控:
Lynis进行深度安全扫描(支持Linux/Unix/macOS,生成定制化报告),OpenSCAP实现CIS基准等合规性检查(如sudo oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_cis /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-ds.xml);针对软件包漏洞,Debian系用debsecan(sudo debsecan --suite bookworm --format detail),RHEL系用dnf updateinfo list updates --security。AIDE(高级入侵检测环境)建立系统文件基线,初始化数据库(sudo aideinit),设置每日自动检查脚本(echo '#!/bin/sh /usr/bin/aide --check | mail -s "AIDE Report $(hostname)" admin@example.com' > /etc/cron.daily/aide-check);或用auditd实时监控关键目录(如/etc),添加规则sudo auditctl -w /etc/ -p wa -k etc_changes,查看日志用ausearch -k etc_changes | aureport -f -i。用户权限管理是防范内部威胁的关键:
sudo awk -F: '($2 == "" ) {print $1}' /etc/shadow),分析sudo权限(sudo grep -ER '^%|ALL=' /etc/sudoers.d/),禁用未使用的账户(sudo usermod -L username)。sshd -T | grep -E '(permitrootlogin|passwordauthentication)'),修改/etc/ssh/sshd_config禁用root登录(PermitRootLogin prohibit-password)、关闭密码认证(PasswordAuthentication no)、限制最大认证尝试次数(MaxAuthTries 3)。日志是审计的“黑匣子”,需集中管理与分析:
rsyslog将日志发送至远程服务器(/etc/rsyslog.conf添加*.* @192.168.1.100:514),启用journald持久化存储(sudo mkdir /var/log/journal && sudo systemctl restart systemd-journald)。Suricata结合YARA规则检测webshell(如规则rule Webshell_Detection { strings: $php_eval = "eval($_POST" nocase $jsp_shell = "<%@ page import=\"java.io.*\"" condition: any of them }),或通过OSSEC实现实时威胁共享与机器学习分析。网络层审计聚焦防火墙与端口安全:
nftables审查规则(sudo nft list ruleset),关闭不必要的端口(sudo ss -tulpn | grep -E '0.0.0.0|::'),仅开放必需的服务端口(如80、443)。ModSecurity加载OWASP CRS规则集(git clone https://github.com/coreruleset/coreruleset /etc/modsecurity/crs/),测试SQL注入等攻击(curl -X POST "http://target/page" -d "param=1' OR '1'='1")。自动化提升审计效率,减少人工遗漏:
Lynis、debsecan、AIDE、lastlog等工具,生成每日报告(示例脚本:{ echo "=== Lynis Report ===" ; lynis audit system --quick 2>&1 ; echo "=== Package Audit ===" ; debsecan --format detail ; echo "=== File Integrity ===" ; aide --check ; echo "=== User Audit ===" ; lastlog | grep -v "Never logged in" ; } | tee /var/log/security_audit/$(date +%Y%m%d)/full_report.txt)。若虚拟机运行容器(如Docker),需额外审计容器安全:
Trivy扫描镜像(trivy image --severity CRITICAL,HIGH your-image:latest),kube-bench审计Kubernetes集群(kube-bench --benchmark cis-1.8)。Falco检测容器异常行为(如特权模式运行、挂载敏感目录/proc、读取/etc/shadow),规则示例:- rule: Container running in privileged mode. desc: Privileged containers have extended capabilities. severity: CRITICAL。