Bloqueando o acesso a certas URLs no nginx usando iptables

1

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;
  }
    
por Mugoma J. Okomba 16.05.2017 / 01:05

0 respostas