Hallo wertes Publikum,

nachdem ich nicht der einzige bin, dem die st�ndigen Mails vom logchecker 
aus der auth.log nerven und weil man halt doch nie alle Eventualit�ten 
ausschlie�en kann, hatte ich mir gedacht, ich schreib' ein kleines 
Scriptlein, das die INPUT-Chain um eine weitere "denyall" chain erweitert.

In diese "denyall" Chain kommen dann alle Eintr�ge die in der auth.log 
durch ein "Illegal user ... from ..." auff�llig werden. Eine momentan noch 
fest verdrahtete Whitelist sorgt daf�r, da� ein Spoof-DOSen der eigenen 
Maschine nicht so ohne weiteres funktioniert.

Die Deny-Chain hat eine gewisse L�nge und bei �berschreiten der L�nge wird 
der jeweils �lteste Eintrag herausgel�scht, bevor der neue Eintrag 
hinzugef�gt wird. Performance: Auf einem PII-166 mit 64 MB keine 
Auswirkungen bei einem 1000er-DSL feststellbar. Von dem Cel1200 ganz zu 
schweigen.

Da die auth.log in Echtzeit gelesen wird, wird auch eine nahezu sofortige 
Reaktion auf das "b�se(tm)  Pattern" gew�hrleistet. 

Wer's probieren mag: "ssh [EMAIL PROTECTED]"  ;-)


Soweit die Theorie: In der Praxis tut sich dann aber folgendes Problem 
auf: Wenn irgendeine Instanz auf dem Rechner das Logfile wegl�scht, dann 
h�ngt das Script - klar - ist ja mit dem Script auch noch ein inode dran, 
der aber nie mehr mit Daten versorgt wird. Wie kann man nun in PERL 
erkennen, ob irgendein Prozess gerade die im <> befindliche Datei 
umbenannt oder gel�scht hat? Timer setzen und Signal senden? Oder wie wird 
das in der Praxis gel�st?

Momentan l�se ich das �ber den Aufruf von "tail -n 2 -f ..." aber das 
scheint mir sehr sehr holterdipolter zu sein.


        t++


P.S.: Das Script liegt bei: http://212.227.20.60/debian/denyssh.pl

Antwort per Email an