fail2ban
fail2ban监视检测日志文件,根据匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作。
可用来放置爆破 和 CC 攻击。
安装:
yum install fail2ban -y 配置: /etc/fal2ban 配置规则目录; /etc/fail2ban/filter.d
配置示例:
ignoreip = 127.0.0.1/8 # 忽略IP 白名单 bantime = 600 # 屏蔽时间 #发现时间,在此期间内重试超过规定次数,会激活fail2ban findtime = 600 # 策略限制时间范围 超过会触发策略
maxretry = 3 # 最大次数 backend = auto # 日志修改检测机制 [ssh-iptables]
enabled = true # 激活 filter = sshd # filter 规则下的名字 在 filter 目录下; action = iptables[name=SSH, port=ssh, protocol=tcp] mail-whois[name=SSH, dest=root] # 采取策略 logpath = /var/log/ # 日志分析目录
注:
启动会有 关于 python版本导致 模块不能调用错误:
ImportError: No module named fail2ban.version
fail2ban-server:
Starting fail2ban: Traceback (most recent call last): File "/usr/bin/fail2ban-server", line 29, in <module> from fail2ban.version import version ImportError: No module named fail2ban.version
failban-client: Starting fail2ban: Traceback (most recent call last): File "/usr/bin/fail2ban-client", line 37, in <module> from fail2ban.version import version ImportError: No module named fail2ban.version
是由于更新系统默认python 版本,而 配置自动找寻的是 python 2.6,所以需要重新配置 引导python版本:
编辑: /usr/bin/fail2ban-server 和 /usr/bin/fail2ban-client
更改 第一行: #!/usr/bin/python -Es 更改为 #!/usr/bin/python2.6 -Es
fail2ban-server -V