CentOS下使用Fail2ban来禁止指定IP访问的方法

学习笔记 2020/12/16 CentOS

安装和配置

fail2ban工具通过分析日志来自动 ban 入侵者的IP,下载地址在:
http://fail2ban.sourceforge.net/rpms/
找到最新版本的  rpm 包来安装,装好后,稍微根据自己的情况改一下配置就可以使用了。

代码如下:

vi /etc/fail2ban.conf
#以 daemon 方式启动 fail2ban
background = true
#允许尝试次数
maxfailures = 3
#触发 maxfailures 之後的封锁时间(秒); 设为 -1 表示永远封锁
bantime = 3600
#以 findtime (秒) 时间内的错误记录作为 maxfailures 的计数基准
findtime = 600
#排除 IP 范围, 以空白隔开
ignoreip = 127.0.0.1 192.168.0.0/24
#不启用 mail 通知
[MAIL]
enabled = false
#修改自 VSFTPD, 未提及的部份保持原设定
[PROFTPD]
enabled = true
logfile = /var/log/proftpd/proftpd.log
failregex = no such user|Incorrect password
#未提及的部份保持原设定
[SSH]
enabled = true
logfile = /var/log/secure
service fail2ban start


这个服务启动以后,每天都能在 /var/log/fail2ban.log 中看到有攻击的肉鸡被 ban 了。

效果如下:

2015-08-01 09:13:33,532 WARNING: SSH: Ban (3600 s) 205.189.197.66
2015-08-01 12:24:41,943 WARNING: SSH: Ban (3600 s) 121.52.209.5

移除被 Fail2ban 禁止的 IP
如果你已经安装并使用了 fail2ban 来保护你的 web 服务器,你也许会想知道如何在 CentOS 6、CentOS 7、RHEL 6、RHEL 7 和 Oracle Linux 6/7 中找到被 fail2ban 阻止的 IP,或者你想将 ip 从 fail2ban 监狱中移除。
要查看所有被禁止的 ip 地址,运行下面的命令:

代码如下:

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
f2b-AccessForbidden  tcp  --  anywhere             anywhere            tcp dpt:http
f2b-WPLogin  tcp  --  anywhere             anywhere            tcp dpt:http
f2b-ConnLimit  tcp  --  anywhere             anywhere            tcp dpt:http
f2b-ReqLimit  tcp  --  anywhere             anywhere            tcp dpt:http
f2b-NoAuthFailures  tcp  --  anywhere             anywhere            tcp dpt:http
f2b-SSH    tcp  --  anywhere             anywhere            tcp dpt:ssh
f2b-php-url-open  tcp  --  anywhere             anywhere            tcp dpt:http
f2b-nginx-http-auth  tcp  --  anywhere             anywhere            multiport dports http,https
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:EtherNet/IP-1
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Chain f2b-NoAuthFailures (1 references)
target     prot opt source               destination
REJECT     all  --  64.68.50.128         anywhere            reject-with icmp-port-unreachable
REJECT     all  --  104.194.26.205       anywhere            reject-with icmp-port-unreachable
RETURN     all  --  anywhere             anywhere


从 Fail2ban 中移除 IP

代码如下:

# iptables -D f2b-NoAuthFailures -s banned_ip -j REJECT


本文地址:https://www.stayed.cn/item/306

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。