2017-07-18 130 views
0

这是我在这里的第一个问题,所以我很抱歉如果不遵守最佳实践。fail2ban白名单动态ip更新主机名的关联ip

最近我一直是POST HTTP慢速DDoS攻击的受害者,在我的服务器上使用类似和不同范围内的不同IP。

我设法用它来的fail2ban减轻通过创建我的特定需求个性化过滤器:

[Definition] 

failregex = ^<HOST> .*POST .*xmlrpc\.php.* 
^<HOST> .*HEAD .*m.y.i.p.:80.* 
ignoreregex = 

这两个是我的服务器最递归的尝试:“POST xmlrpc.php的要求和'HEAD http://m.y.i.p/ {phpmyadmin | phpwhatevervariation | etc ...}'。

我成功地管理使用我的本地监狱,因为这

[nginx-xmlrpc] 
enabled = true 
filter = nginx-xmlrpc 
action = route 
logpath = /var/log/nginx/access.log 
maxretry = 3 
findtime = 10800 
bantime = 86400 

的问题是,我是保持自己的发展过程中锁定每隔一段时间来阻止他们。所以我决定将自己列入白名单。不幸的是,我的ISP提供了动态IPS,所以我必须将主机名与zonomi相关联,并且每隔一段时间使用DDNS更新我的新子域名。然后我说我的主机名在当地监狱我ignoreip条目是:

# MISCELLANEOUS OPTIONS 
# 

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not 
# ban a host which matches an address in this list. Several addresses can be 
# defined using space separator. 
ignoreip = 127.0.0.1/8 my.hostname.sub.domain 

今天我工作在Web服务器上,我得到了堵塞,所以我检查了我的主机名和它没有更新我的IP。我手动做了它,并在DNS传播和主机名的IP更改后,我试图访问我的网站/服务器没有成功。 (1)一旦禁令被设置,我将不得不重新启动fail2ban来刷新我的IP上的块(我不喜欢这是因为所有其他IP被阻止的事实都被遗忘了,真正的威胁)或(2)以某种方式fail2ban无法更新我的主机名的相关IP。我的问题是:如果是(1),是否有办法在不重启fail2ban的情况下自动解除块,或者如果是(2),是否有办法自动更新我的主机名的IP?

fail2ban是否使用IPTABLES?我应该每隔一分钟就在iptables上用我的主机名的IP清空链路?

请, A.

回答

0

的fail2ban使用iptables的。按的fail2ban的文档,它允许基于白名单的主机名或IP地址: http://www.fail2ban.org/wiki/index.php/Whitelist

您应该使用动态DNS服务,设置一个小TTL为您的主机名(如600,其数额为10分钟)。你甚至可以用300(这不是标准的投诉,但它会工作)。然后检查并看看。如果您的DDNS主机名是使用默认TTL创建的,在大多数情况下,A记录的大小在3600到14400之间(1小时-4小时),那么这可能是原因。

+0

我使用Zonomi的HTTP API和DDNS更新器来更新IP地址。检查间隔和强制更新分别每30分钟和1小时进行一次。不知道我是否正确配置它们。我将把TTL参数添加到HTTP API热链接中,看看它是否有效。 有什么我需要做的fail2ban和iptables结束为了服务器更新存储的主机名的IP时,它的变化? –