在Ubuntu中用Fail2Ban保护SSH

虽然通过SSH连接到你的服务器很安全,但是SSH服务是暴露在互联网中的。任何暴露的服务都是攻击者潜在的目标。如果你关注过这些服务的日志的话,你总可以看到重复的有规律的尝试登录,这是利用机器人程序进行暴力破解产生的。

fail2ban 服务可以用来检测失败登录次数,如果登录次数超过你设置的数值的话。这个服务可以在iptables防火墙配置文件中自动加入规则屏蔽攻击者IP。

在这里,我们介绍在ubuntu中 fail2ban 的安装和使用方法。

安装Fail2Ban

配置 Fail2Ban

配置目录 /etc/fail2ban,有一个默认配置文件jail.conf。由于这个文件在软件升级时会被修改,所以我们不在原地编辑此文件。创建新文件:

编辑 jail.local:

按需修改:

忽略的IP。要加入新IP,用空格分开每个IP。

禁止时间,默认是10分钟。

邮件通知

action_是默认的动作,它简单的配置防火墙屏蔽攻击者IP直到禁止时间结束。如果你想配置邮件通知可以把action_ 改为action_mw。如果想要在邮件中包含相关日志用action_mwl。在你用邮箱提醒之前确保正确的邮箱设置。

单独服务设置

可以配置fail2ban影响那些服务,SSH默认开启,其它(例如:web服务)都是关闭的。在相应的段中编辑,例如[SSH]

示例:[nginx-http-auth]

记住重启fail2ban服务生效

组合

现在你已经对fail2ban有了基本的了解,让我们看一个基本的设置。

我们将会配置一个 SSH 和 Nginx 自动禁止策略。我们还设置 fail2ban 在IP被禁止时用邮件通知我们。

首先,让我们安装相关的软件。

创建基本的防火墙

配置 Fail2ban

重启Fail2ban服务

测试

一直输入随机密码直到被banned

在服务器端输入:

有下面一条记录,配置成功

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注