modsecurity regra para bloquear o wordpress / joomla admin login - others

2

Eu tenho uma regra antiga para o ModSecurity 1.x para bloquear ataques de força bruta do administrador e só permiti-los na rede interna.

Quando migrei para o 2.x, ele parou de funcionar. Além disso, as regras de ipmatch de rede me deixam louco, pois elas não permitem um / 8 e funcionam apenas para um / 16 ou superior.

Eu tentei adaptar a regra ao modsecurity 2, e cheguei a isto:

SecRule REMOTE_HOST "!^10." "chain,id:'1',phase:2,t:none,block,nolog"
SecRule REQUEST_METHOD "@streq POST" "chain"
SecRule REQUEST_FILENAME "@pm /wp-login.php /wp-admin/ /administrator/ /admin/" "chain"
SecRule ARGS:log "@streq admin"

No entanto, não está funcionando. Alguma sugestão de alguém mais experiente em modsecurity?

    
por Rui F Ribeiro 10.11.2015 / 16:00

1 resposta

4

Por que você não usa .htaccess ? Deve protegê-lo contra ataques de força bruta e é facilmente configurável.

Nós usamos algo assim, um arquivo .htaccess localizado na raiz do site, contendo o seguinte:

## Hardening wp - doublelogin
AuthUserFile /path/to/your/.htpasswd
AuthName "Double Login antibot"
AuthType Basic
<Files "wp-login.php">
  require valid-user
</Files>

e um arquivo .htpasswd , localizado em qualquer lugar na sua unidade local. Você só precisa especificar o caminho completo para o arquivo .htpasswd com a diretiva AuthUserFile . Escolha o que você julgar ser um local sadio para o seu arquivo de senha. Apenas certifique-se de que o Apache tenha acesso de leitura a ele.

O .htpasswd contém as credenciais. Você pode configurar o nome de usuário e a senha executando:

## if it is the first user use -c param (it create new file / or wipe it if exists)
htpasswd -c /path/to/your/.htpasswd username
## if you want to add more users omit the -c param

Além disso, também colocamos a seguinte regra em .htaccess para negar acesso a wp-config.php (que contém informações sensíveis, por exemplo: as chaves de segurança do WordPress e os detalhes da conexão com o banco de dados do WP)

<files wp-config.php>
  order deny,allow
  deny from all
  allow from 192.168.1.1/24 #(replace with your IP address)
</files>

e o seguinte, que bloqueia solicitações WP xmlrpc.php , que é uma das causas mais comuns de explorações. (leia aqui para mais informações)

<Files xmlrpc.php>
  order deny,allow
  deny from all
  allow from 192.168.1.1/24 #(replace with your LAN info)
</Files>

Desculpe, não posso ajudar diretamente com o seu problema, se o que está acima não é o que você está procurando, espero que este link possa lhe dar alguma ajuda: link

    
por 10.11.2015 / 17:36