针对服务器的最常见攻击媒介之一是暴力登录尝试。 攻击者在这里尝试访问用户的服务器,尝试使用用户名和密码的无限组合。
对于这类问题 最快,最有效的解决方案是限制尝试次数并阻止对用户或该IP的访问 一定的时间。 同样重要的是要知道,为此,还有专门设计用来防御此类攻击的开源应用程序。
在今天的帖子中 我将向您介绍一个叫做Fail2Ban。 Fail2004Ban最初由Cyril Jaquier于2年开发,是一个入侵防御软件框架,可保护服务器免受暴力攻击。
关于Fail2ban
Fail2ban扫描日志文件 (/ var / log / Apache / error_log) 并禁止显示恶意活动的IP, 例如太多错误的密码和搜索漏洞等。
在一般情况下, Fail2Ban用于更新防火墙规则以拒绝IP地址 在指定的时间内,尽管也可以配置任何其他任意操作(例如,发送电子邮件)。
在Linux上安装Fail2Ban
Fail2Ban在主要Linux发行版的大多数存储库中都可以找到,更具体地讲,在大多数用于服务器(例如CentOS,RHEL和Ubuntu)上的版本中都可以找到。
对于Ubuntu,只需键入以下内容进行安装:
sudo apt-get update && sudo apt-get install -y fail2ban
对于Centos和RHEL,必须输入以下内容:
yum install epel-release
yum install fail2ban fail2ban-systemd
如果您拥有SELinux,则使用以下命令更新策略很重要:
yum update -y selinux-policy*
完成此操作后,他们应该在前台知道Fail2Ban配置文件位于/ etc / fail2ban中。
的配置 Fail2Ban主要分为两个密钥文件; 这些是fail2ban.conf和jail.conf。 fail2ban.confes较大的Fail2Ban配置文件,可以在其中配置以下设置:
- 日志级别。
- 要登录的文件。
- 进程套接字文件。
- 文件pid。
在jail.conf中,您可以配置以下选项:
- 防御服务的配置。
- 禁止攻击他们多长时间。
- 用于发送报告的电子邮件地址。
- 检测到攻击时采取的措施。
- 一组预定义的设置,例如SSH。
组态
现在我们继续进行配置部分, 我们要做的第一件事是使用以下命令备份jail.conf文件:
cp -pf /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
现在,我们继续使用nano进行编辑:
nano /etc/fail2ban/jail.local
在内部,我们进入[默认]部分,我们可以进行一些调整。
在“ ingoreip”部分,这里是将被忽略的IP地址 Fail2Ban将完全忽略它们,基本上是服务器的IP(本地IP),而您认为应该忽略的其他IP。
从那里开始 其他访问失败的IP将被禁止使用 并等待将被禁止的秒数(默认为3600秒),并且fail2ban仅在6次失败尝试后起作用
完成常规配置后,我们现在将指示服务。 Fail2Ban已经具有一些用于各种服务的预定义过滤器。 因此,只需进行一些调整即可。 这是一个例子:
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
进行相关更改后,您最终将需要重新加载Fail2Ban,并运行:
service fail2ban reload
systemctl enable firewalld
systemctl start firewalld
完成此操作后,让我们快速检查一下Fail2Ban是否正在运行:
sudo fail2ban-client status
取消IP
现在我们已经成功禁止了IP,如果我们想取消IP,该怎么办? 为此,我们可以再次使用fail2ban-client并告诉它取消禁止特定的IP,如以下示例所示。
sudo fail2ban-client set ssh unbanip xxx.xxx.xx.xx
其中“ xxx…”。 这将是您指定的IP地址。