“Message contains invalid header” Thunderbird & IMAP

Ich musste heute etwas am Cyrus rumspielen. Sicherheitshalber dachte ich mir schiebst du mal eben die eMails mittels Thunderbird lokal auf die Platte. MBox da kann ja nichts schiefgehen … DENKSTE!!! Nachdem ich die eMails zurückkopieren wollte, meldet sich Cyrus er will die eMails nicht auf Grund eines kaputten Message Headers “Message contains invalid header”. Applaus, da fügt der Thunderbird doch noch vor From ein > und danach das Datum ein.

>From #####@lokalemaschine.net So Mar 28 09:46:52 2010

Hier der Quick&Dirty Workaround

grep -v '^>From ' mbox > mbox.nofrom

Danach können die Mails auch wieder zurückkopiert werden. Und dann fragen mich Leute warum ich immer noch mutt benutze – das war die Strafe fürs fremdgehen. Das nächste mal gibt es eine “richtige” Backuplösung.

mehr

Mailserver Howto für Debian

Nachdem sich Debian immer weiterdreht, habe ich meine  Mail- und Antispamhowtos zusammengefasst und mal auf den aktuellen Stand gebracht. Ich beziehe mich zwar im wesentlichen auf Debian, allerdings dürften abweichend von der Grundinstallation der Pakete, dieses Howto auf jeden anderen Linuxsystem ebenso funktionieren. Als Mailsystem kommen cyrus und postfix zum Einsatz, zur Authentifizierung der saslauthd. Zum Filtern und Virencheck setze ich Amavisd-new, Spamassassin, Razor, DCC und Pyzor ein.

Stand: 06.12.2009

ToDo – List:

- Authentifizierung (unterschiedliche Mechanismen)
- Usermanagement (Ldap)
- Usermanagement (MySQL)
- IMAP Backup

mehr

Nerfiges Brute Force

Nachdem immer wieder irgendwelche Brutforce Angriffe in meinen Logs aufgetaucht sind, habe ich mich entschlossen prinzipiell etwas dagegen zu unternehmen. Die üblichen Mechanismen root Remotelogins zu verweigern und Portnocking auf bestimmten Diensten sind manchmal einfach nicht umsetzbar …

In früheren Ansätzen habe ich auf iptables zurückgegriffen, hier ein Beispiel für SSH:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 4 --rttl  --name SSH -j LOG --log-prefix "SSH_brute_force "
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60  --hitcount 4 --rttl --name SSH -j DROP

Mitlerweile existieren gute Mechanismen und Tools die es einem sehr einfach ermöglichen, auf solche Angriffe zu reagieren. Ein solches Tool möchte ich hier vorstellen: fail2ban

Fail2Ban ist ein kleines Programm, das Logfiles verschiedenster Programme überwacht und basierend auf Einträgen in den Logfiles Ereignisse auslöst. Es kann sowohl im Hintergrund (als Dämon) als auch im Vordergrund laufen.

mehr

Spambekämpfung mit Postfix unter Debian (Teil1)

Die Version des Artikels ist veraltet, zur aktuellen Version >> hier <<

Im wesentlichen beziehe ich mich auf die Debiandistribution, allerdings dürften abweichend von der Grundinstallation der Pakete, diese Howto auf jeden anderen Linuxsystem ebenso funktionieren. Postfix setze ich installiert und konfiguriert vorraus.

Postfix und Cyrus werden hier lediglich mit einer Grundkonfiguration versorgt. Die Authentifikation erfolgt hier gegen die SASLDB. Eine wesentlich einfacher zu administrierende Installation, für mehrere Domains mit vielen Usern erfolgt später. Hauptaugenmerk im Teil1 ist das Einbinden von Spämbekämfungsmechanismen.

Als erstes installieren wir folgende Pakete:

#>apt-get install spamassassin razor perl pyzor procmail fetchmail postfix amavisd-new cyrus-common-2.2 cyrus-imapd-2.2 cyrus-admin-2.2 sasl2-bin

CURUS

Die Konfiguration des Imap-Daemon geschiet durch das Editieren der /etc/imapd.conf. Das von Debian angelegte File ist vollkommen brauchbar. Es muss allerdings noch mindestens ein Administrator des Daemons festgelegt werden.

mehr

Spamassassin Training und Cyrus

Wenn man nun erfolgreich Spamassassin installiert hat, will man natürlich auch die Trefferquote erhöhen. Heute soll es mir darum gehen, wie man Spamassassin recht autonom trainieren kann. Ich beziehe mich dabei auf meine Anleitungen – wie man Spamassassin mit Postfix auf einem Debiansystem aufsetzt.

Letztendlich geht es darum, Mailservern mit vielen Usern so zu konfigurieren, dass alle User einen “Beitrag” zur Verbesserung der Trefferquote leisten können und allen Usern diese Leistung auch zur Verfügungsteht. Damit dies funktioniert, muss man in der /etc/spamassassin/local.cf den Paramater <strong>bayes_path</strong> konfigurieren.

Bayes_path veranlasst spamassassin im angegebenen Verzeichnis nach Informationen zu erlerntem Spam zu suchen. Ist dieser Parameter nicht konfiguriert legt spamassassin für jeden User unter ~/.spamassassin eine seperate Bayes Datenbank an. Dann muss jeder User spamassassin selber trainieren.

Als nächstes lege ich standardmässig Mailverzeichnisse für jeden User in Cyrus Imapd an. Einen Ordner Spam und einen Ordner SpamMiss. In ersteren entsorgt Sieve alle bereits als Spam erkannten Mail. In den Ordner SpamMiss werden alle nicht als Spam erkannten Mails durch den jeweiligen User abgelegt. Ebenso wäre ein Ordner SpamFail denkbar, in denen Mails abgelegt werden können, die fälschlich als Spam markiert wurden.

Mittels des Tools http://www.pollux.franken.de/hjb/mail-server/index.html werden nun via cron alle Mails an spamassassin verfüttert.

Ausführlichere Informationen zur Implementierung >>hier<<

mehr