« Amavis » : différence entre les versions

De NCad Wiki
Aller à la navigation Aller à la recherche
Ligne 154 : Ligne 154 :


* 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''' :
* 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''' :
[[Image:Amavis_Reception_1.png|thumb|center|750px]]


  Feb 10 17:19:19 alice postfix/smtpd[16906]: connect from geocoucou.net.ncad.fr[10.0.0.49]
  Feb 10 17:19:19 alice postfix/smtpd[16906]: connect from geocoucou.net.ncad.fr[10.0.0.49]

Version du 10 février 2014 à 22:40

.:[ Serveur de Messagerie ]:.

Installation >> Postfix avec MySQL

Filtrage anti-spam : Anti-Spam SpamAssassin | Anti-Virus Clamav


Filtrage anti-virus : Plateforme de filtrage Amavis >> Amavis avec MySQL


Plus de fonctions : Ajouter un Disclaimer | Signature DKIM | Mailman | Maildrop


Clients de messagerie : Configurer Thundirbird | Configurer Roundcube


Pour aller plus loin : Commandes messagerie | DNSBL | MX Backup

Installation

  • Nous installation l'anti-virus ClamAV :

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

spamassassin pyzor razor

  • Nous installation le service Amavis :

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 :

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 :

sudo service spamassassin start

ClamAV

  • On procède à la mise à jour des signatures de ClamAV :

freshclam

  • Lancement de ClamAV :

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 :

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 :

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 :

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 :
Amavis Reception 1.png
Feb 10 17:19:19 alice postfix/smtpd[16906]: connect from geocoucou.net.ncad.fr[10.0.0.49]
Feb 10 17:19:19 alice postfix/smtpd[16906]: 8F856461BF9:
  client=geocoucou.net.ncad.fr[10.0.0.49]
Feb 10 17:19:19 alice postfix/cleanup[16911]: 8F856461BF9: message-id=
  <938e217153bc4d3d17b51efba0b6c485@ncad.me>
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]
Feb 10 17:19:52 alice postfix/smtpd[16935]: connect from localhost[127.0.0.1]
Feb 10 17:19:52 alice postfix/smtpd[16935]: 5B8EF461C21: client=localhost[127.0.0.1]
Feb 10 17:19:52 alice postfix/cleanup[16911]: 5B8EF461C21:
  message-id=<938e217153bc4d3d17b51efba0b6c485@ncad.me>
Feb 10 17:19:52 alice postfix/qmgr[15289]: 5B8EF461C21: from=<nicolas.cachelou@ncad.me>,
  size=2022, nrcpt=1 (queue active)
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
Feb 10 17:19:52 alice postfix/smtp[16912]: 8F856461BF9: 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)
Feb 10 17:19:52 alice postfix/qmgr[15289]: 8F856461BF9: removed
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)
Feb 10 17:19:52 alice postfix/qmgr[15289]: 5B8EF461C21: removed

Réception d'un Spam

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]
Feb 10 21:15:45 alice postfix/smtpd[17198]: connect from localhost[127.0.0.1]
Feb 10 21:15:45 alice postfix/smtpd[17198]: A2561461C48: client=localhost[127.0.0.1]
Feb 10 21:15:45 alice postfix/cleanup[17191]: A2561461C48:
  message-id=<07979d34eb1c3b64d76c303f6e82b714@ncad.me>
Feb 10 21:15:45 alice postfix/qmgr[15289]: A2561461C48: from=<nicolas.cachelou@ncad.me>,
  size=2587, nrcpt=1 (queue active)
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
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)
Feb 10 21:15:45 alice postfix/qmgr[15289]: 124A5461C16: removed
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)
Feb 10 21:15:45 alice postfix/qmgr[15289]: A2561461C48: removed

Réception d'un virus

Sans notification d'échec
  • 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
Avec notification d'échec

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