Gebruikershulpmiddelen

Site-hulpmiddelen


werkgroep:ict:beheer:software:email:spamassassin

Spamassassin

Basic Setup and Advanced techniques
Setting up Site-Wide Bayesian Filtering
spamc de spamassassin command line client. Deze kan worden gebruikt om te testen of een e-mail als spam wordt gezien, of niet.
DNS overwegingen
Vaststellen of spamassassin doet wat er van verwacht wordt: Logging

Todo

How to train SpamAssassin.
Setting up Site-Wide Bayesian Filtering

FAQ

Regels schrijven
FAQ van jam-software.de
Bug 7033 - dns: no callback unusual errors seen in logs.
Over de Spamassassin score

Spamassassin tag scoreDit is de score die een e-mail minimaal moet hebben om als spam gekenmerkt te worden. Aan het begin van het onderwerp wordt dan iets van *SPAM* toegevoegd. De e-mail komt gewoon in de inbox.
Spamassassin refuse scoreDit is de score waarbij de e-mail of in de junk / spam folder geplaatst wordt of verwijderd wordt. Dit afhankelijk van de instelling in het e-mail account.

Regels

McGrail

Source
Uitgevoerd:
wget https://mcgrail.com/downloads/kam.sa-channels.mcgrail.com.key

sa-update --import kam.sa-channels.mcgrail.com.key

NOTE: The key fingerprint is: 21D9 7142 272C 9066 FCAA 792B 4A15 6DA5 24C0 \63D8 Update the KAM Ruleset Channel:

sa-update --gpgkey 24C063D8 --channel kam.sa-channels.mcgrail.com

Dit gebeurd in /etc/cron.daily/spamassassin : The channel update should be run periodically via Cron, with an additional SpamAssassin lint check for safety, running sa-compile (if enabled), and restarting the spamd services.

Status checken:

systemctl status spamassassin

Issues

Search for: spamd dependency “with a zero score” Example of the error message in journalctl:

Feb 24 00:45:11 mail spamd[753436]: rules: meta test KAM_FAKE_INVOICE has dependency 'KAM_RAPTOR_ALTERED' with a zero score

Commando's

CommandoOmschrijving
sa-awlExamine and manipulate SpamAssassin's auto-whitelist db
sa-check_spamdspamd monitoring script for use with Nagios, etc.
sa-compileCompile SpamAssassin ruleset into native code
sa-learnTrain SpamAssassin's Bayesian classifier
sa-updateAutomate SpamAssassin rule updates
spamdspamd is the daemonized version of the spamassassin executable.
spamassassin --lintControleer of het regelsbestand fouten bevat

Voorbeelden

