O que significa quando há muitas solicitações POST para /wp-login.php nos logs do Apache?

15

As mensagens são direcionadas para o site WordPress no meu servidor. Eles são provenientes do access_log e não sei se isso deve me preocupar ou não.

Há bem mais de cem linhas da mesma mensagem que se estendem por alguns segundos a cada vez. Se você não sabe o que quero dizer, aqui estão os logs:

108.162.216.73 - - [22/Oct/2014:21:54:49 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:49 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:49 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:49 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:52 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:52 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:52 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:52 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"

Eu fiz uma contagem para todas as instâncias desses dois endereços IP e foi acessado pelo menos mais de 100.000 vezes diferentes, desde o dia 22.

travis
fonte

Respostas:

30

Alguém está tentando forçar sua página de login com força bruta. Solicitações HTTP POST são usadas para dados de formulário HTML, que no caso de uma wp-login.phppágina provavelmente serão o nome de usuário / senha.

Para o WordPress especificamente, você deve ler esta página da wiki , que menciona várias etapas úteis para executar e proteger sua instância, como:

  • não usando o adminnome de usuário
  • escolhendo uma senha forte
  • usando plugins para restringir tentativas de login no WordPress, Apache ou servidor
  • htpasswd-proteger a página (com a ajuda de um gerador )

De qualquer forma, a configuração fail2bané algo que você definitivamente deve considerar. Isso restringirá o número de vezes que um determinado IP pode tentar fazer login na sua máquina (por exemplo, via FTP, SSH, etc.).

slhck
fonte
Tentei configurar o fail2ban, mas tornou impossível o acesso ao meu servidor. Conseguiu usar a reinicialização segura, mas não conseguiu removê-lo nem nada. Eu pesquisei meu problema no Google e descobri que outros usuários do Centos 7 estavam tendo o mesmo problema. Felizmente para mim, eu não tinha nada no servidor, então apenas reinstalei o sistema operacional, o que levou alguns minutos.
travis 26/10
2
Ah, isso é lamentável. Não tive problemas com ele no meu servidor CentOS. Normalmente não deve interferir tanto.
slhck 26/10/14
Outra coisa que vale a pena considerar é o PeerGuardian.
Paradroid 27/10/2014
2
@travis Isso é algo esperado quando você tem logins SSH baseados em senha. Você deve considerar o uso de chaves SSH para autenticação e desabilitar completamente o login baseado em senha SSH. Provavelmente, também é uma boa ideia alterar a porta SSH padrão no servidor
Inverno
1
@glglgl É um impedimento. Impede que alguém diga "Será que isso é inseguro ..." - não interrompe um ataque direcionado, mas impede um hacker casual. "Em outro lugar é mais fácil."
2

Parece que o hacker de força bruta tenta entrar no console de administração do site WordPress. Eu os recebo o tempo todo nos meus sites WordPress. Se você tivesse um usuário chamado admin com a senha 'pass', eles certamente já teriam entrado.

Instale um plug-in de segurança que bloqueará os endereços IP após um certo número de tentativas de login. Eu uso o Wordfence .

paradroid
fonte
4
Esses endereços IP parecem vir dos servidores CloudFlare CDN em São Francisco e no Japão, o que é um pouco estranho.
551 parad paradroid
Eu espero que isso signifique que o site está por trás do CloudFlare. Há provavelmente um X-Forwarded-Forcabeçalho algo como mod_rpafpoderia usar, mas não é configurado para
ceejayoz
@ceejayoz Não sei ao certo o que você quer dizer. Como wp-login.phpnão é um arquivo estático, ele não estará na CDN de qualquer maneira. Não entendo por que essas conexões de entrada parecem vir dos servidores CloudFlare CDN. Talvez o CloudFlare também faça hospedagem de servidores?
Paradroid 27/10/2014
Você pode (e geralmente faz) apontar todo o seu domínio para o CloudFlare. Isso significa que as solicitações recebidas - GET e POST, dinâmicas ou estáticas - passam pelo CloudFlare primeiro e, portanto, têm seus IPs.
precisa