Configurazione di Postfix con autenticazione Sasl su Debian: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
m Reverted edits by Gabriele.vivinetto (Talk); changed back to last version by 10.0.254.1
Line 1: Line 1:
==Installazione Postfix==
== Installazione postfix ==


sudo apt-get install --purge postfix
* Innanzitutto definire le varialibili:
-
Package configuration                                                         
                                                                               
                                                                               
                                                                               
                                                                               
                      ┌────┤ Postfix Configuration ├─────┐                     
                      │ General type of configuration?  │                     
                      │                                  │                     
                      │    *No configuration            │                     
                      │    Internet Site                │                     
                      │    Internet with smarthost      │                     
                      │    Satellite system            │                     
                      │    Local only                  │                     
                      │                                  │                     
                      │                                  │                     
                      │      <Ok>          <Cancel>      │                     
                      │                                  │                     
                      └──────────────────────────────────┘                     
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               


-
<pre>
export POST_HOSTNAME=fire.mendrisio.croalliance.com
export POST_DOMAIN=croalliance.com
</pre>


== Debian Lenny==
* Poi procedere all'installazione:
===Installazione Sasl===
 
<pre>
apt-get install --purge postfix-tls postfix
</pre>


sudo apt-get install sasl2-bin
NB: Scegliere NO CONFIGURATION


===Configurazione Sasl===
* Fermare immediatamente postfix:
* Abilitarne l'esecuzione, e configurarlo per Postfix:


sudo sed -i 's@^START=no@START=yes@;s@^OPTIONS="-c -m /var/run/saslauthd"@OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"@' /etc/default/saslauthd
<pre>
/etc/init.d/postfix stop
</pre>


echo "38d757b83e8fd554386a9aac6a236077  /etc/default/saslauthd" | md5sum --check


O a mano:
== Installazione SASL per autenticazione SMTP ==


sudoedit /etc/default/saslauthd
* Installazione:


START=yes
<pre>
...
apt-get install libsasl2-modules sasl2-bin
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
</pre>


* Togliere il commento da "START=YES" ed aggiungere la righe con PARAMS e PWDIR in /etc/defaults/saslauthd:
* Sistemare per Postfix:


sudo dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd
<pre>
sudo adduser postfix sasl
cat > /etc/default/saslauthd <<EOFile
# This needs to be uncommented before saslauthd will be run automatically
START=yes


* Creare il file per smtpd:
# You must specify the authentication mechanisms you wish to use.
# This defaults to "pam" for PAM support, but may also include
# "shadow" or "sasldb", like this:
# MECHANISMS="pam shadow"
 
MECHANISMS="pam"
PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m /var/spool/postfix/var/run/saslauthd"
EOFile
</pre>
 
* Creare la cartella per il chroot di postfix e settarne i diritti in dpkg-statoverride:


<pre>
<pre>
cat | sudo tee /etc/postfix/sasl/smtpd.conf > /dev/null <<EOFile
mkdir -p /var/spool/postfix/var/run/saslauthd
dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd
</pre>
 
* Creare il file di configurazione per postfix:
 
<pre>
cat > /etc/postfix/sasl/smtpd.conf <<EOFile
pwcheck_method: saslauthd  
pwcheck_method: saslauthd  
mech_list: PLAIN LOGIN
mech_list: PLAIN LOGIN
EOFile
EOFile
</pre>
* Avviare saslauthd:


<pre>
/etc/init.d/saslauthd start
</pre>
</pre>


* Avviare Sasl
Si viene informati del fixing dei permessi:
sudo invoke-rc.d saslauthd start


* Impostarne l'esecuzione al boot:
<pre>
sudo update-rc.d -f saslauthd remove
Starting SASL Authentication Daemon: changed ownership of `/var/spool/postfix/var/run/saslauthd' to root:sasl
sudo update-rc.d saslauthd defaults
mode of `/var/spool/postfix/var/run/saslauthd' changed to 0710 (rwx--x---)
saslauthd.
</pre>


