Como bloquear o acesso a links falsos que não existem?

1

Percebi na minha conta do Google Analytics que meu site foi atingido por uma grande quantidade de tráfego de spam que destrói as estatísticas do visitante. O servidor está sendo executado no Ubuntu 18.04 e no Apache.

Isso nem mesmo é spam de referência, onde você pode rastrear a origem, mas parece ser um spam de bot automatizado para links que não existem no meu site, provavelmente em uma tentativa de encontrar arquivos infectados. Os robôs de spam não usam um URL completo e só visitam determinados links de subdiretórios, por exemplo:

/INVOICE-CT/11.php
/INVOICE-CT/1.php
/INVOICE-CT/counter/counter.php
/INVOICE-CT/process.php
/CT/b432.html
/CT/b136.html
/CT/c1428.html
/CT/b246.html
/CT/b510.html
/ct/0295.html
/CT/b118.html
/ct/b385.html
/CT/b738.html
/ct/c1559.html

Qual é a melhor maneira de bloquear esse tipo de tráfego em .htaccess ?

O ideal é que isso não interfira com erros 404 "gerados por humanos".

Como o Google Analytics não revela IPs de visitantes, como você pode identificar os IPs de bots no Ubuntu para bloqueá-los posteriormente?

Gostaria de receber seu conselho.

    
por TitusQuinn 24.06.2018 / 01:52

1 resposta

1

Você pode fazer algo parecido com o seguinte em .htaccess para bloquear todos os URLs que iniciam /INVOICE-CT/ ou /CT/ . Isso usa mod_rewrite para retornar um sistema gerado (ou um documento de erro personalizado do Apache 404 se você tiver definido um ErrorDocument ):

RewriteEngine On
RewriteRule ^(invoice-)?ct/ - [R=404]

Se o seu documento de erro não contiver o código do GA, o GA não registrará a solicitação.

Ideally, this should not interfer with "human-generated" 404 errors.

Presumo que outros 404s sejam gerados por seu aplicativo da web, não pelo Apache? Caso contrário, precisaríamos repensar a abordagem acima e reescrever para uma URL alternativa.

As Google Analytics does not reveal visitor IPs, how can you identify the bot IPs in Ubuntu to subsequently block them?

Obviamente, este método não identifica IPs de bots. Qualquer solicitação para esses URLs totalmente inválidos será bloqueada da mesma maneira. Identificar esses bots mal-intencionados não é uma tarefa trivial e provavelmente é melhor feito com um módulo de servidor como mod_security ou fail2ban.

What is the best way to block this kind of traffic in .htaccess?

A "melhor maneira" provavelmente não é usar .htaccess (ou configuração do Apache), mas no próprio aplicativo da web (para priorizar o tráfego "bom"). Somente depois que seu aplicativo determinar que é um erro 404, verifique o URL solicitado. Se for um desses URLs totalmente inválidos, exiba um documento 404 simples (não-GA), caso contrário, exiba seu documento de erro 404 padrão (que contém o código GA).

...large amount of spam traffic that destroys the visitor statistics.

Embora presumivelmente esse "tráfego de spam" já esteja gerando 404s e não esteja atingindo seus URLs reais?

    
por 24.06.2018 / 03:12