Software

[howto] Debian 7.0 “Wheezy”: mail server con Postfix, Dovecot e mySql (parte 2)

Amavisd-new, spamassassin e clamav (antispam e antivirus)

Installazione dei pacchetti:

apt-get install amavisd-new spamassassin clamav-daemon clamav arj zip p7zip unzip zoo unrar-free cabextract nomarch lzop rpm pax tnef ripole lhasa

Configurazione di amavisd-new

Impostare l’hostname del server, modificando il file di configurazione 05-node_id di amavis:

nano -w /etc/amavis/conf.d/05-node_id

La riga da editare è $myhostname

#Qualified Domain Name (FQDN) and remove the # at the beginning of the line.
$myhostname = "mail.esempio.it";

Modifiche alla configurazione di Postfix per l’integrazione con amavis

Modificare il file di configurazione di Postfix (main.cf)

nano -w /etc/postfix/main.cf

aggiungendo in fondo la seguente riga:

content_filter=smtp-amavis:[127.0.0.1]:10024

Inoltre, va modificato il file master.cf per aggiungere il servizio di amavis

nano -w /etc/postfix/master.cf

aggiungendo in fondo queste righe:

smtp-amavis unix - - n - 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 - n - - smtpd
-o content_filter=
-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 smtpd_restriction_classes=
-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,no_milters
-o local_header_rewrite_clients=

Il numero 2 nella riga smtp-amavis unix rappresenta il numero dei processi figli amavis; alzare il valore per gestire un alto traffico di email.

Modificare il file 20-debian_defaults di amavis

# vi /etc/amavis/conf.d/20-debian_defaults

in questo modo:

#Non viene specificata una directory per la quarantena
#in quanto verrà dirottata la mail ad un utente apposito
#$QUARANTINEDIR = "$MYHOME/virusmails";
$TEMPBASE = "/var/tmp";

#Inoltro delle mail virus e spam ad appositi utenti
$virus_quarantine_to = 'virus@esempio.it';
$spam_quarantine_to = 'spam@esempio.it';
$banned_quarantine_to = $spam_quarantine_to;
$bad_header_quarantine_to = $spam_quarantine_to;

$final_virus_destiny = D_DISCARD; # (data not lost, see virus quarantine)
$final_banned_destiny = D_DISCARD; # D_REJECT when front-end MTA
$final_spam_destiny = D_DISCARD;
$final_bad_header_destiny = D_DISCARD; # False-positive prone (for spam)

#$virus_admin = "postmaster\@$mydomain"; # due to D_DISCARD default
$virus_admin = undef; #non notificare l'admin le notifiche di ricezione virus

Infine, riavviare il servizio amavisd

service amavis restart

Configurazione di mySql per white list, black list e policy di amavis

Connettersi al database mail su mysql e creare le tabelle necessarie:

mysql -u root

#mysql> use mail;

#mysql> CREATE TABLE wblist (
email varchar(255) NOT NULL,
wb char(1) NOT NULL DEFAULT 'w', -- W/B (White=HAM, Black=SPAM)
KEY email (email)
);

#mysql> CREATE TABLE policy (
id int unsigned NOT NULL auto_increment,
policy_name varchar(32), -- nome.Non usato da amavisd-new
virus_lover char(1), -- Y/N
spam_lover char(1), -- Y/N (campo opzionale)
banned_files_lover char(1), -- Y/N (campo opzionale)
bad_header_lover char(1), -- Y/N (campo opzionale)
bypass_virus_checks char(1), -- Y/N
bypass_spam_checks char(1), -- Y/N
bypass_banned_checks char(1), -- Y/N (campo opzionale)
bypass_header_checks char(1), -- Y/N (campo opzionale)
spam_modifies_subj char(1), -- Y/N (campo opzionale)
virus_quarantine_to varchar(64) DEFAULT NULL, -- (campo opzionale)
spam_quarantine_to varchar(64) DEFAULT NULL, -- (campo opzionale)
banned_quarantine_to varchar(64) DEFAULT NULL, -- (campo opzionale)
bad_header_quarantine_to varchar(64) DEFAULT NULL, -- (campo opzionale)
spam_tag_level float, -- un punteggio alto inserisce le intestazioni spam
spam_tag2_level float DEFAULT NULL, -- un punteggio alto inserisce le
-- intestazioni di 'spam dichiarato'
spam_kill_level float, -- un punteggio alto attiva le azioni evasive:
-- rifiuto/scarto, quarantena, ...
-- (soggetto all'impostazione di final_spam_destiny)
PRIMARY KEY (id)
);

Infine, carichiamo la policy predefinita

