Inhoud
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 score | Dit 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 score | Dit 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
Commando | Omschrijving |
---|---|
sa-awl | Examine and manipulate SpamAssassin's auto-whitelist db |
sa-check_spamd | spamd monitoring script for use with Nagios, etc. |
sa-compile | Compile SpamAssassin ruleset into native code |
sa-learn | Train SpamAssassin's Bayesian classifier |
sa-update | Automate SpamAssassin rule updates |
spamd | spamd is the daemonized version of the spamassassin executable. |
spamassassin --lint | Controleer 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.txt | Learn ham and output all info to a file. |
sa-update –channel updates.spamassassin.org | Update from the default channel |
Bestandslocatie | Omschrijving |
---|---|
/etc/spamassassin/local.cf | Hierin 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
SpamAssassin configuration file
https://i-mscp.net/thread/20719-kam-ruleset-spamassassin-issues
https://mcgrail.com/template/kam.cf_channel
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:
- Controleer of updates.spamassassin.org bereikbaar is met ping
- Draai als root een keer handmatig sa-update .
- /etc/cron.daily/spamassassin probeert om sa-update te draaien als user debian-spamd .
- 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.
- Het gaat mogelijk mis omdat sa-update onder debian-spamd niet kan schrijven naar /var/lib/spamassassin/3.004004/updates_spamassassin_org .
- 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.
- Dan zouden de rechten goed gezet moeten kunnen worden met:
- $ chown -R debian-spamd:debian-spamd /var/lib/spamassassin/3.004004
- 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.