Pedido estranho em access.log, como bloquear?

4

Estou usando o nginx em meu próprio servidor, e notei há alguns dias uma solicitação estranha no meu access.log:

77.50.217.37 - - [19/Aug/2011:17:50:50 +0200] "GET http://images.google.com/ HTTP/1.1" 200 151 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; .NET CLR 1.1.4322; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)"
174.142.123.42 - - [19/Aug/2011:17:51:59 +0200] "GET http://l08.member.ird.yahoo.com/?.src=ym&login=_420_club_chick_&passwd=112211 HTTP/1.0" 200 151 "-" "MobileRunner-J2ME"
65.52.227.217 - - [19/Aug/2011:17:52:30 +0200] "GET http://javaddiction.biz/index.php HTTP/1.1" 404 570 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
188.72.199.25 - - [19/Aug/2011:17:52:35 +0200] "CONNECT google.com:80 HTTP/1.1" 400 172 "-" "-"
188.72.199.25 - - [19/Aug/2011:17:53:40 +0200] "CONNECT google.com:80 HTTP/1.1" 400 172 "-" "-"

Essas são solicitações de domínios que eu não possuo (google, yahoo ....)

Eu acho que pode ser webcrawlers, bot ou ...

Existe uma maneira de bloquear este tipo de pacotes, usando o fail2ban, o iptables ou não sei o que mais ...?

    
por jchampem 19.08.2011 / 18:27

2 respostas

5

Estas são inofensivas solicitações que todo servidor da web vê - provavelmente crianças de script procurando por um servidor web que está mal configurado e permite que você faça solicitações de proxy e use o método CONNECT .

Seu servidor parece apropriadamente configurado para rejeitar as tentativas de usar o método CONNECT (Retorna HTTP/400 - Bad Request ), e eu apostaria um centavo brilhante que se você fizer telnet e tentar GET http://www.google.com/ você terá uma página fora do seu site para o seu problema.

A única maneira de fazer esse tipo de coisa desaparecer é bloquear todo o tráfego HTTP, exceto a partir de uma lista de hosts "conhecidos", o que anula o propósito de um servidor web público. Meu melhor conselho é relaxar, tomar uma cerveja e não ficar obcecado com as entradas nos registros de acesso / erro do seu servidor da web, a menos que você queira resolver um problema específico.

    
por 19.08.2011 / 18:37
0

Como voretaq7 disse, você provavelmente só quer deixar isso em paz. Afinal, eles não estão fazendo nada (já estão bloqueados pelo nginx).

Outros pedidos, apesar de poderem causar problemas, podem ocorrer, e você tem um aplicativo que pode ser sensível a determinados hits inválidos.

Um módulo que usei (com o Apache, embora esteja disponível com nginx) é mod_security . Este módulo permite inserir regras que comparam o tráfego de entrada (e até mesmo de saída) para várias coisas, como o método, e impedir esse acesso conforme necessário.

Como nota lateral, corri:

dig -x 188.72.199.25

e a saída diz:

199.72.188.in-addr.arpa. 3600   IN  SOA ns0.leaseweb.nl. Postmaster.leaseweb.nl. 2013121501 14400 7200 604800 3600

Qual não é o Google nem o Yahoo! Pode ter mudado desde que você postou sua pergunta, obviamente, mas essas solicitações são executadas com mais frequência por robôs inválidos ou hackers com conhecimento. Não grande corporação que use seus recursos para coisas muito melhores que isso.

    
por 18.12.2015 / 07:55