Riprendendo il discorso gia’ iniziato sullo spam che cerca di raggiungere utenti inesistenti, dopo l’uso di dkimproxy, ho pensato di fare un ulteriore passo in avanti (o indietro…domani vedremo).
Nella catena di ricezione delle email postfix:25(DNSBL) -> postgrey:60000 … postfix:25 -> amavis:10024 -> postfix:10025, ho pensato che forse sprecare tutta questa CPU e memoria per gestire un 80% di email destinata a utenti inesistenti e’ un grosso peccato, per cui, perche’ non creare una lista di destinatari esistenti e relativi alias, direttamente al primo postfix ? Si risponderebbe (o anche no, vedete voi) che l’utente non esiste e fine, senza passare per tutti gli step.
Visto che gli utenti nel mio caso sono in un db MySQL, ho fatto quindi un paio di modifiche a postfix aggiungendo (anche se in realta’ l’opzione era gia’ presente ma lo dico per completezza) le seguenti impostazioni nel main.cf:

smtpd_recipient_restrictions =

check_recipient_access hash:/etc/postfix/recipient_access,


A questo punto, tramite un banale script, genero il file recipient_access:

#!/bin/sh
# Sostiture xxx con la password di accesso a mysql, se necessaria,

cat /dev/null > /etc/postfix/recipient_access
for user in `mysql -N -pxxx –batch -e ‘select username from mailbox order by domain’ postfix`
do
echo $user’ FILTER smtp-amavis:[localhost]:10024′ >> /etc/postfix/recipient_access
done

for user in `mysql -N -pxxx –batch -e ‘select address from alias where address <> goto order by domain’ postfix`
do
echo $user’ FILTER smtp-amavis:[localhost]:10024′ >> /etc/postfix/recipient_access
done

for domain in `mysql -N -pxxx –batch -e ‘select domain from domain order by domain’ postfix`
do
echo $domain’ 550 Illegal user.’ >> /etc/postfix/recipient_access
done

cd /etc/postfix
postmap recipient_access > /dev/null 2>&1
postfix reload > /dev/null 2>&1

Cosa otteniamo ? Il seguente file recipient_access:

esiste1@dominio.tld FILTER smtp-amavis:[localhost]:10024
esiste2@dominio.tld FILTER smtp-amavis:[localhost]:10024

dominio.tld 550 Illegal user.

Con questa piccola modifica, le email per utenti inesistenti saranno bloccate al loro primo contatto e non intaseranno piu’ il server nel passaggio dei filtri successivi.
Funziona ? Non funziona ? Da una prima analisi mi parrebbe di si’, vediamo domani cosa succede.
Update: Ecco alcuni numeri il giorno dopo:
Mail lecite:
grep ‘delivered’ /var/log/syslog.0 | wc
2531 32931 370647
grep ‘Illegal user’ /var/log/syslog.0 | wc
48161 1011383 13132925

Mi sembra un buon risultato.

