Introduzione

Postfix è un demone di posta SMTP/POP3 nato alla fine degli anni '90 con lo scopo di fornire un'alternativa a Sendmail che offrisse maggiori garanzie per quanto riguarda la sicurezza.

In questa pagina verrà spiegato come installarlo e configurarlo.

Installazione

Da un terminale digitare:

sudo apt-get -y install postfix postfix-ldap

Configurazione

I file di configurazione si trovano nella directory /etc/postfix e il file fondamentale è main.cf. Un altro file importante nella configurazione di postfix è /etc/aliases, che contiene tutti gli alias degli utenti di posta elettronica.

Per esempio, supponendo di avere un utente di sistema prova, è possibile definire nel file /etc/aliases un alias come segue:

p.miodominio.com:       prova

che indica semplicemente che l'utente di sistema prova è identificato dal sistema MTA come p.miodominio.com.

Il corrispondente file di configurazione per i servizi LDAP è /etc/postfix/ldap-aliases.cf e contiene le seguenti direttive:

server_host = nome completo del server LDAP
search_base = dc=miodominio,dc=com

dove ovviamente è necessario sostituire miodominio e com con il proprio basedn del dominio di ricerca LDAP.

Per configurare postfix, aprire il file /etc/postfix/main.cf e modificare il messaggio di benvenuto:

smtpd_banner = nostro messaggio di benvenuto

Quindi modificare le righe seguenti di conseguenza:

myhostname = FQDN di questo server (es : wilcoyote.example.com)

mydomain = dominio di posta (=dominio DNS nel caso di LAN)

alias_maps = hash:/etc/aliases,ldap:/etc/postfix/ldap-aliases.cf

Questo dice al MTA che deve controllare, per la risoluzione dei nomi utente, prima il file /etc/aliases e poi il database LDAP referenziato dalle direttive nel file /etc/aliases.

La direttiva:

myorigin = $mydomain

dice che si invia posta soltanto per il proprio dominio, mentre:

mydestination = dominio di posta (=dominio DNS nel caso di LAN) , localhost.localdomain,localhost

indica che si accetta posta indirizzata soltanto al proprio dominio o a localhost (127.0.0.1).

inet_interfaces = all

questo dice che il MTA all'avvio sta in ascolto su tutte le interfacce di rete (potreste voler cambiare questo comportamento!!)

smtpd_client_restrictions = reject_maps_rbl , reject_unknown_client , permit

qui cominciano le restrizioni d'accesso native di postfix: questa dice di non accettare posta indirizzata o provenienete da siti di possibili spammers (indicati nella direttiva maps_rbl_domains) e di non accettare connessioni da clients che non hanno record A in DNS

smtpd_sender_restrictions = reject_unknown_sender_domain , reject_non_fqdn_sender , permit

questa restrizione dice di non smistare posta proveniente da un mittente ignoto

smtpd_recipient_restrictions = reject_unauth_destination , reject_non_fqdn_recipient , reject_unknown_recipient_domain , permit

questa restrizione dice di non effettuare il relay (ovvero di non permettere di inviare posta elettronica da mittenti che non siano di questo sito) e di non smistare posta proveniente da un mittente ignoto

N.B. : la restrizione reject_unauth_destination dice al server di posta di impedire l'open relay e sostituisce la direttiva check_relay_domains

smtpd_helo_restrictions = reject_invalid_hostname , reject_non_fqdn_hostname , reject_unknown_hostname , permit

queste restrizioni dicono di non accettare il saluto dal client che non risponda con un hostname esistente nel DNS (respingere se l'hostname presentato è invalido , non è nel formato FQDN o non ha record A o PTR nè MX nel DNS).Queste restrizioni sono molto importanti , poichè ad oggi molti spammers fanno uso di comandi helo-faked per velocizzare la spedizione di spam.

maps_rbl_domains = rbl.maps.vix.com,dul.maps.vix.com,relays.mail-abuse.org

questa restrizione dice di non smistare posta proveniente da o indirizzata verso i domini elencati

Ora potete avviare il servizio postfix del MTA con il comando:

/etc/init.d/postfix start 

Tutti i log files inerenti lo startup dei servizi postfix ed i relativi accessi sono contenuti nei files /var/log/mail.warn, /var/log/mail.err, /var/log/mail.info.

Qualora si voglia aggiungere un po' di sicurezza in più, c'è un'ulteriore direttiva da usare nel file main.cf per limitare lo spam. La direttiva è:

smtp_helo_restrictions = reject_invalid_hostname , reject_non_fqdn_hostname , reject_unknown_hostname , permit_nak*ed_ip_address , permit

Questa restrizione opera nel modo seguente :

Come vedete in coda viene messa la direttiva permit che dice che al di fuori delle restrizioni applicate tutto il resto viene accettato.

Applicate queste restrizioni con moderazioni perchè potrebbero impedire al servizio di funzionare correttamente.

Ulteriori risorse


CategoryHomepage

Alberto Giudici/Prove0 (l'ultima modifica è del 16/03/2011 09.09.59, fatta da GiuseppeTerrasi)