Spam mit percent hack und local sender

*gnnnnnnnnnnn*
Ich werde wahnsinnig.
Mein Server (SUSE Linx 9.3 mit qmail) ist nun auf einer Spam-Blacklist, weil irgendwelche Deppen über meinen Server Spam verschicken.
Sie verwenden die Methode:

(Ref: 7) Test using a percent hack and local sender.
Sender address: 
Recipient address: 
WARNING MESSAGE HAS BEEN ACCEPTED BY HOST, CHECK MAIL TO CONFIRM!
Test remark: This type of source routing should not be supported by modern mail servers.

Jetzt habe ich was gefunden, was das verhindern soll, nämlich einen Hack für qmail. Aber wie installiere ich sowas? Böhmische Dörfer und so… Bitte helft mir, damit ich nicht auch noch Schuld an noch mehr Spam bin :frowning:
Ich habe root-Zugriff und mein qmail liegt in /var/qmail/bin

Hier der Hack:

--- orig/qmail-smtpd.c Mon Jun 15 06:53:16 1998
+++ qmail-smtpd.c Sat Feb 9 12:07:19 2002
@@ -53,6 +53,7 @@
 void err\_nogateway() { out("553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)\r\n"); }
 void err\_unimpl() { out("502 unimplemented (#5.5.1)\r\n"); }
 void err\_syntax() { out("555 syntax error (#5.5.4)\r\n"); }
+void err\_relay() { out("553 we don't relay (#5.7.1)\r\n"); }
 void err\_wantmail() { out("503 MAIL first (#5.5.1)\r\n"); }
 void err\_wantrcpt() { out("503 RCPT first (#5.5.1)\r\n"); }
 void err\_noop() { out("250 ok\r\n"); }
@@ -216,6 +217,21 @@
 return r;
 }
 
+int addrrelay()
+{
+ int j;
+ j = addr.len;
+ while(--j \>= 0)
+ if (addr.s[j] == '@') break;
+ if (j = 0) {
+ if (addr.s[j] == '@') return 1;
+ if (addr.s[j] == '%') return 1;
+ if (addr.s[j] == '!') return 1;
+ }
+ return 0;
+}
+
 
 int seenmail = 0;
 int flagbarf; /\* defined if seenmail \*/
