Oui ClarkConnect peut être utilisé en passerelle smtp AS-AV. C'est pour cette tâche que j'utilise CC Community Edition 4.3 chez plusieurs clients.
L'installation : serveur autonome.
Les fonctionnalités à choisir lors de l'installation : SMTP relay. (ou quelque chose d'approchant) je n'ai plus le terme exacte en tête.
Je place la machine en dmz.
Après installation et configuration de base pour ce rôle, je fais quelques modifications sur Postfix. Dans /etc/postfix/main.cf :
- Code: Tout sélectionner
smtpd_client_restrictions = permit_mynetworks
permit_sasl_authenticated
check_recipient_access hash:/etc/postfix/access_recipient
reject_rbl_client sbl.spamhaus.org
smtpd_helo_required = [b]yes[/b]
smtpd_helo_restrictions = permit_mynetworks
permit_sasl_authenticated
check_recipient_access hash:/etc/postfix/helo_access
check_recipient_access hash:/etc/postfix/access_recipient
reject_invalid_hostname
reject_non_fqdn_hostname
warn_if_reject reject_unknown_hostname
smtpd_sender_restrictions = permit_mynetworks
permit_sasl_authenticated
reject_unknown_sender_domain
check_recipient_access hash:/etc/postfix/access_recipient
reject_non_fqdn_sender
check_sender_access hash:/etc/postfix/filters/sa-blacklist
smtpd_recipient_restrictions = permit_sasl_authenticated
permit_mynetworks
reject_unauth_destination
check_recipient_access hash:/etc/postfix/access_recipient
reject_invalid_hostname
reject_unknown_sender_domain
Vous pouvez utiliser ou non les tables acess_recipient et helo_access.
J'ajoute aussi :
- Code: Tout sélectionner
header_checks = regexp:/etc/postfix/header_checks
etc/postfix/header_checks contient quelques grand classique pour rejeter directement certains mails en fonction du contenu de l'objet :
- Code: Tout sélectionner
/^Subject: .*Solution for your sexual life/ REJECT
/^Subject: .*Casino|casino/ REJECT
/^Subject: .*Rolex|rolex/ REJECT
/^Subject: .*Pharmacie|pharmacie/ REJECT
/^Subject: .*Watches|watches/ REJECT
/^Subject: .*Bonus|bonus/ REJECT
/^Subject: .*Pillules|pillules/ REJECT
/^Subject: .*CNN/ REJECT
/^Subject: .*BREAKING NEWS/ REJECT
/^Subject: .*BBC NEWS/ REJECT
/^Subject: .*V en ligne/ REJECT
/^Subject: .*Viagra|viagra|Cialis|cialis|pills|Cialix|Xanax/ REJECT
/^Subject: .*Prada/ REJECT
/^Subject: .*Boss/ REJECT
/^Subject: .*Adidas/ REJECT
/^Subject: .*Chanel/ REJECT
/^Subject: .*Dior/ REJECT
/^Subject: .*OGG/ REJECT
/^Subject: .*Versace/ REJECT
/^Subject: .*Hermes/ REJECT
/^Subject: .*Chloe/ REJECT
/^Subject: .*Ph.d/ REJECT
/^Subject: .*DG/ REJECT
/^Subject: .*Dolce Gabana/ REJECT
/^Subject: .*Paris Hilton/ REJECT
/^Subject: .*loterie bill gates/ REJECT
/^Subject: .*Puissance|puissance/ REJECT
/^Subject: .*Britney Spears/ REJECT
Fichier d'expression régulières que vous pouvez compléter ou perfectionner en fonction de ce que vous observez et de votre maitrise des expressions régulières. La mienne est limitée mais j'y travaille.
Fin des modifications pour Postix, je complète ensuite /etc/amavisd.conf. Amavis se charge d'interfacer Postfix avec les filtres de contenu. Lorsque vous avez configuré CC par l'interface, vous avez indiqué pour le spam un seuil pour le marquage des sujets. Je règle ce premier seuil à 3.5 pour le marquage avec la chaine [SPAM]. C'est ce que l'on voit dans cette partie de /etc/amavisd.conf.
- Code: Tout sélectionner
## ANTI-SPAM CONTROLS
$sa_spam_modifies_subj = 1;
$sa_spam_subject_tag = "[SPAM] ";
$sa_spam_level_char = '*';
$sa_tag_level_deflt = -99; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 3.5;
Je ne connais pas Exchange. La majorité de mes clients utilise Notes. Je suppose que vous avez la possibilité de créer des règles de mesagerie au niveau de chaque utilisateur et au niveau du domaine de messagerie. Pour les utilisateurs j'ajoute une règle qui dit si Subject contient [SPAM] alors placer le mail dans courrier indésirable.
Spamasassin en lui même ne fait rien si ce n'est évaluer la probabilité de spam d'un mail en lui affectant une note (dans un champ X_Spam_score). Plus elle est forte plus la probabilité de spam est grande. Mon expérience me montre qu'au delà de 12 nous sommes proche de 100% de probabilité.
Pour soulager les utilisateurs de la gestion des spams, j'ajoute une autre règle, cette fois ci au niveau du domaine. Cette règle dit : si la note est supérieur ou égale à 12 placer dans une boite mail de quarantaine. Pour cela j'ai besoin d'un marquage spécifique au niveau de l'objet du mail. J'obtient ce marquage en fonction de la note en ajoutant à /etc/amavisd.conf ces deux lignes :
- Code: Tout sélectionner
$sa_tag3_level_deflt = 12.0;
@spam_subject_tag3_maps = '!!! SPAM !!! ';
La règle de messagerie sera donc : si Objet contient !!! SPAM !!! alors envoyer à
spambox@domaine.tld. Au bout de 5 jours les mails en quarantaine sont détruits. Cela est facile à automatiser avec un serveur Domino. J'ignore si c'est possible avec Exchange. Les utilisateurs sont débarassé des messages 100% spam, mais tout est logé, trçable pour parer aux réclamations.
J'ai aussi modifié dans CC les fichiers /etc/logrotate.d/syslog et d'autres pour un reporting quotidien qui m'est envoyé par mail.