Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Immutable Page
  • Info
  • Attachments


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 :

  • rifiuta l'accesso al servizio per client che non rispondono al messaggio di benvenuto del server Postfix con un nome host valido (gli spammers lo fanno spesso per risparmiare tempo)
  • rifiuta l'accesso al servizio MTA se il nome host passato di seguito al comando helo non è un fqdn hostname (cioè della forma mail.example.com)
  • rifiuta l'accesso al servizio MTA se l'hostname che segue il comando helo non può essere risolto (questo capita quando lo spammer mette di seguito al comando helo una stringa casuale , allora l'MTA interroga un DNS per risolvere il nome host immesso , se non lo trova rifiuta l'accesso)
  • consente l'accesso se di seguito al comando helo viene concatenato un IP

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