sa-learn –dump all –debug –ham /var/spool/vmail/piratenpartij.nl/catchall/Maildir/.INBOX.Ham/ 2> /tmp/sa-learn.debug.txtLearn ham and output all info to a file.
sa-update –channel updates.spamassassin.orgUpdate from the default channel
BestandslocatieOmschrijving
/etc/spamassassin/local.cfHierin kunnen zaken worden ingesteld zoals treshhold en onderwerp aanpassing (bijvoorbeeld *****SPAM***** naar *2***SPAM***** .

Rules

All the rules can be found in

/etc/spamassassin/KAM.cf

Meer informatie

Cron

Spamassassin runs daily from

/etc/cron.daily/spamassassin

This program also runs sa-update

Errors

/etc/cron.daily/spamassassin:
channel 'updates.spamassassin.org': could not find working mirror, channel failed
sa-update failed for unknown reasons

Oplossing:

  1. Controleer of updates.spamassassin.org bereikbaar is met ping
  2. Draai als root een keer handmatig sa-update .
    1. /etc/cron.daily/spamassassin probeert om sa-update te draaien als user debian-spamd .
    2. De user debian-spamd heeft als home directory /var/lib/spamassassin en daar is debian-spamd inderdaad owner van alles, behalve de subdirectory 3.004004 , waaronder zich weer de `updates_spamassassin_org` directory bevindt, waarin de rules die sa-update download worden opgeslagen. Die is van root. Dat zal waarschijnlijk komen omdat sa-learn in het verleden al eerder als root is gedraaid.
    3. Het gaat mogelijk mis omdat sa-update onder debian-spamd niet kan schrijven naar /var/lib/spamassassin/3.004004/updates_spamassassin_org .
    4. Een keer een handmatig sa-update als root doen en dan is de het daar weer up to date, en probeert hij nu dus niet meer te updaten waardoor de foutmelding niet meer verschijnt.
  3. Dan zouden de rechten goed gezet moeten kunnen worden met:
    1. $ chown -R debian-spamd:debian-spamd /var/lib/spamassassin/3.004004
  4. Daarna zou het opgelost moeten zijn.

sa-update

Errors

$ sa-update && /etc/init.d/spamassassin reload

error: gpg required but not found!  It is not recommended, but you can
use "sa-update" with the --no-gpg to skip the verification.

Solution: Install gpg

sa-compile

Bij installatie gaat sa-compile aan het werk. Daarbij kwamen de volgende foutmeldingen naar voren:

Feb 14 18:10:17.745 [369080] info: config: invalid regexp for __DSR_MIJNOVERHEID_001 '/\@mijnoverheid\.nl|\@.{1..65}
\.mijnoverheid\.nl|\@mijn.overheid\.nl|\@.{1..65}\.mijn.overheid\.nl/i': Unescaped left brace in regex is passed through in
regex; marked by <-- HERE in m/(?i)\@mijnoverheid\.nl|\@.{ <-- HERE 1..65}\.mijnoverheid\.nl|\@mijn.overheid\.nl|\@.{1..65}
\.mijn.overheid\.nl/
Feb 14 18:10:17.757 [369080] info: config: invalid regexp for __DSR_VEILIGBANK_001 '/\@veiligbankieren.nl|\@.{1..65}
\.veiligbankieren.nl|\@veilig.bankieren.nl|\@.{1..65}\.veilig.bankieren.nl/i': Unescaped left brace in regex is passed
through in regex; marked by <-- HERE in m/(?i)\@veiligbankieren.nl|\@.{ <-- HERE 1..65}\.veiligbankieren.nl|
\@veilig.bankieren.nl|\@.{1..65}\.veilig.bankieren.nl/
Feb 14 18:12:32.996 [374307] info: rules: meta test KAM_BADPDF2 has dependency 'KAM_RPTR_SUSPECT' with a zero score
Feb 14 18:12:33.004 [374307] info: rules: meta test KAM_REALLY_FAKE_DELIVER has dependency 'KAM_RPTR_PASSED' with a zero score
Feb 14 18:12:33.008 [374307] info: rules: meta test KAM_JURY has dependency 'KAM_RAPTOR_ALTERED' with a zero score
Feb 14 18:12:33.009 [374307] info: rules: meta test KAM_WARRANTY3 has dependency 'CBJ_GiveMeABreak' with a zero score
Feb 14 18:12:33.013 [374307] info: rules: meta test KAM_AUTO has dependency 'CBJ_GiveMeABreak' with a zero score
Feb 14 18:12:33.014 [374307] info: rules: meta test KAM_FAKE_DELIVER has dependency 'KAM_RAPTOR_ALTERED' with a zero score
Feb 14 18:12:33.016 [374307] info: rules: meta test KAM_INSURE has dependency 'CBJ_GiveMeABreak' with a zero score
Feb 14 18:12:33.017 [374307] info: rules: meta test KAM_WARRANTY has dependency 'CBJ_GiveMeABreak' with a zero score
Feb 14 18:12:33.019 [374307] info: rules: meta test JMQ_CONGRAT has dependency 'KAM_RAPTOR_ALTERED' with a zero score
Feb 14 18:12:33.024 [374307] info: rules: meta test KAM_NOTIFY2 has dependency 'KAM_IFRAME' with a zero score
Feb 14 18:12:33.025 [374307] info: rules: meta test KAM_INSURE2 has dependency 'CBJ_GiveMeABreak' with a zero score
Feb 14 18:12:33.028 [374307] info: rules: meta test KAM_CARD has dependency 'KAM_RPTR_SUSPECT' with a zero score
sa-compile: not compiling; 'spamassassin --lint' check failed!
dpkg: error processing package sa-compile (--configure):
installed sa-compile package post-installation script subprocess returned error exit status 255
Errors were encountered while processing:
sa-compile

Onderzoek leert dat:

  • de “info: config:” regels opgelost moeten worden.
  • de “info: rules:” regels genegeerd kunnen worden.

Oplossing voor die “info: config:” regels: voeg een '\' toe voor de '{'jes (2x per expressie)

Testen of er fouten in de regels zitten kan met spamassassin –lint
Een voorbeeld van de uitvoer van sa-compile.

sa-learn

If you are using mail boxes in format other than maildir you should use the –mbox or –mbx parameters.
PPNL uses the Maildir format.

sa-learn --ham /var/spool/vmail/piratenpartij.nl/catchall/Maildir/.INBOX.Ham/
sa-learn --spam /var/spool/vmail/piratenpartij.nl/catchall/Maildir/.INBOX.Spam/

Script & cron

Create a script and put it in /etc/cron.daily/

#! /bin/bash
 
sa-learn --ham /var/spool/vmail/piratenpartij.nl/catchall/Maildir/.INBOX.Ham/
sa-learn --spam /var/spool/vmail/piratenpartij.nl/catchall/Maildir/.INBOX.Spam/

cron draait dit script dan elke dag om 6:25 in de ochtend, als de voorliggende scripts in de folder zijn afgewerkt, zoals te zien is in /etc/crontab .
De e-mails in de betreffende folders kunnen daarna verwijderd worden. Nu, 230214, nog handmatig. Als uitgevonden is hoe dat automasch kan kan dat aan het script worden toegevoegd. Daartoe moet Maildir bestudeerd worden.

E-mails automatisch verwijderen

Te onderzoeken: Hoe verwijderen we e-mails via een script / cronjob uit een Maildir folder zonder wat defect te maken?

Troubelshooting

Importeren

Vanuit OTRS

Handmatig

Email vanuit OTRS importeren in een e-mailclient

  • Zoek het orginele bericht onderaan in de ticket
  • Klik op “Plain Format”
  • Klik op “Download this email” en sla het bestand op.
  • Sylpheed e-mailclient:
    • Bestand > Import mail data
      • Fileformat: .eml
      • Source: Waar het .eml bestand / de bestanden zijn opgeslagen
      • Destination folder: #imap/PiratenpartijCatchall/INBOX/Spam
    • Klik op “OK”

Met een script

Doe, als root, als het nog niet gedaan is:

cd /root

Voeg aan .bashrc of .bash_aliases van root toe (vervang username door jouw username)

alias mveml='/root/admin-scripts/export_spam.pl /home/username/otrsspam/; cd /home/username/otrsspam; chown username:username *'

Doe

source .bashrc

of

source .bash_aliases

Maak de directory

mkdir /home/username/otrsspam/

aan.

Doe elke keer als de spam uit OTRS geëxporteerd moet worden:
Voer

mveml

uit.
Haal met sshfs de bestanden naar jouw computer: importeer ze in jouw e-mail client in de IMAP folder Spam van het PPNL Catchall account.

werkgroep/ict/beheer/software/email/spamassassin.txt · Laatst gewijzigd: 2023/04/07 15:14 door wim