Linux安全审计与入侵检测

一、安全审计的重要性

根据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的完整监控体系,是中小团队成本最低效果最好的安全方案。

By admin

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

This website uses cookies to analyze site traffic and improve your experience. By continuing to use this site, you consent to our use of cookies.