一、安全审计的重要性
根据2025年数据泄露调查报告,一个入侵行为的平均潜伏期是212天。安全审计的目的就是尽早发现异常行为,缩短这个潜伏期。
二、Linux审计系统:auditd
2.1 安装与审计规则
apt install auditd audispd-plugins -y systemctl enable auditd systemctl start auditd # 审计规则配置 -w /etc/passwd -p wa -k identity -w /etc/shadow -p wa -k identity -w /etc/ssh/sshd_config -p wa -k sshd -a always,exit -S execve -k command_exec -w /sbin/insmod -p x -k kernel-module
2.2 日志分析
# 搜索特定事件 ausearch -ua admin -sc execve -i # 生成审计报告 aureport --summary aureport -l --failed
三、入侵检测:Wazuh
Wazuh是开源HIDS的现代选择,提供Web管理界面和丰富规则集:
git clone https://github.com/wazuh/wazuh-docker.git cd wazuh-docker/single-node docker-compose up -d # 访问 https://your-server:443
四、日志集中管理
使用ELK Stack集中管理服务器日志。Filebeat采集系统日志发往Elasticsearch,Kibana提供可视化分析和告警。
五、自动化响应
#!/bin/bash # incident_response.sh ATTACKER_IP=$1 nft add rule inet filter input ip saddr $ATTACKER_IP drop fail2ban-client set sshd banip $ATTACKER_IP logger -t incident-response "封禁攻击IP: $ATTACKER_IP" echo "$ATTACKER_IP 已封禁"
六、日常安全巡检清单
-
每日:检查失败登录记录(lastb | head -20)
-
每日:检查异常进程(ps aux –sort=-%cpu | head -10)
-
每周:审查audit.log中的异常事件
-
每周:运行Rootkit扫描(rkhunter –check)
-
每月:审查防火墙规则和开放端口
-
每月:检查系统更新和补丁
七、总结
安全审计不是一次性工作,而是持续的过程。关键不在于工具有多强大,而在于能否坚持日常巡检和及时响应。从auditd基线配置开始,逐步建立Wazuh加ELK的完整监控体系,是中小团队成本最低效果最好的安全方案。