
核心要点(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 # CentOS2. 配置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.db2. 配置监控目录
编辑/etc/aide/aide.conf,确保包含关键目录:
/etc Full
/bin Full
/sbin Full
/usr/bin Full
/usr/sbin Full3. 设置每日检查与告警
添加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 -y2. 添加监控规则
监控execve系统调用(所有命令执行):
sudo auditctl -a always,exit -F arch=b64 -S execve -k exec_commands监控敏感文件访问:
sudo auditctl -w /etc/passwd -p wa -k passwd_changes3. 配置告警
编辑/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规则聚焦关键行为,避免全量记录导致日志爆炸。
最终检查清单:
- Fail2ban是否生效并发送告警?
- AIDE数据库是否最新?每日检查是否运行?
- Auditd规则是否覆盖关键系统调用?
- 告警接收渠道(邮件/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)。定期审查告警规则,避免误报和漏报。