Skip to content

Fighting SPAM Bounces with Exim (Part I)

In a perfect world there would be no spam and no bounce mails generated by spam. However, in the real world there is spam and there are badly configured mail servers, which generate bounce mails for invalid addresses.

Fighting spam is a complex task and there are many different approaches but no real solution. However, there are two simple and effective measures to fight bounce mails generated by spam:

First, you should take care to adjust your Exim configuration in order to minimize the number of bounce mails generated by your mail server. This will not reduce the amount of unsolicited bounce mails you receive, but it will dramatically reduce the number of bounce mails your mail server sends to the poor guy, whose address is abused by spammers for the "return path" (aka "envelope sender").

The solution is very simple: Just tell your mailserver to verify a recipient's address before accepting mail for it. The mailserver usually does this for local mail addresses, but you have to tell the server to do it for remote addresses, too. You do this by adding the line

require verify = recipient/callout=10s,defer_ok

to your Exim configuration. This way the mailserver will connect to the destination mail server and check the address before accepting a mail. If the destination mail server does not accept the local part, Exim will decide that the address is invalid and reject the mail without generating a bounce mail. If the destination mail server is down, Exim will still accept any local part. In fact this will cause bounce mails for invalid addresses again, however this will happen much more infrequently, because the destination mail server is up most of the time.

Now this article is longer than I expected, so I will describe the second measure (which will dramatically reduce the number of bounce mails you receive) in a second article.

Gedanken zum heutigen Tag

Heute jährt sich zum neunzigsten Mal das Ende des Ersten Weltkriegs. Anlässlich dieses Ereignisses wiederholt der Deutschlandfunk diese Woche eine Sendereihe, in der Briefe von der Front, sowohl von französischen als auch von deutschen Soldaten, verlesen werden.

Während ich also heute morgen auf dem Weg zum Forschungszentrum im Auto diesen Beitrag höre, fällt mein Blick auf das Kennzeichen des vor mir fahren Fahrzeugs und ich stelle fest, dass es sich um einen Wagen aus Frankreich handelt.

In diesem Moment denke ich: Es weckt Hoffnung, dass sich manche Dinge mit der Zeit zum Besseren wenden und aus Feindschaft Freundschaft werden kann. Ich hoffe, dies gilt in Zukunft auch für so manchen heute unlösbar scheinenden Konflikt.

Warum Physik studieren?

Gestern habe ich meine letzte Diplomprüfung hinter mich gebracht. Am Montag werde ich mit meiner Diplomarbeit bei ANKA, dem Synchrotron am Forschungszentrum Karlsruhe, beginnen. Ein guter Zeitpunkt um eine kleine Zwischenbilanz zu ziehen, ob sich das Physik-Studium bis jetzt gelohnt hat.

Ich muss zugeben, dass ich, als ich mich entschied Physik zu studieren, in gewisser Hinsicht ein falsches Bild vom Studium hatte: Ich habe sowohl den "mathematischen" Anteil als auch die Schwierigkeit deutlich unterschätzt. Dies führte dazu dass ich mich vor allem im vierten und fünften Semester, also gegen Ende des Grundstudiums, häufig fragte, ob es tatsächlich die richtige Entscheidung war, Physik zu studieren.

Andererseits habe ich durch das Studium einen tieferen Einblick in die Physik bekommen, als es mir durch reines Literatur-Studium jemals gelungen wäre. Im Verlauf des Studiums gab es immer wieder Momente der Erkenntnis, in denen ich mich freute mich für die Physik entschieden zu haben. Zwar bin ich wahrscheinlich immer noch ein besserer Software-Entwickler als Physiker, trotzdem hat sich aus meiner Sicht das Studium bislang gelohnt und ich würde mich wohl wieder so entscheiden.

Umso mehr freue ich mich bereits jetzt auf meine Diplomarbeit. Dort werde ich nämlich meine Leidenschaft für die Software-Entwicklung mit meiner Leidenschaft für die Physik kombinieren können: Ich werde am Beschleunigerkontrollsystem und am Beschleunigermodell der Synchrotronstrahlungsquelle ANKA arbeiten. Dabei werde ich einerseits versuchen eine Schnittstelle zwischen dem Kontrollsystem und dem Modell zu schaffen um so direkt aus dem Kontrollsystem heraus auf Simulationen zurückgreifen zu können und in der Simulation bestimmte Parameter direkt im Kontrollsystem einstellen zu können. Außerdem werde ich versuchen das Beschleunigermodell zu verbessern (z.B. die Unterstützung mit Messdaten aus dem Kontrollsystem).

