Gia’ da un po’ sto cercando metodi ‘alternativi’ per limitare la ricezione di spam, ma anche di evitare che altri mi inviino email di avviso che li sto spammando quando, ovviamente, si tratta solo di email camuffate. Ciclicamente mi trovo a dover gestire valanghe di email. Fino ad ora mi sono limitato a inserire nel recipient_address di postfix una riga, ad esempio:
vodbestkevinmet@bestkevin.com 550 Sender is forged !!! *YOU* are spamming me. Please read https://www.spamcop.net/fom-serve/cache/329.html
Questo e’ sufficente a non vedersi recapitate piu’ email verso quel destinatario e nel giro di qualche ora dai log si vede che non arrivano proprio piu’. Probabilmente, anzi sicuramente, sara’ cosi’ anche in futuro, ma ho voluto adottare anche altri sistemi.
Il primo che ho adottato, molto banale, e’ stato Sender Policy Framework, usato da Gmail, che in sostanza consiste nell’aggiungere ai dati della zona del proprio dominio alcune informazioni, in un campo TXT, su quali sono i server autorizzati ad inviare email per quel dominio. Ad esempio per bestkevin.com:
bestkevin.com. IN TXT ‘v=spf1 a mx -all’
infatti:
kevin@jenny:/etc/spamassassin$ dig +short TXT bestkevin.com
‘v=spf1 a mx -all’

In entrata la verifica la faccio fare a spamassassin, collegato ad amavis.
Volendo aumentare questo genere di ‘protezione’, ho installato anche il sistema DomainKeys, che oltre a funzionare un po’ come SPF, aggiunge anche un livello di integrita’ del messaggio, in quanto firmato dal server. A me interessa solo la verifica di identita’ nell’invio.
Recupero quindi dal .bash_history un po’ di informazioni 🙂 considerando che il sistema e’ una Debian GNU/Linux Etch. La base delle informazioni la potete trovare qui e qui.
Installiamo i pacchetti necessari. Manca una libreria di perl, o meglio quella di etch non e’ aggiornata per cui si dovra’ installare da CPAN.
su – Mai lavorare come root…ma tant’e’ 😉 mkdir DomainKey
cd DomainKey/
apt-get install libcrypt-openssl-rsa-perl
apt-get install libdigest-sha-perl libdigest-sha-perl1
apt-get install libdigest-sha-perl libdigest-sha1-perl
apt-get install liberror-perl
apt-get install libemail-address-perl
apt-get install libnet-server-perl
Preleviamo il programma che si occupera’ di effettuare le firme dei messaggi in uscita e la verifica di quelli in entrata (a me interessa solo la prima parte lasciando a spamassassin la seconda):
wget https://downloads.sourceforge.net/dkimproxy/dkimproxy-1.0.1.tar.gz
tar xvfz dkimproxy-1.0.1.tar.gz
cd dkimproxy-1.0.1
mkdir /usr/local/sbin/dkimproxy
cpan
Qui, se e’ la prima volta che lo lanciate, premete sempre invio tranne all’indicazione del mirror da usare per scaricare le librerie necessarie. Una volta arrivati alla shell di CPAN date il comando:
install Mail::DKIM
Proseguiamo…
./configure –prefix=/usr/local/sbin/dkimproxy/
make install
cd /usr/local/sbin/dkimproxy
adduser dkim
passwd dkim -d
cd etc/
openssl genrsa -out private.key 1024
openssl rsa -in private.key -pubout -out public.key
cd /usr/local/sbin/dkimproxy
chown -R dkim.dkim dkimproxy/
cd dkimproxy/etc/
chmod go-r private.key
mv dkimproxy_out.conf.example dkimproxy_out.conf
mv dkimproxy_in.conf.example dkimproxy_in.conf
cp /root/DomainKey/sample-dkim-init-script.sh /usr/local/sbin/dkimproxy/etc/init.d/dkimproxy.sh
ln -s /usr/local/sbin/dkimproxy/etc/init.d/dkimproxy.sh /etc/rc2.d/S90dkimproxy
/etc/rc2.d/S90dkimproxy start
Ora dovrebbe essere installato e funzionante. Io ho modificato lo script di avvio commentando nella sezione start) la chiamata a start-in) perche’ come detto non mi interessa.
Vediamo cosa mettere nella zona del DNS. Semplicemente:
selector1._domainkey.bestkevin.com. IN TXT ‘k=rsa; t=s; p=M
IGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjoawNERYaU5QHfihMhEOLG4VlkM4iG
/QaRXKKJ8Kf2/UQtRrrN4uKPVEq1jvHwlz6et3gpBQCMp31FOMeGxKwKGCQjVPOD5tLs
7AB7Gas/JLBtONbktwy6wL5bsEa7osdxjqPzeIwGfgIVAav6RW17nLEKdnW4M+Roj/3r
sdiKQIDAQAB’
dove selector1 e’ un nome scelto (tutti usano questo, quindi ho proseguito la tradizione), il resto va uguale cambiando il dominio e la parte della chiave pubblica che altro non e’ che il contenuto del file public.key che avevamo generato, avendo l’accortezza di concatenare cio’ che nel file e’ su piu’ righe.
Bisogna ora modificare il master.cf di postfix, considerate che io ho cambiato le porte di funzionamento da quelle di default 100XX con le 101XX in quanto ho amavis che gira sulle stesse:
cat /etc/postfix/master.cf