* Verificare che funzioni:


===Configurazione Postfix===
<pre>
* Copiare la configurazione base:
ps waux | grep saslauthd
sudo cp /etc/postfix/main.cf /etc/postfix/main.cf.dpkg-old
</pre>
sudo cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf


* Impostare l'uso del formato Maildir:
Il risultato deve essere simile a:
sudo postconf -e home_mailbox=Maildir/


* Se è installato courier
<pre>
  sudo maildirmake /etc/skel/Maildir
root      3018 0.0  0.7  6500 1536 ?        Ss  21:24  0:00 /usr/sbin/saslauthd -a pam
.....
</pre>


* Se è installato dovecot
* lanciare rcconf ed assicurarsi che saslauthd parta all'avvio:
sudo maildirmake.dovecot /etc/skel/Maildir


* Configurare il dominio
rcconf


export DOMAIN=domain.dom
'''ATTENZIONE: ricordarsi di aggiungere postfix al gruppo sasl prima di testare il tutto !!!! (Vedi di seguito)'''
export PUBIP=1.2.3.4


sudo postconf -e myhostname=$DOMAIN
== Configurazione postfix ==
sudo postconf -e myorigin=$DOMAIN
sudo postconf -e mynetworks=127.0.0.0/8
sudo postconf -e mydestination=$DOMAIN,$(hostname -f),$(hostname),localhost,localhost.localdomain
sudo postconf -e relay_domains=$DOMAIN
sudo postconf -e proxy_interfaces=$PUBIP


* Impostare gli alias di sistema:
* Copiare il file di partenza:
sudoedit /etc/aliases


postmaster:    root
<pre>
root:  forward_address@domain.dom
cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf
</pre>


sudo newaliases
* Abilitare il delivery locale in formato Maildir e creare la cartella Maildir in /etc/skel.


* Impostare le configurazioni per Sasl
'''NB: maildirmake fa parte dei pacchetti Maildrop e Courier-IMAP. Non fa parte di Postfix.
sudo postconf -e smtpd_recipient_restrictions=permit_sasl_authenticated,check_relay_domains
sudo postconf -e smtpd_sasl_security_options=noanonymous
sudo postconf -e smtpd_sasl_auth_enable=yes
sudo postconf -e smtpd_sasl_security_options=noanonymous
sudo postconf -e smtpd_sasl_application_name=smtpd
sudo postconf -e smtpd_sasl_local_domain=''
sudo postconf -e broken_sasl_auth_clients=yes


sudo invoke-rc.d postfix stop; sudo invoke-rc.d postfix start
Quindi occorre installare prima il pacchetto courier-base per poter usere il comando maildirmake'''


* Impostare le regole antispam
<pre>
sudo postconf -e "smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,check_sender_access hash:/etc/postfix/whitelist,reject_rbl_client sbl.spamhaus.org,reject_rbl_client cbl.abuseat.org"
apt-get install courier-base
postconf -e home_mailbox=Maildir/
maildirmake /etc/skel/Maildir
</pre>


* Impostare la whitelist per le regole antispam
* Settare il nome che apparirà nel greeting e che possibilmente corrisponderà al cname del record mx del mailserver e il nome presentato negli header:
sudo touch /etc/postfix/whitelist
cd /etc/postfix
sudo postmap whitelist
sudo invoke-rc.d postfix stop; sudo invoke-rc.d postfix start


== Test autenticazione Sasl==
<pre>
postconf -e myhostname=$POST_HOSTNAME
postconf -e myorigin=$POST_DOMAIN
</pre>


* Creare un utente locale di prova:
* In caso il server sia dietro una NAT box, occorre specificare l'ip pubblico a.b.c.d.della nat box, soprattutto se il server è anche mx secondario per un dominio, al fine di evitare loop:
 
<pre>
postconf -e proxy_interfaces=a.b.c.d
</pre>
 
