Ai tempi di UNIX era lecito aspettarsi che ogni macchina avesse un proprio servizio di posta, capace di gestire la mail in entrata, in uscita e locale. Oggi abbiamo computer personali connessi a Internet in modo intermittente e spesso con indirizzi dinamici, e abbiamo caselle di posta su server esterni, come Gmail o quello del nostro service provider. Quindi un server di posta in stile UNIX che gira in locale non sembrerebbe di grande utilità. Eppure, molti programmi si aspettano ancora che ci sia qualche meccanismo di smistamento della posta in locale. È il caso ad esempio di cron, il quale, in caso di errore nell'esecuzione di qualche script, avverte root tramite un'email.
Se volessimo specificare meglio il compito che è richiesto, oggi, a un MTA (Mail Transport Agent) che gira su un computer personale, potremmo riassumerlo in tre punti.
- La posta generata localmente per utenti locali va smistata, possibilmente permettendo degli alias in modo che, ad esempio, tutta la posta per root (il quale, da quando esiste sudo, non si logga quasi mai) sia dirottata verso un utente specifico (che è il vero amministratore);
- La posta generata localmente per utenti remoti va inoltrata ad un server di riferimento, diciamo Gmail, che si occuperà dell'instradamento vero e proprio. Un tale server si chiama relay o smart host.
- La posta generata esternamente non ci deve preoccupare. In altre parole, non è necessario restare in ascolto sulla porta 25 in attesa di una connessione SMTP da parte di qualche host esterno.
Debian, d'ufficio, installa Exim, un vero e proprio server mail completo e di non immediata configurazione, insomma, sovradimensionato per il compito richiesto. Per fortuna possiamo sostituire Exim con un altro MTA più "minimale", scegliendo tra dma, masqmail, nullmailer, ssmtp e msmtp.
Io ho scelto dma, alias DragonFly Mail Agent perché è leggero, facile da configurare, gestisce gli alias ed è ancora attivamente manutenuto. L'ho configurato per funzionare con Gmail usando il mio account (che ipotizzeremo sia mio.nome@gmail.com). In pratica, tutta la posta in uscita sembrerà arrivare dal mio account su Gmail.
Una volta installato il pacchetto dma occorre creare o personalizzare due file di configurazione: dma.conf
e auth.conf
, entrambi in /etc/dma
. Ecco il primo:
# Your smarthost (also called relayhost). Leave blank if you don't want # smarthost support. SMARTHOST smtp.gmail.com # Use this SMTP port. Most users will be fine with the default (25) PORT 587 # SMTP authentication AUTHPATH /etc/dma/auth.conf # Uncomment if yout want TLS/SSL support SECURETRANSFER # Uncomment if you want STARTTLS support STARTTLS # The internet hostname dma uses to identify the host. # If not set or empty, the result of gethostname(2) is used. # If MAILNAME is an absolute path to a file, the first line of this file # will be used as the hostname. # NOTE: on Debian systems this is handled via debconf! # Please use dpkg-reconfigure dma to change this value. MAILNAME /etc/mailname
auth.conf
:# SMTP authentication entries (currently AUTH LOGIN only) mio.nome|smtp.gmail.com:miapassword
Poiché la password è indicata in chiaro, bisogna essere sicuri che nessuno, tranne root e il gruppo mail, abbia accesso in lettura a questo file. Ecco come garantirlo:
# chown root:mail /etc/dma/* # chmod 640 /etc/dma/* # ls -l /etc/dma/* total 8 -rw-r----- 1 root mail 288 Jun 18 23:29 auth.conf -rw-r----- 1 root mail 2346 Jun 18 23:32 dma.conf
Non è finita qui: Gmail d'ufficio accetta connessioni solo dalla sua app per smartphone, tutte le altre sorgenti sono considerate "non sicure". Bisogna allora dire a Gmail di accettare connessioni da parte di DragonFly andando su https://www.google.com/settings/security/lesssecureapps. Oppure si può entrare con le proprie credenziali su gmail.com e si sceglie "Impostazioni" → "Account e importazione", poi nella prima sezione ("Modifica impostazioni account") si clicca su "Altre impostazioni dell'account Google". A questo punto si aprirà la pagina intitolata "Accesso e sicurezza" che contiene l'opzione "Consenti app meno sicure" che dovremo spostare su "ON".
Nonostante il tono allarmistico usato da Google per descrivere questa opzione, è bene notare che c'è poco di insicuro in come DragonFly si connette a Gmail: la password è scambiata all'interno di una connessione cifrata tramite TLS. In pratica, il livello di sicurezza è non è inferiore a quello che si ha quando ci si connette a Gmail tramite il browser.
E questo è tutto.
Commenti
Inviato da grandebus il Lun, 26/09/2016 - 18:19.
Re: DragonFly: un MTA minimale
su google ho già settato su on per le app meno sicure difatti google mi ha avvertito che di recente ho modificato questo in quanto non mi accettava nemmeno di scaricare le mail.vuoi che provi a installare dragon fly?ma è nei repository di debian o devo cercarlo?scusa adesso ho visto dma linkabile.ho installato dma ho configurato i 2 file e ho provato a inviare un messaggio ma la risposta è Errore nell'invio del messaggio, il figlio è uscito con 127 (Exec error.).