submission inet n – – – – smtpd
-o smtpd_etrn_restrictions=reject
-o smtpd_sasl_auth_enable=yes
-o content_filter=dksign:[127.0.0.1]:10127
-o receive_override_options=no_address_mappings
-o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject

dksign unix – – – – 10 smtp
-o smtp_send_xforward_command=yes
-o smtp_discard_ehlo_keywords=8bitmime,starttls

127.0.0.1:10128 inet n – – – 10 smtpd
-o content_filter=
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o smtpd_authorized_xforward_hosts=127.0.0.0/8

Vorrei farvi notare che a differenza degli howto online, qui postfix lavora in chroot, ed infatti il campo relativo di master.cf e’ diverso. Per questo motivo e’ necessario spostare tutto quello che abbiamo fatto, nella chroot di postfix:
mkdir /var/spool/postfix/usr mkdir /var/spool/postfix/usr/local/ mkdir /var/spool/postfix/usr/local/sbin mv /usr/local/sbin/dkimproxy /var/spool/postfix/usr/local/sbin ln -s /var/spool/postfix/usr/local/sbin/dkimproxy /usr/local/sbin/
L’ultima cosa da fare e’ modificare spamassassin per dirgli di controllare lui le chiavi delle email in arrivo, ovvero nel file v312.pre togliere il commento alla riga relativa:

loadplugin Mail::SpamAssassin::Plugin::DKIM

Tutto qui, il sistema dovrebbe essere pronto (guardate magari i file di config di dkimproxy per verificare che si adattino alla vostra config, in particolare il nome del dominio).

Per fare una prova, mandate una mail a test@dkimtest.jason.long.name con oggetto dkim, e vedete cosa vi risponde, oppure mandatela ad un account su yahoo: dovrebbe dirvi, sotto al campo mittente una volta aperta la mail, che lo stesso e’ stato verificato con DomainKeys.

Spero di non aver dimenticato nulla, se avete domande…mandate una mail 🙂

Oggi ascoltando la TV, facendo dell’altro, sento che una marca di elettrodomestici ha immesso sul mercato un nuovo, fantastico aspirapolvere con potenza di 2400W, spacciandolo ovviamente come un’innovazione. La domanda che mi sono fatto e’: dov’e’ l’innovazione ? Quale magia tecnologica ha consentito di fare questo poderoso motore elettrico da 2400W ? Se poi si considera che in casa, normalmente, c’e’ una disponibilita’ massima di 3000W, occhio ad usare contemporaneamente un altro elettrodomestico perche’ il rischio e’ quello di superare il limite del contatore.
Io non capisco questa corsa alla potenza fine a se stessa. Un’evoluzione potrebbe essere fare un aspirapolvere che consuma 500W e rende come uno da 2000W, allora avrebbe senso, ma cosi’ non serve a nulla.
Boh, io non lo capisco 🙂