* Abilitare il supporto della alias map 'a la sendmail':
 
<pre>
postconf -e alias_maps=hash:/etc/aliases
postconf -e alias_database=hash:/etc/aliases
</pre>
 
 
* Settare in /etc/aliases l'eventuale alias locale per root, e poi compilare la tabella:
 
<pre>
newaliases
</pre>
 
* Impostare le reti di fiducia (che potranno fare relay senza autenticazione); Nel caso ci siano dei mail server interni che usano il mail server senza autenticazione, aggiungerli come a.b.c.d/32. Normalmente aggiungere solo localnet, da usare con l'antivirus:
 
<pre>
postconf -e mynetworks=127.0.0.0/8
</pre>


sudo adduser --force-badname --gecos "Utente di prova" nome.cognome
* Definire i domini per cui il mail server è la destinazione finale:


=== Test con swaks===
<pre>
* Da un client linux
postconf -e mydestination=$POST_DOMAIN,$POST_HOSTNAME,$(hostname -f),$(hostname),localhost
sudo apt-get install swaks
</pre>


* Questo deve andare:
=== Abilitazione dell'autenticazione obbligatoria per i client smtp basata su sasl 2===
swaks -f nome.cognome@domain.dom -s smtpserver.domain.dom -t recipient@domain.dom -au nome.cognome


* Questo non deve andare:
<pre>
swaks -f nome.cognome@rdomain.dom --s smtpserver.domain.dom -t recipient@domain.dom
postconf -e smtpd_recipient_restrictions=permit_sasl_authenticated,check_relay_domains
postconf -e smtpd_sasl_security_options=noanonymous
postconf -e smtpd_sasl_auth_enable=yes
postconf -e smtpd_sasl_security_options=noanonymous
postconf -e smtpd_sasl_application_name=smtpd
postconf -e smtpd_sasl_local_domain=''
postconf -e broken_sasl_auth_clients=yes
</pre>
 
* Aggiungere l'utente postfix al gruppo sasl:


* Rimuovere l'account di prova:
<pre>
sudo userdel -r nome.cognome
usermod -G sasl postfix
</pre>
 
* Riavviare postfix:
 
<pre>
/etc/init.d/postfix stop;/etc/init.d/postfix start
</pre>


===Test con Telnet===
* Per testare l'SMTP-AUTH, assicurarsi di aver installato libmime-per:
* Per testare l'SMTP-AUTH, assicurarsi di aver installato libmime-per:


sudo apt-get install libmime-perl
<pre>
apt-get install libmime-perl
</pre>
 
 
* Creare un utente locale di prova:


adduser nome.cognome


* Generare la stringa di autenticazione, sostituendo username e password coi valori di un account valido:
* Generare la stringa di autenticazione, sostituendo username e password coi valori di un account valido:
Line 165: Line 205:


<pre>
<pre>
# telnet localhost 25                                                 
# telnet localhost 25                                                Trying 127.0.0.1...
Trying 127.0.0.1...
Connected to localhost.localdomain.
Connected to localhost.localdomain.
Escape character is '^]'.
Escape character is '^]'.
Line 186: Line 225:
</pre>
</pre>


* Rimuovere l'account di prova:
Se sio verificasse un errore in ''' /var/log/mail.log''' tipo:
sudo userdel -r nome.cognome


=== Test invio smtp della posta con telnet===
Jan  4 11:01:20 fire postfix/smtpd[1511]: warning: SASL authentication failure:
cannot connect to saslauthd server: No such file or directory
 
Probabilmente c'è un errore ni parametri in ''/etc/default/saslauthd'' oppure non è attivo il chroot in ''/etc/postfix/master.cf'' in cui la seguente linea deve essere:
 
<pre>
...
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#              (yes)  (yes)  (yes)  (never) (100)
# ==========================================================================
smtp      inet  n      -      y      -      -      smtpd
...
</pre>
 
