Come blindare il vostro Apache e lasciare fuori gli spammer

Un problema non da poco

Se è capitato anche a voi di vedere qualche simpaticone scaricare tutto il vostro sito a caccia di indirizzi email, forse vi sarà venuta voglia di impedirgli di fare danni intasando la banda (che si paga cara!) e magari trovando veramente gli indirizzi email lasciati da qualche incauto.

Un minimo di teoria

Per cercare gli indirizzi email contenuti nelle pagine di un sito, gli spammer utilizzano dei programmi che “scaricano” tutte le pagine di un sito seguendone i collegamenti interni, e le analizzano in cerca di stringhe (sequenze di caratteri) che possano assomigliare a degli indirizzi di posta elettronica.

Quando li trovano, li memorizzano e li usano per sommergervi di posta-spazzatura.

I programmi usati dagli spammer sono spesso (purtroppo non sempre) riconoscibili da particolari stringhe che li identificano, queste stringhe di connessione sono simili ma non identiche a quelle che i normali browser mandano quando si collegano al vostro server.

Mod_rewrite: il coltellino svizzero degli URL

Se il vostro server web è il diffusissimo Apache, questo dispone di un modulo (quasi sempre installato di default) che permette di manipolare gli indirizzi in vario modo, anche tramite istruzioni condizionali che analizzano le stringhe di connessione.

Ammesso che mod_rewrite sia correttamente installato, è quindi sufficiente inserire alcuni comandi nel file .htaccess per redirigere gli spammer su una pagina alternativa.

Ecco un esempio di configurazione:

# attiva il motore RewriteEngine On RewriteCond %{HTTP_USER_AGENT} Extractor [OR] RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR] RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR] RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR] RewriteCond %{HTTP_USER_AGENT} ^Mozilla.*NEWT [OR] RewriteCond %{HTTP_USER_AGENT} ^Crescent [OR] RewriteCond %{HTTP_USER_AGENT} ^CherryPicker [OR] RewriteCond %{HTTP_USER_AGENT} ^[Ww]eb[Bb]andit [OR] RewriteCond %{HTTP_USER_AGENT} ^NICErsPRO [OR] RewriteCond %{HTTP_USER_AGENT} ^Telesoft [OR] RewriteCond %{HTTP_USER_AGENT} ^Zeus.*Webster [OR] RewriteCond %{HTTP_USER_AGENT} ^Microsoft.URL [OR] RewriteCond %{HTTP_USER_AGENT} ^Mozilla/3.Mozilla/2.01 [OR] RewriteCond %{HTTP_USER_AGENT} ^EmailCollector RewriteRule .* nospam.html [L]

In questo caso la pagina alternativa è nospam.html, qualsiasi pagina venga richiesta da un client che si identifica con una delle stringhe intercettate dalle espressioni regolari inserite sopra, viene automaticamente rediretto sulla pagina nospam.

Vendetta, tremenda vendetta!

Una possibile ritorsione, potrebbe essere quella di creare dinamicamente una pagina ricca di collegamenti e indirizzi email che puntino all’indirizzo IP dello spammer, in questo modo si potrebbe per lo meno infastidirlo (se il programma che usa non è abbastanza furbo da indovinare il trucco).