Tratto dal film Life of Brian (in italiano ‘Brian di Nazareth’), dei Monty Python, ecco un fantastico estratto. Chi ha studiato latino a scuola (e magari non era tanto bravo, come il sottoscritto che infatti dopo un anno ha cambiato indirizzo), potra’ rivedere in questi pochi minuti, mesi e mesi di sofferenza alle interrogazioni 🙂

Li aveva traditi tutti.
Che cosa direbbero di me i miei uomini, adesso ? Guardo’ la parete vuota di fronta alla branda.
Che cosa avrebbe detto Romanov ?
Credo che abbiamo bisogno tutti e due di bere qualcosa, capitano, disse la voce. A queste cose si pensa meglio con l’aiuto della vodka o del samogan
Tu sai perche’ ?
Non ce l’hai mai detto capitano, rispose Romanov. E cosi’ Misha spiego’ i motivi. Basto’ un brevissimo istante.
Sua moglie e tutti e due i ragazzi. Mi dica, compagno capitano, per che cosa siamo morti ?
Misha non lo sapeva. Non lo aveva saputo nemmeno durante i combattimenti. Era un soldato, e quando la sua Patria e’ invasa, il soldato combatte per cacciare il nemico. Facile, e ancora di piu’ quando il nemico era brutale come i tedeschi.
Abbiamo combattuto per l’Unione Sovietica, caporale.
Davvero ? A me sembra di ricordare che ho combattuto per la Madre Russia, ma soprattutto per lei, compagno capitano
Ma…
Un soldato combatte per i suoi camerati, capitano. Ho combattuto per la mia famiglia. Credo che lei lo abbia fatto per sua moglie e per i ragazzi. Gliel’ho sempre invidiata, la famiglia, ed ero orgoglioso che lei me ne facesse partecipe. Per me, la famiglia era lei, lei e il reparto
Ma io ti ho ucciso. Non avrei dovuto…
Abbiamo tutti un destino, compagno capitano. Il mio era di morire giovane a Vyasma senza avere avuto ne’ mogli ne’ figli, ma anche cosi’ non sono morto senza famiglia.
Ti ho vendicato, Romanov. Ho distrutto il Mark-IV che ti aveva ucciso.
Lo so. Ha vendicato tutti i morti della sua famiglia. Perche’ crede che noi le volessimo bene ? Perche’ morivamo per lei ?
Tu mi capisci, dunque ? domando’ Misha sorpreso.
Forse non lo capirebbero i contadini e gli operai, ma i suoi uomini si’. Adesso comprendiamo il destino, meglio di quando possa capirlo lei.
Che cosa devo fare ?
I capitani non lo chiedono ai caporali, risposte Romanov ridendo. Era lei che aveva tutte le risposte alle nostre domande

Tom Clancy, ‘Il Cardinale del Cremlino’, Biblioteca Universale Rizzoli.

Uno dei miei autori preferiti (non che sia difficile visto che non ne conosco molti 😉 ) e’ sicuramente Tom Clancy, scrittore di libri di spionaggio/militari/fantapolitici nei quali e’ protagonista principale Jack Ryan, oltre ad altre serie dedicate; e’ l’autore dei libri su cui sono stati basati film come ‘Caccia a Ottobre Rosso’ con Sean Connery, oppure ‘Giochi di potere’ con Harrison Ford, mentre gli amanti dei videogiochi lo riconosceranno come ideatore della saga ‘Rainbow Six’ o ‘Ghost Recon’ piuttosto che ‘Splinter Cell’.
Ebbene, dopo questa breve e doverosa introduzione, mi chiedo quanto di quello che si legge sui suoi libri sia aderente alla realta’, e mi sorprendo a vedere come spesso quest’ultima superi la fantasia di un autore che certamente si basa su dati reali (armamenti, tecniche e psicologie), ma che alla fine costruisce mondi virtuali in cui far regnare il suo personaggio.
Se leggete questo articolo ed il conseguente, nonche’ la dichiarazione di qualche mese fa in cui il Giappone dichiaro’ la volonta’ di dotarsi di un arsenale atomico, noterete che si tratta di una sorta di dejavu’, un qualcosa di cui Tom Clancy ha gia’ trattato, esposto e portato agli sviluppi. Le guerre di potere, le ricerche di nuove risorse economiche e naturali, in Russia, medioriente o Germania, la difesa delle stesse, la corsa ad armi sempre piu’ innovative. Tutto appare gia’ visto e pericolosamente possibile.
Manca solo una persona come Jack Ryan che guidi gli avvenimenti in maniera corretta o che sventi l’aggravarsi delle situazioni. Ed e’ questo a fare paura.

