Como evitar Spam de Bots no seu Site
Eventualmente, todo site na internet irá sofrer de Spam causados por Bots e dependendo do nível de sofisticação dessas automações, é um problema bastante difícil de resolver e eu prevejo que o TabNews cada vez mais será um alvo comum para isso.
Para ajudar a solucionar isso, o gugadeschamps me mandou essa discussão no Hacker News e eu gostaria de destacar o resumo que está no primeiro comentário.
- Coloque
Rate-limitem tudo, absolutamente tudo. Coloque limites sanos. - Faça o
Rate-limitem requests comPOSTainda mais agressivo. Preferencialmente baseado nogeoip. - Faça o
Rate-limitem Login e Comentários ainda mais agressivo. Faça o banimento de IPs que excedam essa quantidade. - Exija
TLS. ElimineTLSv1.0eTLSv1.1. Os bots certamente quebram. - Exija
SNI. Não responda semSNI(onginxtem o código de retorno444para isso). Faça o banimento de IP's no primeiro acesso que se conectam sem. Não há uso legítimo e você também desaparecerá de lugares como Shodan. - Se você puder, exija
HTTP/2.0. Bots quebram. - Faça o banimento de IPs listados no
StopForumSpam, proíba endereços de e-mail de destino listados lá. Se possível também contribua de volta paraSFSeAbuseIPDB. - Colete
hashes JA3, descubra os maliciosos, bana IPs que usam esses hashes. Isso bloqueia muita m*** trivialmente porque mirar em ferramentas em vez de comportamento é preciso.
Nem todas as soluções propostas são livres de efeitos colaterais, então cada caso precisa ser analisado com as características do seu site e serviço, mas achei uma ótima lista para começar a pensar a respeito, principalmente por conter termos que eu não conhecia, como hashes JA3.