Tattica per affrontare robot che si comportano male


9

Ho un sito che, per ragioni normative, potrebbe non essere indicizzato o cercato automaticamente. Ciò significa che dobbiamo tenere lontani tutti i robot e impedire loro di spiderare il sito.

Ovviamente abbiamo avuto un file robots.txt che non consente tutto dall'inizio. Tuttavia, osservare il file robots.txt è qualcosa che solo i robot ben educati fanno. Di recente abbiamo riscontrato alcuni problemi con robot meno educati. Ho configurato Apache per vietare alcuni user-agent ma è abbastanza facile aggirarlo.

Quindi, la domanda è: esiste un modo per configurare Apache (forse installando un modulo?) Per rilevare comportamenti simili a robot e rispondere? Altre idee?

Al momento tutto ciò che posso fare è vietare gli indirizzi IP basati sull'ispezione manuale dei registri e questa non è semplicemente una strategia a lungo termine praticabile.


Dato che stai chiedendo informazioni sui moduli Apache (controlla mod_evasive) e la tua soluzione potrebbe finire con alcune analisi di log personalizzate e regole di iptables, questo argomento potrebbe essere un candidato migliore per ServerFault.com se hai domande sul blocco di comportamenti bot specifici.
danlefree

Risposte:


7

È possibile collegarsi a una pagina nascosta che, una volta visitata, acquisisce l'useragent e l'indirizzo IP del bot e quindi li aggiunge uno o entrambi a un file .htaccess che li blocca in modo permanente. È automatizzato, quindi non devi fare nulla per mantenerlo.


Questa è un'idea molto interessante, anche se nel caso in cui utilizzino un agente utente molto generico, non vorrai bloccare automaticamente alcun agente utente.
Kris,

Vorrei attenermi agli indirizzi IP allora. Inoltre, se usi gli indirizzi I e vedi uno schema da un blocco di IP, puoi facilmente bloccarli tutti con una semplice regola invece di mantenere un lungo elenco di singoli IP.
John Conde

3
È possibile utilizzare il metodo descritto per interrompere casualmente i bot dannosi dalla scansione del sito. Ma 1) È possibile bypassare (i robot cattivi - e i loro padroni - possono imparare a identificare gli honeypot e sapere come evitarli); e 2) Questo metodo può anche bloccare gli utenti umani legittimi a cui sono stati riassegnati IP che sono stati inseriti nella lista nera come appartenenti a bot che si comportano male. Se hai l' obbligo legale o normativo di non avere il tuo sito indicizzato o individuato automaticamente, devi utilizzare un'autenticazione adeguata e consentire l'accesso solo agli utenti autenticati. Tutto il resto non è sicuro.
Free Radical

Bella idea Ma, se lo avessi implementato, scommetterei che continuerei a colpire accidentalmente l'honeypot e continuerei a essere bloccato dal mio sito.
JW01,

@ JW01 Tutto quello che devi fare per evitare che non sia visitare la pagina che gestisce questo. Dal momento che non ci sono contenuti che dovrebbero essere semplici da fare.
John Conde

2

È possibile eseguire il piggyback sul lavoro svolto da altre persone nell'identificazione di indirizzi IP non validi utilizzando un modulo Apache che si interfaccia con la lista nera IP di Project Honeypot . Se lo stai facendo su larga scala, sarebbe probabilmente educato offrire un honeypot.


Sono rimasto stupito quando ho aggiunto la lista nera IP di Project Honeypot sul mio sito. Anni di angoscia si sono conclusi così semplicemente bloccando i cattivi. Penso che anche tu puoi rilevare i robot dei motori di ricerca. Quindi, più 1 per quello.
JW01,

Ma il nocciolo della questione è: se hai pagine pubbliche, aspettati che siano indicizzate. Quindi, è necessario un qualche tipo di autenticazione. Vedi la risposta di Michael Hampton .
JW01,

2

Come menzionato da Gisle Hannemyr in un commento , il modo migliore per farlo è richiedere accessi a tutti gli utenti e non fornire il contenuto riservato a chiunque non abbia effettuato l'accesso.

Se non è possibile richiedere accessi per qualche motivo, ci sono ancora un paio di fallback che è possibile utilizzare (dichiarazione di non responsabilità: entrambi sono in parte o completamente colpa mia):

  1. Il set di regole di base ModSecurity di OWASP contiene una serie di regole progettate per rilevare l'automazione, anche quando il bot ha preso provvedimenti per mascherarsi da browser (ad esempio falsificando la stringa User-Agent). Se hai il pieno controllo del tuo server, come un VPS, un server dedicato o qualcosa di più grande, puoi usare queste regole con ModSecurity .

    Questo set di regole contiene anche altre regole intese a bloccare un'ampia varietà di attività inappropriate; se non lo hai guardato, dovresti assolutamente farlo.

  2. Se non hai il pieno controllo del tuo server (ovvero sei su un web hosting condiviso) e il tuo host non ti consente di utilizzare le tue regole ModSecurity, puoi provare qualcosa a livello di applicazione, come il mio Bad Comportamento . Ho iniziato questo progetto nel 2005 per combattere lo spam nei blog e i programmi di analisi dei contenuti come quelli che ti riguardano. Può essere aggiunto a qualsiasi sito Web basato su PHP.

    Dovrei anche notare che molte delle regole di Bad Behavior sono state incorporate nel set di regole di base di ModSecurity, quindi finché avrai abilitato quelle regole, l'esecuzione di entrambe sarebbe piuttosto ridondante. Queste regole sono annotate nel set di regole di base come originate da Bad Behavior.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.