Für die Physiker unter den Lesern: Von besonderem Interesse ist dabei der Betriebsmodus mit sehr kurzen Bunch-Längen, der insbesondere für die Erzeugung kohärenter Terahertz-Strahlung genutzt wird.

Das schöne an diesem Thema ist, dass es auf interessante Weise die Software-Entwicklung mit der Physik verknüpft: Im Bereich der Software-Entwicklung liegt die Herausforderungen darin eine einfache und gut zu wartende Schnittstelle zwischen Java-Code im Beschleunigerkontrollsystem und MATLAB-Code im Beschleuniger-Modell zu schaffen und es dadurch zu ermöglichen in einer erweiterbaren Architektur neue Komponenten hinzuzufügen. Auf Seiten der Physik liegt die Aufgabenstellung im Bereich der Ionenoptik (für die es bereits sehr gute Modelle gibt) und extener Störungen, die sich zum Teil nur anhand von Erfahrungswerten modellieren lassen.

Auf jeden Fall darf ich mich auf ein spannendes letzten Studienjahr freuen und kann als Fazit nur jedem Interessierten empfehlen: Wenn du dich wirklich für Physik interessierst, wirst du - trotz aller Unanehmlichkeiten - mit einem Physik-Studium nicht falsch liegen.

Fun with Xen, Ubuntu and ethtool

During the last days I had some fun with a Xen DomU: The virtual machine had a very bad network performance, although the well-known ethtool line was present in /etc/network/interfaces like in any other DomU on the same host. But only this single DomU had these problems.

After some time, I found out that although the line was present, tx checksumming was not disabled in this DomU. Then I found some other strange problems, when I tried to restart networking. I had to perform a lot of debugging of the startup process before I discovered that udev tried to bring up the interface, failed and then left the interface configuration in an inconsistent state. This problem only occurred in this DomU as in contrast to the other DomUs /usr has its own partition in this DomU, which is not yet mouted when udev tries to startup the interface.

Now I have found a workaround (documented in my wiki) and filed a bug in Launchpad, so that ethtool is moved from /usr/sbin to /sbin.

LHC erfolgreich gestartet

Der LHC ist heute erfolgreich gestartet worden:

Schneller als erwartet konnte zunächst ein Strahl durch die Beamline im Uhrzeigersinn und einige Stunden später auch im Gegenuhrzeigersinn geschickt werden.

Ich bin jetzt auf die nächsten Wochen gespannt, wenn die Energie des Strahls erhöht wird und die ersten Kollissionen stattfinden werden. Es ist zweifelsfrei gerade eine sehr interessante Zeit für Teilchen- und Beschleunigerphysiker.

Task-focused UI with Mylyn

I just found a very interesting video demonstrating the Mylyn feature for the Eclipse platform.

Even if you are not a Eclipse user, the video is still interesting, as it shows why the human brain conflicts with the way most traditional user interfaces are build and how a task-focused user interface can support our brain and boost our productivity.

Eclipse unter Linux (x86_64)

Es scheint einen Bug in Eclipse (oder wahrscheinlich eher der JVM) zu geben, der dazu führt, dass Eclipse unter Linux auf x86_64 ziemlich häufig mit etwa folgender Meldung abstürzt:

#
# An unexpected error has been detected by Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fa594b7025a, pid=471, tid=1109551440
#
# Java VM: Java HotSpot(TM) 64-Bit Server VM (10.0-b22 mixed mode linux-amd64)
# Problematic frame:
# V [libjvm.so+0x1f125a]
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Der Bug scheint bekannt zu sein und zum Glück gibt es einen Workaround, der zumindest bei mir ganz gut funktioniert: Wenn man die eclipse.ini um den Eintrag -Xint erweitert, läuft Eclipse stabil. Diese Option bewirkt, dass der JIT-Compiler deaktiviert wird, der für die Abstürze verantwortlich zu sein scheint. Natürlich läuft der Code dadurch langsamer, aber ich finde den Unterschied zumindest auf meinem Rechner zu Hause (Core 2 Quad @ 2.4 GHz) kaum spürbar.

