云主机安全实战:入侵检测与告警规则配置指南 核心要点图解,云主机入侵检测需监控SSH登录、文件变更和异常进程。;使用Fail2ban自动封禁暴力破解IP,并配置告警通知。;AIDE定期检查文件完整性,发现篡改立即告警。;Auditd监控关键系统调用,记录可疑行为。
云主机安全实战:入侵检测与告警规则配置指南 · 核心要点一图读懂(AegisX)

核心要点(TL;DR)

  • 云主机入侵检测需监控SSH登录、文件变更和异常进程。
  • 使用Fail2ban自动封禁暴力破解IP,并配置告警通知。
  • AIDE定期检查文件完整性,发现篡改立即告警。
  • Auditd监控关键系统调用,记录可疑行为。

痛点:云主机被入侵了,你却不知道

很多运维和站长把云主机安全寄托在云平台的基础防护上,直到收到账单异常、网站被篡改、数据被加密勒索,才发现主机早已被入侵。云主机默认没有入侵检测机制,SSH暴力破解、恶意文件上传、异常进程运行等行为不会主动告警。本文手把手带你从零配置入侵检测与告警规则,让安全事件第一时间暴露。

一、入侵检测的核心监控点

云主机入侵检测主要覆盖三个层面:登录行为(SSH暴力破解、异常IP登录)、文件完整性(关键系统文件被篡改)、进程与网络(异常进程、可疑外联)。每个层面都需要对应的工具和告警规则。

监控层面工具告警触发条件
登录行为Fail2ban多次登录失败、非白名单IP登录
文件完整性AIDE关键文件哈希变化
进程与网络Auditd执行可疑命令、连接恶意IP

二、配置SSH暴力破解检测与告警

SSH是云主机最常见的入侵入口。使用Fail2ban自动封禁暴力破解IP,并配置告警通知。

1. 安装Fail2ban

sudo apt update && sudo apt install fail2ban -y  # Debian/Ubuntu
sudo yum install epel-release && sudo yum install fail2ban -y  # CentOS

2. 配置SSH监控规则

创建/etc/fail2ban/jail.local:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
action = %(action_mwl)s

其中action_mwl表示封禁IP并发送包含日志的邮件告警。需提前配置邮件发送(如mailutils)。

3. 重启并验证

sudo systemctl restart fail2ban
sudo fail2ban-client status sshd

检查清单:确认auth.log路径正确;测试多次错误密码后IP是否被封禁;检查邮件是否能收到告警。

三、文件完整性监控:用AIDE发现篡改

攻击者常修改系统文件(如/etc/passwd添加后门账户)。AIDE通过哈希比对发现变更。

1. 安装并初始化AIDE

sudo apt install aide -y
sudo aideinit
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

2. 配置监控目录

编辑/etc/aide/aide.conf,确保包含关键目录:

/etc Full
/bin Full
/sbin Full
/usr/bin Full
/usr/sbin Full

3. 设置每日检查与告警

添加cron任务:

0 3 * * * /usr/bin/aide --check | mail -s "AIDE Daily Report" admin@example.com

检查清单:确认aide.db已生成;手动运行aide --check测试输出;确保邮件发送正常。

四、进程与网络行为监控:Auditd实战

Auditd能记录系统调用,监控可疑进程执行和网络连接。

1. 安装Auditd

sudo apt install auditd -y

2. 添加监控规则

监控execve系统调用(所有命令执行):

sudo auditctl -a always,exit -F arch=b64 -S execve -k exec_commands

监控敏感文件访问:

sudo auditctl -w /etc/passwd -p wa -k passwd_changes

3. 配置告警

编辑/etc/audit/auditd.conf,设置space_left_action = email,并配置邮件通知。也可使用audispd插件将日志转发到SIEM。

检查清单:确认规则已加载(auditctl -l);测试触发规则并查看/var/log/audit/audit.log;验证告警邮件。

五、告警规则优化与检查清单

配置完成后,需定期优化规则以减少误报。建议:

  • 为Fail2ban设置IP白名单(ignoreip)。
  • AIDE排除临时目录(/tmp、/var/log)。
  • Auditd规则聚焦关键行为,避免全量记录导致日志爆炸。

最终检查清单:

  1. Fail2ban是否生效并发送告警?
  2. AIDE数据库是否最新?每日检查是否运行?
  3. Auditd规则是否覆盖关键系统调用?
  4. 告警接收渠道(邮件/Webhook)是否畅通?

在防护建议方面,可结合AegisX的云主机入侵检测能力,实现开箱即用的告警规则和集中管理。

行动建议

立即在测试环境部署上述工具,逐步应用到生产环境。安全是一个持续过程,建议每周审查告警日志,每月更新检测规则。只有主动监控,才能让入侵者无处遁形。

常见问题(FAQ)

云主机入侵检测主要监控哪些方面?

云主机入侵检测主要监控SSH登录行为(如暴力破解)、关键文件完整性(如/etc/passwd)、异常进程和网络连接。通过监控这些方面,可以及时发现入侵迹象。建议使用Fail2ban、AIDE和Auditd等工具组合实现全面监控。

如何配置SSH暴力破解告警?

可以使用Fail2ban监控SSH日志,自动封禁多次登录失败的IP,并配置邮件或Webhook告警。具体步骤:安装Fail2ban,配置jail.local启用sshd规则,设置maxretry和bantime,并配置action发送告警。这样能有效减少暴力破解风险。

文件完整性监控用什么工具?

推荐使用AIDE(Advanced Intrusion Detection Environment)。它通过创建文件哈希数据库,定期检查文件是否被篡改。配置AIDE监控关键目录(如/etc、/bin),设置定时任务每日检查,发现变更时发送告警。这有助于及时发现恶意修改。

如何监控云主机的异常进程?

可以使用Auditd监控进程执行,或使用psacct记录进程活动。配置Auditd规则监控execve系统调用,记录所有执行的命令。结合日志分析工具(如ELK)设置告警规则,对可疑进程(如挖矿程序)实时告警。

告警规则应该设置哪些关键指标?

关键指标包括:SSH登录失败次数、关键文件哈希变化、异常外联IP、CPU/内存异常占用、新增用户账号等。建议根据业务特点设置阈值,并确保告警能及时送达(如邮件、短信、Slack)。定期审查告警规则,避免误报和漏报。