vendredi 6 mars 2009

Installer un antispam et un antivirus

Maintenant que vous avez un serveur mail pleinement fonctionnel (postfix et courier), il va vite s'averer indispensable d'installer un antispam et un antivirus.

Nous pourrons commencer par utiliser Postgrey.
Postgrey refuse systematiquement un mail 600 secondes avant de l'accepter. Un serveur de courrier correctement configurer re-tentera au dela de 600 secondes et le courrier sera delivré. Un serveur de spammeur mal configuré ou un virus lui ne re-tentera pas.

Installer postgrey
apt-get install postgrey

ajouter cette ligne
check_policy_service inet:127.0.0.1:10023,

pour les smtpd_recipient_restrictions. dans /etc/postfix/main.cf. Exemple:

smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_policy_service inet:127.0.0.1:10023,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_unauth_destination

Redemarrer Postfix et normalement Postgrey est pris en compte. Regarder les logs pour s'assurer qu'il n'y a pas d'erreurs.

Installer un antivirus : Amavis/Clamav

Installer les paquets
apt-get install amavisd-new clamav clamav-daemon clamav-freshclam lha arj unrar zoo nomarch lzop unzip bzip2

Dans /etc/amavis/conf.d/05-node_id
$myhostname = "test.priv"

et supprimer le 1; qui genere des erreurs.

Redemarrer amavis
/etc/init.d/amavis restart

Installer un antispam : Spamassassin

Installer les paquets
apt-get install spamassassin libnet-dns-perl libmail-spf-query-perl libnet-ident-perl libio-socket-ssl-perl libsys-hostname-long-perl razor pyzor dcc-client

Dans /etc/default/spamassassin, mettre le ENABLED à 1

Redemarrer
/etc/init.d/spamassassin restart

Maintenant il va falloir interfacer l'antivirus et l'antispam avec Postfix.

Dans /etc/amavis/conf.d/15-content_filter_mode decommenter les regles.

Puis à la la fin de /etc/postfix/master.cf ajouter ceci:

vscan unix - n n - 10 pipe user=amavis argv=usr/sbin/amavis ${sender} ${recipient}
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-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
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000


Puis à la fin de /etc/postfix/main.cf
content_filter = smtp-amavis:[127.0.0.1]:10024

Redemarrez le tout (amavis,spamassassin,postfix)

Si vous envoyez un message normal à compte local, cette ligne sera ajoutée dans les headers du message:
X-virus-scanned: Debian amavisd-new at test.priv

Si vous envoyez la chaine suivante (chaine servant à tester amavis):
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X)

Vous aurez un message de rejet de votre email.

Pour ne pas etre ennuyé avec les notifications qui peuvent engorger le serveur, modifier ceci dans /etc/amavis/conf.d/20-debian_defaults

$final_virus_destiny = D_DISCARD;
$final_banned_destiny = D_DISCARD;
$final_spam_destiny = D_DISCARD;
$final_bad_header_destiny = D_PASS;

Puis redemarrer le tout à nouveau

Pour aller plus loin:
http://www.queret.net/wiki/index.php/Linux/How-to/Postfix/Amavis
http://lindev.fr/index.php?post/2008/10/15/Passerelle-Anti-spam-sous-Debian
http://www.radical-spam.org/documentations/amavisd-new.html

Aucun commentaire:

Enregistrer un commentaire