iPhone OS 11_3 inundação conexão http

1

Eu tenho tentado limitar as conexões TCP máximas à porta 80 do meu servidor que vem do mesmo IP. Eu usei o iptables para esta tarefa:

-A INPUT -p tcp --dport 80 -m conntrack --ctstate ESTABLISHED -m connlimit --connlimit-above 24 --connlimit-mask 32 -j LOG_THROT

A regra envia pacotes para minha cadeia LOG_THROT onde eu os registro e tcp redefine a conexão.

O problema é que todos os IPs que são logados (sobrecarregando 24 regras de conexão HTTP paralelas) e são encontrados nos registros de acesso do apache parecem usuários legítimos com referências do google, vindo de provedores móveis padrão como vodafone, etc. comum é agente do usuário e é:

Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/ 11.0 Mobile/15E148 Safari/604.1

Eu queria saber se o novo OS / Browser tem um limite maior do que o padrão 6 paralelos conns, talvez ele use algum tipo de pré-carregamento dos links encontrados no site e gera conexões adicionais ou é um rastreador de algum tipo spoofing UA?

Se for legítimo, o que você sugere para um limite de contagem de conexões seguras? 50, 100?

    
por Vedran B 01.09.2018 / 15:00

2 respostas

0

Por que você não ajusta sua web e usa HTTP / 2 (eventual HTTPS)

Ambos usam conexão única e multiplexada, em vez de conexões múltiplas em HTTP1.x As técnicas de fragmentação de domínio não são mais necessárias.

    
por 02.09.2018 / 15:03
0

Tem isso resolvido. A resposta difere da melhor solução embora. A melhor solução é a resposta da prosti.

O que está acontecendo é que o Safari / iOS mencionado anteriormente não reutiliza a conexão viva. As razões para isso podem ser muitas e a Internet está repleta de respostas diferentes sobre esse tópico, e pode até ser um recurso desprezado em suas versões mais recentes. Os fóruns da Apple foram inúteis neste tópico.

Portanto, para cada ativo que ele precisa carregar do site, ele gera uma nova conexão, mas o servidor mantendo as conexões ativas por X quantidade de segundos, eventualmente atinge o limite da regra iptables.

A solução que me ajudou foi adicionar a diretiva BrowserMatch no httpd.conf, que corresponde a todos os dispositivos iphone / ipod e desativa o suporte keepalive para eles.

BrowserMatch "iPhone|iPad|iPod" nokeepalive

até o momento para o máximo de conexões que o Safari pode gerar Eu encontrei documentado que em alguma situação errônea ele irá tão alto quanto 15000 !! ( link ). Mas em circunstâncias normais, será mais ao longo dos valores 4-8 por domínio ou 15-30 sharding a julgar por esta estatística: link * & v = 3

    
por 05.09.2018 / 03:51