Gestire un server di posta a volte puo’ richiedere di andare a snidare i problemi anche di altri, ad esempio di clienti che usano il tuo come relay host, per cui loro problemi di open relay o backscatter diventano anche i tuoi.
Uno dei server che gestisco e’ nella lista di Backscatterer da un po’ di tempo e sto cercando di venirne fuori, ma la cosa non e’ facile con migliaia di domini e chissa’ quanti server che usano quello da me gestito come relay host. Il primo passo e’ stato togliere i backup MX, soprattutto su indicazione di altre persone, delegando la questione ad altri 😉 nell’ottica di ‘non rimandare a domani quello che puo’ fare oggi qualcun altro’.
Ecco un esempio di quello che ho appena snidato:
kevin@kevin:~$ telnet xx.xx.xx.xx 25
Trying xx.xx.xx.xx…
Connected to xx.xx.xx.xx.
Escape character is ‘^]’.
220 srv.dominio.com Microsoft ESMTP MAIL Service, Version: 5.0.2195.6713 ready at Fri, 8 Feb 2008 09:08:39 +0100
ehlo bestkevin.com
250-srv.dominio.com Hello [xx.xx.xx.xx]
mail from: <kevin@bestkevin.com>
250 2.1.0 kevin@bestkevin.com….Sender OK
rcpt to: <nonesiste@dominio.com>
250 2.1.5 nonesiste@dominio.com
data
354 Start mail input; end with <CRLF>.<CRLF>
pippo
.
250 2.6.0 <SRVednHM3SOlb000000d4@srv.dominio.com> Queued mail for delivery
quit
221 2.0.0 srv.dominio.com Service closing transmission channel
Connection closed by foreign host.

Dov’e’ il problema ? Semplicemente che l’utente cavia (io in questo caso) riceve un report che dice che l’utente non esiste, con anche la mail originale allegata, e se questo fosse spam l’utilizzo del backscatter sarebbe un modo per inviarlo.
Come si evita ? Bisogna fare in modo che il server neghi la transazione SMTP non appena scopre che l’utente non esiste:
kevin@kevin:~$ telnet srv.miodominio.com 25
Trying yy.yy.yy.yy…
Connected to srv.miodominio.com.
Escape character is ‘^]’.
220 srv.miodominio.com ESMTP Postfix (Debian/GNU)
ehlo bestkevin.com
250-srv.miodominio.com
mail from: <kevin@bestkevin.com>
250 Ok
rcpt to: <nonesiste@miodominio.com>
550 <nonesiste@miodominio.com>: Recipient address rejected: User unknown in virtual mailbox table
quit
221 Bye
Connection closed by foreign host.

In questo secondo caso non si e’ dato tempo e modo al server di origine di spedirci la mail, accodarla e dopo verificare che non esiste il destinatario.

Faccio un escursus nel mondo del pallone poiche’ leggo sul sito de L’Arena, il quotidiano di Verona, il seguente titolo:
‘Il bomber dell’Hellas con patente sospesa – L’attaccante fermato a Treviso dopo una serata Il suo tasso alcolemico di 1.33 contro il lecito 0.50’
Mi sono sorpreso perche’ non sapevo nemmeno che l’hellas avesse un bomber, a giudicare dai risultati e dalla classifica, pensavo invece che si trattasse di undici amici che, dopo aver passato la settimana al bar, cosi’, tanto per qualche ora di svago, andassero a giocare al pallone. Beh, il tasso alcolemico del frequentatore di bar c’e’, quindi non mi sbaglio di tanto.
Chissa’, magari un giorno pubblicheranno anche che sono pagati, questo si’ che sarebbe il colmo.

