Direkt zum Inhalt
Bild von CVB      vLIB-Logo      Logo mwCMS
Navigation oben
Impressum    Kontaktformular
Navigation
News
Mail-Formulare auf Webseiten mit PHP absichern: Immer noch gibt es Webseiten, die unsichere PHP-Formulare oder veraltete (englisch: "deprecated") Technologien einsetzen. Erst letztens (Oktober 2009) ist mir ein Projekt untergekommen, bei dem noch die veralteten HTTP_SERVER_VARS benutzt wurden. Man trifft leider auch immer wieder auf PHP-Skripte, die für Spam missbraucht werden können. Mehr ...
Belinea gaming.book 4166: Ich habe bei "notebooksbilliger.de" ein neues Notebook bestellt. Mein altes Notebook von Gericom habe ich im Dezember 2003 gekauft und mittlerweile ist das DVD-Laufwerk defekt und im Bus oder bei anderer leichter Erschütterung, rebootet das Gericom ganz unmotiviert. Mehr ...
Windows Server 2008: Im Windows Server 2008 wurde das Look&Feel von Windows Vista integriert. Viele Features sind genauso wie in Windows Server 2003. So ist zum Beispiel das Zertifikatsmanagement zwar umbenannt worden, aber im Hintergrund ist alles identisch. Die Art und Weise, wie man Zertifikate anlegen und den Benutzern zur Verfügung stellen kann, ist wirklich einfach und schön ("Windows-like" halt :-). Mehr ...
Umstieg von Windows auf Linux: Ich bin von Windows auf Linux umgestiegen. Die Distribution war dabei für mich klar, weil wir auf der Arbeit nur Produkte von SUSE bzw. Novell einsetzen. openSUSE 11.0 ist dabei die neuste Version für Privatanwender wie mich. openSUSE ist, im Gegensatz zu Windows, völlig kostenlos. Mehr ...
Urlaub, Schwimmen und Freunde: Der Artikel enthält Angaben zu meinem Urlaub, der Stadt Dortmund und was sonst noch passiert. Außerdem ist die Umstellung auf das mwCMS fast fertig. Ich meinen Rekord aus dem letzten Jahr gebrochen: Ich bin 20 Bahnen in 0:32:05,21 geschwommen. Letztes Jahr waren es noch 0:32:24,33. Vielleicht schaffe ich es dieses Jahr noch unter 32 Minuten. Mehr ...

Greylisting und kritische Fehler

  • Kommentieren
  • Drucken
Brent Meshier Logo

Greylisting reduziert Spam ganz enorm. Ich habe eine Anleitung geschrieben, wie man es mit Plesk und qmail installiert. Wenn man ein 64bit-System hat, kann es sein, dass die Pfade im Tarball nicht mehr stimmen.

strato:/usr/src/qmail-1.04 # grep "\/usr\/lib" Makefile
load qmail-envelope-scanner.o local_scan.o /usr/lib/mysql/libmysqlclient.a
./load qmail-envelope-scanner -lz -lm local_scan.o /usr/lib/mysql/libmysqlclient.a

Der Pfad "/usr/lib/" muss durch "/usr/lib64/" ersetzt werden. Die Installation und der Download hat sich nur wenig geändert. Es gibt jedoch von Linux zu Linux oder Plattform zu Plattform unterschiedliche Probleme und Fehler.

Kritische Fehler

Obwohl ich im C-Code einige der Warnungen bereinigt habe, können noch folgende "Fehler" auftreten:

qmail-qmtpd.c: In function 'resources':
qmail-qmtpd.c:16: warning: incompatible implicit declaration of built-in function '_exit'

qmail-smtpd.c: In function 'tls_verify':
qmail-smtpd.c:783: warning: pointer targets in assignment differ in signednesss

pfquery.c: In function 'main':spfquery.c:30:
warning: incompatible implicit declaration of built-in function 'strdup'

Diese Warnungen sind alle normal und treten (vielleicht) nicht bei allen Linux-Distributionen auf. Der C-Code ist nicht sauber programmiert und nicht auf unterschiedlichen Systemen getestet worden. Diese Warnungen können ignoriert werden. Die folgende Fehler sind jedoch kritisch:

qmail-remote.c:663: warning: return type of `main' is not `int'
make: *** [qmail-remote.o] Error 1

./compile: line 3: exec: cc: not found
make: *** [qmail-local.o] Error 127

collect2: ld returned 1 exit status
make: *** [qmail-envelope-scanner] Error 1

local_scan.c:255: error: `mysql' undeclared (first use in this function)
*** Error code 1

tls.c:12: error: conflicting types for 'strerror'
/usr/include/string.h:256: error: previous declaration of 'strerror' was here
make: *** [tls.o] Error 1

Die Fehler haben unterschiedliche Ursachen. Den Fehler in der Datei "tls.c" kann (dank an TJ) durch auskommentieren der Zeile 12 gefixt werden. Außerdem muss sichergestellt sein, das die Pakete "gcc", "mysql-devel" und "openssl-devel" installiert sind. Sollte dennoch einer der oben genannten Fehler auftreten, dann bitte einen Post im Forum machen, danke!

Update: Cleanup-Perl-Skript von Gerard Earley

Wieder ist der Artikel (siehe Forum von SWsoft) nur frei und sinngemäß übersetzt. Gerard (aka Thratchen) hat die Datenbank und die Einträge in "relaytofrom" beobachtet. Die Registrierung der User seiner Mailinglisten, führten zu einigen Datensätzen und die Inhalt der Datenbank nahm immer mehr zu. In diesem Fall resultieren typischerweise 40% bis 80% der Einträge aus Zustellversuchen von Mailing-Listen. Normalerweise ist das kein Problem, aber auf einem System, das sehr beschäftigt ist, könnte das die "initial lookups" erheblich beeinträchtigen.

Programme für Mailing-Listen wie "Mailman" benutzen "Nur-einmal-benutzen" Mail-Adressen, um diese Mails an die "Subscribers" (Personen, die sich in die Mailing-Liste eintragen wollen) weiter zu leiten. Gerard hat über 75% solcher Einträge in seiner Greylist Datenbank gefunden.

Das Original-SQL von Brent arbeitet sehr gut, aber

DELETE FROM relaytofrom
WHERE record_expires < NOW() - INTERVAL 1 HOUR AND origin_type = 'AUTO';

Gerard hat zwei weiter SQL-Statements erstellt, die erheblich - und seiner Meinung nach einigermaßen sicher - die Anzahl der Datensätze in der Datenbank reduzieren:

DELETE FROM relaytofrom
WHERE passed_count = 0
AND last_update < NOW() - INTERVAL 1 DAY
AND origin_type = 'AUTO';

DELETE FROM relaytofrom
WHERE mail_from LIKE '%-return-%'
AND blocked_count = 1
AND passed_count = 1
AND origin_type = 'AUTO'
AND create_time < NOW() - INTERVAL 1 DAY;

Die erste Anweisung löscht Einträge, die älter als einen Tag sind und nicht erfolgreich zugestellt wurden. Bei der zweiten Anweisung müssen mehrere Kriterien erfüllt sein: Der Absender muss die Zeichen "-return-" enthalten.

[ erstellt am Dienstag, 03. Juli 2007 um 15:46:17 ]

Diese Seite erfüllt die folgenden Standards:

Valid XHTML   Valid CSS