Amavis

De Wiki NCad
Révision de 10 février 2014 à 23:28 par Cacheln (discuter | contributions) (Sans notification d'échec)

Aller à : navigation, rechercher

.:[ Serveur de Messagerie ]:.

Installation >> Postfix avec MySQL

Anti-Spam SpamAssassin | Anti-Virus Clamav


Plateforme de filtrage Amavis >> Amavis avec MySQL


Ajouter un Disclaimer


Configurer Thundirbird | Configurer Roundcube


Commandes messagerie | DNSBL | MX Backup

Installation

  • Nous installation l'anti-virus ClamAV :
ICON Terminal.png

sudo clamsmtp clamav-daemon clamav clamav-freshclam clamav-base

ICON Terminal.png

spamassassin pyzor razor

  • Nous installation le service Amavis :
ICON Terminal.png

sudo apt-get install amavisd-new

Configuration

SpamAssassin

Activation du programme

  • Par défaut, le module est désactivé. Pour être lancé il faut remplacer dans le fichier /etc/default/spamassassin :
ENABLED=0
  • Par :
ENABLED=1

Séparation des logs

  • Pour éviter de trop encombrer les logs de Postfix dans le fichier /var/log/mail.log, nous allons séparer les logs de SpamAssassin. Pour cela, on insère les éléments suivant juste avant la ligne OPTIONS :
SAHOME="/var/log/spamd/"
  • Puis on remplace :
OPTIONS="--create-prefs --max-children 5 --helper-home-dir --username spamd"
  • Par :
OPTIONS="--create-prefs --max-children 5 --helper-home-dir --username spamd -H ${SAHOME} -s ${SAHOME}spamd.log"

Création de l'utilisateur spamd

  • SpamAssassin s'exécute avec les droits et permissions de l'utilisateur spamd. Cependant, cette utilisateur n'est pas crée à l'installation du programme. Il va donc falloir le créer :
ICON Terminal.png

sudo groupadd spamd
sudo useradd -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd
sudo chown spamd:spamd /var/lib/spamassassin
sudo mkdir /var/log/spamd
sudo chown spamd:spamd /var/log/spamd

Configuration de SpamAssassin

  • Le configuration de SpamAssassin se trouve dans le fichier /etc/spamassassin/local.cf. On va y dé-commenter les lignes suivantes :
rewrite_header Subject *****SPAM*****
report_safe 1
required_score 5.0
use_bayes 1
bayes_auto_learn 1
bayes_ignore_header X-Spam-Status
  • Une fois le fichier de configuration renseigné, on peut démarrer SpamAssassin :
ICON Terminal.png

sudo service spamassassin start

ClamAV

  • On procède à la mise à jour des signatures de ClamAV :
ICON Terminal.png

freshclam

  • Lancement de ClamAV :
ICON Terminal.png

service clamav-daemon restart

Amavis

  • Pour que Amavis puisse avoir accès aux dossiers et fichiers de ClamAV, on ajoute l'utilisateur amavis au groupe clamav :
ICON Terminal.png

adduser clamav amavis

  • On vérifie que l'anti-virus /etc/amavis/conf.d/15-av_scanners a bien été détecté par Amavis. Si c'est bien le cas, les lignes suivantes sont décommentées :
['ClamAV-clamd',
  \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.ctl"],
  qr/\bOK$/m, qr/\bFOUND$/m,
  qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],
  • Pour que Amavis consulte Clamav et SpamAssassin pour le traitement des mails, il faut décommenter les lignes suivantes dans /etc/amavis/conf.d/15-content_filter_mode :
@bypass_virus_checks_maps = (
  \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
@bypass_spam_checks_maps = (
  \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
  • Sous Ubuntu, pour que les mails détectés comme spam et virus ne soient pas supprimés, il faudra remplacer dans le fichier /etc/amavis/conf.d/21-ubuntu_defaults les lignes :
$final_virus_destiny      = D_DISCARD; # (defaults to D_BOUNCE)
$final_spam_destiny       = D_DISCARD;  # (defaults to D_REJECT)
  • Par :
$final_virus_destiny      = D_BOUNCE; # (defaults to D_BOUNCE)
$final_spam_destiny       = D_PASS;  # (defaults to D_REJECT)
  • Dans le fichier /etc/amavis/conf.d/05-node_id on va définir le hostname du serveur :
$myhostname = "mail.glx";
  • Pour appliquer la configuration, on redémarre Amavis :
ICON Terminal.png

service amavis restart

Postfix

  • Dans le fichier /etc/postfix/main.cf on insérera la ligne suivante qui permettra de transférer les mails reçus par Postfix à Amavis pour traitement :
content_filter = scan:127.0.0.1:10024
  • A la fin du fichier /etc/postfix/master.cf, on insère les éléments suivants :
scan      unix  -       -       n       -       16      smtp
        -o smtp_data_done_timeout=1200
        -o disable_dns_lookups=yes
  • Ainsi que ce bloc qui permettra de récupérer les mails traités par Amavis :
127.0.0.1:10025 inet n - y - - 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
  • On redémarre Postfix pour appliquer les modifications :
ICON Terminal.png

service postfix restart

Validation

Réception d'un message sain

  • Pour effectue ce test, nous envoyons un message de la boîte mail nicolas.cachelou@ncad.me vers la boîte locale cacheln@mail.glx. Observons les logs dans /var/log/mail.log. Le courriel va transité par Postfix jusqu'à être placé en file d'attente (qmgr) tandis qu'un duplicata sera soumit pour analyse à Amavis.
Amavis Reception 1.png
1 Feb 10 17:19:19 alice postfix/smtpd[16906]: connect from geocoucou.net.ncad.fr[10.0.0.49]
1 Feb 10 17:19:19 alice postfix/smtpd[16906]: 8F856461BF9:
  client=geocoucou.net.ncad.fr[10.0.0.49]
2 Feb 10 17:19:19 alice postfix/cleanup[16911]: 8F856461BF9: message-id=
  <938e217153bc4d3d17b51efba0b6c485@ncad.me>
3 Feb 10 17:19:19 alice postfix/qmgr[15289]: 8F856461BF9: from=<nicolas.cachelou@ncad.me>,
  size=1608, nrcpt=1 (queue active)
Feb 10 17:19:19 alice postfix/smtpd[16906]: disconnect from geocoucou.net.ncad.fr[10.0.0.49]
  • Une fois le courriel analysé, il va être de nouveau envoyé à Postfix avec la mention Passed CLEAN. Le message va aussi contenir le numéro du premier message dans la file. Ce dernier va pouvoir être supprimé tandis que le message analysé va être délivré dans la boîte mail du destinataire.
Amavis Reception 2.png
2 Feb 10 17:19:52 alice postfix/smtpd[16935]: connect from localhost[127.0.0.1]
2 Feb 10 17:19:52 alice postfix/smtpd[16935]: 5B8EF461C21: client=localhost[127.0.0.1]
3 Feb 10 17:19:52 alice postfix/cleanup[16911]: 5B8EF461C21:
  message-id=<938e217153bc4d3d17b51efba0b6c485@ncad.me>
4 Feb 10 17:19:52 alice postfix/qmgr[15289]: 5B8EF461C21: from=<nicolas.cachelou@ncad.me>,
  size=2022, nrcpt=1 (queue active)
1 Feb 10 17:19:52 alice amavis[16881]: (16881-01) Passed CLEAN, [10.0.0.49] [109.190.9.125]
  <nicolas.cachelou@ncad.me> -> <cacheln@mail.glx>, Message-ID:
  <938e217153bc4d3d17b51efba0b6c485@ncad.me>, mail_id: hON7zClIHyZE, Hits: -0.998, size: 1608,
  queued_as: 5B8EF461C21, 32796 ms
6 Feb 10 17:19:52 alice postfix/smtp[16912]: 8F856461BF9</font>: to=<cacheln@mail.glx>,
  relay=127.0.0.1[127.0.0.1]:10024, delay=33, delays=0.05/0.01/0.02/33, dsn=2.0.0, status=sent
  (250 2.0.0 from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 5B8EF461C21)
6 Feb 10 17:19:52 alice postfix/qmgr[15289]: 8F856461BF9: removed
5 Feb 10 17:19:52 alice postfix/virtual[16937]: 5B8EF461C21: to=<cacheln@mail.glx>,
  relay=virtual, delay=0.11, delays=0.04/0.02/0/0.05, dsn=2.0.0, status=sent (delivered to
  maildir)
5 Feb 10 17:19:52 alice postfix/qmgr[15289]: 5B8EF461C21: removed

Réception d'un Spam

  • Pour tester le comportement de SpamAssassin, on va s'envoyer un faux positif; c'est à dire un courriel censé être détecté comme spammeur. Pour cela, on s’envoie un courriel contenant la chaîne de caractères suivante :
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
  • Le courriel va transité par Postfix jusqu'à être placé en file d'attente (qmgr) tandis qu'un duplicata sera soumit pour analyse à Amavis.
Amavis Reception Spam 1.png
1 Feb 10 21:15:42 alice postfix/smtpd[17186]: connect from geocoucou.net.ncad.fr[10.0.0.49]
1 Feb 10 21:15:42 alice postfix/smtpd[17186]: 124A5461C16:
  client=geocoucou.net.ncad.fr[10.0.0.49]
2 Feb 10 21:15:42 alice postfix/cleanup[17191]: 124A5461C16: message-id=
  <07979d34eb1c3b64d76c303f6e82b714@ncad.me>
3 Feb 10 21:15:42 alice postfix/qmgr[15289]: 124A5461C16: from=<nicolas.cachelou@ncad.me>,
  size=1854, nrcpt=1 (queue active)
Feb 10 21:15:42 alice postfix/smtpd[17186]: disconnect from geocoucou.net.ncad.fr[10.0.0.49]
  • Une fois le courriel analysé, il va être de nouveau envoyé à Postfix avec la mention Passed SPAM. Le message va aussi contenir le numéro du premier message dans la file. Ce dernier va pouvoir être supprimé tandis que le message analysé va être délivré dans la boîte mail du destinataire.
Amavis Reception Spam 2.png
2 Feb 10 21:15:45 alice postfix/smtpd[17198]: connect from localhost[127.0.0.1]
2 Feb 10 21:15:45 alice postfix/smtpd[17198]: A2561461C48: client=localhost[127.0.0.1]
3 Feb 10 21:15:45 alice postfix/cleanup[17191]: A2561461C48:
  message-id=<07979d34eb1c3b64d76c303f6e82b714@ncad.me>
4 Feb 10 21:15:45 alice postfix/qmgr[15289]: A2561461C48: from=<nicolas.cachelou@ncad.me>,
  size=2587, nrcpt=1 (queue active)
1 Feb 10 21:15:45 alice amavis[17121]: (17121-01) Passed SPAM, [10.0.0.49] [109.190.9.125]
  <nicolas.cachelou@ncad.me> -> <cacheln@mail.glx>, quarantine: 8/spam-8JozlTsx79Lv.gz,
  Message-ID: <07979d34eb1c3b64d76c303f6e82b714@ncad.me>, mail_id: 8JozlTsx79Lv, Hits: 999.002,
  size: 1854, queued_as: A2561461C48, 3587 ms
6 Feb 10 21:15:45 alice postfix/smtp[17192]: 124A5461C16: to=<cacheln@mail.glx>,
  relay=127.0.0.1[127.0.0.1]:10024, delay=3.7, delays=0.05/0.01/0.01/3.6, dsn=2.0.0,
  status=sent (250 2.0.0 from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as A2561461C48)
6 Feb 10 21:15:45 alice postfix/qmgr[15289]: 124A5461C16: removed
5 Feb 10 21:15:45 alice postfix/virtual[17200]: A2561461C48: to=<cacheln@mail.glx>,
  relay=virtual, delay=0.13, delays=0.04/0.03/0/0.06, dsn=2.0.0, status=sent (delivered to
  maildir)
5 Feb 10 21:15:45 alice postfix/qmgr[15289]: A2561461C48: removed
ICON Light.png
Une copie du mail a été placée en quarantaine dans le répertoire /var/lib/amavis/virusmail/8/.

Réception d'un virus

  • Pour vérifier le comportement de Amavis on va envoyer un courriel contenant la signature d'un virus qui déclenche un faux-positif. Pour cela, avec notre courriel on y attachera un fichier texte en pièce jointe. Dans ce fichier texte nous renseigneront la ligne suivante :
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
  • Nous effectuons le test de réception toujours sur la boîte cacheln@mail.glx. Observons maintenant les logs relevés dans /var/log/mail.log. Le message transite jusqu'au gestionnaire de file qmgr où il y stationnera. Une copie du message est transmise au serveur amavis pour être analysée.
Amavis Reception Virus 1.png
1 Feb 10 20:18:31 alice postfix/smtpd[17029]: connect from geocoucou.net.ncad.fr[10.0.0.49]
1 Feb 10 20:18:31 alice postfix/smtpd[17029]: C0970461C16: client=geocoucou.net.ncad.fr[10.0.0.49]
2 Feb 10 20:18:31 alice postfix/cleanup[17034]: C0970461C16: message-id=
  <9093941fa27ce9148dda2acebf0f21bd@ncad.me>
3 Feb 10 20:18:31 alice postfix/qmgr[15289]: C0970461C16: from=<nicolas.cachelou@ncad.me>,
  size=1990, nrcpt=1 (queue active)
Feb 10 20:18:31 alice postfix/smtpd[17029]: disconnect from geocoucou.net.ncad.fr[10.0.0.49]
4 Feb 10 20:18:32 alice amavis[16882]: (16882-01) Blocked INFECTED (Eicar-Test-Signature),
  [10.0.0.49] [109.190.9.125] <nicolas.cachelou@ncad.me> -> <cacheln@mail.glx>,
  quarantine: I/virus-Ibga6nwCOMoV, Message-ID: <9093941fa27ce9148dda2acebf0f21bd@ncad.me>,
  mail_id: Ibga6nwCOMoV, Hits: -, size: 1990, 186 ms
  • Amavis identifie un virus dans le courriel qu'il va taguer comme tel (INFECTED: Eicar-Test-Signature) et le placer en quarantaine dans le fichier /var/lib/amavis/I/virus-Ibga6nwCOMoV. De ce fait, Postfix va supprimer le message en file d'attente avec le code dns=2.7.0 (pas de remise d'échec pour l'émetteur) ainsi que le message scanné qui lui a été remis en début de file.
Amavis Reception Virus 2.png
Feb 10 20:18:32 alice amavis[16882]: (16882-01) Blocked INFECTED (Eicar-Test-Signature),
  [10.0.0.49] [109.190.9.125] <nicolas.cachelou@ncad.me> -> <cacheln@mail.glx>,
  quarantine: I/virus-Ibga6nwCOMoV, Message-ID: <9093941fa27ce9148dda2acebf0f21bd@ncad.me>,
  mail_id: Ibga6nwCOMoV, Hits: -, size: 1990, 186 ms
Feb 10 20:18:32 alice postfix/smtp[17035]: C0970461C16: to=<cacheln@mail.glx>,
  relay=127.0.0.1[127.0.0.1]:10024, delay=0.26, delays=0.06/0.01/0.01/0.18, dsn=2.7.0,
  status=sent (250 2.7.0 Ok, discarded, id=16882-01 - INFECTED: Eicar-Test-Signature)
Feb 10 20:18:32 alice postfix/qmgr[15289]: C0970461C16: removed


Feb 10 20:24:37 alice postfix/smtpd[17122]: connect from geocoucou.net.ncad.fr[10.0.0.49] Feb 10 20:24:37 alice postfix/smtpd[17122]: 9C7E7461C16: client=geocoucou.net.ncad.fr[10.0.0.49] Feb 10 20:24:37 alice postfix/cleanup[17127]: 9C7E7461C16: message-id=<8927514c54861d8e689b00dbeade558e@ncad.me> Feb 10 20:24:37 alice postfix/qmgr[15289]: 9C7E7461C16: from=<nicolas.cachelou@ncad.me>, size=6305, nrcpt=1 (queue active) Feb 10 20:24:37 alice postfix/smtpd[17122]: disconnect from geocoucou.net.ncad.fr[10.0.0.49] Feb 10 20:24:37 alice postfix/smtpd[17131]: connect from localhost[127.0.0.1] Feb 10 20:24:37 alice postfix/smtpd[17131]: EF947461C3D: client=localhost[127.0.0.1] Feb 10 20:24:37 alice postfix/cleanup[17127]: EF947461C3D: message-id=<VSY8myeKb9h-Tc@mail.glx> Feb 10 20:24:38 alice postfix/qmgr[15289]: EF947461C3D: from=<>, size=3427, nrcpt=1 (queue active) Feb 10 20:24:38 alice amavis[17120]: (17120-01) Blocked INFECTED (Eicar-Test-Signature), [10.0.0.49] [109.190.9.125] <nicolas.cachelou@ncad.me> -> <cacheln@mail.glx>, quarantine: Y/virus-Y8myeKb9h-Tc, Message-ID: <8927514c54861d8e689b00dbeade558e@ncad.me>, mail_id: Y8myeKb9h-Tc, Hits: -, size: 6305, 355 ms Feb 10 20:24:38 alice postfix/smtp[17128]: 9C7E7461C16: to=<cacheln@mail.glx>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.44, delays=0.06/0.01/0.02/0.35, dsn=2.5.0, status=sent (250 2.5.0 Ok, id=17120-01, BOUNCE) Feb 10 20:24:38 alice postfix/qmgr[15289]: 9C7E7461C16: removed Feb 10 20:24:49 alice postfix/smtp[17132]: EF947461C3D: to=<nicolas.cachelou@ncad.me>, relay=mail.net.ncad.fr[109.190.9.125]:25, delay=11, delays=0.05/0.02/0.04/11, dsn=5.7.1, status=bounced (host mail.net.ncad.fr[109.190.9.125] said: 554 5.7.1 <ro-010.net.ncad.fr[109.190.9.125]>: Unverified Client host rejected: Access denied (in reply to RCPT TO command)) Feb 10 20:24:49 alice postfix/qmgr[15289]: EF947461C3D: removed

Fonctions & Comportements

Listes noirs

Listes blanches

Tag des SPAM

Notifications en cas de virus

Liens