Image

知识库 → 使用 Fail2Ban 保护您的邮件服务器免于猜测密码

[虚拟服务器]
出版日期: 30.05.2023

让我们配置 Fail2Ban,此服务允许您保护服务器免受泛滥、猜测服务密码。 每天有成千上万的第三方服务访问服务器,其中一些是恶意的。 在 Fail2Ban 的帮助下,我们将在多次授权尝试失败后阻止 ip 地址。

本指南假定您已经配置了邮件服务器本身,并且您需要安装防止密码猜测和其他不需要的网络活动的保护。 可以在此处找到有关设置邮件服务器的更多信息:


您还可以订购带有预配置操作系统的 VPS,并以 VPS 服务器的价格获得现成的公司邮件服务器。


1. 安装 Fail2Ban 服务 

apt install fail2ban

让我们编辑设置

vi /etc/fail2ban/jail.d/defaults-debian.conf

[sshd]

enabled = true

[postfix]

enabled = true filter = postfix port = smtp,465,submission,imap,imaps,pop3,pop3s action = iptables[name=Postfix, port=smtp, protocol=tcp] logpath = /var/log/mail.log bantime = 120m maxretry = 3 findtime = 60m

在此配置中,我们启用了 ssh 和 postfix 服务的保护,它们将处理日志文件并在多次授权尝试失败时阻止 ip 地址。

要检查匹配是否有效,请使用命令

fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/postfix.conf

我们使用了一个现成的默认过滤器,在我们的例子中它立即证明是有效的。

2. 服务开始

systemctl enable --now fail2ban

我们启动了该服务并将其添加到自动启动。

现在您可以查看日志:

more /var/log/fail2ban.log

3. 服务管理

要查看状态以及最新活动,请使用命令

fail2ban-client status - 它将显示所有监狱及其状态。

fail2ban-client status postfix - 将显示监狱活动,包括当前被阻止的 ip 地址。

要取消阻止 ip 地址,请使用命令

fail2ban-client set postfix unbanip xxx.xxx.xxx.xxx

其中:postfix是jail的名字,xxx.xxx.xxx.xxx是列表中的ip地址 #fail2ban-client status postfix

4. 为 Rouncube 授权添加监狱

添加到文件

vi /etc/fail2ban/jail.d/defaults-debian.conf

[roundcube-auth]

enabled    = true

filter = roundcube-auth

port    = http,https

action = iptables[name=Roundcube-auth, port=http, protocol=tcp]

logpath    = /usr/share/nginx/html/webmail/logs/errors.log

bantime = 120m

maxretry = 3

findtime = 60m

在 3 次 Web 邮件授权尝试失败后,我们将阻止访问 2 小时。

让我们重新启动服务:

service fail2ban restart

过滤器设置完成。





暂时没有评论