Making Xen work on Ubuntu 8.04 Hardy Heron

I tried to upgrade my Xen server from Feisty Fawn to Hardy Heron some time ago.

Now, I gave it a second chance, but the same problems occurred again. However, I now found out, what has to be done in order to make Xen work after the upgrade to Hardy:

I removed all Xen-related packages (bacause they were still Xen 3.1 while Hardy ships Xen 3.2) and purged the configuration files (after I had made backups). Than I installed the ubuntu-xen-server meta-package.

Package configuration failed, so I had to boot the standard ubuntu-server kernel (without Xen) and run dpkg --configure -a.

After this, I booted into Xen mode, however I could not connect using SSH, although I got ping replies from the server. Then i figured out, that the server did not boot correctly because the /etc/init.d/loadcpufreq and /etc/init.d/cpufrequtils scripts hang and block the startup process. Therefore I deactivated them using update-rc.d and voilà: Xen is working flawlessly.

I hope this articles helps anyone, who runs into the same problem.

Registrierung neuer Benutzer im MoinMoin Wiki verhindern

Per ACLs kann man bei MoinMoin zwar leicht dafür sorgen, dass nur bestimmte Benutzer Seiten bearbeiten dürfen. Dies verhindert aber leider nicht, dass SPAM-Bots neue Benutzer anlegen und damit die Liste der Benutzer mit der Zeit immer größer wird.

Zum Glück kann man durch eine kleine Änderung an MoinMoin verhindern, dass sich neue Benutzer registrieren. Wie das geht, wird unter http://moinmo.in/FeatureRequests/DisableUserCreation beschrieben.

GTA IV

Letzte Woche gab es bei Amazon ein gutes Angebot: Wenn man eine Xbox 360 kaufte, bekam man das HD-DVD-Laufwerk für die Xbox, 3 Monate Xbox Live Gold und - das war für mich das entscheidende - GTA IV für die Xbox gratis dazu.

Bei der Xbox 360 Elite, die fast 400 EUR kostet, war das Angebot sicherlich nicht so berauschend, da es in dieser Preisklasse öfter solche Aktionen gibt. Diesmal konnte man aber auch einfach die Xbox 360 Arcade für knapp 200 EUR bestellen, die meinen Ansprüchen völlig genügt.

Am Freitag wurde die Xbox geliefert und ich muss sagen: GTA IV ist einfach ein klasse Spiel. Damit hat Rockstar ganz in der Tradition von GTA 3, GTA Vice City und GTA San Andreas wieder ein großartiges Spiel geliefert.

Die Grafik ist recht ordentlich und kommt Dank hochauflösendem Video-Ausgang auch richtig zur Geltung. An die Steuerung musste ich mich jedoch erst gewöhnen, da ich die vorangegangenen GTA-Titel auf dem PC gezockt hatte.

An der Xbox 360 habe ich eigentlich nur zwei Dinge auszusetzen: Einerseits kann die Steuerung nicht mit der Wii mithalten und anderseits ist die Xbox 360 im Vergleich zur Wii sehr laut. Selbst die msiten neuen Desktop-PCs sind leiser. Hier sollte Microsoft noch nachbessern.

Natürlich habe ich mir zum Testen auch einen Film für das HD-DVD-Laufwerk besorgt. Die Bildqualität ist durchaus ein ganzes Stück besser, als bei herkömmlichen DVDs. Allerdings ist der (gefühlte) Unterschied zwischen DVD über analogem und DVD über digitalem Ausgang größer, als die Lücke zur HD-DVD.