Beh, saranno anche vecchie e probabilmente note, ma non posso fare a meno di pubblicarle dopo averne letta una in un fortune nella firma di una mia email (create di volte in volta in automatico). Sono pezzi di verita’ πŸ™‚ E quelle in neretto sono piu’ vere delle altre.

  • As long as the world turns, users will still have problems
  • Substance abusers and computer operators are the only folks called users. This isn’t by chance
  • When in doubt. Reboot
  • Sooner or later you will meet a person who types out the words ‘backslash’ or forgets to plug in the power cord. If you haven’t yet, just wait, you will
  • Fear the phone. No one just calls tech support to wish you good morning
  • No user will tell you the whole truth at the beginning of a call
  • ‘I didn’t do anything’ or ‘It just happened’ Are the users mantra
  • As a support tech, it is your job to break down resistance and get the truth
  • This is so you can rub the lie in their face, fixing the issue is just a perk
  • Some people will never learn
  • This means you will always have a job
  • Maintain a calm voice, even if you’re screaming on the inside
  • The hold button is your friend
  • Whatever you do, don’t panic
  • The answer to all users questions should be ‘Trust me, I know what I’m doing’ even if this is a bald-faced lie
  • Users can smell fear. Once you’ve lost control, all is lost
  • A user who is not listening to you anymore, but rather is trying ‘their own thing’ is not worth your time. Simulate a telephone disconnect and hang up. Trust me, you’re better off.
  • Sometimes fixing a computer is easier than figuring out why it was broken
  • Users always want a reason things are fixed. If you’re not sure just lie. They won’t know anyway. ‘A stray electron passed through the processor and caused…’
  • If possible ask to speak to the youngest person present
  • 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 πŸ™‚

    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.

    Si e’ svolta questo week end la manifestazione fieristica Elettroexpo, dedicata all’informatica, radiantistica, surplus etc. Tutti coloro che le frequentano sanno che queste fiere, in realta’ vanno ad ondate di prodotti; qualche anno fa erano le copie dei programmi, poi sono arrivate le schede clonate per telepiu’, ora siamo ai supporti cd/dvd importati in qualche maniera per eludere la tassa (maledetta) della SIAE.
    Entri in queste fiere e ti ritrovi banchi pieni di scatole di dvd, bancali che entrano pieni ed escono vuoti per rifornirli, e gente con pacchi di centinaia di dischi o sacchetti con campane da 10/25/50 pezzi. Ovviamente il tutto davanti alla polizia municipale, alla polizia, carabinieri etc…Anche alla fiera di S. Lucia che si svolge in pieno centro il 13 dicembre ci sono alcuni banchi di supporti, l’anno scorso uno era proprio davanti al municipio.
    La situazione ha raggiunto il culmine quando alla sera, alla TV locale, hanno mandato un servizio su questa fiera, nella quale un intervistato cosi’ rispondeva:
    ‘ha comperato qualcosa ?’
    ‘si’, dei dvd’
    ‘ah, quanti ?’
    ‘ehm…200…’
    ‘pero’, lei masterizza parecchio, che cosa ? ‘
    ‘mah, principalmente film…’
    Sono morto dal ridere.

    Ricevo un’allarmante email:

    From: fabioFVZ
    Subject: [openbeer] Probabile cancellazione evento OpenCON
    Ciao a tutti,
    come potete immaginare, OpenCON e’ gratis per i visitatori, ma ha dei costi non indifferenti.

    Gli anni passati questi sono stati supportati da vari sponsors e dai corsi OpenBSD fatti da alcuni di noi.

    OpenCON 2007, in questo momento, ha solo 1 sponsor e ha raccolto circa 1.000 euro fin’ora.

    Il costo previsto della manifestazione e’ di circa 10.000 euro.

    Se per Domenica 30 Settembre non avremo raggiunto almento 6.000 euro l’evento sara’ rinviato al 2008.

    Chi vuole fare i corsi se mi inviano i dati di quando e dove che poi iniziamo la pubblicita’.

    Comunque quest’anno dubito fortemente che si riesca a fare la manifestazione.

    Mancano solo 2 settimane al 30.

    OpenCon e’ una conferenza dedicata ad OpenBSD che si e’ tenuta dal 2004 in Italia e che raggruppa gli sviluppatori core del sistema operativo nonche’ il fondatore/mentore Theo de Raadt.
    OpenCon e’ importante per vari motivi:

    • hackaton: raggruppa gli sviluppatori in quello che viene definito hackaton, una maratona di coding e bug fixing in previsione del rilascio della versione successiva, ed essendo gli sviluppatori in tutto il mondo non e’ facile organizzare un evento che li raggruppi in un unico luogo fisico;
    • precede o attua il rilascio di nuove release: ogni 6 mesi circa viene rilasciata una nuova release di OpenBSD, uno di questi rilasci coincide o quasi con OpenCon;
    • stage e talk: la conferenza e’ aperta, gratuitamente al pubblico, che puo’ seguire direttamente dalla bocca degli sviluppatori, spiegazioni su nuove funzionalita’ o sul funzionamento di demoni o parti del kernel;
    • potete parlare con loro: sembrerebbe una sciocchezza, ma poter parlare direttamente con gli sviluppatori puo’ essere una possibilita’ enorme per chi usa OpenBSD nella propria azienda, vuole richiedere il supporto di qualche hardware particolare, discuterne con chi mette le mani nel codice;

    Il problema, oggi, e’ che non ci sono abbastanza sponsor per supportare l’evento: bisogna pagare i locali, aiutare nelle spese di viaggio gli sviluppatori, il vitto e altro ancora, nulla rimane in tasca agli organizzatori. Per cui:
    CFM – CALL FOR MONEY: se hai un’azienda che puo’ o vuole sponsorizzare OpenCon fatti avanti, idem se hai conoscenze di OpenBSD e vuoi tenere dei corsi per raccolta fondi presso la tua citta’, basta mandare una mail a info at openbeer dot it
    Non c’e’ molto tempo.

    Ebbene, dopo un bel po’ di tempo (suppongo oltre 220 giorni visto che l’altra macchina aveva tale uptime), ho spostato il serverino che ospita queste pagine, di conseguenza ho dovuto riavviare. Un solo servizio non e’ ripartito al riavvio ed e’ stato aiccu, un software che serve ad avviare un tunnel verso un Tunnel Broker per avere la connettivita’ in IPv6, e questo a causa del rilascio nel frattempo di nuove versioni.
    Vado quindi per scaricare la nuova versione ma noto che c’e’ solo la versione per unstable, una versione di Debian differente, ho guardato in giro e non ho visto nessuna versione precompilata per Sarge. Ho quindi scaricato i sorgenti, il file .dsc che descrive la struttura del pacchetto, patches non ce n’erano, ho quindi modificato un po’ il file che descrive le dipendenze in modo che andasse anche per Sarge. Beh, tutto questo per dire che qui trovate la versione ricompilata.
    Buon divertimento.

    youtube e’ senza dubbio una bella fonte di filmati di vario tipo, pero’ diciamocelo…e’ noioso. Cerco qualcosa, ad esempio ‘Milano’ e mi vengono fuori migliaia di video, che dovrei guardare uno a uno sperando che alla fine scappi qualcosa di interessante, e poi che palle cambiare le pagine. Sarebbe molto piu’ comodo scaricarli sul PC e guardarseli con comodo, oppure costruirsi una raccolta da mettere su un CD o DVD. Come ?
    Ho trovato online un bello script in python che si chiama youtube-dl che prende in input un video e lo scarica. Ebbene, perche’ non metterlo in un ciclo in modo da scaricare tutti i video di una ricerca ? πŸ™‚
    Ecco qui una prima versione di script che consente di cercare e scaricare in automatico, tutti i video di youtube relativi a qualcosa. Banalmente basta dare il comando ./GetYouTube pippo per iniziare il download di tutti i video che la ricerca di ‘pippo’ ci restituisce.
    Guardate un po’ le variabili definite in modo da cambiarle se volete e ricordate che e’ molto semplice perche’ a me serve cosi’, per cui le ricerce sono su parola singola, se invece volete piu’ parole basta metterle con il sengo ‘+’ e tra doppi apici, ad esempio ./GetYouTube ‘pippo+pluto’ e cosi’ via per tutti i tipi di ricerca che volete.

    Bene, ho appena finito di lottare, avendola vinta, con un IBM Xseries 306m, installando (o meglio, ora posso installare) una Debian GNU/Linux Etch sui suoi dischi SATA con controller Adaptec AIC-9405W (lspci restituisce Serial Attached SCSI controller: Adaptec AIC-9405W SAS (Razor-Lite ASIC non-RAID)=20 (rev 08)).
    La cosa non e’ stata banale, almeno non per me, un po’ perche’ il CD di installazione (l’ultima immagine disponibile) ha il kernel 2.6.18 che non supporta proprio la scheda, un po’ perche’ e’ necessario caricare un firmware proprietario (maledetti…), ed un altro po’ perche’ in pochi paiono avere risolto la questione o se lo hanno fatto non l’hanno pubblicizzato, per cui anche cercando con Google non si trovano molte info, e quelle che ci sono sono incomplete o errate.
    Come ho proceduto ? Intanto quando ci sono questi casi e’ obbligatorio usare un disco EIDE standard, in modo da slegarsi da quelli che sono i problemi del controller, si installa sopra di esso la propria distribuzione e poi si procede lavorando da li.
    Una volta installata la Debian GNU/Linux Etch sul disco EIDE, quindi, si procede a scaricare il kernel vanilla, ovvero il kernel originale di www.kernel.org, lo si configura (qui il mio config BASE), e si compila alla maniera di debian, quindi con il comando fakeroot make-kpkg –append-to-version -306m –revision=1 –initrd kernel_image. E’ necessario usare initrd, perche’ dobbiamo caricare il supporto per il controller. Una volta compilato lo installiamo con un bel dpkg -i linux-image-2.6.20-306m_1_i386.deb (lo potete scaricare da QUI).
    A questo e’ necessario scaricare il firmware, e questo lo trovate QUI, lo copiate nella directory /usr/lib/hotplug/firmware/ in modo che poi venga preso alla costruzione di initrd, e poi copiate questo script in /usr/share/initramfs-tools/hooks, ricordandovi di renderlo eseguibile con un chmod a+x firmware_aic94xx.
    A questo punto dovete far ricreare l’initrd.img, e questo si ottiene dando il comando dpkg-reconfigure linux-image-2.6.20-306m.
    Ora non resta che un bel reboot per vedere, finalmente, un bel SCSI device sda: 143374000 512-byte hdwr sectors (73407 MB) e SCSI device sdb: 143374000 512-byte hdwr sectors (73407 MB), e procedere cosi’ all’installazione della nostra distribuzione su questi dischi.
    Ah…ovviamente poi il disco EIDE lo possiamo togliere, ma prima siate sicuri di fare il boot correttamente dai dischi SATA.
    Nota: il file di configurazione del kernel e’ estremamente essenziale, perche’ mi serviva compilarlo in fretta, per cui non avete il supporto per quasi nulla, per cui ricontrollatevelo per adattarlo alle vostre esigenze.
    Aggiornamento
    Oggi ho fatto partire tutto il sistema sui dischi SATA, pero’ un altro paio di consigli, che possono essere utili.
    Prima di tutto per installare il sistema vi consiglio di farlo usando il raid software visto che quello della scheda non e’ supportato (si’, ho provato e non va), usando come dispositivi sdaX e sdbX dopo averli opportunamente partizionati. Ora diciamo che avete i vostri /dev/mdX per cui, montate la root, diciamo /dev/md0, in /mnt, caricategli il sitema con debootstrap etch /mnt, a questo punto avete un’installazione pulita sul disco in raid. Entrate dentro questo disco in chroot, quindi chroot /mnt, modificate tutti i parametri, in particolare schede di rete, etc, installate i vari soft necessari come il lilo (non amo grub). Ora riavviate, sempre tenendo il disco EIDE come boot, ma quando sta per partire, premete lo shift sinistro e scrivete linux root=/dev/md0, cosi’ parte il sistema ma usando come disco quello in raid. Il suggerimento ora e’ quello di rifare con il firmware quello che abbiamo fatto in precedenza, ma un po’ cambiato (chissa’ perche’…). Copiate il firmare in /lib/firmware e lo script che va in /usr/share/initramfs-tools/hooks, ridate il comando dpkg-reconfigure linux-image-2.6.20-306m e provate a riavviare staccando il disco EIDE.

    Strano a dirsi, ma dopo tutto questo discorrere sui DRM, major a favore, utenti contro, politici di destra che sostengono i primi, le sinistre che appoggiano i secondi, con in mezzo qualche associazione di difesa consumatori e una sparata di Steve Jobs che sostiene che Apple, in realta’, non vuole i DRM, ebbene, strano a dirsi ma io sono favorevole ai DRM.
    Ovviamente non posso fermarmi qui, e devo proseguire mettendo in chiaro il mio pensiero, se ci riesco πŸ™‚
    Il mio favore verso i DRM e’ relativamente al fatto di essere strumenti per tutelare il lavoro di coloro che intendono, in qualche modo, bloccarlo. Se l’autore di una canzone non vuole che questa si diffonda se non seguendo canoni predisposti (ad esempio il pagamento di una royalty, o per una sessione di tempo, ecc), ha il sacrosanto diritto di bloccarla, mettendo appunto i lucchetti digitali. Ha lo stesso diritto di noi che, per impedire che la nostra bicicletta venga presa dal primo che capita, mettiamo un lucchetto da 5 chili in acciaio temperato. Se invece il nostro animo cordiale dicesse che e’ giusto che chiunque possa usufruire del mio mezzo a pedali, allora la lascero’ senza fermi. Pero’ si capisce che non puo’ la legge impedirmi o obbligarmi a farlo.
    Sui contenuti digitali vale, secondo il mio modesto parere, lo stesso principio, ovvero che se l’autore desidera che esso non si diffonda liberamente allora utilizzera’ i blocchi digitali. Dov’e’ lo scandalo ?
    Lo scandalo e’ che su Internet c’e’ oramai l’abitudine di scaricare tutto e gratuitamente, e questo e’ un errore, sebbene chiunque lo abbia fatto e lo faccia (anche il figlio di un rappresentante delle major e’ stato pubblicamente affermato), per cui qualsiasi movimento atto a bloccare questa abitudine sembra un affronto, un po’ come in un epoca di biciclette libere, qualcuno volesse che la sua, che non e’ un rottame ma una bella bici da mountain bike, con forcelle, freni a disco e cosi’ via, rimanesse sua e mettesse un lucchetto. Tutti cercherebbero di aprire quel lucchetto, qualcuno alla fine ci riesce, ed e’ giusto ?
    Quello su cui si deve lavorare, come comunita’, e’ far si’ che gli autori capiscano che bloccare i contenuti digitali, come ad esempio le canzoni, non serve, mentre renderle liberamente accessibili a chiunque e’ un vantaggio perche’ l’autore si fa conosceree puo’ usare altri metodi per guadagnare soldi, come i concerti. Immaginiamo un cantante semi sconosciuto che potesse rifare delle canzoni note senza dover pagare royalty e potesse immetterle in rete, facendosi cosi’ sentire e conoscere sganciandosi dalle major, se e’ in gamba io lo vedo qualche anno dopo con parolieri che gli propongono nuovi brani inediti, vedo feste in cui ci sono i suoi concerti in cui viene pagato per la sua prestazione d’opera, insomma, vedo lo sviluppo della musica.
    Utopia ? E’ quello che e’ successo con il software libero ed open source, ottimi programmi, scritti bene a piu’ mani, dove ovunque puo’ collaborare per migliorare. E tu, Steve Jobs, che sei contrario ai DRM, perche’ non rilasci il codice di MacOS X ? Semplicemente perche’ e’ facile parlare, piu’ difficile agire.