=== Abilitazione dell' ANTIRELAY ed RBL ===
 
o manualmente tramite "vi"
 
<pre>
--- /etc/postfix/main.cf
# Relay control:
# Allow all mail from localhost, autenticated sessions
smtpd_recipient_restrictions = permit_mynetworks
permit_sasl_authenticated
reject_rbl_client relays.ordb.org
reject_rbl_client dnsbl.njabl.org
reject_rbl_client sbl.spamhaus.org
reject_rbl_client cbl.abuseat.org
reject_unauth_destination
---
</pre>
 
o con il comando:
 
<pre>
postconf -e smtpd_recipient_restrictions=permit_mynetworks,\ permit_sasl_authenticated,\ reject_rbl_client\ relays.ordb.org,\ reject_rbl_client\ nsbl.njabl.org,\ reject_rbl_client\ sbl.spamhaus.org\ reject_rbl_client\ cbl.abuseat.org,\ reject_unauth_destination
</pre>
 
Si possono aggiungere anche:
 
- reject_rbl_client proxies.relays.monkeys.com
 
- reject_rbl_client opm.blitzed.org
 
- reject_rbl_client blackholes.wirehub.net
 
- reject_rbl_client list.dsbl.org
 
 
* Abilitare il RELAY solo per posta To: dominio.com
 
o manualmente tramite "vi"
 
<pre>
--- /etc/postfix/main.cf
relay_domains = dominio.com
---
</pre>
 
o con il comando:
 
<pre>
postconf -e relay_domains=$POST_DOMAIN
</pre>
 
=== Test invio della posta ===


A. Da dominio a dominio
A. Da dominio a dominio
Line 198: Line 302:
helo vittorio
helo vittorio
...
...
mail from: <mittente@dominio.dom>
mail from: mittente@dominio.dom
...
...
rcpt to: <destinatario@dominio.dom>
rcpt to: destinatario@dominio.dom
....
....
data
data
Line 249: Line 353:
#
#
</pre>
</pre>
* Rimuovere l'account di prova:
sudo userdel -r nome.cognome
==Verifica in caso di errori Sasl==
Se si verificasse un errore in ''' /var/log/mail.log''' tipo:
Jan  4 11:01:20 fire postfix/smtpd[1511]: warning: SASL authentication failure:
cannot connect to saslauthd server: No such file or directory
Probabilmente c'è un errore ni parametri in ''/etc/default/saslauthd'' oppure non è attivo il chroot in ''/etc/postfix/master.cf'' in cui la seguente linea deve essere:
<pre>
...
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#              (yes)  (yes)  (yes)  (never) (100)
# ==========================================================================
smtp      inet  n      -      -      -      -      smtpd
...
</pre>


== Configurazione account locali e remoti ==
== Configurazione account locali e remoti ==
Nel caso ci siano caselle da tenere in locale, ed altre da inoltrare ad un'altra macchina.


* Definire la mappa:
* Definire la mappa:
Line 305: Line 386:
== Configurare Postfix per Amavis ==
== Configurare Postfix per Amavis ==


* Seguire
* Innanzitutto configurare Amavis:


[[Installazione Amavisd-new in Debian]]
http://rvmserver/mediawiki/index.php?title=Installazione_Amavis


==Attivazione greylisting==
* Poi eseguire:
* Vedi [[Greylisting con postfix come tecnica antispam]]
 
<pre>
postconf -e content_filter=amavis:[127.0.0.1]:10024
</pre>
 
* Mettere queste cose alla fine di master.cf:
 
<pre>
cat >> /etc/postfix/master.cf <<EOFile
amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes
 
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
EOFile
</pre>
 
ed il cui risultato sarà:
 
<pre>
amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes
 
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
</pre>
 
* Restartare Postfix e Clamav e Clamav-daemon:
 
<pre>
/etc/init.d/postfix stop; /etc/init.d/postfix start
/etc/init.d/amavis stop ;/etc/init.d/amavis start
/etc/init.d/clamav-daemon stop; /etc/init.d/clamav-daemon start
</pre>
 
