这是我的第一个问题,所以我很抱歉,如果不符合最佳实践。
最近,我一直是POST HTTP慢速DDoS攻击的受害者,在我的服务器上使用类似和不同范围的不同IP。
我已经成功地使用fail 2ban来缓解它,通过创建一个个性化的过滤器来满足我的特定需求:
[Definition]
failregex = ^<HOST> .*POST .*xmlrpc\.php.*
^<HOST> .*HEAD .*m.y.i.p.:80.*
ignoreregex =
这两个是我的服务器上最递归的尝试:'POST xmlrpc.php'请求和'HEAD http://m.y.i.p/ {phpmyadmin| phpwhatever variation|等等。
我成功地设法阻止他们使用我当地的监狱作为这一点
[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地址更新我的子域。然后,我将我的主机名添加到本地jail上的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)一旦设置了禁令,我将不得不重新启动fail 2ban来刷新我的IP上的块(我不喜欢,因为所有其他IP的阻止都被遗忘了,真实的的威胁)或(2)不知何故fail 2ban无法更新我的主机名的相关IP。
我的问题是:如果是(1),有没有办法在不重启fail 2ban的情况下自动解除封锁,或者如果是(2),有没有办法自动更新我的主机名的ip?
fail 2ban是否使用IPTABLES?我应该每分钟在iptables上用我的主机名的IP刷新一个链吗?
好吧,A。
2条答案
按热度按时间v64noz0r1#
Fail 2Ban使用iptables。根据fail 2ban的文档,它允许基于主机名或IP地址的白名单:http://www.fail2ban.org/wiki/index.php/Whitelist
您应该使用动态DNS服务,为您的主机名设置一个小的TTL(如600,相当于10分钟)。你甚至可以去300(这不是抱怨的标准,但它会的工作)。那就去查查看。如果您的DDNS主机名是使用默认TTL创建的,在大多数情况下,A记录的TTL在3600和14400之间(1小时- 4小时),那么这可能是原因。
axkjgtzd2#
嗨,我是同一攻击的受害者,我从来没有在我的stackoverflow帐户上发布过,所以这里是我的第一篇文章,以帮助你我如何解决这个问题。
我感觉更好,因为我对xmlrpc.php进行了研究,并确定它是WordPress中的一个弃用功能,我永远不会使用,但你不能删除该文件作为其核心对象,WordPress在删除时会变得混乱。
最后,这解决了我的问题,不试图捕捉流量到xmlrcp.php,但通过删除venerability,然后测量和班宁那些试图使用它。
Step1拒绝访问xmlrpc.php
编辑已启用站点的nginx配置
在此站点的配置中添加以下行
Step2配置fail 2ban来监视和禁止403事件,因为过多的xmlrpc.php请求 *404也是因为我们需要它而添加 *
创建定义的动作:
定义包含:
/etc/fail2ban/filter.d/nginx-403.conf
/etc/fail2ban/filter.d/nginx-404.conf
编辑jail.conf添加新定义:
触发器增加以下行:
/etc/fail2ban/jail.conf
Step 3重新加载配置,使新更改生效
编辑配置后重新加载服务以使更改生效
通过检查状态确保服务正确启动
Step 4验证影响
使用任何你喜欢的方法来查看我使用的nginx访问日志:
您应该会看到流量被记录为新的错误代码:
使用您喜欢的任何方法查看我使用的sys日志:
观看fail 2ban拾取新的http代码403定义并触发禁令:
[eof]好了。
我的web服务器CPU和PHP进程感觉更好。但现在我关闭,以解决300重定向垃圾邮件现在快乐班宁!