Fail2ban防止SSH暴力破解

安装:
Centos上可以直接通过yum install fail2ban –y安装。安装完成后,可在/etc/fail2ban路径下找到程序运行的相应文件。在filter.d目录下存放有fail2ban支持的所有过滤器,action.d目录下存放有fail2ban支持的所有动作。通过在jail配置文件中组合多种过滤器与动作,可以实现各种自定义的防御功能(不仅限于SSH防护)。

配置及运行:
对于fail2ban而言,每个.conf配置文件都可以被同名的.local文件重写。程序先读取.conf文件,然后读取.local文件。.local中的配置优先级更高。通过新建jail.local,增加下述配置,运行fail2ban-client start来实现对SSH暴力破解的防御。

[DEFAULT]

#白名单

ignoreip = 127.0.0.1/8

#解封禁时间

bantime = 600

#试错窗口时间

findtime = 600

#容许试错次数

maxretry = 3

[ssh-iptables]

#使能

enabled = true

#选择过滤器

filter = sshd

#选择防御动作

action = iptables[name=SSH, port=ssh, protocol=tcp]

#邮件通知

sendmail-whois[name=SSH,dest=yang.hongyu@99cloud.net, sender=test@email.com]

#SSH日志路径

logpath = /var/log/secure

#容许试错次数(优先级比default高)

maxretry = 1

运行效果:
通过对目标主机的SSH试错,/var/log/secure日志中记录了SSH登录的错误信息。
fail2ban通过对该文件的分析,识别出当前正在遭遇到SSH的暴力破解,继而触发防御功能。
fail2ban-client status命令可以查看当前fail2ban的运行状态,
遭遇SSH暴力破解后,识别到的攻击IP被添加至Banned IP list中,
实际阻断功能则是fail2ban通过在iptables中下发针对攻击IP的阻断规则来实现。

在这里插入图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