#mysql> INSERT INTO policy
SET
id =1,
policy_name ="Filtro predefinito",
virus_lover ="N",
spam_lover ="N",
banned_files_lover ="N",
bad_header_lover ="N",
bypass_virus_checks ="N",
bypass_spam_checks ="N",
bypass_banned_checks ="N",
bypass_header_checks ="N",
spam_modifies_subj ="Y",
spam_quarantine_to ="spam@esempio.it",
virus_quarantine_to ="virus@esempio.it",
banned_quarantine_to ="spam@esempio.it",
bad_header_quarantine_to ="spam@esempio.it",
spam_tag_level =2,
spam_tag2_level =6.31,
spam_kill_level =7;

Impostare amavis per accedere al database, modificando il file 20-debian_defaults in questo modo:

#connessione al database
@lookup_sql_dsn =
( ['DBI:mysql:mail:localhost', 'mailuser', 'mailpassword'] );

#carica le impostazioni definite di policy
$sql_select_policy = 'SELECT * FROM policy';

#Per ottenere white/blacklisting in base al mittente
$sql_select_white_black_list = 'SELECT wb FROM wblist'.
' WHERE (email IN (%k))';

Configurazione di Clamav

Modificare l’intervallo di aggiornamento delle definizioni attraverso il parametro Checks del file freshclam.conf

nano -w /etc/clamav/freshclam.conf

Checks 4

Aggiungere l’utente clamav al gruppo amavis, per consentire l’accesso all’antivirus alle cartelle tempornaee di amavis:

gpasswd -a clamav amavis

Verificare che nel file /etc/amavis/conf.d/15-av_scanners sia presente l’istruzione per eseguire clamav (di default dovrebbe esserlo). Quindi, abilitare il controllo dei virus attraverso amavis modificando il file

nano -w /etc/amavis/conf.d/15-content_filter_mode

e rimuovendo (se presenti) i commenti dalla riga @bypass_virus_check

@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re)

Configurazione di Spamassassin

Modificare o aggiungere i seguenti parametri nel file /etc/spamassassin/local.cf:

#permette di avere un unico database bayes anziché uno in ogni home degli user
bayes_path /etc/spamassassin/bayes/bayes
bayes_file_mode 0666

Quindi creare la cartella specificata /etc/spamassassin/bayes con gli opportuni permessi

mkdir /etc/spamassassin/bayes
chmod 777 /etc/spamassassin/bayes

Disabilitare il demone spamd, in quanto è preferibile interfacciarsi tramite le API di Amavis, impostando il valore del parametro a zero nel file /etc/default/spamassassin:

#Change to one to enable spamd
ENABLED=0

Infine, abilitare il controllo dello spam attraverso le API di Amavis verificando la riga @bypass_spam_check non sia commentata nel file 15-content_filter_mode di amavis:

nano -w /etc/amavis/conf.d/15-content_filter_mode

@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

Verificare la configurazione di spamassassin attraverso il comando:

spamassassin --lint

Quindi, testandone il funzionamento con un file di test:

spamassassin -D < /usr/share/doc/spamassassin/examples/sample-spam.txt

Infine, riavviare i servizi:

service amavis restart
service postfix restart

L’articolo originale lo trovate nel post Server mail: Postfix Amavisd-new Dovecot e MySql pubblicato sul sito Guide@Debianizzati.org

02/12/2013 How-To

[howto] Debian 7.0 "Wheezy": mail server con Postfix, Dovecot e mySql (parte 1)

[howto] Debian 7.0 “Wheezy”: mail server con Postfix, Dovecot e mySql (parte 3)

Giugno 2025
L M M G V S D
 1
2345678
9101112131415
16171819202122
23242526272829
30  
« Giu    

Categorie

  • Access
  • Asp
  • Cyberoam
  • Dell
  • ESX / vmWare
  • Exchange
  • Exchange 2007
  • How-To
  • IIS
  • iPhone
  • Linux
  • Mac
  • Office 365
  • Outlook
  • plesk
  • Sophos XG
  • SQL Server
  • TeamSystem
  • Tips
  • Trend Micro
  • Vb.NET
  • VB6
  • Windows 10
  • Windows 7
  • Windows SBS
  • Windows Server
  • Windows Vista
  • Windows XP
  • WSUS

How-To

  • Configure SMTP O365 Migration Using TLS 1.2 For SQL Database Mail
  • Debian anti-spam and anti-virus e-mail gateway
  • How to install Small Business Server 2003 in an existing Active Directory domain
  • Sophos XG Firewall and Firebox Branch Office VPN Integration Guide
  • Squid, SquidGard, NTLM Authentication con Samba 3.x su Debian Sarge
  • Troubleshoot high-CPU-usage issues in SQL Server

Utili

  • Chip Grafici per portatili – Benchmark
  • Il blog su Microsoft Access
  • Processori per portatili – Benchmark
  • Sophos Wireless: Wi-Fi Fundamentals
  • Zentyal – Linux Small Business Server

Meta

  • Accedi
  • Feed dei contenuti
  • Feed dei commenti
  • WordPress.org
Proudly powered by WordPress | Theme: Neblue by NEThemes.