Estou executando um blog WordPress (versão 4.5.2) (servido pelo Apache) na instância do Google Cloud Platform, que é totalmente firewall da Internet usando as configurações de rede do GCP. Apenas conexões de minha outra máquina na mesma rede GCP (que é proxy voltado para a Internet, nginx versão 1.10.0) são permitidas na porta única 80. Algum tempo atrás eu encontrei a máquina WordPress sob carga pesada causada por solicitações frequentes de POST para /xmlrpc.php que eu assumo é um ataque comum, então eu bloqueei o acesso a ele com o .htaccess para ganhar algum tempo. Agora os logs do apache são inundados com
<same external ip> - - [timestamp] "POST /xmlrpc.php HTTP/1.0" 403 <same answer length>
como esperado. O estranho é que não há um único registro nos logs do nginx mencionando xmlrpc.php, nem antes de bloqueá-lo nem depois, embora os pedidos válidos para as páginas do blog e o restante sejam registrados normalmente. Eu posso pensar em duas explicações para esta situação, mas ambas são dificilmente críveis:
Talvez haja alguma maneira de rastrear a origem dos pacotes TCP (é meu balanceador de carga ou endereço externo)? Ou talvez eu seja muito paranóico e exista uma explicação mais simples para a situação.
Atualizar Eu eliminei a opção (1) desabilitando completamente o proxy no nginx, então a explicação menos provável continua a ser a única. Seria ótimo se alguém me provasse errado.
Atualização 2
Depois de várias horas o ataque parou, já que não servia mais ao seu propósito (o apache acabou de responder com 403). Suponho que, se isso acontecer novamente, a solução possível seria usar tcpdump
para descarregar as comunicações e analisá-las, usando o Wireshark, para descobrir pelo menos a origem do último salto. Ainda assim seria ótimo se alguém mais experiente compartilhasse algum conhecimento sobre como fazer isso ou me apontasse na direção certa.