Meu servidor está sendo inundado com solicitações inválidas

1

Meu servidor da Web (nginx) continua recebendo solicitações assim:

23.244.104.206 - - [15/Jun/2014:21:21:47 -0400] "GET http://ib.adnxs.com/ttj?id=2947236&size=300x250&cb={CACHEBUSTER}&referrer={REFERRER_URL}&pubclick={INSERT_CLICK_TAG} HTTP/1.0" 200 612 "http://www.businessfull.net/?p=8167" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; de-de) AppleWebKit/534.15+ (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4"
216.244.65.21 - - [15/Jun/2014:21:21:47 -0400] "GET http://ib.adnxs.com/ttj?id=2583052&referrer=http%3A%2F%2Fwww.excitingflashgames.com%2Fgame%2Frun_chicken_run.html&cb=78488 HTTP/1.0" 200 612 "http://www.excitingflashgames.com/game/run_chicken_run.html" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.2 (KHTML, like Gecko) Ubuntu/11.04 Chromium/15.0.871.0 Chrome/15.0.871.0 Safari/535.2"

Existem hunderds desses pedidos e fazem com que o meu servidor http fique muito mais lento. Existe alguma maneira eu posso bloquear isso usando o iptables? O estranho é que eles estão tentando visitar sites que eu nem sequer hospedo. Eu pensei que isso seria útil em bani-los, mas não tenho certeza de como faria isso.

    
por HiddenKnowledge 16.06.2014 / 03:46

3 respostas

6

Este é um exemplo de uma exploração bem conhecida de abuso de proxy. Algumas versões do Apache (que têm o módulo proxy instalado) são deixadas incorretamente configuradas ou não protegidas, e permitem que qualquer pessoa roteie uma requisição através do seu servidor web, transformando-a em um servidor proxy inconsciente e ilícito (que pode ser usado em um ataque desagradável).

Embora a tomtom recomende a transferência de sua segurança para o CloudFlare, a solução é bastante simples e deve ser implementada como parte de qualquer auditoria básica de segurança (mesmo para os sites mais básicos).

Aproveitando a resposta de Vinícius Ferrão; Depois de instalar o Fail2Ban, você precisará configurar um filtro (no debian / ubuntu, crie o arquivo /etc/fail2ban/filter.d/nginx-proxy.conf ).

Neste arquivo, insira isto:

# Block IPs trying to use server as proxy.
#
# Matches e.g.
# 192.168.1.1 - - "GET http://www.something.com/
#
[Definition]
failregex = ^<HOST> -.*GET http.*
ignoreregex =

e crie esse bloco dentro do arquivo de configuração do fail2ban (geralmente em /etc/fail2ban/jail.conf ):

## block hosts trying to abuse our server as a forward proxy
[nginx-proxy]
enabled = true
port    = 80,443
filter = nginx-proxy
logpath = /path/to/websites/access.log.file
maxretry = 2
bantime  = 86400

(substituindo logpath = pelo caminho para o log de acesso do seu site)

Isso usará o modo de bloqueio padrão para banir os hosts que tentam abusar do seu site como um proxy de encaminhamento.

Depois, eu consideraria verificar sua configuração do nginx e usar controles para impedir que alguém faça essas solicitações ao seu servidor (se não de um IP específico).

Espero que isso ajude!

    
por 16.06.2014 / 07:21
5

Este não deve ser o caso, mas se você está recebendo muitas solicitações da mesma fonte constantemente e isso está causando uma Negação de Serviço (DoS) no seu servidor, você deve considerar usar algo como fail2ban temporariamente. banir clientes abusivos do seu servidor.

De qualquer forma, é uma boa ideia evitar ataques de força bruta, por exemplo, se você não tiver algum dispositivo de segurança antes de seu destino final (seu servidor).

Você pode obter mais informações sobre fail2ban no site: link e há algumas dicas de configuração para usar fail2ban com nginx aqui: link

    
por 16.06.2014 / 04:51
0

Bem-vindo à internet. Onde bots em abundância tentam encontrar exploits em todos os servidores conectados.

viva com isso. Não há nada que você possa fazer de forma sensata.

There are hunderds of these requests and they cause my server to be a lot slower.

Você executa seu servidor como um hardware de 50 anos =? porque até mesmo o menor VPS não seria realmente mais lento e ficar muito mais lento com centenas desses pedidos por segundo.

    
por 16.06.2014 / 04:24