In questa guida creeremo un server di posta con utenze di tipo virtuale, tali utenze risiederennao su un database di tipo MySql e i servizi IMAP e POP saranno configurati ad-hoc a tale scopo.
Installazione e Configurazione del servizio Postfix
Sul server Debian eseguiamo i seguenti passi:
Aggiorniamo i repositori di apt.
# apt-get update # apt-get dist-upgrade
Installiamo la parte Postfix e SASL
# apt-get install postfix postfix-mysql libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl
Installiamo la parte DB MySql
# apt-get install mysql-server mysql-client
Installiamo la parte Web
# apt-get install apache2 libapache2-mod-php5 php5 php5-mysql libpam-smbpass
Installiamo la parte Courier
# apt-get install courier-authdaemon courier-authlib courier-authlib-mysql courier-authlib-userdb courier-base courier-imap courier-imap-ssl courier-pop courier-pop-ssl courier-ssl
Installiamo la parte Antivirus e AntiSpam base
# apt-get install amavisd-new spamassassin clamav-daemon
Perfezioniamo l’installazione della parte AntiSpam
# apt-get install libnet-dns-perl pyzor razor libmail-spf-perl
Aggiungiamo i pacchetti per il controllo degli allegati
# apt-get install arj bzip2 cabextract cpio file gzip nomarch pax rar unrar unzip zip zoo p7zip-full
All’installazione dei pacchetti, probabilmente verranno richieste alcune risposte:
General type of mail configuration: <-- Internet Site System mail name: <-- mail.example.com New password for the MySQL "root" user: <-- yourrootsqlpassword Repeat password for the MySQL "root" user: <-- yourrootsqlpassword Create directories for web-based administration? <-- No SSL certificate required <-- Ok Web server to reconfigure automatically: <-- apache2 Configure database for phpmyadmin with dbconfig-common? <-- No
Configurazione di Amavis (configurazione utenti di sistema)
Aggiungere l’utenza clamav al gruppo amavis e vice versa in modo che Clamav abbia accesso ai files scansionati:
# adduser clamav amavis # adduser amavis clamav
Configurazione di Spamassassin (configurazione partenza)
Spamassassin può controllare le mail utilizzando componenti opzionali e li userà se presenti. Questo significa che non è obbligatorio configurare dcc-client, pyzor e razor.
Editare /etc/default/spamassassin per attivare il demone di Spamassassin cambiando ENABLED=0 a:
ENABLED=1
e per abilitare gli updates automatici delle regole cambiamo CRON=0 a:
CRON=1
Ora facciamo partire il servizio Spamassassin: (not restart)
# /etc/init.d/spamassassin start
Configurazione di Amavis (setting motori antivirus e antispam)
Prima di tutto, attiviamo lo spam e l’antivirus detection in Amavis editando il file /etc/amavis/conf.d/15-content_filter_mode e togliendo il commento davanti a @bypass_virus… e @bypass_spam…:
use strict; # You can modify this file to re-enable SPAM checking through spamassassin # and to re-enable antivirus checking. # # Default antivirus checking mode # Uncomment the two lines below to enable it # @bypass_virus_checks_maps = ( \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re); # # Default SPAM checking mode # Uncomment the two lines below to enable it # @bypass_spam_checks_maps = ( \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re); 1; # insure a defined return
Riavviamo il servizio Amavis:
# /etc/init.d/amavis restart
Integrazione di Amavis in postfix
Per l’integrazione di postfix, aggiungiamo la variabile content_filter alla configurazione di Postfix nel file /etc/postfix/main.cf.
content_filter = smtp-amavis:[127.0.0.1]:10024 receive_override_options = no_address_mappings
Editiamo ora il file master.cf aggiungendo le seguenti voci:
smtp-amavis unix - - - - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20 127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
Aggiungiamo anche queste due linee appena sotto alla configurazione pickup, sempre nel file master.cf:
-o content_filter= -o receive_override_options=no_header_body_checks
Riavviamo Postfix:
/etc/init.d/postfix reload