• Wer ist schuld am Amoklauf von Winnenden?

    Published 12. March 2009 at 11:38 am - 3 Comments

    So...

  • McColo offline – Spam Volume drops

    Published 13. November 2008 at 5:44 pm - No Comments

    After...

  • Mugabe, Zimbabwe, die Wahl, die Waffen und die “An Yue Jiang”

    Published 21. April 2008 at 11:08 pm - No Comments

    Seit meinem Besuch im August 2007 im westlichen Teil von Zimbabwe geht mir dieses Thema verständlicherweise viel näher als vorher. Nicht allein weil ich live miterleben konnte, wie das Land zu Grunde geht, sondern auch wegen der Anteilnahme, die unsere südafrikanischen Führer der Situation entgegenbrachten und wie sie uns dafür sensibilisierten (links unsere damalige Reiseroute mit Endstation in Zimbabwe). Damals schon wurde hoffnungsvoll auf die kommenden Wahlen geblickt, die nun am 29.3.2008 stattfanden und bei denen allgemein gehofft wurde, dass der 84-jährige Robert Mugabe nach 28-jähriger Amtszeit als Regierungsoberhaupt endlich abgelöst wird. Kein Zweifel besteht daran, dass er in seiner Amtszeit das Land mit diktatorischen und unmenschlichen Aktionen heruntergewirtschaftet hat – im Februar diesen Jahres hatte die Inflationsrate 100.000% überschritten. Die Touristenhochburg Zimbabwes liegt im westlichen Zipfel: Die mächtigen Victoria Falls sind nach wie vor ein beliebtes Reiseziel und sehr beeindruckend, doch auch im Touristädtchen mit dem gleichen Namen macht sich die Armut bemerkbar. An den Tankstellen gibt es keinen Sprit, Softdrinks werden in Kneipen als Spezialität des Tages gelistet (und das ist kein Scherz) und der allgemeine Trend eines jeden zimbabwischen Einwohners ist das Pilgern nach Victoria Falls, um sich dort wenigstens ein kleines Scheibchen vom Tourismus abschneiden zu können. Schlangen über hunderte Meter bilden sich morgens an einem kleinen 7-Eleven Laden, weil das Gerücht umherging, es gäbe Brot. Einheimische kommen dir alle paar Meter entgegen und wollen dir ihre geschnitzten Figuren verkaufen – nicht für Geld, sondern im Tausch gegen dein altes verschwitzes T-Shirt oder deine dreckigen Schuhe. Rießige Hotelanlagen wie “The Kindgom“, das einst Michael Jackson gehörte, sind wie leergefegt – trotz Tourismus. Die Fressmeile im Inneren des Hotelkomplexes hat nur noch wenige Läden geöffnet und wenn man sich eine Pizza bestellen willst, muss man auf 40% seiner Toppings verzichten oder Kompromisse eingehen. Für ein Trinkgeld von einem Dollar wirst du hier zu einem Gott erklärt. Ich habe noch nie jemanden so glücklich über ein kleines Trinkgeld gesehen. Der Import vom Nachbarland Zambia geht nur stückchenweise voran. An der Grenze entstehen unglaublich lange Wartezeiten, nur als Touri darf man schnell mal vor, um die Wasserfälle von der anderen Seite zu sehen. Und jetzt kam Ende März endlich die Wahl und versprach Besserung, die Oppositionspartei Movement for Democratic Change (MDC) hatte eine sehr gute Ausgangsposition und allem Anschein nach auch gewonnen. Allem Anschein nach? Ja, denn nach drei Wochen sind die Wahlergebnisse immernoch nicht veröffentlicht. Mugabe verlange eine erneute Auszählung, da es in einigen Gebieten Probleme bei der Wahl gab – natürlich waren das die MDC-Hochburgen. Da der Verdacht auf möglichen Wahlbetrug schon vor der Wahl (berechtigterweise) laut wurde, waren viele unabhängige Wahlbeobachter im Land. Jüngst bei den Neuauszählungen kam es hier jedoch zu massivem Wahlbetrug, zu Gewalt, Unterdrückung und Folterung Oppositioneller in Foltercamps. Südafrikanische Zeitungen berichten unterdessen, dass Militär, Polizei, der Geheimdienst und sogar Mugabes Leibwache dringend neue Munition und neue Waffen brauchten. Mehrere Lieferungen – Hauptlieferant China – hätten storniert werden müssen, weil die Staatsbank die Rechnungen nicht habe bezahlen können. Und ohne Waffen ist schließlich keine Unterdrückung möglich. Leider jedoch ist die Staatskasse leer und ohne Geld keine Waffen. Im Endeffekt also keine Macht mehr. Doch wer Mugabe kennt, weiß, dass er sich trotz internationalem Druck keine Möglichkeit entgehen lässt, sich an seine Macht zu klammern. Waffen müssen also her, koste es was es wolle. Die “An Yue Jiang” ist ein chinesisches Containerschiff mit genau dieser lang ersehnten Lieferung: 70 Tonnen Waffen und Munition (laut taz: 1.500 Raketen, 2.500 Mörsergranaten, fast 100 Granatwerfer und 3,5 Millionen Schuss Munition) , angeblich im Wert von 40 Millionen EURO. Damit hätte man dem Land auf ganz andere Art und Weise dienen können. Blöd auch, dass Zimbabwe keinen Hafen hat und alle möglichen Anlaufhäfen von Regierungen geführt werden, die verhindern wollen, dass diese Waffen nach Zimbabwe gelangen. So wurde die Entladung im südafrikanischen Durban verweigert und der Transport nach Zimbabwe ohnehin verboten. Abgesehen davon: Die [deutsche] Entwicklungsbank habe dem simbabwischen Staatskonzern “Iron & Steel Company” zur Errichtung eines Stahlwerks 1998 und dann noch einmal als Aufstockung im Jahr 2000 insgesamt Kredite “in zweistelliger Millionenhöhe” bewilligt, für die Simbabwe eine Staatsgarantie übernommen habe. Da Mugabe also noch Schulden in etwa der Höhe der Ladung bei der deutschen Kreditanstalt für Wiederaufbau (KfW) hat, hat die Entwicklungsbank eine Pfändung der Ladung erwirkt – bevor diese jedoch in Kraft treten konnte, legte das Schiff hastig wieder von Durban ab, Ziel unbekannt. Aufgetankt werden konnte vorher allerdings nicht mehr. Es darf gespannt sein, wo das Schiff wiederentdeckt wird und welchen Hafen es versucht anzulaufen. Ob Angola erreicht werden kann steht aufgrund des Spritmangels in den Sternen und ob die Ladung bei Mugabe ankommt ist mehr als fraglich, aber aufgrund der internationalen Mobilmachung und der Entladungsweigerung der südafrikanischen Transportarbeitergewerkschaft hoffentlich eher unwahrscheinlich. Nicht nur Südafrikas Mann im internationalen Bund der Transportarbeiter macht Front gegen Mugabe. Auch die 300.000 Mitglieder starke südafrikanische Transportarbeitergewerkschaft Satawu hat ihre Kollegen in der ganzen Welt aufgerufen, das chinesische Schiff zu boykottieren. Diese Nachrichten habe ich zum Anlass genommen, mir nochmal Lord of War anzuschauen. Denn immernoch aktuell: “While private gunrunners continue to thrive, the Worlds biggest arms suppliers are the U.S., U.K., Russia, France and China.” “They are also the five permanent members of the U.N. Security Council.” Quellen (soweit nicht anders angegeben): Mugabe erwartet Schiffsladung voller Waffen aus China vom 18.4. Mugabes Waffen-Frachter auf dem Weg nach Angola vom 20.4. Mugabe wartet auf das Geisterschiff vom 21.4. Deutsche Förderbank jagt Mugabes Waffenschiff vom 21.4. Meine Fotos von Victoria Falls in Zimbabwe Update: Die Ladung wird wohl zurückgerufen, Spiegelartikel vom 22.4.: Die “An Yue Jiang” mit ihrer Ladung aus Waffen und Munition konnte in keinem afrikanischen Hafen entladen werden, weil der internationale Verband der Transportarbeiter (ITF) überall auf dem Kontinent zu einem Boykott des Schiffes aufgerufen hatte. Heute hatte sich die letzte Hoffnung der Reederei zerschlagen: Als letztes Land weigerte sich auch Angola die Ladung zu löschen. Angolas oberster Hafendirektor Filomeno Mendonca hat den letzten möglichen Schlupfwinkel an Afrikas Küste versperrt. “Das Schiff darf keinen angolanischen Hafen anlaufen,” erklärte er in einem Interview mit Radio Luanda. Menschenrechtsgruppen und Gewerkschaften hatten davor gewarnt, die Waffen nach Simbabwe gelangen zu lassen. Dort mehren sich seit den umstrittenen Wahlen vor mehr als drei Wochen Berichte über blutige Übergriffe gegen die Opposition.

