下面就是详细讲解“centos下fail2ban安装与配置详解”的完整攻略。
安装fail2ban
在CentOS上安装fail2ban,可以使用下面的命令:
sudo yum install fail2ban
配置fail2ban
一旦成功安装后,就可以进行基本的配置了。
配置jail
jail是由fail2ban提供的一个防护模块。其目的是检测并且屏蔽不良的行为。常见的检测包括SSH登录失败,Nginx连接失败等等。固定的jail配置文件位于/etc/fail2ban/jail.conf
,你可以在这里修改一些默认设置。
更好地操作是使用全新的文件,并将旧的文件重命名:
sudo mv /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
创建一个新的jail配置文件:
sudo touch /etc/fail2ban/jail.d/customised.conf
打开这个新文件并输入以下内容:
[sshd]
enabled = true
port = ssh
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/secure
maxretry = 3
上面的配置所做的事情是防止SSH攻击。配置enabled
为true,表示启用jail,port
表示将要被监听的端口号。为了实现这种防御,使用了iptables的防护机制,具体信息在action
区块中。日志的位置可以在logpath
配置中指定,最后的参数是最大尝试次数。
配置邮件通知
将配置通知到你的邮箱可以更好地控制你的n服务器。使用fail2ban向管理员发送警报电子邮件是件好事。下面是如何做到这一点的方法。打开以下文件进行编辑:/etc/fail2ban/jail.local
并附上以下配置:
# mail setup
destemail = recipient@example.com
sendername = Fail2Ban
mta = sendmail
action_mail_acct = sender@example.com
这些配置告诉fail2ban接收人和发送人的电子邮件地址,以及将使用的邮件传输。接下来,可以对特定的jail进行通知。将以下配置添加到,/etc/fail2ban/jail.local
文件:
[sshd]
#
# Action
#
action = %(action_mwl)s
上面这个配置意味着向管理员电子邮件地址发送包含此信息的电子邮件:
Subject: [Fail2Ban] SSH: banned 111.222.123.123
Hi,
The IP 111.222.123.123 has just been banned by Fail2Ban after
3 attempts against SSH.
Here are more information about 111.222.123.123:
[...]
释放IP地址
如果你需要将封锁的IP地址解封,请执行以下操作:
sudo fail2ban-client set sshd unbanip 192.168.6.1
例子
现在让我们看看两个示例。
例子1:防止SSH攻击
这是你可以在/etc/fail2ban/jail.d/customised.conf
文件中配置的SSH保护:
[sshd]
enabled = true
port = ssh
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/secure
maxretry = 3
这个配置的意思是:针对ssh的攻击有3次尝试消息失败后将IP封锁。
例子2:防止Nginx爆破攻击
可以防止针对Nginx爆破攻击的配置如下:
[http-auth]
enabled = true
port = http,https
filter = http-auth
logpath = /var/log/nginx/error.log
maxretry = 6
这个配置的意思是:针对Nginx的http认证攻击在6此尝试错误后会被封锁。
希望这些信息能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:centos下fail2ban安装与配置详解 - Python技术站