网站首页 > 技术文章 正文
在日益复杂的网络环境中,仅依赖传统的防火墙或杀毒软件已远远不够。本文将手把手教你如何基于 Linux 平台,从零构建一个具备文件完整性监控 + SSH 防暴力破解 + 入侵阻断联动能力的自适应入侵防御系统(AIDE + Fail2Ban + iptables),实现“事前预警、事中阻断、事后追溯”的完整防御闭环。
二、系统架构图
+----------------+ +-----------------+ +-----------------+
| AIDE | | Fail2Ban | | iptables |
|(完整性检测系统)| <---> |(异常行为拦截) | <---> |(动态封禁 IP) |
+----------------+ +-----------------+ +-----------------+
三、安装与部署
1. 安装 AIDE(Advanced Intrusion Detection Environment)
sudo apt update && sudo apt install aide -y
初始化数据库:
sudo aideinit
sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db
设置定时检查任务:
echo "0 3 * * * root /usr/bin/aide.wrapper --check" | sudo tee -a /etc/crontab
2. 安装 Fail2Ban
sudo apt install fail2ban -y
编辑 SSH 防护规则:
sudo tee /etc/fail2ban/jail.local > /dev/null <<EOF
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
maxretry = 3
bantime = 1h
EOF
重启服务:
sudo systemctl restart fail2ban
3. 启用 iptables 自动封禁策略(联动)
在 Fail2Ban 中添加 iptables 操作:
sudo fail2ban-client set sshd addignoreip 192.168.1.0/24
查看已封禁 IP:
sudo iptables -L -n
四、自定义实战脚本(邮件告警 + 本地日志记录)
创建一个自动触发告警脚本
/usr/local/bin/aide-check.sh:
#!/bin/bash
LOG="/var/log/aide-check.log"
DATE=$(date +%Y-%m-%d-%H:%M:%S)
if aide.wrapper --check | grep -q 'Changed files'; then
echo "$DATE - AIDE 检测到变更" >> $LOG
mail -s "AIDE Alert - Linux 主机有异常变更" your_email@example.com < $LOG
fi
添加至每日 cron:
echo "0 2 * * * root /usr/local/bin/aide-check.sh" | sudo tee -a /etc/crontab
五、实战测试:模拟攻击 + 封禁验证
1. 模拟 SSH 暴力破解:
for i in {1..5}; do ssh wronguser@your_ip; done
2. 查看封禁记录:
sudo fail2ban-client status sshd
六、总结
通过整合 AIDE、Fail2Ban、iptables,我们实现了一个具备自我感知、防御与告警能力的入侵检测与防护系统,适用于中小企业服务器、云主机安全加固、或居家 Linux 安全演练。
- 上一篇: LINUX IPTABLES 防火墙配置
- 下一篇: linux系统相关防火墙iptables命令操作
猜你喜欢
- 2025-05-26 linux系统相关防火墙iptables命令操作
- 2025-05-26 iptables是如何工作的
- 2025-05-26 LINUX IPTABLES 防火墙配置
- 2025-05-26 「渗透测试」内网渗透中的端口转发
- 2025-05-26 Linux系统下使用Iptables配置端口转发,运维实战收藏!
- 2025-05-26 linux防火墙过滤技术iptables的原理及操作命令详解
- 2025-05-26 deepin管理iptables脚本
- 2025-05-26 Iptables配置介绍
- 2025-05-26 Linux防火墙——iptables原理介绍
- 2025-05-26 快速入门iptables-不啰嗦-直接上手-边实践边学
- 06-22Python开发工程师必会的3个设计模式(工厂、单例、适配器)
- 06-22创建型设计模式——工厂模式和抽象工厂模式
- 06-221. 工厂模式详解
- 06-22工厂模式详解
- 06-22设计模式问题:说一说简单工厂模式?
- 06-22深入设计模式:工厂方法
- 06-22C++设计模式——简单工厂模式
- 06-22什么是工厂模式?工厂模式有哪些类型?如何使用它们?
- 最近发表
- 标签列表
-
- axure 注册码 (25)
- exploit db (21)
- mutex_lock (30)
- oracleclient (27)
- think in java (14)
- javascript权威指南 (19)
- nfs (25)
- componentart (17)
- yii框架 (14)
- springbatch (28)
- oracle数据库备份 (25)
- iptables (21)
- 自动化单元测试 (18)
- mvc模式 (13)
- python编写软件 (14)
- dir (26)
- connectionstring属性尚未初始化 (23)
- output (32)
- panel滚动条 (28)
- centos 5 4 (23)
- sql学习 (33)
- dfn (14)
- http error 503 (21)
- pop3服务器 (18)
- 图表组件 (17)