Muitas solicitações POST para /xmlrpc.php do servidor de derrubada do GoogleBot?

8

Eu tenho vários blogs wordpress hospedados, e tenho tentado visitá-los e eles são muito lentos. Eu olhei meus logs do servidor e achei isso

stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:28 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:28 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:28 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:28 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:29 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:29 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:29 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:29 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:31 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:31 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:31 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"

Estou recebendo ~ 10 ocorrências por segundo no arquivo /xmlrpc.php do GoogleBot para vários sites, e isso parece estar atrasando o servidor. Eu estou correndo

tail -f 

no arquivo de log e pode apenas ver essas solicitações continuando. Alguém sabe por que isso pode estar acontecendo ou o que você poderia fazer para pará-lo?

    
por jkeesh 18.08.2013 / 02:17

4 respostas

6

Eu bloquearia o IP com iptables se fosse eu, e se você tiver esse tipo de acesso no nível do servidor.

Você também pode desabilitar o xmlrpc. Infelizmente, desde que 3.5 a opção de tela de administrador para desativar esse recurso foi removida. No entanto, uma única linha de código deve desativá-lo: add_filter( 'xmlrpc_enabled', '__return_false' ); Isso pode economizar alguma sobrecarga das solicitações, embora não elimine tudo isso.

    
por s_ha_dum 18.08.2013 / 17:31
5

"Googlebot" não tem motivos para acessar xmlrpc.php Você pode adicionar isso ao topo do seu xmlrpc.php

// Block fake Googlebot
if ( strpos($_SERVER['HTTP_USER_AGENT'], "Googlebot") === true ) { exit(); }

Eu estou supondo que é um arquivo básico do WordPress. Por isso, pode ser irritante manter isso atualizado. Seria bom se a Automattic usasse o Akismet para colocar esses IPs na lista negra de todos os scripts WP, em todos os lugares.

Atualização: acabei removendo a permissão com chmod 0 xmlrpc.php (veja meus comentários) depois que um DDoS começou a taxar meu servidor. Em outras palavras, esse código PHP condicional pode impedir que um invasor agressivo desative temporariamente seu blog. Em qualquer caso, eles geralmente desistem muito rápido.

    
por PJ Brunet 14.05.2015 / 20:04
1

bloqueia o IP com o iptables:

for ip in $(grep xmlrpc /var/log/apache2/access.log | cut -d' ' -f1 | sort | uniq -c | sort -rn | head -n8 | awk '{print $2}'); do \
iptables -A INPUT -s $ip -j DROP; \
done
    
por 3m1l 04.06.2015 / 15:44
0

Isso aconteceu recentemente e estava acabando com o servidor, e agora estamos usando o fail2ban para mitigar o problema questão.

Adicionada esta configuração a jail.local :

[apache-xmlrpc]

enabled = true
port = http,https
filter = xmlrpc
logpath = /var/log/apache2/*access.log
maxretry = 30
findtime = 300
bantime = -1

E crie o filtro em filter.d / apache-xmlrpc.conf :

[Definition]
failregex = ^<HOST> -.*"(GET|POST) .*xmlrpc.php
ignoreregex =

No meu caso, os ataques nem sempre foram provenientes do googlebot, o que tornou o regex um pouco mais amplo, mas dificilmente há um bom motivo para qualquer IP atingir o xmlrpc 30+ vezes em 5 minutos.

    
por billynoah 05.05.2016 / 12:51