Bene, governo caduto, palla al centro e scena politica da rifare. Dopo due anni letteralmente buttati senza fare nemmeno la prioritaria legge contro il conflitto d’interessi o ripristinare il falso in bilancio, mentre la gente comune arrancava per arrivare in fondo al mese, l’economia stagnava (anche se sarebbe da usare il tempo presente), i cari politici si dibattevano sulla legge elettorale. Sconfitto il governo qualcuno pensava ad un bel ‘periodo di riforme’ con un governicchio temporaneo, ben sapendo che non si sarebbe mai trovato un accordo e che quello che doveva essere un provvedimento a tempo, si sarebbe trasformato in definitivo: il lavoro temporaneo c’e’ solo per coloro che prendono 600 euro al mese, non al giorno.
Ora alcune forze politiche lamentano che la legge elettorale cosi’ com’e’ fa schifo, a detta anche di coloro che l’hanno redatta, soprannominandola ‘porcellum’.
Il problema piu’ sentito, probabilmente, dai cittadini e’ quello di non poter esprimere una preferenza durante il voto dovendo quindi delegare oltremodo la scelta della persona che siedera’ in parlamento al partito politico.
Per questo pero’ ci sarebbe una soluzione: basta indire in tempi molto rapidi delle primarie per creare liste di persone che poi saranno messe a sedere in parlamento, cosi’ non ci sarebbe il problema. O sbaglio ? Fino ad ora le primarie si sono usate solo per decidere chi sia il leader, ma si potrebbe benissimo espandere per includere i voti dati a tutti per una vera lista delle preferenze.

Anche a Verona si sta cominciando a pensare ad un provvedimento stile ecopass sulla falsariga di quello milanese (oppure ad un aumento del costo del parcheggio). Da sempre sono contrario a queste forme di ‘paga e inquina’, che sembrano dare a chi ha la possibilita’ di spendere il diritto di inquinare, alla faccia dei pensionati, operai e tutti coloro che non possono permettersi di pagare il balzello, costretti ad usare i mezzi pubblici.
Attenzione, non sono contrario ai mezzi pubblici, ma sono contrario ad una sorta di apartheid in cui chi ha i mezzi economici puo’ godersi il centro con la propria auto, chi non puo’ deve andare in autobus, non piu’ quindi autobus per i neri e autobus per i bianchi, ma autobus per gli indigenti.
Analizziamo pero’ il motivo che spingerebbe a voler introdurre tali provvedimenti. Verona e’ una delle citta’ con la maggior quantita’ di PM10 (le polveri sottili), seconda in Veneto e ottava in Italia. Ma quali sono le fonti di PM10 ? Secondo un’indagine di Quattroruote, il traffico genera circa il 26% delle polveri sottili, il resto viene da riscaldamento e industria. Non solo, i motori maggiormente colpevoli sono quelli diesel, quindi auto e soprattutto traffico commerciale a gasolio, in particolare quelli senza filtro antiparticolato.
Verona si trova a pagare lo scotto di due realta’: l’essere attraversata da due importanti autostrade (A22 Modena-Brennero e A4 Milano-Venezia) con tutte le polveri che ne provengono, e l’avere un’industria pesante a circa 200 metri dal centro storico.
Quindi ha senso un questo tipo di intervento ? No.
No perche’ discrimina la popolazione, dando in piu’ il senso che chi paga puo’ inquinare liberamente.
No perche’ non risolve il problema, come gia’ hanno dimostrato i blocchi del traffico e le targhe alterne.
Una soluzione ? Per Verona e’ difficile in quanto le autostrade non possono essere bloccate, sarebbe auspicabile coprirle ad esempio con dei teloni e far si’ che l’aria all’interno venga trattata con filtri prima di essere reimmessa all’esterno. Piu’ facile, anche se complesso comunque, spostare le industrie pesanti dal centro, visto che probabilmente i titolari delocalizzerebbero all’estero piuttosto che a pochi chilometri, pero’ con qualche incentivo statale forse si riuscirebbero a convincere. Il traffico commerciale deve essere bloccato prima che arrivi in citta’: abbiamo una bellissima zona doganale lontano dal centro e ben servita, i camion sarebbero da fare fermare la e trasportare i beni tramite mezzi piu’ ecologici (metano o benzina, no al gasolio), o meglio ancora per treno visto che abbiamo una stazione merci a poche centinaia di metri dal centro. Limitare l’accesso al centro da parte delle auto partendo da un presupposto: tutti hanno diritto di usufruire della citta’; basta quindi dare un pass (uno solo e gratuito) ad ogni famiglia, in modo che contemporaneamente possa entrare nella citta’ storica solo un auto per famiglia. Se poi si dessero incentivi per coloro che vanno in auto insieme al lavoro, meglio ancora. Perche’ non l’autobus ? Perche’ non tutte le zone sono servite bene, e qualcuno, come il sottoscritto, dovrebbe cambiare due mezzi e farsi almeno un km a piedi, con ogni tempo e temperatura, senza contare la perdita di sonno dovendosi alzare almeno 45 minuti prima. Se va bene.
Quindi no all’ecopass, non serve a nulla se non a far cassa.

