Questo articolo si ricollega al precedente post che trattava dell'installazione da zero di postfix e dovecot su centos 5.7:
http://alessandromazzanti.blogspot.com/2011/02/installare-postfix-antivirus-antispam.html
Diciamo che questa si tratta della seconda parte.
Questa soluzione è stata testata su Centos 5.5 e risulta funzionante, ho trascritto il tutto nel caso ne avessi bisogno in futuro e qualcuno fosse interessato.
1) Va installato un repository diverso (è molto probabile che alcuni pacchetti, sennò, non vengano trovati).
Dare i seguenti comandi:
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
* Download the latest RPMFORGE repository for I386 on CentOS5/RHEL5
N.B. Nel caso si abbia una versione di centos diversa i link sono i seguenti:
(wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
* Download the latest RPMFORGE repository for x86_64 on CentOS5/RHEL5
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
* Download the latest RPMFORGE repository for I386 on CentOS4/RHEL4
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el4.rf.i386.rpm
* Download the latest RPMFORGE repository for x86_64 on CentOS4/RHEL4
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el4.rf.x86_64.rpm
* Download the latest RPMFORGE repository for I386 on CentOS3/RHEL3
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el3.rf.i386.rpm
* Download the latest RPMFORGE repository for x86_64 on CentOS3/RHEL3
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el3.rf.x86_64.rpm
* Run the rpm install command
rpm -Uvh rpmforge-release-*.rpm
* Download the latest RPMFORGE repository for I386 on CentOS5/RHEL5
N.B. Nel caso si abbia una versione di centos diversa i link sono i seguenti:
(wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
* Download the latest RPMFORGE repository for x86_64 on CentOS5/RHEL5
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
* Download the latest RPMFORGE repository for I386 on CentOS4/RHEL4
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el4.rf.i386.rpm
* Download the latest RPMFORGE repository for x86_64 on CentOS4/RHEL4
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el4.rf.x86_64.rpm
* Download the latest RPMFORGE repository for I386 on CentOS3/RHEL3
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el3.rf.i386.rpm
* Download the latest RPMFORGE repository for x86_64 on CentOS3/RHEL3
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el3.rf.x86_64.rpm
* Run the rpm install command
rpm -Uvh rpmforge-release-*.rpm
rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm )
vim /etc/yum.repos.d/rpmforge.repo
enabled = 1
2) Successivamente è necessario installare i seguenti tool che sono un propedeutico per l'installazione:
yum install clamav clamd gcc perl-DBI perl-MIME-tools postfix rpm-build spamassassin unrar
3) /etc/init.d/postfix stop
4) yum install binutils glibc-devel gcc make
4) yum install binutils glibc-devel gcc make
5) Scaricare, decomprimere ed installare MailScanner.
wget http://www.mailscanner.info/files/4/rpm/MailScanner-4.84.3-1.rpm.tar.gz
tar -xvzpf MailScanner-4.84.3-1.rpm.tar.gz
cd MailScanner-4.84.3-1
./install.sh
In fase di installazione, MailScanner crea ed installa forzatamente alcuni pacchetti perl.
6) Occorre dare la priorità a questo software escludendo perl dagli aggiornamenti.
yum --exclude=perl* update
oppure editare:
vim /etc/yum.conf
ed aggiungere:
exclude=openo*, Kernel*, perl*
N.B. Se appare l'errore perl-MIME-tools >= 5.411 is needed by mailscanner-4.22-5
E' sufficiente copiare tutti i file *.rpm dalla cartella scompattata di MailScanner in /usr/src/redhat/RPMS/noarch/
Se la cartella di destinazione non esiste crearla
E' sufficiente copiare tutti i file *.rpm dalla cartella scompattata di MailScanner in /usr/src/redhat/RPMS/noarch/
Se la cartella di destinazione non esiste crearla
N.B. 2 Si può scaricare l'ultima versione di perl-MIME per centos e copiarla nel path di MailScanner scompattato insieme agli altri rpm dal seguente indirizzo
wget http://apt.sw.be/redhat/el5/en/i386/testing/RPMS/perl-MIME-tools-5.427-1.el5.test.noarch.rpm
service postfix stop
chkconfig postfix off
chkconfig MailScanner on
service MailScanner start
8) Editare /etc/MailScanner/MailScanner.conf:
vim /etc/MailScanner/MailScanner.conf
tenendo a mente che ci sono 5 cose da dover modificare per poter funzionare con Postfix.
vim /etc/MailScanner/MailScanner.conf
tenendo a mente che ci sono 5 cose da dover modificare per poter funzionare con Postfix.
Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
Deliver Disinfected Files = yes
9) Va verificato che l'utente user "postfix" possa scrivere in /var/spool/MailScanner/incoming and /var/spool/MailScanner/quarantine con i seguenti comandi:
chown postfix.postfix /var/spool/MailScanner/incoming
chown postfix.postfix /var/spool/MailScanner/quarantine
Se uno deve aggiornare la propria versione di MailScanner tenere a mente che i 2 commandi precedenti vanno ridati.
10) Editare /etc/MailScanner/virus.scanners.conf
vi /etc/MailScanner/virus.scanners.conf
[...]
clamav /usr/lib/MailScanner/clamav-wrapper /usr
clamd /bin/false /usr
clamavmodule /bin/false /tmp
[...]
l'ultima riga serve per abilitare l'autoaggiornamento automatico e permette che venga eseguito in automatico ogni /etc/cron.hourly/update_virus_scanners
11) Editare /etc/MailScanner/rules/max.message.size.rules
vim /etc/MailScanner/rules/max.message.size.rules
[...]
From: *@NomeDominio LimiteGrandezzaEMail
[...]
12) Creare la directory /var/spool/MailScanner/spamassassin ed assegnarle postfix come proprietario.
mkdir /var/spool/MailScanner/spamassassin
chown postfix.postfix /var/spool/MailScanner/spamassassin
Verificare sempre che i file in questa cartella abbiano le permission giuste con il comando:
ll
Verificare sempre che i file in questa cartella abbiano le permission giuste con il comando:
ll
13) Editare il file /etc/postfix/main.cf
ed aggiungere la riga
header_checks = regexp:/etc/postfix/header_checks
vim /etc/postfix/header_checks
/^Received:/ HOLD
15) Conclusione
/etc/init.d/MailScanner start
Per vedere i log:
tail -f /var/log/maillog
chown postfix.postfix /var/log/postfix
chown postfix.postfix /var/spool/postfix
chown postfix.postfix /var/spool/MailScanner/
cd /var/spool/MailScanner/
chown postfix.postfix *.*
chown postfix.postfix *
cd /var/spool/MailScanner/incoming/
chown postfix.postfix *.*
chown postfix.postfix *
16) Per testare la soluzione è sufficiente settare outlook express con pop3 e smtp come da ip del server ed iniziare a mandare e ricevere le mail su @instyle.locale
16) Per utilizzare il mail server su internet sarà necessario comprare un dominio, IP fisso e settare il record mx che punti all'IP del firewall settando un opportuno port forwarding sul mail server che sarà messo in DMZ. Per finire andrà settato il DNS locale, ma questo farà parte di un futuro tutorial.
APPENDICE
Ecco alcuni comandi che possono tornare utili nel settaggio del Mail Server:
- Invio mail di prova:
mail -s "Error in chapter 6" ralph
Dear Apress support,
I have found an error in chapter 6.
Regards,
Your Name
Cc:
echo "testing" | mail -s "test email" myaddress@gmail.com
- trovare il record mx:
host -t mx apress.com
apress.com mail is handled by 5 smtp3.intermedia.net.
apress.com mail is handled by 50 mail.uu.net.
- Postconf -d visualizza i parametri di default
- Esempi di antispam gratuiti:
smtpd_helo_required = yes
smtpd_client_restrictions = permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destinations,
reject_rbl_client bl.spamcop.net
permit_mynetworks,
reject_unauth_destinations,
reject_rbl_client bl.spamcop.net
smtpd_sender_restrictions =
permit_sasl_authenticated,
check_sender_access hash:/etc/postfix/access
reject_unknown_sender_domain,
reject_non_fqdn_sender,
reject_rhsbl_sender dsn.rfc-ignorant.org
permit_sasl_authenticated,
check_sender_access hash:/etc/postfix/access
reject_unknown_sender_domain,
reject_non_fqdn_sender,
reject_rhsbl_sender dsn.rfc-ignorant.org
- Utilizzare una Webmail:
E' necessario installare Apache seguendo la guida presente qui
yum install squirrelmail
service httpd restart
/usr/share/squirrelmail/config/conf.pl
Squirremail di default è settato su IMAP, premere D per i settaggi di default
Selezionare Dovecot e premere invio
Tornando alla schermata iniziale premere 2 apparirà:
premere 1 per settare il dominio.
Se il server web viene eseguito sullo stesso host del web server si può lasciare Sendmail o SMTP che è /usr/sbin/sendmail. Se invece il server SMTP è disponibile su un altro Server premere B e configurare i settaggi SMTP compreso SMTP-Auth e TLS.
Stessa cosa dicasi per il server IMAP.
Premere A per salvare i settaggi.
Si può andare anche negli altri menu per modificare il tema e la rubrica.
Per accedere alla mail è sufficiente digitare https://www.example.com/webmail
Salvare la configurazione premendo S e Q per uscire
yum install httpd
The SquirrelMail files reside in /usr/share/squirrelmail. Create the following link to
make SquirrelMail accessible from the Web:
# ln -s /usr/share/squirrelmail /var/www/html/mail
per configurare squirremail
cd /usr/share/squirrelmail/config
# ./conf.pl
SquirrelMail provides a Web page that tests its configuration. Point a browser on
the server at localhost/mail/src/configtest.php. Replace localhost with the IP
address or FQDN of the server to view the page from another system. SquirrelMail
checks its configuration and displays the results on this page.
Per effettuare il login:
Point a Web browser at localhost/mail or localhost/mail/src/login.php to display
the SquirrelMail login page
- Alcuni comandi postfix
mailq per vedere le code
mailstats statistiche mail
Relay host: On a LAN, you might want to set up a single server to process outbound mail,
keeping local mail inside the network. A system that processes outbound mail for
other systems is called a relay host. The /etc/mail/access file specifies which systems
the local server relays email for.
- Spamassassin
With spamd running, you can see how spamc works by sending it a string:
$ echo "hi there" | spamc
permette di capire come spamassassin lavora
/etc/mail/spamassassin/local.cf. You can edit this file to configure SpamAssassin
globally. Users can override these global options and add their own options in the
~/.spamassassin/user_prefs file.
you can configure SpamAssassin to rewrite the Subject line of email it
rates as spam. The rewrite_header keyword in the configuration files controls this
behavior. The word Subject following this keyword tells SpamAssassin to rewrite
Subject lines. Remove the # from the following line to turn on this behavior:
# rewrite_header Subject *****SPAM*****
required_score 5.00
setta lo score minimo affinchè una mail sia considerata come spam
Use the whitelist_from keyword to
specify addresses that should never be marked as spam and blacklist_from to specify
addresses that should always be marked as spam:
whitelist_from sams@example.com
blacklist_from *@spammer.net
You can specify multiple addresses, separated by SPACEs, on the whitelist_from and blacklist_from lines. Each address can include wildcards. To whitelist everyone sending email from the example.com domain, use whitelist_from *@example.com. You can use multiple whitelist_from and blacklist_from lines.