Gegen Internetzensur
Stoppt die Vorratsdatenspeicherung! Jetzt klicken & handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien:
  • Flickr Photos

    www.flickr.com
8. Mrz
Sam

mac@ubuntu:/$ AppArmor, p3scan, spamassassin

Nur weitere Problemlösungen und Denkansätze. Wen die Titelzeile schon nicht reizt, der braucht diesen Beitrag wirklich nicht weiter zu lesen. :wink:

Ich hatte euch gewarnt!

AppArmor blockiert Anwendungen

avahi wollte mal wieder nicht, dieses Mal wurde das Systemprotokoll geflutet mit Meldungen á la

Mar  8 19:58:46 acquitaine kernel: [ 2234.444491] audit(1205002726.510:2204):
type=1503 operation="inode_permission" requested_mask="r" denied_mask="r"
name="/etc/avahi/etc/localtime" pid=12759 profile="/usr/sbin/avahi-daemon"

“Schuld” ist AppArmor. (s.A. dmesg | grep audit)
Ein Lösungsansatz:

sudo aa-logprof
sudo /etc/init.d/apparmor reload

Weiteres Lesezeichen zum Thema AppArmor: Der AppArmor-Artikel auf ubuntuusers.

Thunderbird um spamassassin ergänzen

Dann habe ich mein Thunderbird um einen Virenscan und spamassassin ergänzt.

Erst gilt es, die Pakete spamassassin [apt], p3scan [apt] und clamav [apt] besorgen.
p3scan ist ein transparenter POP3-Filter; Im Grunde startet man ihn als Daemon und weist das System via iptables an, Anfragen an POP3- und POP3s-Server durch den p3scan zu routen. Zuerst muss die Datei /etc/p3scan/p3scan.conf angepasst werden, und eigentlich ergibt sich alles aus den Kommentaren in der Datei. Dort steht allerdings, dass clamav als derselbe Benutzer gestartet werden soll, wie p3scan (wegen der Dateizugriffe); Etwaige Probleme damit lassen sich einfach umschiffen, indem man den Benutzer, unter dem clamav läuft (siehe /etc/clamav/clamd.conf) stattdessen einfach die Gruppe p3scan eingliedert:

sudo adduser clamav p3scan

Danach die Dämonen neu starten:

sudo /etc/init.d/clamav-daemon restart
sudo /etc/init.d/p3scan restart

Als Nächstes folgt die Umleitung des Postverkehrs durch den Filter. Die Befehle dafür sind:

iptables -t nat -I OUTPUT -p tcp --dport pop3 -j REDIRECT --to 8110
iptables -t nat -I OUTPUT -p tcp --dport pop3s -j REDIRECT --to 8110
iptables -t nat -I OUTPUT -p tcp --dport pop3 -m owner --uid-owner p3scan -j ACCEPT
iptables -t nat -I OUTPUT -p tcp --dport pop3s -m owner --uid-owner p3scan -j ACCEPT

Damit die Einstellungen auch beim nächsten Start ziehen, kann man sie in die Datei /etc/rc.local einfügen – allerdings sollte man sich vorher sicher sein, dass auch alles funktioniert. Wenn es nicht funktioniert, bekommt Thunderbird entweder gar keine Verbindung zum Server oder er meldet neue Emails, die er herunterladen möchte, bekommt aber letztlich keine. (Die Post war bei mir nicht verloren, weil sie nicht vom Server gelöscht wurde)

Wenn spamassassin noch nicht konfiguriert wurde, ist der richtige Ort dafür die Datei /etc/spamassassin/local.cf

Meine “wichtigsten” Änderungen daran:

use_bayes 1
bayes_auto_learn 1
bayes_path /var/spool/spamassassin/bayes
bayes_file_mode 777

Den Ordner in bayes_path evtl. von Hand erstellen und auf die Schreibrechte achten!
Der in bayes_path angegebene Pfad setzt sich zusammen aus einem Ordner /var/spool/spamassassin und einem Dateinamenprefix bayes. Der Ordner muss existieren und rw-Rechte haben. Auf Basis des Namens “bayes” werden weitere Dateien erstellt: bayes.mutex, bayes_seen und bayes.toks.

Prüfen lässt sich die Funktionalität von spamassassin anhand folgenden Kommandos:

spamassassin -D < pfad/zu/einer/spammail 2> ausgabe.txt

Hier wird eine Email geprüft und auf der Konsole ausgegeben. Die Debugausgaben (-D) sind recht lang und werden deswegen in die Datei ausgabe.txt umgeleitet. (Es muss “2>” heißen, damit die Ausgabe von stderr umgeleitet wird!)

Der letzte Schritt ist dann das Trainieren von spamassassin. Dazu sollte man einen Haufen Spammails haben (Bei mir sind das mitunter 30 die Stunde und mehr, also ist DAS nicht meine Sorge :mrgreen: ). Wenn man mit Thunderbird und “Lokalem Ordner” arbeitet und dort seinen Junk/Spamordner hat, ist es eigentlich simpel: Einfach in den Mailordner wechseln und dort sa-learn anwenden.

cd ~/.mozilla-thunderbird/<profilname>/Mail/Local\ Folders/
sa-learn --spam --mbox Junk

Beim nächsten Start (sudo /etc/init.d/spamassassin restart) sollte dann alles gegessen sein.

Da gibt es auch noch clamassassin; Das klingt einfacher für den Virenscan, aber ich muss es mir erst noch genauer ansehen.

3 Antworten zu „mac@ubuntu:/$ AppArmor, p3scan, spamassassin”

  1. #1~nrwler

    Super Tutorial, dank dir.
    Internette Grüße

  2. #2~Mac

    Oh – danke! :smile:

  3. [...] eine andere Möglichkeit in Verbindung mit ClamAV, und zwar mit dem transparenten Proxy P3Scan. Diese Methode ist allerdings etwas umständlicher und funktioniert nur mit E-Mails und nur POP3-Konten. Da ich [...]