* Verificare la configurazione:
 
<pre>
postfix check
</pre>
 
Se non si lamenta dovrebbe andare. Se ci sono problemi, restartare tutti i demoni.
 
'''Ricordarsi infine di settare l'avvio automatico dei servizi:'''
 
<pre>
rcconf
</pre>

Revision as of 16:57, 9 November 2010

Installazione postfix

  • Innanzitutto definire le varialibili:
export POST_HOSTNAME=fire.mendrisio.croalliance.com
export POST_DOMAIN=croalliance.com
  • Poi procedere all'installazione:
apt-get install --purge postfix-tls postfix

NB: Scegliere NO CONFIGURATION

  • Fermare immediatamente postfix:
/etc/init.d/postfix stop


Installazione SASL per autenticazione SMTP

  • Installazione:
apt-get install libsasl2-modules sasl2-bin
  • Togliere il commento da "START=YES" ed aggiungere la righe con PARAMS e PWDIR in /etc/defaults/saslauthd:
cat > /etc/default/saslauthd <<EOFile
# This needs to be uncommented before saslauthd will be run automatically
START=yes

# You must specify the authentication mechanisms you wish to use.
# This defaults to "pam" for PAM support, but may also include
# "shadow" or "sasldb", like this:
# MECHANISMS="pam shadow"

MECHANISMS="pam"
PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m /var/spool/postfix/var/run/saslauthd"
EOFile
  • Creare la cartella per il chroot di postfix e settarne i diritti in dpkg-statoverride:
mkdir -p /var/spool/postfix/var/run/saslauthd
dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd
  • Creare il file di configurazione per postfix:
cat > /etc/postfix/sasl/smtpd.conf <<EOFile
pwcheck_method: saslauthd 
mech_list: PLAIN LOGIN
EOFile
  • Avviare saslauthd:
/etc/init.d/saslauthd start

Si viene informati del fixing dei permessi:

Starting SASL Authentication Daemon: changed ownership of `/var/spool/postfix/var/run/saslauthd' to root:sasl
mode of `/var/spool/postfix/var/run/saslauthd' changed to 0710 (rwx--x---)
saslauthd.
  • Verificare che funzioni:
ps waux | grep saslauthd

Il risultato deve essere simile a:

root      3018  0.0  0.7  6500 1536 ?        Ss   21:24   0:00 /usr/sbin/saslauthd -a pam
.....
  • lanciare rcconf ed assicurarsi che saslauthd parta all'avvio:
rcconf

ATTENZIONE: ricordarsi di aggiungere postfix al gruppo sasl prima di testare il tutto !!!! (Vedi di seguito)

Configurazione postfix

  • Copiare il file di partenza:
cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf
  • Abilitare il delivery locale in formato Maildir e creare la cartella Maildir in /etc/skel.

NB: maildirmake fa parte dei pacchetti Maildrop e Courier-IMAP. Non fa parte di Postfix.

Quindi occorre installare prima il pacchetto courier-base per poter usere il comando maildirmake

apt-get install courier-base
postconf -e home_mailbox=Maildir/
maildirmake /etc/skel/Maildir
  • Settare il nome che apparirà nel greeting e che possibilmente corrisponderà al cname del record mx del mailserver e il nome presentato negli header:
postconf -e myhostname=$POST_HOSTNAME
postconf -e myorigin=$POST_DOMAIN
  • In caso il server sia dietro una NAT box, occorre specificare l'ip pubblico a.b.c.d.della nat box, soprattutto se il server è anche mx secondario per un dominio, al fine di evitare loop:
postconf -e proxy_interfaces=a.b.c.d
  • Abilitare il supporto della alias map 'a la sendmail':
postconf -e alias_maps=hash:/etc/aliases
postconf -e alias_database=hash:/etc/aliases


  • Settare in /etc/aliases l'eventuale alias locale per root, e poi compilare la tabella:
