CentOS下使用Fail2ban来禁止指定IP访问的方法
番茄系统家园 · 2022-03-25 01:09:17
安装和配置
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-AccessForbiddentcp--anywhere anywheretcp dpt:http
f2b-WPLogintcp--anywhere anywheretcp dpt:http
f2b-ConnLimittcp--anywhere anywheretcp dpt:http
f2b-ReqLimittcp--anywhere anywheretcp dpt:http
f2b-NoAuthFailurestcp--anywhere anywheretcp dpt:http
f2b-SSHtcp--anywhere anywheretcp dpt:ssh
f2b-php-url-opentcp--anywhere anywheretcp dpt:http
f2b-nginx-http-authtcp--anywhere anywheremultiport dports http,https
ACCEPT all--anywhere anywherestate RELATED,ESTABLISHED
ACCEPT icmp --anywhere anywhere
ACCEPT all--anywhere anywhere
ACCEPT tcp--anywhere anywheretcp dpt:EtherNet/IP-1
ACCEPT tcp--anywhere anywheretcp dpt:http
REJECT all--anywhere anywherereject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all--anywhere anywherereject-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 anywherereject-with icmp-port-unreachable
REJECT all--104.194.26.205 anywherereject-with icmp-port-unreachable
RETURN all--anywhere anywhere
从 Fail2ban 中移除 IP
复制代码代码如下:
# iptables -D f2b-NoAuthFailures -s banned_ip -j REJECT