Howto: getmail, dovecot, postfix, spamassassin und procmail

Dieses kleine Howto soll kurz erklären, wie die genannten Programme reibungslos Hand in Hand arbeiten und so einen IMAP-Dienst mit Spamfilterung und Mailverteilung realisieren können. Das Tutorial basiert auf dem Artikel “Mailhamster mit FreeBSD” und erweitert ihn um die Konfiguration von Spamassassin und Procmail. User, die noch mit sendmail arbeiten, sollten auf postfix umstellen. Ein simples Howto dazu gibt es hier.

Das Mailhamster Tutorial sollte zunächst wie beschrieben nachvollzogen werden, lediglich mit der Konfiguration von procmail kann gewartet werden, da wir procmail an spamassassin anpassen müssen.

Nachdem also getmail und dovecot (wie im Tutorial beschrieben) zusammenarbeiten, machen wir uns an die Installation von Spamassassin:

cd /usr/ports/mail/p5-Mail-SpamAssassin && make install clean

Unter /usr/local/etc/mail/spamassassin gibt es nun eine local.cf.sample, die man in local.cf umbenennt. Diese Datei steuert das Verhalten von spamassassin. Sie kann nun angepasst werden (wenn man weiß, was man tut) oder mit Hilfe eines selbsterklärenden Webinterfaces erstellt werden: http://www.yrex.com/spam/spamconfig.php. Es ist noch anzumerken, dass in dem genannten Verzeichnis die globale Config-File von Spamassassin liegt. Wird spamassassin mit Hilfe des -u Flags im Kontext eines bestimmten Users ausgeführt, so ist die Konfigurationsdatei für diesen User so anzulegen: ~/.spamassassin/user_prefs (mit gleichem Inhalt).

