====== Spamassassin ====== [[http://www.stearns.org/doc/spamassassin-setup.current.html|Basic Setup and Advanced techniques]]\\ [[https://cwiki.apache.org/confluence/display/spamassassin/SiteWideBayesSetup|Setting up Site-Wide Bayesian Filtering]]\\ [[https://manpages.org/spamc|spamc]] de spamassassin command line client. Deze kan worden gebruikt om te testen of een e-mail als spam wordt gezien, of niet.\\ [[https://geekthis.net/post/spamassassin-sa-update|DNS overwegingen]]\\ Vaststellen of spamassassin doet wat er van verwacht wordt: [[:werkgroep:ict:beheer:software:email:spamassassin:logging|Logging]]\\ ===== Todo ===== How to [[https://geekthis.net/post/spamassassin-training|train]] SpamAssassin.\\ Setting up [[https://cwiki.apache.org/confluence/display/SPAMASSASSIN/SiteWideBayesSetup|Site-Wide Bayesian Filtering]]\\ ===== FAQ ===== [[https://cwiki.apache.org/confluence/display/SPAMASSASSIN/WritingRules|Regels schrijven]]\\ [[https://manuals.jam-software.de/spamassassin/EN/faq.html|FAQ]] van jam-software.de\\ [[https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7033|Bug 7033]] - dns: no callback unusual errors seen in logs.\\ Over de [[https://www.mailercheck.com/articles/spamassassin-score|Spamassassin score]] |< 100% 20% - >| |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 ===== [[https://dutchspamassassinrules.nl|Nederlandse DSR regels]] voor [[https://en.wikipedia.org/wiki/MailScanner|MailScanner]]\\ [[https://docs.titanhq.com/en/26431-kam-rules.html|KAM regels]] ==== McGrail ==== [[https://mcgrail.com/template/kam.cf_channel|Source]]\\ Uitgevoerd:\\ wget [[https://mcgrail.com/downloads/kam.sa-channels.mcgrail.com.key|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| |< 100% 25% - >| ^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 ==== [[https://spamassassin.apache.org/full/2.6x/dist/doc/Mail_SpamAssassin_Conf.html|SpamAssassin configuration file]]\\ [[https://i-mscp.net/thread/20719-kam-ruleset-spamassassin-issues|https://i-mscp.net/thread/20719-kam-ruleset-spamassassin-issues]]\\ [[https://mcgrail.com/template/kam.cf_channel|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 ===== [[https://spamassassin.apache.org/full/3.1.x/doc/sa-update.html|man page]] ==== 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 [[:werkgroep:ict:beheer:software:email:sa-compile-output-example|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 ===== [[:werkgroep:ict:beheer:software:email:spamassassin:foutmeldingen:voorbeeld|Spamassassin foutmeldingen voorbeeld]] ===== 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.