在CentOS系统中,防火墙报警主要通过监控防火墙状态/日志、利用Fail2Ban实现违规报警、借助邮件通知异常事件等方式实现,以下是具体步骤:
通过系统命令实时查看防火墙运行状态及日志,快速识别异常(如防火墙服务停止、非法访问尝试)。
systemctl status firewalld命令,若服务未运行(显示“inactive”),需及时启动(systemctl start firewalld)。firewall-cmd --list-all(firewalld)或iptables -L -n(iptables)查看当前规则,确认是否有未授权的端口开放或IP限制。journalctl -xe或tail -f /var/log/messages(CentOS 6)监控防火墙相关日志,过滤关键词(如“DROP”“REJECT”)获取非法访问记录。Fail2Ban通过监控日志文件(如SSH、Nginx的登录日志),自动封禁频繁违规的IP,并支持邮件报警。
sudo yum install -y fail2ban(CentOS 7/8)。/etc/fail2ban/action.d/mail.conf,设置sender(发件人)、dest(收件人邮箱)、smtp_server(SMTP服务器)等参数;或在jail.local中覆盖action为action_mw(包含邮件+日志)或action_mwl(包含邮件+日志行)。/etc/fail2ban/jail.local,启用目标服务监狱(如SSH):[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
maxretry = 3 # 允许的最大失败次数
bantime = 3600 # 封禁时间(秒)
sudo systemctl restart fail2ban,触发违规时会自动封禁IP并发送邮件报警。通过mailx工具实现邮件发送,将防火墙异常(如服务停止、规则变更)通知管理员。
sudo yum install -y mailx。/etc/mail.rc,添加SMTP设置(以QQ邮箱为例):set smtp=smtp://smtp.qq.com:465
set smtp-use-starttls=no
set smtp-auth=login
set smtp-auth-user=your-qq@qq.com
set smtp-auth-password=your-authorization-code # QQ邮箱授权码
set from=your-qq@qq.com
echo "防火墙报警测试" | mail -s "CentOS防火墙报警" your-email@example.com,确认邮件能正常接收。psad通过分析iptables的ULOG日志,检测端口扫描行为并发出报警(需提前配置iptables的ULOG规则)。
sudo yum install -y psad。sudo iptables -A INPUT -p tcp --dport 22 -j ULOG --ulog-prefix "SSH connection attempt: "
sudo systemctl start psad,编辑/etc/psad/psad.conf调整敏感度(如SCAN_THRESHOLD),触发端口扫描时会发送邮件报警。以上方法可根据需求组合使用,例如:通过Fail2Ban处理频繁登录失败,通过mailx发送报警邮件,通过psad监控端口扫描,实现全面的防火墙报警体系。