DFind

  • Hallo zusammen,


    in letzter Zeit häufen sich leider folgende Anfragen in meinem access.log

    Code
    xx.xx.xx.xxx - - [24/May/2010:06:49:33 +0000] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 361 "-" "-"


    Da rkhunter nichts auffälliges findet und man laut google solche Einträge ignorieren kann habe ich mir früher keine grössere Gedanken darüber gemacht.


    Doch heute habe ich folgenden Eintrag im error.log gefunden:

    Code
    [Mon May 24 05:03:33 2010] [error] [client xx.xx.xx.xxx] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)
    Usage: file [-bcikLhnNrsvz0] [-e test] [-f namefile] [-F separator] [-m magicfiles] file...
           file -C -m magicfiles
    Try `file --help' for more information.
    Usage: file [-bcikLhnNrsvz0] [-e test] [-f namefile] [-F separator] [-m magicfiles] file...
           file -C -m magicfiles
    Try `file --help' for more information.
    gd-jpeg: JPEG library reports unrecoverable error: Empty input file
    gd-jpeg: JPEG library reports unrecoverable error: Empty input file


    Dieses "Usage: file [-bcikLhnNrsvz0] ..." hat mich stutzig gemacht, da dies der einzige Eintrag dieser Art im Log ist. Laut rkhunter ist aber alles OK.


    Jemand eine Idee was das sein könnte?

  • Code
    $ file
    Usage: file [-bcdDiIkLhnNrsvz0] [-e test] [-f namefile] [-F separator] [-m magicfiles] [-M magicfiles] file...
           file -C -m magicfiles
    Try `file --help' for more information.

    File testet Dateien. Beispiel:


    Code
    $ file xxxxxxxx/vserver_master 
    xxxxxxxxx/vserver_master: ASCII text

    Da hat wohl irgend ein Script bei dir versucht eine Datei zu testen. Das zeigt auch der folgende Error danach:

    Code
    gd-jpeg: JPEG library reports unrecoverable error: Empty input file
  • Ja aber soweit ich das sehe gehören die beiden Einträge zusammen.


    Und da ich eigentlich kein Script am laufen habe das irgend welche Dateien testet gehe ich davon aus, dass eine Sicherheitslücke dafür verwendet wurde. Bin ich so in meiner Annahme richtig?

  • Gibt es sonst noch verdächtige Einträge im Access-Log, z.B. GET mit seltsamen Parametern oder untypische POST Anfragen? Welche Scriptsprachen/Programmiersprachen setzt du beim Apache denn ein? PHP, Perl, ...? Und sind Systemaufrufe mit exec() o.ä. erlaubt?



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Sperr doch IP´s, die solche Anfragen schicken.


    Ich habe das bei mir mit Fail2Ban gelöst.
    (Siehe auch hier -> http://forum.netcup.de/showthread.php?t=425)


    in der jail.conf eintragen:

    Code
    [apache-dfind]enabled  = trueport      = http,httpsfilter   = apache-dfindlogpath  = /var/log/apache2/users/*access.logmaxretry = 1bantime  = 86400

    logpah anpassen !!!!


    unter /etc/fail2ban/filter.d die Datei apache-dfind.conf erstellen und folgendes eintragen:

    Code
    [Definition]# Option: failregex# Notes.: regex to match the w00tw00t scan messages in the logfile. The# host must be matched by a group named "host". The tag "<HOST>" can# be used for standard IP/hostname matching.# Values: TEXTfailregex = ^<HOST> -.*"GET \/w00tw00t\.at\.ISC\.SANS\.DFind\:\).*".*# Option: ignoreregex# Notes.: regex to ignore. If this regex matches, the line is ignored.# Values: TEXTignoreregex =

    Eventuell anpassen, da ich ispCP-Omega 1.0.5 nutze. Bei anderen Systemen können die Log´s anders aufgebaut sein.

  • Pionier


    Vielen Dank für die apache-dfind.conf.
    Funktionert bei mir einwandfrei und hat auch schon die ersten gesperrt.


    Kleiner Zusatz:


    Ich nutze das Debian Lenny + SysCP Image und musste den Pfad anpassen


    Code
    [size=12]logpath  = /var/log/apache2/*access.log
    [/SIZE]