Configurare Postfix

Postfix utilizza due principali file di configurazione: main.cf e master.cf. Entranbi necessitano della vostra attenzione.

master.cf

Dovete cambiare soltanto una linea:

vecchia:

flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}

nuova:

flags= user=cyrus argv=/usr/cyrus/bin/deliver -r ${sender} -m ${extension} ${user}

Cosa cambia?

Uno sguardo a man deliver chiarirà la modifica:

L'installazione di Postfix di default utilizza una percorso sbagliato per il trasporto di cyrus, questa è la prima modifica. Il parametro »-r« inserisce un corretto percorso di ritorno. Senza questo, le mail rifiutate o cancellate da sieve saranno inviate all'utente cyrus al vostro dominio.

main.cf

Qui potete cambiare parecchie cose come l'hostname, la redirezione, gli alias-lookups ecc.

Modifica dell'hostname:

myhostname = foo.bar.org

mydestination

Qui dovete inserire tutti i nomi dominio locali(corrispondenti al file di sendmail /etc/mail/sendmail.cw). Se avete più domini, separateli con una virgola.

mydestination = foo.bar.org, example.com, furchbar-grausam.ch, 
 whatever.domain.tld, mysql:/etc/postfix/mysql-mydestination.cf

Relayhost

Qui definite dove inviare la posta in uscita. Se non fornitenessun host, la posta viene inviata direttamente all'host smtp di destinazione. Normalmente i vostri relayhosts sono i servers smtp dei vostri provider internet.

relayhost = relay01.foobar.net relay02.foobar.net relay03.foobar.net

Mailtransport

Qui definite come deve essere gestita la posta per il trasporto locale. Nel vostro caso, dovrebbe essere smistata dal programma di trasporto cyrus.

mailbox_transport = cyrus

Alla fine del file dovete aggiungere:

virtual_alias_maps = hash:/etc/postfix/virtual, mysql:/etc/postfix/mysql-virtual.cf

Se non volete sovrascrivere /etc/postfix/virtual, saltate la voce relativa all'hash

Indirizzi in uscita dovrebbero essere riscritti da test0002 at dominio a nome.utente at virtualhost.com. Questo è importante se volete utilizzare un interfaccia web.

sender_canonical_maps = mysql:/etc/postfix/mysql-canonical.cf 

Ora dovete creare il file/etc/postfix/mysql-virtual.cf:

#
# mysql config file for alias lookups on postfix
# comments are ok.
#

# the user name and password to log into the mysql server
hosts = localhost
user = mail
password = secret

# the database name on the servers
dbname = mail

# the table name
table = virtual

#
select_field = dest
where_field = alias
additional_conditions = and status = '1'

The file /etc/postfix/mysql-canonical.cf:

# mysql config file for canonical lookups on postfix
# comments are ok.
#

# the user name and password to log into the mysql server
hosts = localhost
user = mail
password = secret

# the database name on the servers
dbname = mail

# the table name
table = virtual
#
select_field = alias
where_field = username
# Return the first match only
additional_conditions = and status = '1' limit 1

Infine il file/etc/postfix/mysql-mydestination.cf:

# mysql config file for local domain (like sendmail's sendmail.cw) lookups on postfix
# comments are ok.
#

# the user name and password to log into the mysql server
hosts = localhost
user = mail
password = secret

# the database name on the servers
dbname = mail

# the table name
table = domain
#
select_field = domain_name
where_field = domain_name

Autenticazione SMTP con SASL e PAM

Inserite le seguenti linee nel file /etc/postfix/main.cf

smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = 
broken_sasl_auth_clients = yes

Inoltre dovete creare il file /usr/local/lib/sasl2/smtpd.conf con i seguenti contenuti:

pwcheck_method: saslauthd

Il prossimo step è quello di dire a postfix come trovare il socket saslauthd:

mv /var/run/sasl2 /var/run/sasl2-old
ln -s /var/run/saslauthd /var/run/sasl2

Combattere lo SPAM

Questa sezione descrive come implementare una protezione di base contro lo SPAM con postfix. Non fa uso di software esterno come spamassasin o altri.

Postfix ha dei filtri predefiniti che permette di arrestare ovvi tentetivi di SPAM. In particolare questi sono: