Como protejo meu site Wordpress / Apache de um ataque de botnet de força bruta?

3

Existe algo (uma botnet?) que aparentemente está atacando o meu site Wordpress. Eu vejo muitas entradas como essa nos logs de acesso do Apache, vários por segundo:

46.105.113.8 - - [14/Apr/2013:22:57:18 -0400] "POST /blog//wp-login.php HTTP/1.1" 200 4115 "-" "Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.9.0.15) Gecko/20091028 15 Ubuntu/9.04 (jaunty) Firefox/3.0.15"
74.207.229.103 - - [14/Apr/2013:22:57:19 -0400] "POST /wp-cron.php?doing_wp_cron=1365994639.0381069183349609375000 HTTP/1.0" 200 222 "-" "WordPress/3.5.1; http://mysite.com"

Estou pensando que algo está tentando forçar a descoberta de senhas.

Uma idéia que eu tive foi bloquear todas as solicitações para wp-login.php, exceto para o endereço IP da minha casa. Como eu conseguiria isso?

Ou existe um plugin do Wordpress que bloqueie esses ataques de força bruta automaticamente?

Ou há uma ideia melhor?

Estou executando o Apache 2.2.22 no Ubuntu 12.04.

    
por Adam F 15.04.2013 / 05:37

3 respostas

1

Em grande escala (para vários sites), eu recomendaria uma regra Mod Security para monitorar POSTs no wp-login.php e bloquearia após um determinado número. Na escala menor, eu recomendaria algo como:

link

Em cada caso que vi, alterar o URL de login (um recurso do plug-in) atenua muito bem isso. Você também pode gerenciar o acesso IP também - embora você também possa fazer isso via .htaccess no diretório wp-admin.

    
por 15.04.2013 / 07:16
3

Obrigado nervosa pelos ponteiros.

Aqui estão alguns plugins do Wordpress que bloquearão os endereços IP após várias tentativas de login com falha:

Como eu tinha um monte de sites do Wordpress e queria parar os ataques rapidamente, eu não queria instalar os plugins em todos os lugares ... Aqui está o que acabei fazendo:

  1. Instalado Apache mod_security usando as instruções em Como instalar o mod_security no Ubuntu 12.04 - como o nerv disse, mod_security é um módulo do Apache que ajuda a prevenir ataques como isso, e faz um monte de outras coisas legais de segurança. Eu segui as instruções do artigo acima para instalar o conjunto de regras padrão.
  2. Encontrei meu endereço IP da minha rede doméstica digitando " Qual é o meu endereço IP " no Google.
  3. Adicionei as seguintes regras ao meu arquivo /etc/modsecurity/modsecurity.conf:
    # site configuration
    # allow all access from home
    SecRule REMOTE_ADDR "^1.2.3.4" phase:1,nolog,allow,ctl:ruleEngine=off
    # deny all access to wp-login to prevent wordpress botnet attacks
    SecRule REQUEST_URI "@rx (.*)wp-login.php(.*)" deny,nolog
  1. substituí o 1.2.3.4 pelo meu endereço IP residencial. (Você pode ter várias linhas assim, se você acessar seu site WordPress a partir de vários endereços IP, mas Eu não precisei disso.)
  2. reiniciei o Apache: $ sudo /etc/init.d/apache2 restart Foi isso - parou o ataque da botnet. Verifiquei meus logs do Apache para ver que, em vez de códigos de sucesso (200), havia códigos de erro 403 sendo retornados para as solicitações de botnets.

Eventualmente, o botnet desistiu e parou as tentativas do POST.

Provavelmente vou voltar e instalar um desses dois plugins mais tarde, quando tiver tempo.

    
por 15.04.2013 / 16:22
-3

Use o fail2ban para proteger todos os tipos de ataques.

    
por 22.09.2016 / 19:14