Autenticare un MTA smtp
Autenticare Postfix con i certificati digitali
Aggiungere in /etc/postfix/main.cf:
smtp_enforce_tls=yes smtp_tls_CAfile=/etc/ssl/certs/europki-ca-chain.pem smtp_tls_cert_file=/etc/ssl/certs/server.pem smtp_tls_key_file=/etc/ssl/private/server.key smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
Riavviare postfix e provare a spedire.
Note per postfix su macosx
Postfix è lanciato dal launchctl. Lo si può verificare con:
$ sudo launchctl list | grep postfix
Per arrestarlo:
sudo launchctl unload /System/Library/LaunchDaemons/org.postfix.master.plist
adesso lo si puo' lanciare a mano:
sudo postfix start
Se postfix non è mai stato configurato accertarsi che sia presente la riga
relayhost = smtp.unimore.it
Ricordarsi di reinserire postfix nel launchctl
Autenticare exim4 con i certificati digitali
Attenzione!
Su debian etch la autenticazione con i certificati digitali non funziona a causa di una qualche incompatibilità di gnutls.
Si può ricompilare exim4 con openssl con dpkg-buildpackage come workaround.
Come diagnosticare che il problema potrebbe essere questo
Aggiungere a main/90_exim4-config_log_selector (configurazione con molti file piccoli) in coda:
MAIN_LOG_SELECTOR == MAIN_LOG_SELECTOR +tls_certificate_verified
controllare che nel file di log /var/log/exim/mainlog compaia la entry CV=yes ad esempio:
2008-11-07 12:34:11 1KyPbK-0001u0-2b => francesco.malvezzi@unimore.it R=smarthost \ T=remote_smtp_smarthost H=smtp.unimore.it [155.185.1.3] X=TLSv1:DHE-RSA-AES256-SHA:256 \ CV=yes DN="/C=IT/O=Universita' di Modena e Reggio Emilia/OU=Ce.S.I.A./CN=smtp.unimore.it/serialNumber=183"
può essere utile lanciare
sudo exim -qf -v
dopo essersi assicurati di avere qualcosa in coda. I messaggi sospetti sono quelli che dicono che è fallita la verifica del certificato (invalid) e che non si è potuto stabilire lo StartTLS.
Come impedire che i pacchetti ricompilati vengano sovrascritti al primo aggiornamento
dpkg --set-selections exim4 hold exim4-base hold exim4-config hold exim4-daemon-light hold CTRL+d
Configurazione
Nel caso si sia scelta la configurazione "con molti file piccoli", editare /etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_smarthost e aggiungere:
tls_certificate = /etc/exim4/exim.crt tls_privatekey = /etc/exim4/exim.key tls_verify_certificates = /etc/ssl/certs/europki-ca-chain.pem hosts_require_tls = *
in cui la chiave deve essere:
-rw-r----- 1 root Debian-exim 887 2008-11-06 13:54 /etc/exim4/exim.key
aggiungere in fondo a: /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs
MAIN_TLS_ENABLE = true
Riavviare il servizio con /etc/init.d/exim4 restart.
Controllare che le impostazioni siano state caricate con:
sudo exim -bP transport remote_smtp_smarthost
http://www.madboa.com/geek/exim4-ssl-client/
Autenticare sendmail con i certificati digitali
Modificare /etc/mail/sendmail.mc aggiungere le righe prima della direttiva MAILER()
define(`CERT_DIR', `/usr/local/ssl') define(`confCACERT_PATH', `CERT_DIR/certs') define(`confCACERT', `CERT_DIR/certs/europki-ca-chain.pem')dnl define(`confCLIENT_CERT', `CERT_DIR/certs/server.pem') define(`confCLIENT_KEY', `CERT_DIR/private/server.key') define(`confDONT_BLAME_SENDMAIL',`groupreadablekeyfile')dnl
lanciare make e riavviare sendmail.
Autenticare sendmail con le password
Modificare /etc/mail/sendmail.mc aggiungere le righe prima della direttiva MAILER()
FEATURE(`authinfo')dnl define(`CERT_DIR', `/etc/ssl/certs')dnl define(`confCACERT', `CERT_DIR/europki-ca-chain.pem')dnl define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl
per le macchine RedHat Enterprise Linux o CentOS based
FEATURE(`authinfo')dnl define(`CERT_DIR', `/etc/pki/tls/certs')dnl define(`confCACERT', `CERT_DIR/europki-ca-chain.pem')dnl define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl
Assicurarsi di avere scaricato la europki-ca-chain.pem come descritto qui
Assicurarsi di aver settato la direttiva SMART_HOST come segue (le parentesi quadre sono importanti)
define(`SMART_HOST', `[smtp.unimore.it]')dnl
Editare il file /etc/mail/authinfo (crearlo se nn esiste) modificandolo come segue:
AuthInfo:smtp.unimore.it "U:root" "I:user" "P:passwd"
in cui dopo I: va scritto l'utente che si autentica, dopo P: la password
proteggere il file appena creato da sguardi indiscreti
chmod o= authinfo
lanciare make se ottengo questo errore:
WARNING: 'sendmail.mc' is modified. Please install package sendmail-cf to update your configuration.
manca l'apposito pacchetto sendmail-cf; installarlo con uno
yum install sendmail-cf
rilanciare make
verificare che sia stato creato o aggiornato il file authinfo.db
riavviare sendmail
/etc/init.d/sendmail restart
testare il tutto con un
mail -s MailDiTest nome.cognome@unimore.it
tenendo magari aperta un altra shell con attivo un
tail -f /var/log/maillog