SSH防暴力破解工具Fail2ban部署指导书
一.Fail2ban安装
执行以下语句进行安装
yum install fail2ban
-
拷贝文件配置文件(防止升级后配置文件被覆盖)
2.修改jail.local文件进行ssh防爆力破解基础配置,然后保存该文件
将以下注释全部去掉并顶格
# [sshd]
# enabled = true --启用ssh防暴力破解
3.执行以下命令重启并确认fail2bin服务正常
systemctl restart fail2ban
systemctl status fail2ban
4.验证fail2bin防爆力破解功能是否生效
多次输入错误密码再次进行ssh连接如果报错如下图所示则说明防爆力破解功能正常
5.查看被锁IP
其它防爆力破解配置(可选)
锁定时间:bantime = 10m (可自定义时间,单位为分钟m,小时h,默认为秒,建议锁定时间为30m)
单位时间内登录次数统计:findtime = 10m (可自定义时间,单位为分钟m,小时h,默认为秒)
登录失败最大尝试次数:maxretry = 5 (可自定义最大次数,建议为3次)
以下为默认配置
黑名单移除方法
-
等待锁定时间自动移除
-
重启fail2ban服务
-
执行以下命令移除
fail2ban-client set sshd unbanip 目标IP
Fail2ban告警邮箱配置:
-
确认CentOS默认安装了最新版本的mailx
2.配置邮箱(使用的邮箱为企业微信邮箱)
3.修改/etc/mail.rc配置文件,在文件最下方添加以下信息
4.执行以下命令配置证书
mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /root/.certs/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d /root/.certs -i /root/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d /root/.certs -i /root/.certs/qq.crt
certutil -L -d /root/.certs
cd /root/.certs/
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt
5.执行以下命令验证邮箱是否配置成功(如出现下图中的报错,不用管,不影响邮件发送)
echo "测试看看" | mail -s "测试邮件" 目标邮箱
二.配置fail2ban告警邮件发送
-
启用邮箱配置
对jail.local进行如下修改
destemail = 接收邮箱
sender = 发送邮箱
mta = mail
action = %(action_mw)s
2.配置邮件内容描述
新建/etc/fail2ban/action.d/mail-whois.conf,并添加如下内容
[INCLUDES]
before = mail-whois-common.conf
[Definition]
actioncheck =
actionban = printf %%b "警告!!!\n
攻击者IP:<ip>\n
被攻击机器名:`uname -n` \n
被攻击机器IP:`/bin/curl ifconfig.co` \n
攻击服务:<name> \n
攻击次数:<failures> 次 \n
攻击方法:暴力破解,尝试弱口令.\n
该IP:<ip>已经被Fail2Ban加入防火墙黑名单,屏蔽时间5分钟.\n\n
以下是攻击者 <ip>信息 :\n
`/bin/curl http://www.cip.cc/<ip>`\n\n
Fail2Ban邮件提醒\n\n "|/bin/mailx -s "服务器:<name>服务疑似遭到<ip>暴力攻击." <dest>
actionunban =
[Init]
name = default
dest = root
执行以下命令重启服务重新加载配置文件
systemctl restart fail2ban
再次触发防爆力破解,查看是否收到告警邮件