Note di installazione per Postfix + Qpopper + Amavis + McAfee

Dopo aver letto molti documenti sull'argomento qui di seguito ecco una traccia da seguire per installare un server di posta elettronica con controllo antivirus.
Prima di tutto procurarsi tutto il software necessario:

Postfix il programma SMTP che si occupa di gestire la posta in arrivo e in partenza dal server Qpopper il demone POP3 che serve a scaricare la posta con programmi tipo Outlook :-p, Eudora, etc

Amavis lo script che si occupa, attraverso l'antivirus, di fare la scansione delle email in transito su Postfix

McAfee viruscan
per linux l'antivirus per linux (a pagamento) oppure in alternativa Clamav per linux
NOTA: Il sistema utilizzato per questo progetto è stato implementato con una distribuzione Redhat, versione 7.3, (funziona anche con Fedora Core) liberamente scaricabile da internet (gratuito).

Installazione di Mcafee viruscan
Decomprimere il file .tgz con il comando
tar xvfz vlnx407l.tar.Z
entrare nella directory appena creata:
cd viruscan
lanciare l'eseguibile per l'installazione
./install-uvscan (non dimenticare il puntino davanti a /)
Rispondere affermativamente a tutte le domande che ci verranno poste dallo script, tranne quella che propone la scansione del sistema.
A questo punto l'antivirus è installato, vedremo dopo come aggiornare i file delle definizione dei virus

Installazione di Clamav
Utilizzare il repository di DAG per ottenere i binari e il file .spec
Se la versione presente non fosse quella che ci interessa scaricare il file .src.rpm, scaricare il file clamav.spec nelle relative directory. In particolare:
copiare clamav.spec in /usr/src/redhat/SPECS/ e
clamav-xx.xx.xx.src.rpm in /usr/src/redhat/SRPMS
Creare il binario con
rpmbuild -bb /usr/src/redhat/SPECS/clamav.spec
Installare il binario ottenuto che si trovera' in /usr/src/redhat/RPMS/i386

Installazione di Qpopper
Informazioni disponibili in questa pagina

Installazione di Postfix
Per l'installazione di Postfix ci sono due strade percorribili: la prima è quella di utilizzare i pacchetti RPM con sistemi RedHat-like. L'ultima versione disponibile si puo' scaricare dal sito di Simon J. Mudd.
Per FC5 l'indirizzo è questo. In alternativa scaricare direttamente i sorgenti. Ecco come fare:

Prima di installare Postfix, assicurarsi di aver rimosso Sendmail con il comando:
rpm -qa | grep sendmail

Se il comando no da nessun risultato, allora procedere innanzi, altrimenti disinstallare Sendmail con il comando:
rpm -e sendmail --nodeps

Dopo aver scaricato l'ultima versione (Postfix Version 2.0 Patchlevel 6 - al momento della stesura di questo documento) dal sito decomprimere il file con i comandi
gunzip postfix-2.0.6.tar.gz
tar -xvf postfix-2.0.6.tar

entrare nella directory con:
cd postfix-2.0.6

Creare due nuovi utenti con i comandi:
useradd postfix -s /bin/false -d /dev/null
passwd -l postfix
useradd mail -s /bin/false -d /dev/null
passwd -l mail

A questo punto installare Postfix con i comandi:
./make (non dimenticare il puntino davanti a /) e
./make install

Copiare le seguenti righe dentro ad un nuovo file da salvare /etc/rc.d/init.d/ con il nome postfix
#!/bin/sh
#
# Script per l'avvio automatico di Postfix tramite ntsysv
#
# chkconfig: 2345 11 92 
#
# description: Script per l'avvio automatico di Postfix tramite ntsysv
# by Tommaso Di Donato (dido@sicurweb.com)
#
#
# Source 
. /etc/init.d/functions
start() {
action $"Starting postfix..." postfix start
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/postfix
return $RETVAL
}
stop() {
if [ -f /var/lock/subsys/postfix ]
then
action $"Stopping postfix..." postfix stop
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/postfix
return $RETVAL
else
echo Postfix is not running
exit 0
fi
}
reload() {
if [ ! -f /var/lock/subsys/postfix ]
then
echo Cannot reload config: postfix is not runnig...
exit 0
fi
action $"Reloading postfix config..." postfix reload
RETVAL=$?
[ $RETVAL -eq 0 ]
return $RETVAL
}
check() {
postfix check && \
success $"Checking configuration..." || \
failure $"Checking configuration..."
}
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
check)
check
;;
*)
echo $"Usage: $0 {start|stop|reload|check}"
exit 1
esac
exit 0

Installazione di Amavis (perl)
Dopo aver scaricato l'ultima versione di Amavis (amavis-0.3.12), provare a vedere se nel nostro sistema sono presenti tutti i files necessari, digitando:
./configure --with-postfix --with-amavis-user=amavis

Scaricare i file necessari (es. zoo, lha, zip, arj...) prelevando l'RPM relativo da rpmfind.net

Per quanto riguarda i moduli perl, scaricarli con il comando seguente:
perl -MCPAN -e shell

a questo punto, (se è la prima volta che lanciamo questo comando) dopo varie domande ci ritroveremo con il seguente prompt:
cpan>

I moduli perl necessari sono i seguenti:

IO::stringy
Unix::Syslog
MailTool
MIME::Tools
MIME::Decoder::Base64
Convert::UUlib
Convert::TNEF
Compress::Zlib
Archive::Tar
Archive::Zip
libnet

Iniziare dal primo digitando (dal prompt cpan>)
cpan> install nome_modulo

Per nome_modulo si intende il nome dei modulo riportato nella lista sopra, uno alla volta. Per aiutarsi, scrivere le lettere iniziali del modulo e completare con il tab per trovare il nome esatto.

In caso di errori durante l'installazione in CPAN su RH9 tipo 'Warning: I could not locate your pod2man program' uscire da CPAN e digitare
# export 'LANG=eng_US' e riprovare


Se tutto è a posto e non mancano altri file eseguire:
./make test

Se anche questo è a posto installare amavis con il comando:
./make install

Modificare nel file /etc/passwd gli ultimi due parametri della riga "amavis" in /dev/null:/bin/false

A questo punto aggiungere le seguenti due righe a /etc/postfix/main.cf
vscan unix - n n - 10 pipe user=amavis argv=/usr/sbin/amavis ${sender} ${recipient}
localhost:10025 inet n - n - - smtpd -o content_filter=


Aggiungere a /etc/postfix/master.cf la seguente riga:
content_filter = vscan:

Riavviare il demone postfix con il comando:
/etc/rc.d/init.d/postfix reload


NOTE FINALI: Se volete aggiungere un accesso tipo webmail (ossia tramite browser) al vostro server di posta, potete scaricare gratuitamente il programma Open Webmail. Se non è installato scaricare suid-perl-xxxx.rpm da rpmfind.net