Email usa e getta sul tuo server di posta

Category Tech

Hai un server email privato? Bene! Vuoi avere un'email che puoi dare via per le registrazioni senza preoccuparti della quantità infinita di spam che finirai per ricevere?

Allora continua a leggere, forse questo articolo e' per te...

Uno dei modi semplici in cui molti, se non tutti, dei punti sopra possono essere realizzati è un hack molto semplice della vostra configurazione *nix.

Divertiamoci con /etc/aliases

Cos'è un file /etc/aliases sui sistemi *nix? è un repository centrale per i nomi utente locali sul server utilizzato quando si tratta di consegna e-mail.

Non ho molto da dire sugli alias che non si poteva trovare su migliori risorse online, quindi non vi so dare grandi spiegazioni qui.

Uso postfix sul mio server, e lo adoro, rende l'impostazione e-mail molto facile mentre sotto il cofano è parecchio potente.

Cosa c'è in un file di alias? Scopriamolo.

Ecco un esempio rapido di /etc/aliases:

    # See man 5 aliases for format

    some_alias: some_unix_username
    some_other_alias: some_other_username

E' piuttosto semplice, giusto?

Ora, la grande domanda e': cosa possiamo fare attraverso una manipolazione degli alias?

Molto, è un file di testo dopotutto ;)

Ecco cosa troverai alla fine del mio alias attuale:

    cut...
    #weekmail_start
    this_alias_changes_every_day: my_linux_username
    #weekmail_end

Il concetto qui è piuttosto semplice, stiamo per creare una nuova e-mail diversa ogni giorno, utilizzando alcuni parametri che cambiano ogni giorno, in modo che non sarà disponibile per spamming in tempi successivi. Il punto è quello di inventare una regola con cui siamo in grado di calcolare l'indirizzo e-mail esatto ogni giorno.

Ecco come usiamo alcuni comandi disponibili su bash in linux:

    #!/bin/bash

    #need day of the week

    dotw=`date +%A`
    number=`date +%d`
    month=`date +%m`

    alias="$dotw$number$month"

    alias=`echo $alias|tr "[:upper:]" "[:lower:]"`

    if [ -z $1 ]; then
    echo "Needs filename as argument."
    exit 1
    elif [ -f "$1" ]; then
    fname="$1"
    fi

    cat $fname|sed '/weekmail_start/,/weekmail_end/d' >$fname.weekmail

    cat /sbin/weekmail|sed 's/replaceme/'$alias'/' >/sbin/weekmail_changed

    cat $fname.weekmail /sbin/weekmail_changed >$fname

    newaliases

Logica degli alias usa e getta

Ok, i passi qui sono abbastanza lineari, ma controlliamoli assieme:

1) riempire alcune varsiabili con cose che cambiano ogni giorno, prese tramite il comando "date" per creare degli alias usa e getta. 2) tagliare la parte "weekmail" dal file /etc/aliases (questo passaggio coinvolge l'editor sed) e salvare il risultato in un file temporaneo. 3) prendere una nuova porzione di weekmail da un altro file statico (/sbin/weekmail in questo esempio) e sostituire una stringa conosciuta con l'alias appena calcolato, quindi memorizzarlo da qualche parte. 4) creare un nuovo /etc/aliases unendo i due file precedentemente creati 5) invocare newaliases per assicurarsi che il vostro nuovo alias sia attivato

Ora basta metterlo nel crontab con "crontab -e":

    10 0 * * * /path_to/your_weekmail_script /etc/aliases

Et Voila'! Questo è un bel indirizzo email spazzatura che hai appena creato, fresco ogni giorno!

Sono abbastanza sicuro che i vantaggi di questo approccio dopo aver impostato delle wildcard pigliatutto (*@yourdomain.com) sono evidenti...

Assicurati di inviarmi il tuo feedback se usi anche tu questo hack... il mio script è stato buttato giu' velocemente (circa 10 minuti) e quindi dovrebbe essere il minimo sindacale...migliorabile.

Spero che vi sia utile, ragazzi. Vi faccio i migliori auguri!

p.s.: Riporto qui un articolo davvero vecchio (2008) comparso sul mio primo blog, ma che suona stranamente attuale, dato che il problema dello SPAM e' esploso in questi quasi 20 anni