Der Inhalt meiner Datei sieht so aus:
# SpamAssassin config file for version 3.x
# NOTE: NOT COMPATIBLE WITH VERSIONS 2.5 or 2.6
# See http://www.yrex.com/spam/spamconfig25.php for earlier versions
# Generated by http://www.yrex.com/spam/spamconfig.php (version 1.50)

# How many hits before a message is considered spam.
required_score 10.0

# Change the subject of suspected spam
rewrite_header subject *****SPAM*****

# Encapsulate spam in an attachment (0=no, 1=yes, 2=safe)
report_safe 2

# Enable the Bayes system
use_bayes 1

# Enable Bayes auto-learning
bayes_auto_learn 1
bayes_file_mode 777

# Enable or disable network checks
skip_rbl_checks 0
use_razor2 1
use_dcc 1
use_pyzor 1

# Mail using languages used in these country codes will not be marked
# as being possibly spam in a foreign language.
# - dutch english french german spanish
ok_languages nl en fr de es

# Mail using locales used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_locales en

Der Score Treshold kann beliebig gewählt werden, ich habe ihn zunächst hoch gesetzt, um das System zu testen und werde ihn nach weiteren Analysen der eingehenden eMails noch weiter anpassen. Mittlerweile arbeite ich sehr gut mit einem Score von 8.6. Diesen Wert habe ich gewählt, da ich einen Newsletter beziehe, der leider mit 8.5 Spam-Punkten bewertet wird.

Jetzt machen wir uns an die Bearbeitung einer geeigneten .procmailrc Datei, die procmail steuert und so die Mails je nach Spameinstufung in Mailverzeichnisse sortieren kann. Dazu erstellen wir im HOME-Verzeichnis des Users, unter dem getmail läuft (hier: bjoumail), eine Datei namens .procmailrc mit folgendem Inhalt:
# SpamAssassin sample procmailrc
# ==============================

# The following line is only used if you use a system-wide /etc/procmailrc.
# See procmailrc(5) for infos on what it exactly does, the short version:
# * It ensures that the correct user is passed to spamd if spamc is used
# * The folders the mail is filed to later on is owned by the user, not
# root.
DROPPRIVS=yes

# Your procmail logfile will grow rapidly so remember to comment out
# the first line "LOGFILE=$HOME/.procmailrc.log" once you've verified
# that procmail is performing as expected

LOGFILE=$HOME/.procmailrc.log
VERBOSE=yes
COMSAT=no
MAILDIR=/home/bjoumail/mail
DEFAULT=$MAILDIR
PATH=/usr/local/bin:/usr/bin