L’emergenza (che dura da 14 anni dicono…) dei rifiuti a Napoli ha oramai preso il posto fisso sui quotidiani e telegiornali, portando ogni giorno un nuovo tassello ad un mosaico che appare sempre piu’ confuso.
Molte sono le soluzioni che sono state proposte, ma quello che si perde di vista e’ l’aspetto generale del problema. Io non sono un ambientalista, non sono un esperto, ma penso che dovrebbe essere rivista la questione rifiuti in maniera radicale.
Quante volte acquistiamo un bene, magari piccolo come un iPod e lo troviamo imballato in cartone e plastica con un volume esagerato se paragonato al prodotto contenuto ?
Il primo passo che mi viene in mente e’ obbligare le aziende a fare contenitori minimi, e non importa se la carta e’ riciclata perche’ per riciclarla servono comunque risorse quali acqua ed energia elettrica, e’ proprio necessario limitarne l’uso. Stop anche ai manuali plurilingue: cosa mi interessa della traduzione in aramaico antico ? Meno pagine, meno carta e meno inchiostro.
Il secondo passo e’ una raccolta differenziata seria. Nelle immagini che arrivano da Napoli si sono visti pneumatici, materassi, frigoriferi…ma questo non e’ materiale che va buttato nel cestino davanti a casa ma vanno smaltiti in maniera seria. Io divido plastica, carta/cartone, lattine e vetro. Potrei fare di piu’ ma il balcone e’ piccolo e due bidoni piu’ il sacchetto del vetro me ne occupano gia’ un bel po’. In questo modo in discarica dovrebbe andare solo la parte secca del rifiuto, in quanto l’umido viene recuperato per farne compost. In effetti, il problema degli odori nauseabondi che spingono a bruciare i cumuli di rifiuti e’ dovuto, secondo me, proprio al fatto che non viene separato l’umido che quindi marcisce sviluppando cattivi odori: un cumulo di bottiglie di plastica non puzzerebbe.
L’ulteriore passo sarebbe abolire i contenitori di plastica a favore dei soli contenitori riciclabili al 100%, come il vetro. Acqua, latte, cibi, tutto dovrebbe essere contenuto nel vetro, facilmente riciclabile: ricordiamo che la plastica riciclata non torna ad essere utilizzabile per uso alimentare, mentre il vetro si’. In piu’ limitando al massimo l’uso della plastica si evita di usare il petrolio.
Insomma, margini di manovra e di miglioramento ce ne sono, aldila’ dell’uso delle discariche che non devono piu’ trovare posto nella gestione dei rifiuti moderna. Certamente costa fatica cambiare, ma e’ l’unico modo per evolvere da una situazione che vede il rifiuto solo come uno scarto, mentre invece rappresenta energia e materie da riutilizzare. Perche’ solo la mafia ci vede il vantaggio economico ?