Estamos usando o nginx e precisamos bloquear o acesso a determinados URLs ou URLs que não existem no servidor e estão sendo usados por hackers para investigar o servidor.
Para bloquear efetivamente as URLs, decidimos colocá-las no firewall. Estes são alguns dos blocos:
iptables -I INPUT -p tcp -m string --string "/myaccount" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/login" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string ".action" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string ".asp" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/admin" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/connectors/" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/default/" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/filemanager/" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/editor/" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/include/" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/convert/" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "wp-json" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/wp-admin" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/administrator" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/wp/" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/modules/" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/new/" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/old/" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/wordpress/wp-admin" --algo kmp -j DROP
iptables -I INPUT -p tcp -m string --string "/test/" --algo kmp -j DROP
A desvantagem é depois de colocar essas regras nginx tornou-se inacessível. Ele estava dando um erro 402 ou 403.
Alguma ideia?
Editar
O problema pode estar nas próprias regras do que em onde elas são colocadas. Já tentei colocá-los sob nginx e ele pára de responder:
location ~ ^/(wp-admin|wp-login|old/|new/|modules/|wp/|administrator|wordpress/wp-admin|test/|wp-json|convert/|include/|editor/|filemanager/|default/|connectors/|admin|login|myaccount) {
deny all;
}