主题
入侵检测与审计
为了保护 Linux 系统免受恶意攻击和未授权操作,除了基础安全配置外,还需要部署入侵检测与审计机制,实现对系统行为的监控和分析。
一、系统审计工具 auditd
auditd 是 Linux 上功能强大的审计守护进程,可以记录系统调用和重要事件。
1. 安装与启动
bash
sudo apt install auditd # Debian/Ubuntu
sudo yum install audit # CentOS/RHEL
sudo systemctl enable auditd
sudo systemctl start auditd2. 配置规则
审计规则定义哪些事件被记录,常见路径:
/etc/audit/audit.rules(临时规则)/etc/audit/rules.d/(持久规则)
示例:监控关键文件变动
bash
-w /etc/passwd -p wa -k passwd_changes
-w /etc/shadow -p wa -k shadow_changes3. 查看审计日志
日志默认存储在 /var/log/audit/audit.log。
使用 ausearch 查询:
bash
sudo ausearch -k passwd_changes或用 aureport 生成统计报告。
二、fail2ban 自动封禁
fail2ban 通过监控日志文件,自动封锁多次失败的登录尝试。
1. 安装与启用
bash
sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban2. 配置 jail
编辑 /etc/fail2ban/jail.local,启用 sshd 监控:
ini
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 53. 查看封禁状态
bash
sudo fail2ban-client status sshd三、文件完整性监测工具 AIDE
AIDE(Advanced Intrusion Detection Environment)用于监控文件和目录是否被非法篡改。
1. 安装与初始化
bash
sudo apt install aide
sudo aideinit2. 生成数据库
初始化后,生成基准数据库:
bash
sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db3. 运行检查
定期运行:
bash
sudo aide --check查看报告中的变更,判断是否为入侵迹象。
四、日志审计与分析
- 定期查看系统日志
/var/log/syslog、/var/log/auth.log等 - 利用
logwatch生成每日日志摘要报告 - 配合
rsyslog或syslog-ng做集中日志管理
五、建议实践
- 配置审计规则覆盖关键系统文件、用户操作、登录行为
- 配合防火墙和 fail2ban 防止暴力破解攻击
- 定期检查文件完整性,及时发现异常变更
- 建立日志备份与集中管理体系,便于长期安全审计
通过综合运用入侵检测与审计工具,Linux 系统管理员能够及时发现异常行为,提升系统安全防护水平,降低安全风险。
