Apache 通过推荐人、代理或页面访问阻止僵尸网络

Apache 通过推荐人、代理或页面访问阻止僵尸网络,apache,.htaccess,Apache,.htaccess,我们一直受到僵尸网络的攻击 我加入了两条规则,减少了80%的流量,但这些请求仍在通过 172.69.34.192 - - [21/Nov/2019:06:03:12 -0600] "POST /wp-login.php HTTP/1.1" 200 453750 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0" 172.69.34.192 - - [21/Nov/2019:06:03

我们一直受到僵尸网络的攻击

我加入了两条规则,减少了80%的流量,但这些请求仍在通过

172.69.34.192 - - [21/Nov/2019:06:03:12 -0600] "POST /wp-login.php HTTP/1.1" 200 453750 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
172.69.34.192 - - [21/Nov/2019:06:03:15 -0600] "GET /wp-login.php HTTP/1.1" 200 452909 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
这个僵尸网络每天更改+3000个不同的IP地址,但总是先发布后获取。流量是直接的,没有页面参考

如何在我的htaccess中使用post和get-to-wp-login.php组合来阻止这些,而没有页面:“-”

到目前为止,我已经准备好阻止80%的其他不受欢迎的机器人

# Stop Bots with Bogus User Agents
SetEnvIf User-Agent "^-$" bad_user
SetEnvIf User-Agent "^$" bad_user
<Files ~ "^(wp-login|xmlrpc)\.php">
        order allow,deny
        allow from all
        Deny from env=bad_user
</Files>

# Block Specific Bots by Name
SetEnvIfNoCase User-agent (yandex|baidu|mj12bot|ahrefsbot|blexbot|dotbot|exabot|seznambot|aihitbot|spbot|mj12bot|obot|deusu|ia_archiver|metauri|flipboardproxy|flicky|pycurl|casper|cmsworldmap|diavol|purebot|comodo|feedfinder|planetwork) not-allowed
<Limit GET POST PUT>
    Order Allow,Deny
    Allow from all
    Deny from env=not-allowed
</Limit>
#使用伪造的用户代理停止机器人程序
SetEnvIf用户代理“^-$”坏用户
SetEnvIf用户代理“^$”坏用户
命令允许,拒绝
通融
拒绝来自env=坏用户
#按名称阻止特定的机器人程序
SetEnvifLocase用户代理(yandex | baidu | mj12bot | ahrefsbot | blexbot | dotbot | exabot | seznambot | aihitbot | spbot | mj12bot obot | deusu | ia | archiver | metauri flipboardproxy | flicky | pycurl | casper | cmsworldmap
命令允许,拒绝
通融
拒绝来自环境=不允许
我要找的是阻止引用“-”的东西。可能是这样的,但我不确定这是否是正确的语法,或者是否可以将其与上面的#Stop Bots条目结合使用

SetEnvIf Referrer "^-$" bad_bot
<Files ~ "^(wp-login|xmlrpc)\.php">
        order allow,deny
        allow from all
        Deny from env=bad_bot
</Files>
setenif referer“^-$”错误\u bot
命令允许,拒绝
通融
拒绝来自环境=坏机器人
但是我可以添加一个规则,如果它是
wp登录
页面,并且页面引用者是
“-”
,那么就阻止它。我只是不知道它的语法

您可以尝试将此规则作为最上面的规则(就在
RewriteBase
行的下方):

对于上述两种情况,这将返回
403
(禁止)错误

但是我可以添加一个规则,如果它是
wp登录
页面,并且页面引用者是
“-”
,那么就阻止它。我只是不知道它的语法

您可以尝试将此规则作为最上面的规则(就在
RewriteBase
行的下方):



对于上述两种情况,这将返回
403
(禁止)错误。

转而投资Cloudflare或任何其他以保护网站为生的产品。目前不是一个选项,但我们已经研究过了。我相信一定有办法制定一个规则来解决这些最后的大问题。你不能同时处理两个单独的请求(一个帖子,后面跟着一个GET)in.htaccess-每个请求都是独立的,每个请求都会单独重写。明白。但是我可以添加一个规则,如果它是wp登录页面,并且页面引用者是“-”,那么阻塞。我只是不知道它的语法,或者我是否应该使用重写条件、setenif或其他php模块。将
wp login.php
移动到一个只有您知道(并且您不发布)的不同URL,然后阻止任何试图访问旧URL的内容,怎么样,默认位置?投资Cloudflare或任何其他以保护网站为生的产品。目前不是一个选项,但我们已经考虑过了。我相信一定有办法制定一个规则来解决这些最后的大问题。你不能同时处理两个单独的请求(一个帖子,后面跟着一个GET)in.htaccess-每个请求都是独立的,每个请求都会单独重写。明白。但是我可以添加一个规则,如果它是wp登录页面,并且页面引用者是“-”,那么阻塞。我只是不知道它的语法,或者我是否应该使用重写条件、setenif或其他php模块。将
wp login.php
移动到一个只有您知道(并且您不发布)的不同URL,然后阻止任何试图访问旧URL的内容,怎么样,默认位置?我无法将其作为最高规则,因为Wordpress控制重写模块。我把它放在后面,它不工作了。赛特维夫怎么样?我可以将引用设置为“-”或“^-$”并实现类似的效果吗?您可以显示您的完整.htaccess吗?这样我才能更好地理解。发布了完整的文件。机器人程序仍在运行。你能把第二行改成
RewriteCond%{HTTP\u REFERER}^-?$
并把这个规则移到
RewriteBase/
行的下面吗?我不能把它移到里面,因为Wordpress会覆盖整个#开始#结束部分。我将尝试更改为不带引号的%{HTTP_REFERER}^-?$。我无法将其作为最重要的规则,因为Wordpress控制重写模块。我把它放在后面,它不工作了。赛特维夫怎么样?我可以将引用设置为“-”或“^-$”并实现类似的效果吗?您可以显示您的完整.htaccess吗?这样我才能更好地理解。发布了完整的文件。机器人程序仍在运行。你能把第二行改成
RewriteCond%{HTTP\u REFERER}^-?$
并把这个规则移到
RewriteBase/
行的下面吗?我不能把它移到里面,因为Wordpress会覆盖整个#开始#结束部分。我将尝试更改为%{HTTP_REFERER}^-?$,不带引号。
RewriteEngine On

RewriteCond %{THE_REQUEST} /wp-login\.php [NC]
RewriteCond %{HTTP_REFERER} ^-?$
RewriteRule ^ - [F]