Je suis récemment passé à la version Ubuntu 14.04.1 LTS (fidèle) et j'ai suivi les instructions de https://help.ubuntu.com/14.04/serverguide/mail-filtering.html et j'envoie et reçois du courrier. ça va.
Bien que je voie les en-têtes X-Virus-Scanned
dans mes messages, ce qui suggère que le courrier est effectivement traité, je ne vois aucun en-tête X-Spam-Level
ni X-Spam-Score
ajouté aux messages. Cela rend plus difficile le filtrage procmailrc
et le filtrage côté client en aval.
Bien que le fait d'avoir $final_spam_destiny = D_DISCARD
dans /etc/amavis/conf.d/20-debian_defaults réduise considérablement le courrier indésirable dans ma boîte de réception, je craignais des faux positifs avant le réglage et je ne savais pas qu'ils allaient bien. à D_PASS
pour le moment. Cela a exposé le problème.
Je ne sais pas par où commencer pour diagnostiquer le problème (sinon, je posterais un fichier de configuration suspect).
/etc/amavis/conf.d/15-content_filter_mode a les lignes non mises en commentaire pour permettre les contrôles antivirus et antispam, et la vérification antivirus semble fonctionner selon les en-têtes.
Spam Assassin semble bien commencer aussi.
Installations de débogage de SpamAssassin: info
SA info: zoom: capable d'utiliser les règles compilées 'body_0' 360/360 (100%)
SpamAssassin chargés de plugins: AskDNS, AutoLearnThreshold, Bayes, BodyEval, Vérifier, DKIM, DNSEval, FreeMail, HTMLEval, HTTPSMismatch, Hashcash, HeaderEval, ImageInfo, MIMEEval, MIMHEval, MIMEHead, Mz , SpamCop, URIDNSBL, URIDetail, URIEval, VBounce, WLBLEval, WhiteListSubject
SpamControl: init_pre_fork sur SpamAssassin terminé
J'ai également défini $log_level = 2;
dans /etc/amavis/conf.d/50-user et je ne vois aucune erreur évidente dans les journaux.
Q: Des recommandations sur ce qu'il faut essayer ensuite?
UPDATE (il semble que j'ai déjà le bon réglage):
/etc/amavis/conf.d$ grep sa_tag_level_deflt *
20-debian_defaults:# $sa_tag_level_deflt = 2.0; # add spam info headers if at, or above that level
20-debian_defaults:$sa_tag_level_deflt = -999; # add spam info headers if at, or above that level
Donc, le problème est résolu et il s’agit d’une agglomération de choses que je détaillerai ici pour que d’autres se retrouvent sur le même chemin.
Tout d'abord, spamassassin semble rencontrer des problèmes (dans certains environnements) fonctionnant avec ipv6. Je ne sais pas pourquoi. Modifiez /etc/default/spamassassin
ou /etc/init.d/spamassassin
si vous n'en avez pas et ajoutez --ipv4
à la liste OPTIONS
. Ensuite, utilisez service spamassassin restart
pour faire rebondir le service, et service spamassassin status
pour vérifier que spamd est en cours d'exécution. Cette étape peut ne pas être nécessaire pour votre configuration.
Ensuite, assurez-vous que vous avez un fichier /etc/procmailrc
, que ses autorisations sont lisibles par tout le monde et qu'il contient à peu près ce qui suit:
DROPPRIVS=yes
:0fw
| /usr/bin/spamc
:0
* ^X-Spam-Status: Yes
$HOME/mail/possible-spam
Ensuite, si vous utilisez webmin , vous voudrez vérifier le service procmail et vous assurer qu'il ne vous avertit pas que postfix n'est pas configuré pour utiliser - procmail . Dans /etc/postfix/main.cf
, vous voudrez mettre en commentaire le mailbox_command
par défaut pour exécuter deliver et le remplacer par procmail. Vous devrez exécuter service postfix restart
après avoir modifié le fichier.
#mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/dovecot.conf -m "${EXTENSION}"
mailbox_command = procmail -a "$EXTENSION"
Si vous avez déplacé manuellement vos messages de courrier indésirable dans un dossier appelé spam
, vous souhaitez former un assassin de courrier indésirable de la manière suivante:
sa-learn --progress --dbpath ~/.spamassassin --spam --mbox ~/mail/spam
Notez qu'il est possible d'effectuer d'autres ajustements, ce qui nécessitera ensuite un service spam assassin restart
, mais cela peut aider.
Premièrement, dans /etc/spamassassin/local.cf
, définissez required_score
sur une valeur légèrement inférieure si vous recevez beaucoup de spams:
# Set the threshold at which a message is considered spam (default: 5.0)
#
required_score 4.0
Dans le même fichier, /etc/spamassassin/local.cf
, il est également possible de filtrer par pays riches en spams en ajoutant ceci à la fin. Voici la Russie et la Chine, deux contributeurs très lourds historiquement parlant basés sur une analyse de courrier électronique.
# Filter Russia
header RELAYCOUNTRY_RU X-Relay-Countries =~ /RU/
describe RELAYCOUNTRY_RU Relayed through Russia
score RELAYCOUNTRY_RU 8.0
# Filter China
header RELAYCOUNTRY_CN X-Relay-Countries =~ /CN/
describe RELAYCOUNTRY_CN Relayed through China
score RELAYCOUNTRY_CN 8.0
report_header 1
fold_headers 1
detailed_phrase_score 1
Ce qui précède a non seulement résolu l'en-tête manquant, ce qui, je suppose, était le non-invocation de procmail.
Le résultat de la commande head -n 1 /etc/mailname
doit être votre domaine, comme example.com
.
Si le résultat est quelque chose comme mail.example.com
, c'est le bogue.
Vous pouvez donc résoudre ce problème en modifiant le fichier /etc/amavis/conf.d/05-domain_id
Solution # 1
À l'intérieur /etc/amavis/conf.d/05-domain_id
:
Changement:
chomp($mydomain = `head -n 1 /etc/mailname`);
À:
chomp($mydomain = `hostname -d`);
PS: Le résultat de hostname -d
doit être votre domaine, comme example.com
.
La solution la plus simple que jamais:
À l'intérieur /etc/amavis/conf.d/05-domain_id
:
Changement:
chomp($mydomain = `head -n 1 /etc/mailname`);
À:
$mydomain = "example.com";
/etc/amavis/conf.d/20-debian_defaults
http://Pastebin.com/5xuvNVtD
Modifier la ligne 36 à quelque chose comme ça:
$sa_tag_level_deflt = -999; # add spam info headers if at, or above that level
Après l'enregistrement et le redémarrage du service ou le rechargement de la configuration, tous les courriels doivent avoir l'en-tête x-spam-status.