newaliases
  • Impostare le reti di fiducia (che potranno fare relay senza autenticazione); Nel caso ci siano dei mail server interni che usano il mail server senza autenticazione, aggiungerli come a.b.c.d/32. Normalmente aggiungere solo localnet, da usare con l'antivirus:
postconf -e mynetworks=127.0.0.0/8
  • Definire i domini per cui il mail server è la destinazione finale:
postconf -e mydestination=$POST_DOMAIN,$POST_HOSTNAME,$(hostname -f),$(hostname),localhost

Abilitazione dell'autenticazione obbligatoria per i client smtp basata su sasl 2

postconf -e smtpd_recipient_restrictions=permit_sasl_authenticated,check_relay_domains
postconf -e smtpd_sasl_security_options=noanonymous
postconf -e smtpd_sasl_auth_enable=yes
postconf -e smtpd_sasl_security_options=noanonymous
postconf -e smtpd_sasl_application_name=smtpd
postconf -e smtpd_sasl_local_domain=''
postconf -e broken_sasl_auth_clients=yes
  • Aggiungere l'utente postfix al gruppo sasl:
usermod -G sasl postfix
  • Riavviare postfix:
/etc/init.d/postfix stop;/etc/init.d/postfix start
  • Per testare l'SMTP-AUTH, assicurarsi di aver installato libmime-per:
apt-get install libmime-perl


  • Creare un utente locale di prova:
adduser nome.cognome
  • Generare la stringa di autenticazione, sostituendo username e password coi valori di un account valido:
perl -MMIME::Base64 -e 'print encode_base64("nome.cognome\0nome.cognome\0password");'

Il cui risultato è una stringa similare a:

dXNlcm5hbWUAdXNlcm5hbWUAcGFzc3dvcmQ=

  • Testare ora la corretta autenticazione uasndo la stringa generata:
# telnet localhost 25                                                Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 fire.all-logistics.com ESMTP Postfix (Debian/GNU)
ehlo p
250-fire.all-logistics.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME
auth plain dGVzdHVzZXIAdGVzdHVzZXIAbGFwYXNzYQ==
235 Authentication successful
quit
221 Bye
Connection closed by foreign host.

Se sio verificasse un errore in /var/log/mail.log tipo:

Jan  4 11:01:20 fire postfix/smtpd[1511]: warning: SASL authentication failure:
cannot connect to saslauthd server: No such file or directory

Probabilmente c'è un errore ni parametri in /etc/default/saslauthd oppure non è attivo il chroot in /etc/postfix/master.cf in cui la seguente linea deve essere:

...
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       y       -       -       smtpd
...

Abilitazione dell' ANTIRELAY ed RBL

o manualmente tramite "vi"

--- /etc/postfix/main.cf
# Relay control:
# Allow all mail from localhost, autenticated sessions
smtpd_recipient_restrictions = 	permit_mynetworks
					permit_sasl_authenticated
					reject_rbl_client relays.ordb.org
					reject_rbl_client dnsbl.njabl.org
					reject_rbl_client sbl.spamhaus.org
					reject_rbl_client cbl.abuseat.org
					reject_unauth_destination
---

o con il comando:

postconf -e smtpd_recipient_restrictions=permit_mynetworks,\ permit_sasl_authenticated,\ reject_rbl_client\ relays.ordb.org,\ reject_rbl_client\ nsbl.njabl.org,\ reject_rbl_client\ sbl.spamhaus.org\ reject_rbl_client\ cbl.abuseat.org,\ reject_unauth_destination

Si possono aggiungere anche:

- reject_rbl_client proxies.relays.monkeys.com

- reject_rbl_client opm.blitzed.org

- reject_rbl_client blackholes.wirehub.net

- reject_rbl_client list.dsbl.org


  • Abilitare il RELAY solo per posta To: dominio.com

o manualmente tramite "vi"