@@ -250,6 +266,7 @@
 void smtp\_rcpt(arg) char \*arg; {
 if (!seenmail) { err\_wantmail(); return; }
 if (!addrparse(arg)) { err\_syntax(); return; }
+ if (addrrelay()) { err\_relay(); return; }
 if (flagbarf) { err\_bmf(); return; }
 if (relayclient) {
 --addr.len;

Mein Server (SUSE Linx 9.3 mit qmail) ist nun auf einer
Spam-Blacklist, weil irgendwelche Deppen über meinen Server
Spam verschicken.

Ob das tatsächlich passiert, ist noch eine andere Frage. Du bist hier aber über eine grundlegende Schwäche von qmail gestolpert, die einen Automat, der den Server auf offene Relays testet, annehmen lässt, es handele sich um ein Open Relay. Qmail nimmt Mails für lokale Adressen grundsätzlich auch dann entgegen, wenn der Account tatsächlich nicht existent ist. Und das % wird wie ein beliebiges anderes Zeichen auch ausgewertet, eine Mail mit einer Adresse mit dem % anstelle des @ also lokal zugestellt.

Das ist kein klassisches Open Relay, tatsächlich liegt das Problem nicht einmal in der Auswertung des %-Zeichens sondern darin, dass qmail lokale Mail unabhängig davon entgegen nimmt, ob der Adresse auch ein entspr. Account gegenüber steht. Insoweit ist der Blacklist-Eintrag also nicht gerechtfertigt, könnte man sogar sagen, er sei leichtfertig vergeben worden. Aber dieses Verhalten lässt sich leicht anders missbrauchen: Ich will an [email protected] eine Spammail über deinen Server verwenden. Also schicke ich
mit der Absenderadresse! [email protected] eine Mail über deinen Server an irgendwen%irgendwo. Wenn du nicht zufällig einen lokalen Account irgendwen%irgendwo eingerichtet hast, nimmt qmail die Mail vollständig entgegen, stellt erst anschliessend fest, dass diese lokale Adresse nicht existiert und schickt dann einen Bounce an den vermeintlichen Absender, tatsächlich aber von mir intendierten Empfänger.

Dass qmail bounct, ist noch okay. Dass es nicht an den tatsächlich einliefernden Server, sondern an den angeblichen Absender bounct, ist heutzutage als grober Designmangel zu betrachten. Dieser Mangel aber lässt sich völlig unabhängig vom %-Hack ausnutzen; die daraus resultierende Schlussfolgerung lautet, dass der von dir gefundene Patch allenfalls gegen das Blacklisting hilft, deinen Server aber nicht auf einen akzeptablen Stand bringt.

Ich empfehle Umstieg auf einen anderen Server, z. B. Postfix.

Jetzt habe ich was gefunden, was das verhindern soll, nämlich
einen Hack für qmail. Aber wie installiere ich sowas?

Ist ein Source-Patch. D. h., du müsstest den qmail-Quellcode entspr. anpassen. Manuell durch Eintrag aller mit + gekennzeichneten Zeilen an den passenden Stellen in der qmail-smtpd.c oder besser mithilfe des für solche Zwecke vorgesehenen patch-Befehls. Anschliessend den Source neu kompilieren und das fertige Kompilat installieren. Eine triviale Sache, wenn man weiss wie’s geht; für jemanden aber, der diesen Patchcode nicht einzuordnen weiss, eine Aufforderung sich mit den Grundlagen von Unix vertraut zu machen. Für jemanden, der diesen Patchcode nicht einzuordnen weiss aber einen Server fahren will, eine sehr sehr dringende Aufforderung, sich mit den Grundlagen von Unix vertraut zu machen.

Gruss
Schorsch

Ist postfix wirklich besser als qmail?
Ist es schwierig „umzusteigen“ von qmail auf postfix?
Habe mir jetzt ein Linux-Buch gekauft und fange an mich fortzubilden. Aber ich würde natürlich gerne „auf die Schnelle“ das Spamproblem (oder was auch immer da grade vor sich geht) auf die Reihe bekommen.
Kannst Du mir helfen beim Umstieg von qmail auf postfix?

Dirk.

Ahhh, Mist.
Postfix läuft nicht unter serveradmin24
*gnnn*
O.K. andere Frage: Kannst Du mir helfen „auf die Schnelle“ den Patch zu installieren? Ich verspreche auch danach Linux zu lernen :wink:

Dirk.

Ist postfix wirklich besser als qmail?
Ist es schwierig „umzusteigen“ von qmail auf postfix?
Habe mir jetzt ein Linux-Buch gekauft und fange an mich
fortzubilden. Aber ich würde natürlich gerne „auf die
Schnelle“ das Spamproblem (oder was auch immer da grade vor
sich geht) auf die Reihe bekommen.
Kannst Du mir helfen beim Umstieg von qmail auf postfix?

Was das Problem mit dem Blacklisting angeht, wird dir eh nichts übrigbleiben, als dich an den Betreiber der Blacklist zu wenden und ihn unter guter Begründung zu bitten, den Eintrag aufzuheben. Möglicherweise gibt’s ja auch automatisierte Retests, wenn also der ‚Prozent-Hack‘ der einzige Grund für das Blacklisting ist, würde das Einspielen des Patchs schon ausreichen, nach einiger Zeit wieder von der Liste zu verschwinden. Allerdings könnte es, abhängig von der Qualität des Paketmanagements, für einen Anfänger wesentlich einfacher sein, Postfix zu installieren als qmail zu patchen.

Meine Erfahrungen mit SUSE sind zu lange her, als dass ich SUSEs Paketmanagement beurteilen könnte, ich gehe aber davon aus, dass es recht einfach sein dürfte, Postfix zu installieren und dass die mitgelieferte Basiskonfiguration weitgehend off the box brauchbar sein dürfte. Sofern du nicht weitere Pakete wie z. B. Amavis oder Spamassassin integrieren musst, dürfte dein Konfigurationsaufwand sich im ersten Schritt auf die Anpassung weniger Zeilen in der (/etc/postfix/)main.cf und das Anlegen einer local_recipient_maps, der Tabelle der lokalen Adressen beschränken (evtl. noch der alias_maps).

Gruss
Schorsch

Postfix läuft nicht unter serveradmin24

Und warum läuft er nicht? Weil du keine eigene Software installieren darfst? In dem Fall kannst du auch das Patchen vergessen, dann wird nämlich weder ein Compiler noch die benötigten Development-Bibliotheken installiert bzw. installierbar sein.

Dann bliebe dir nichts weiter, als mit dem Problem zu leben, oder auf den erheblich teureren ‚Dedicated Server‘-Tarif umzusteigen.

O.K. andere Frage: Kannst Du mir helfen „auf die Schnelle“ den
Patch zu installieren? Ich verspreche auch danach Linux zu
lernen :wink:

Gar nicht nötig, solange du nicht auf Dedicated Server umsteigst. Bei dem allerdings wäre Fachkunde von sehr grossem Vorteil.

Gruss
Schorsch

Ist postfix wirklich besser als qmail?

Geschmackssache. Ich mag qmail. Ich mag Postfix. Inzwischen mag ich Postfix etwas mehr.

Ist es schwierig „umzusteigen“ von qmail auf postfix?

Das kommt auf das genaue Setup an. Aber ohne eigenes Engagement und ein tieferes Verständnis, wie qmail und Postfix funktionieren, wird es eher nix.

Habe mir jetzt ein Linux-Buch gekauft und fange an mich
fortzubilden. Aber ich würde natürlich gerne „auf die
Schnelle“ das Spamproblem (oder was auch immer da grade vor
sich geht) auf die Reihe bekommen.

Server abschalten-

Kannst Du mir helfen beim Umstieg von qmail auf postfix?

Lies die Dokumentation, erstelle einen Plan und stelle konkrete Fragen.

HTH,

Sebastian