Estou construindo algum tipo de webapp e atualmente tudo roda na minha máquina. Eu estava vasculhando meus registros e encontrei várias entradas "estranhas" que me deixaram um pouco paranóico. Aqui vai:
***.***.***.** - - [19/Dec/2010:19:47:47 +0100] "\x99\x91g\xca\xa8" 501 1054
**.***.***.** - - [19/Dec/2010:20:14:58 +0100] "<}\xdbe\x86E\x18\xe7\x8b" 501 1054
**.**.***.*** - - [21/Dec/2010:15:28:14 +0100] "J\xaa\x9f\xa3\xdd\x9c\x81\\\xbd\xb3\xbe\xf7\xa6A\x92g'\x039\x97\xac,vC\x8d\x12\xec\x80\x06\x10\x8e\xab7e\xa9\x98\x10\xa7" 501 1054
Caramba... o que é isso?!
Responder1
A menos que você tenha notado novos arquivos estranhos, arquivos de sistema alterados ou outros comportamentos estranhos do seu servidor, eu não me preocuparia muito com essas entradas de log estranhas. Qualquer pessoa pode enviar solicitações HTTP malformadas ao seu servidor se ele estiver aberto à Internet, e muitas pessoas (ou bots) fazem exatamente isso.
Por que eles fariam isso? Bem, alguns servidores web têm vulnerabilidades conhecidas que podem ser exploradas enviando-lhes apenas o tipo “certo” de solicitação. Então, o que você possivelmente está vendo são investigações de vulnerabilidades conhecidas (ou mesmo desconhecidas). Se isso faz você se sentir mais seguro, você pode tomarretroativomedidas, como bloquear/proibir IPs que enviam solicitações malformadas ou desconhecidas (usando iptables, fail2ban, etc.).
Pessoalmente, defendo que não vale a pena colocar IPs "ruins" na lista negra, pois, no momento em que você vê seus rastros em seus arquivos de log, eles já aprenderam que você não está vulnerável ou já foi hackeado. Eu acredito quea melhor abordagem é ser proativocom segurança:
Mantenha o software do seu servidor totalmente corrigido e atualizado. Sempre. Meticulosamente. Religiosidade.
Mantenha seu perfil de ataque o menor possível: Não instale/execute nenhum software desnecessário no servidor. E comoGuilherme de Ockhamdisse uma vez: "Não multiplique contas de usuários desnecessariamente."
Firewall seu servidor. (Ou não, mas saiba o que você está fazendo.)
Execute um sistema de detecção de intrusão, comoASSISTENTE,OSSEC, ouSamhain. Isso irá alertá-lo quando os arquivos do sistema forem alterados inesperadamente, geralmente uma indicação de que seu servidor foi comprometido.
Execute software de monitoramento/gráfico do sistema, comoMunin,cactos,coletadoou semelhante. Observe os gráficos regularmente para ter uma ideia de como são as cargas normais do sistema e como são suas tendências regulares. Então, quando seus gráficos mostrarem algo que você nunca viu antes, você terá ímpeto para investigar mais a fundo.
Execute um analisador/gráfico de log da web, comowebalizadorouestatísticas. Mais uma vez, familiarize-se com a aparência das operações normais, para poder reconhecer rapidamente quando as coisas não estão normais.
Execute um servidor de log separado - de preferência em um sistema mínimo e com segurança reforçada que não execute mais nada - e configure seus servidores para enviar seus logs para ele. Isso torna muito mais difícil para um intruso encobrir seus rastros.
Responder2
Que tipo de servidor você está executando? Apache?
Isso parece uma exploração do IIS....Code Red/NIMDA
Responder3
Todo servidor web acessível publicamente recebe solicitações como essa o dia todo. Eles estão apenas tentando cegamente explorações conhecidas contra o seu servidor. O que costumo fazer é configurar o servidor web para exibir uma página em branco quando receber solicitações para seu IP (ou seja,http://10.0.0.1). Só permito que os sites apareçam quando o domínio de host virtual correto é solicitado.
Veja qual site aparece quando você acessa o servidor web por IP em vez de por nome de domínio. A maioria dos scripts de exploração que rastreiam os netter-tubes não estão executando solicitações válidas de host virtual (cabeçalhos de host virtual adequados).
Você também pode consultar os vários utilitários que bloquearão automaticamente endereços IP que tentarem solicitações nefastas.
Responder4
Bem, supondo que esses endereços IP sejam seus e não endereços externos, então pode ser simplesmente o lixo de registro do seu aplicativo da web.
Isso me lembra de uma situação em que eu vi dados de log do PHP em UTF8, e depois eles foram codificados/escapados em ASCII, o que resultou em mensagens de aparência muito semelhante.