这是我的第一个问题,所以如果不遵守最佳做法我会道歉。
最近,我一直是POST HTTP慢DDoS攻击的受害者,在我的服务器上使用类似和不同范围的不同IP进行攻击。
我已设法使用fail2ban通过为我的特定需求创建个性化过滤器来缓解它:
[Definition]
failregex = ^<HOST> .*POST .*xmlrpc\.php.*
^<HOST> .*HEAD .*m.y.i.p.:80.*
ignoreregex =
这两个是我服务器上最递归的尝试:&#39; POST xmlrpc.php&#39;请求和&#39; HEAD http://m.y.i.p/ {phpmyadmin | phpwhatevervariation | etc ...}&#39;。
我成功设法使用我的本地监狱阻止他们
[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每隔一段时间用我新分配的IP地址更新我的子域名。然后我将我的主机名添加到本地监狱的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
今天我在网络服务器上工作,我被阻止了,所以我检查了我的主机名,但它还没有更新我的IP。我手动完成它,在DNS传播并且主机名的IP改变之后,我试图访问我的网站/服务器但没有成功。
在我看来,要么:(1)一旦设置了禁令,我将不得不重新启动fail2ban来刷新我的IP上的阻塞(由于所有其他IP被阻止的事实,我不喜欢被遗忘,真正的威胁)或(2)某种程度上,fail2ban无法更新我的主机名的相关IP。
我的问题是:如果是(1),有没有办法在不重新启动fail2ban的情况下自动解除阻止,或者如果它(2),是否有办法更新我的主机名和&#39; #39;自动ip?
fail2ban是否使用IPTABLES?我应该每分钟在iptables上使用我的主机名IP连接吗?
请, 甲
答案 0 :(得分: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小时),那可能就是原因。