# Pipe the mail through spamassassin (replace 'spamassassin' with 'spamc'
# if you use the spamc/spamd combination)
#
# The condition line ensures that only messages smaller than 250 kB
# (250 * 1024 = 256000 bytes) are processed by SpamAssassin. Most spam
# isn't bigger than a few k and working with big messages can bring
# SpamAssassin to its knees.
#
# The lock file ensures that only 1 spamassassin invocation happens
# at 1 time, to keep the load down.
#
:0fw: spamassassin.lock
* < 256000
| /usr/local/bin/spamc -s 256000 -u bjoumail

# All mail tagged as spam (eg. with a score higher than the set threshold)
# is moved to a Spam Folder
:0:
* ^X-Spam-Status: Yes
/home/bjoumail/mail/.Spam/

# Work around procmail bug: any output on stderr will cause the "F" in
"From"
# to be dropped. This will re-add it.
# NOTE: This is probably NOT needed in recent versions of procmail
:0
* ^^rom[ ]
{
LOG="*** Dropped F off From_ header! Fixing up. "

:0 fhw
| sed -e '1s/^/F/'
}

#---------------------------------------------------------------------#
# (part 2)
# Add your own filtering commands here, if you want.

#---------------------------------------------------------------------#
# (part 3) How to set up vacation message
# 1. No need to set up .forward file if you use this method.
# 2. Prepare .vacation.msg in your home directory.
# 3. Run "vacation -I" command.
# 4. Uncomment the 2 lines below (Did you replace your_loginname with yours?)
# 5. Remember to comment out the 2 lines when you come back from vacation.

#:0 c
#| /usr/bin/vacation your_loginname

Anmerkungen: Den Workaround habe ich nicht getestet, sondern einfach so aus einer Vorlage übernommen. Den Folder "Spam" müssen wir in unserem eMailprogramm, welches auf den dovecot IMAP-Server zugreift, natürlich noch erstellen. Da dovecot nicht mit mboxes, sondern mit Maildirs arbeitet, ist der trailing slash bei /home/bjoumail/mail/.Spam/ besonders wichtig.

Nun muss noch die /usr/local/etc/postfix/master.cf angepasst werden. Dazu ändert mann die Zeile

smtp inet n - n - - smtpd

in

smtp inet n - n - - smtpd -o content_filter=spamassassin

Man fügt also einen content_filter hinzu. Am Ende der Datei muss man postfix nun mittweilen, was dieser Filter tun soll:

spamassassin
         unix - n n - - pipe
     user=nobody argv=/usr/local/bin/spamc -e /usr/local/sbin/postfix -oi -f ${sender} ${recipient}

Dabei ist sichrzustellen, dass die drei obigen zeilen entweder in einer Zeile in der Datei stehen, oder die zwei unteren Zeilen mit Leerzeichen eingeleitet werden. Der Uer 'nobody' ist ggf. anzupassen.
Jetzt kann man das System testen. Eingehende Mails sollten im Header nun stehen haben, dass sie erfolgreich durch spamassassin gepiped und analysiert wurden und je nachdem als Spam oder Ham eingestuft wurden:

Ham:
X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on
my-server.domain
X-Spam-Level:
X-Spam-Status: No, score=-2.6 required=10.0 tests=BAYES_00 autolearn=ham
version=3.1.1

Spam:

X-Spam-Flag: YES
X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on
my-server.domain
X-Spam-Level: ********************************
X-Spam-Status: Yes, score=32.9 required=10.0 tests=BAYES_99,
DATE_IN_FUTURE_03_06,FROM_ENDS_IN_NUMS,FUZZY_PHARMACY,
HTML_IMAGE_ONLY_24,HTML_MESSAGE,INFO_TLD,RCVD_NUMERIC_HELO,
UPPERCASE_25_50,URIBL_AB_SURBL,URIBL_JP_SURBL,URIBL_OB_SURBL,
URIBL_SBL,URIBL_SC_SURBL autolearn=spam version=3.1.1

Hat man noch einen Ordner voll mit Spam, so kann (und sollte) man Spamassassin trainieren, um Mails besser klassifizieren zu können. Das geht mit sa-learn, bspw
sa-learn --progress --spam /home/bjoumail/mail/.Spam/cur/
Der Unterordner cur ist der Ordner, wo dovecot die (gelesenen) Mails speichert. Mit dem Trigger --ham kann man spamassassin natürlich auch auf gewollte Mails trainieren. Mehr dazu über man sa-learn.

One Response to “Howto: getmail, dovecot, postfix, spamassassin und procmail”

  1. Types Of Computer Viruses Says:

    Types Of Computer Viruses…

    I couldn’t understand some parts of this article, but it sounds interesting…

Leave a Reply