Trotzdem werde ich mir wohl noch ein paar HD-DVDs besorgen. Dadurch, dass das Format tot ist, bekommt man diese nämlich inzwischen zu vernünftigen Preisen. Blu-Ray ist für mich aber vorerst kein Thema, weil erstens die Player noch immer zu teuer sind und zweitens die Filme völlig überteuert. Der Aufschlag von z.T. 200% auf den Preis der normalen DVD ist durch den Qualitätsunterschied beim Bild definitiv nicht gerechtfertigt. Außerdem stört mich bei Blu-Ray, dass man wieder durch Region-Codes gegängelt wird. Das hat man bei der HD-DVD deutlich besser gemacht, indem man dort auf Region-Codes komplett verzichtet hat.

Fazit: Normalerweise hätte ich mir weder eine Xbox 360 noch einen HD-DVD-Player gekauft. Durch das Angebot GTA IV, welches für den PC noch nicht einmal angekündigt ist, gratis dazu zu bekommen, war es ein attraktives Angebot und insgesamt hat es sich meiner Meinung nach gelohnt.

Noch ein kleiner Tipp am Rande, für alle, die sich wie ich wundern, warum Feeding Frenzy (eines der Spiele aus der Xbox Arcade) nicht starten will und behauptet, es wäre der PAL-50-Modus aktiv, obwohl der Bildschirm per HDMI angeschlossen ist: Es gibt einen Bug, durch den die Einstellung für Standard-Definition auch dann geprüft wird, wenn eigentlich der High-Definition-Modus aktiv ist. Näheres dazu inklusive eines Workarounds gibt es im Blog des Xbox Teams.

Ubuntu 8.04 Hardy Heron breaks Xen

Yesterday I upgraded the Xen Dom0 hosting various DomUs (for example my Jabber server) from Ubuntu 7.10 to 8.04.  However, after upgrading Xen stopped working.

I tried to use the old 2.6.22 kernel instead of the new 2.6.24 one, but no chance. Xen did not show any error messages and started the DomUs, however neither networking nor "xm console" were working. In fact "xm console" did not show anything and did not react on keyboard input and even a SIGTERM caused no effect. I had to kill the instance with a SIGKILL or SIGHUP.

Now, after I have restored a backup of the old system, everything is working fine again. Therefore I advise everyone using Xen on Ubuntu not to upgrade to 8.04. Upgrading the DomUs however did not cause any problems, Ubuntu Hardy Heron seems to be broken for Dom0 only.

Die Macht der Angst

Auf SPIEGEL online ist ein schöner Artikel, der zeigt, wo das eigentliche Problem liegt, warum es mit der Freiheit in unserer Gesellschaft bergab geht:

Nicht der sogenannte internationale Terrorismus ist das Problem - schließlich können kaum einige wenige einen Kampf gegen die große Mehrheit gewinnen - sondern die Angst davor. Wegen ihr werden Bürgerrechte abgebaut und, was fast noch schlimmer ist, es findet Selbstzensur statt.

Die "Mohammed-Karikaturen" haben es bereits gezeigt. Statt eines "Aufstands der Anständigen" und eine Solidarisierung zu Gunsten der Meinungsfreiheit, wurde darüber diskutiert, ob man etwas veröffentlichen darf, dass die Gefühle einiger Mitmenschen verletzt. Wenn aber die Meinungsfreiheit gegenüber den Gefühlen einiger weniger hintenanstehen muss, gibt es faktisch keine freie Meinungsäußerung mehr.

Entscheidend ist nicht, dass man die zum Teil extremen Meinungen, um die es auch im oben verlinkten Artikel geht, teilen müsste. Es ist aber die Pflicht eines jeden aufrechten Demokraten, dafür zu sorgen, dass auch solche Meinungen geäußert werden können. Wer nur für die Meinungen kämpft, die er selbst teilt, hat den pluralistischen Gedanken nicht verstanden.

Statt aber für eine freie Meinungsäußerung einzutreten, geht die Mehrheit inzwischen anscheinend lieber den bequemen Weg. Wenn sie die Veröffentlichung von Meinungen verhindern will, um gewalttätigen und kriminellen Reaktionen zuvor zu kommen, macht sie den Bock zum Gärtner.

Das eine Gesellschaft, die bereit ist ihre grundlegendsten Werte aufzugeben, nicht auf Dauer existieren kann, erkannte schon Benjamin Franklin, als er sinngemäß sagte: "Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben, verdienen weder Freiheit noch Sicherheit."