CentOS 7安装使用Fail2Ban保护SSH

虽然使用SSH连接远程服务器很安全,但是服务器上SSH服务是暴露在互联网中的,这就带来了安全风险。

任何暴露在互联网的服务器都是潜在的攻击目标。如果你注意过服务器的登录日志,你会看到很多重复的、有规则的尝试登录。这是攻击者使用程序执行的暴力破解。

Fail2ban可以根据登录失败次数,自动在防火墙的iptables添加一条规则,防止恶意登录。下面纪录了怎么在CentOS 7安装使用Fail2ban。

安装Fail2ban

Fail2ban不在官方软件包仓库中,它在EPEL中(Extra Packages for Enterprise Linux)。安装epel-release:

安装Fail2ban:

安装完成之后,启用Fail2ban:

配置Fail2ban

Fail2ban服务的配置文件在/etc/fail2ban目录。在其中可以找到jail.conf配置文件,我不会直接编辑这个文件,因为在升级软件包时,会覆盖这个文件,使配置失效。我们应该创建一个新文件jail.local,在jail.local定义的值会覆盖jail.conf中的值。

我们来创建一个jail.local文件:

写入如下代码:

上面覆写了三个配置,bantime,使用iptables,开启sshd。

配置完成之后,重启fail2ban:

查询fail2ban服务状态:

Screen Shot 2016-01-29 at 10.03.57

查询某个jail的详细信息:

Screen Shot 2016-01-29 at 10.05.35

探索其他设置

上面定义的jail.local是最初始的配置,还有很多其他配置选项。打开jail.conf文件,看看更多选项。

实用命令

最近一次启动,fail2ban日志:

实时跟踪显示fail2ban日志:

显示防火墙规则:

显示防火墙规则对应的命令:

相关文章

发表评论

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