--- /etc/postfix/main.cf
relay_domains = dominio.com
---

o con il comando:

postconf -e relay_domains=$POST_DOMAIN

Test invio della posta

A. Da dominio a dominio

#telnet mailserver 25
...
helo vittorio
...
mail from: mittente@dominio.dom
...
rcpt to: destinatario@dominio.dom
....
data
...
subject: soggetto email

testo messaggio
testo messaggio
testo messaggio
.
quit
#

B. Da esterno a dominio (usare account libero.it o simili)

C. Da dominio a esterno (con autenticazione)

#telnet mailserver 25
Connected to localhost.localdomain.
Escape character is '^]'.
220 fire.all-logistics.com ESMTP Postfix (Debian/GNU)
ehlo miamacchina
250-fire.all-logistics.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME
auth plain dGVzdHVzZXIAdGVzdHVzZXIAbGFwYXNzYQ==
235 Authentication successful
mail from: mittente@dominio.dom
...
rcpt to: destinatario@dominioesterno.dom
....
data
...
subject: soggetto email

testo messaggio
testo messaggio
testo messaggio
.
quit
#

Configurazione account locali e remoti

  • Definire la mappa:
postconf -e transport_maps=hash:/etc/postfix/transport
  • Creare la mappa:
vi /etc/postfix/transport
user1.local@domain.com	local:
user2.local@domain.com	local:
domain.com	        smtp:[ip-nome.gateway.destinazione]
*	                smtp:

user1 e user2 vengono deliverati in locale, tutti gli altri utenti vengono inviati al mailserver ip-nome.gateway.destinazione, mentre tutti gli altri vengono inviati via MX ai relativi mailserver di destinazione.

  • Compilare la tabella con:
postmap  /etc/postfix/transport < transport


Configurare Postfix per Amavis

  • Innanzitutto configurare Amavis:

http://rvmserver/mediawiki/index.php?title=Installazione_Amavis

  • Poi eseguire:
postconf -e content_filter=amavis:[127.0.0.1]:10024
  • Mettere queste cose alla fine di master.cf:
cat >> /etc/postfix/master.cf <<EOFile
amavis unix - - n - 2 smtp
	-o smtp_data_done_timeout=1200
	-o disable_dns_lookups=yes

127.0.0.1:10025 inet n - n - - smtpd
	-o content_filter=
	-o local_recipient_maps=
	-o relay_recipient_maps=
	-o smtpd_restriction_classes=
	-o smtpd_client_restrictions=
	-o smtpd_helo_restrictions=
	-o smtpd_sender_restrictions=
	-o smtpd_recipient_restrictions=permit_mynetworks,reject
	-o mynetworks=127.0.0.0/8
	-o strict_rfc821_envelopes=yes
EOFile

ed il cui risultato sarà:

amavis unix - - n - 2 smtp
	-o smtp_data_done_timeout=1200
	-o disable_dns_lookups=yes

127.0.0.1:10025 inet n - n - - smtpd
	-o content_filter=
	-o local_recipient_maps=
	-o relay_recipient_maps=
	-o smtpd_restriction_classes=
	-o smtpd_client_restrictions=
	-o smtpd_helo_restrictions=
	-o smtpd_sender_restrictions=
	-o smtpd_recipient_restrictions=permit_mynetworks,reject
	-o mynetworks=127.0.0.0/8
	-o strict_rfc821_envelopes=yes
  • Restartare Postfix e Clamav e Clamav-daemon:
/etc/init.d/postfix stop; /etc/init.d/postfix start
/etc/init.d/amavis stop ;/etc/init.d/amavis start
/etc/init.d/clamav-daemon stop; /etc/init.d/clamav-daemon start
  • Verificare la configurazione:
postfix check

Se non si lamenta dovrebbe andare. Se ci sono problemi, restartare tutti i demoni.

Ricordarsi infine di settare l'avvio automatico dei servizi:

rcconf