Fail2ban 暴力破解防御.
Fail2ban简介.
fail2Ban是一款入侵防御软件,可以保护服务器免受暴力攻击.它是用Python编程语言编写的.fail2Ban基于auth 日志文件工作,默认情况下它会扫描所有 auth 日志文件,如/var/log/auth.log,/var/log/apache/access.log等,并禁止带有恶意标志的IP,比如密码失败太多,寻找漏洞等等标志.通常,Fail2Ban用于更新防火墙规则,用于在指定的时间内拒绝IP地址,它也会发送邮件通知.Fail2Ban为各种服务提供了许多过滤器,如 ssh,apache,nginx,squid,named,mysql,nagios 等.Fail2Ban能够降低错误认证尝试的速度,但是它不能消除弱认证带来的风险.这只是服务器防止暴力攻击的安全手段之一.
安装Fail2ban.
Debian系发行版.
apt-get update &&\
apt-get -y install fail2banRHEL系发行版.
yum makecache
yum install epel-release
yum makecache
yum -y install fail2ban编译安装Fail2ban.
编译安装配置文件说明.
- /etc/fail2ban/action.d/ #采取相对应措施的目录.
- /etc/fail2ban/fail2ban.conf #fail2ban的配置文件.
- /etc/fail2ban/fail2ban.d/ #fail2ban的配置文件目录.
- /etc/fail2ban/filter.d/ #具体过滤规则文件目录.
- /etc/fail2ban/jail.conf #阻挡设定文件.
- /etc/fail2ban/jail.d/ #阻挡设定文件的目录.
- /etc/fail2ban/paths-*.conf #不同linux发行版下路径的相关设置,在jail.conf的[INCLUDES]里指定.
基本配置解析.
- ignoreip: 这是一个空格分隔的IP地址列表,不能被fail2ban阻止.例如,如果连接到服务器的计算机具有静态IP地址,则可能需要在此处列出.
- bantime: 如果被fail2ban(600秒= 10分钟)捕获,主机被阻止的时间(秒).
- maxretry: 最大 主机被fail2ban阻止之前失败的登录尝试次数.
- 过滤器: 指在/etc/fail2ban/filter.d中的相应过滤器文件.
- logpath: fail2ban检查失败的登录尝试的日志文件.
防御SSH暴力破解.
配置Fail2ban.
cat << "EOF" >>/etc/fail2ban/jail.d/ssh.conf
[sshd]
enabled = true
#忽略的IP.
ignoreip = 127.0.0.1
#最大重试限度.
maxretry = 3
#findtime = 1m
#锁定时间,1分钟.
bantime = 1m
#ssh日志.
logpath = /var/log/auth.log
EOF
systemctl daemon-reload && \
systemctl restart fail2ban.service




