wiki/HowtoMail/SpamAssassin.md

152 lines
4.9 KiB
Markdown
Raw Permalink Normal View History

2016-12-29 11:25:39 +01:00
**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
## SpamAssassin
### Utilisation avec SpamPD
Il est courant d'utiliser SpamAssassin par l'intermédiaire d'Amavisd. Cependant si pour diverses raisons on ne veut pas s'emcombrer d'Amavisd, il est possible d'utiliser un proxy SMTP, Spam Proxy Daemon (SpamPD) qui sera appelé par Postfix comme « content-filter ».
#### Installation
~~~
2017-01-14 00:06:38 +01:00
# aptitude install spampd
2016-12-29 11:25:39 +01:00
~~~
#### Configuration de SpamPD
Fichier _/etc/default/spampd_ :
2017-01-14 00:06:38 +01:00
2016-12-29 11:25:39 +01:00
~~~
STARTSPAMPD=1
~~~
La configuration de SpamAssassin sera utilisé, mais on peut surcharger celle-ci en spécifiant un fichier de conf spécifique à SpamPD :
2017-01-14 00:06:38 +01:00
2016-12-29 11:25:39 +01:00
~~~
ADDOPTS="--config=/etc/spampd.conf"
~~~
#### Intégration avec Postfix
Fichier _/etc/postfix/main.cf_ :
2017-01-14 00:06:38 +01:00
2016-12-29 11:25:39 +01:00
~~~
content_filter =scan:[127.0.0.1]:10025
~~~
Fichier _/etc/postfix/master.cf_ :
2017-01-14 00:06:38 +01:00
2016-12-29 11:25:39 +01:00
~~~
scan unix - - y - 10 smtp
localhost:10026 inet n - y - 10 smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o myhostname=filter.mynetwork.local
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
2017-01-16 16:57:17 +01:00
~~~
## Debug
Comprendre tout ce que fait SA sur un mail en particulier.
```
# spamassassin -D -t < /chemin/vers/un/mail
```
2017-01-16 16:57:17 +01:00
## RBLs
2017-01-16 17:23:53 +01:00
SA dispose de certaines RLBs intégrés, elles sont dans `/usr/share/spamassassin/20_dnsbl_tests.cf`.
Ces RBLs sont utilisés en rapport avec l'adresse IP de l'expéditeur.
2017-01-16 16:57:17 +01:00
~~~
# grep header /usr/share/spamassassin/20_dnsbl_tests.cf
header __RCVD_IN_NJABL eval:check_rbl('njabl', 'combined.njabl.org.')
header __RCVD_IN_ZEN eval:check_rbl('zen', 'zen.spamhaus.org.')
header RCVD_IN_SBL eval:check_rbl_sub('zen', '127.0.0.2')
header RCVD_IN_XBL eval:check_rbl('zen-lastexternal', 'zen.spamhaus.org.', '127.0.0.[45678]')
2017-01-16 17:23:53 +01:00
[…]
2017-01-16 16:57:17 +01:00
~~~
2017-01-16 17:23:53 +01:00
D'autres RBLs sont utilisés en rapport avec les liens dans le corps du message.
2017-01-16 16:57:17 +01:00
2017-01-16 17:33:45 +01:00
~~~
# grep check_rbl /usr/share/spamassassin/72_active.cf
2017-01-16 17:23:53 +01:00
header RCVD_IN_BRBL_LASTEXT eval:check_rbl('brbl-lastexternal','bb.barracudacentral.org')
[…]
2017-01-16 16:57:17 +01:00
~~~
2017-01-16 17:23:53 +01:00
On pourra s'assurer d'augmenter le score d'une note tueuse si une adresse IP est dans l'une de ces RBL. Par exemple en mettant `local.cf` :
~~~
2017-01-16 17:43:23 +01:00
score RCVD_IN_XBL 3.0
score RCVD_IN_BRBL_LASTEXT 3.0
2017-01-16 17:23:53 +01:00
~~~
2017-01-16 16:57:17 +01:00
### Ajout d'une RBL
2017-01-16 17:23:53 +01:00
Dans `local.cf` ou ailleurs :
~~~
header RCVD_IN_DNSBL_INPS_DE eval:check_rbl('inps-de','dnsbl.inps.de.')
describe RCVD_IN_DNSBL_INPS_DE Received via a relay in inps.de DNSBL
tflags RCVD_IN_DNSBL_INPS_DE net
score RCVD_IN_DNSBL_INPS_DE 3.0
~~~
Cet exemple ajoute un check RBL de dnsbl.inps.de.
Quelques RBLs en plus.
~~~
header RCVD_IN_DNSBL_INPS_DE eval:check_rbl('inps-de','dnsbl.inps.de.')
describe RCVD_IN_DNSBL_INPS_DE Received via a relay in inps.de DNSBL
tflags RCVD_IN_DNSBL_INPS_DE net
2017-01-16 17:30:13 +01:00
score RCVD_IN_DNSBL_INPS_DE 1.0
2017-01-16 17:23:53 +01:00
header RCVD_IN_DNSBL_ASCAMS eval:check_rbl('ascams','superblock.ascams.com.')
describe RCVD_IN_DNSBL_ASCAMS Received via a relay in superblock.ascams.com. DNSBL
tflags RCVD_IN_DNSBL_ASCAMS net
2017-01-16 17:30:13 +01:00
score RCVD_IN_DNSBL_ASCAMS 1.0
2017-01-16 17:23:53 +01:00
header RCVD_IN_DNSBL_CBL_ABUSEAT eval:check_rbl('cbl-abuseat','cbl.abuseat.org.')
describe RCVD_IN_DNSBL_CBL_ABUSEAT Received via a relay in cbl.abuseat.org. DNSBL
tflags RCVD_IN_DNSBL_CBL_ABUSEAT net
2017-01-16 17:30:13 +01:00
score RCVD_IN_DNSBL_CBL_ABUSEAT 1.0
2017-01-16 17:23:53 +01:00
header RCVD_IN_DNSBL_JUSTSPAM eval:check_rbl('justspam','dnsbl.justspam.org.')
describe RCVD_IN_DNSBL_JUSTSPAM Received via a relay in dnsbl.justspam.org. DNSBL
tflags RCVD_IN_DNSBL_JUSTSPAM net
2017-01-16 17:30:13 +01:00
score RCVD_IN_DNSBL_JUSTSPAM 1.0
2017-01-16 17:23:53 +01:00
header RCVD_IN_DNSBL_MCAFEE eval:check_rbl('mcafee','cidr.bl.mcafee.com.')
describe RCVD_IN_DNSBL_MCAFEE Received via a relay in cidr.bl.mcafee.com. DNSBL
tflags RCVD_IN_DNSBL_MCAFEE net
2017-01-16 17:30:13 +01:00
score RCVD_IN_DNSBL_MCAFEE 1.0
2017-01-16 17:23:53 +01:00
header RCVD_IN_DNSBL_S5H eval:check_rbl('s5h','all.s5h.net.')
describe RCVD_IN_DNSBL_S5H Received via a relay in all.s5h.net. DNSBL
tflags RCVD_IN_DNSBL_S5H net
2017-01-16 17:30:13 +01:00
score RCVD_IN_DNSBL_S5H 1.0
2017-01-16 17:23:53 +01:00
header RCVD_IN_DNSBL_SPAMCANNIBAL eval:check_rbl('spamcannibal','bl.spamcannibal.org.')
describe RCVD_IN_DNSBL_SPAMCANNIBAL Received via a relay in bl.spamcannibal.org. DNSBL
tflags RCVD_IN_DNSBL_SPAMCANNIBAL net
2017-01-16 17:30:13 +01:00
score RCVD_IN_DNSBL_SPAMCANNIBAL 1.0
2017-01-16 17:23:53 +01:00
header RCVD_IN_DNSBL_UCEPROTECT-1 eval:check_rbl('uceprotect-1','dnsbl-1.uceprotect.net.')
describe RCVD_IN_DNSBL_UCEPROTECT-1 Received via a relay in dnsbl-1.uceprotect.net. DNSBL
tflags RCVD_IN_DNSBL_UCEPROTECT-1 net
2017-01-16 17:30:13 +01:00
score RCVD_IN_DNSBL_UCEPROTECT-1 1.0
2017-01-16 17:23:53 +01:00
header RCVD_IN_DNSBL_JUNKEMAILFILTER eval:check_rbl('junkemailfilter','hostkarma.junkemailfilter.com.', '127.0.0.2')
describe RCVD_IN_DNSBL_JUNKEMAILFILTER Received via a relay in hostkarma.junkemailfilter.com. DNSBL
tflags RCVD_IN_DNSBL_JUNKEMAILFILTER net
2017-01-16 17:30:13 +01:00
score RCVD_IN_DNSBL_JUNKEMAILFILTER 1.0
2017-01-16 17:23:53 +01:00
~~~