这是我在这里的第一个问题,所以如果不遵守最佳实践,我深表歉意。
最近,我成为了 POST HTTP 慢速 DDoS 攻击的受害者,该攻击在我的服务器上使用不同 IP 的类似和不同范围。
通过为我的特定需求创建个性化过滤器,我设法使用 fail2ban 来缓解它:
[Definition]
failregex = ^<HOST> .*POST .*xmlrpc\.php.*
^<HOST> .*HEAD .*m.y.i.p.:80.*
ignoreregex =
这两个是我服务器上最递归的尝试:“POST xmlrpc.php”请求和“HEAD http://myip/ {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 提供动态 ip,所以我不得不将主机名与 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),有没有办法自动更新我的主机名的 ip?
fail2ban 使用 IPTABLES 吗?我是否应该每分钟在 iptables 上用我的主机名 IP 刷新一个链?
好心,A.