Log: w00tw00t ISC.SANS

Alles, was den Apache betrifft, kann hier besprochen werden.

Log: w00tw00t ISC.SANS

Postby TTP » 10. August 2008 22:06

Ich hab in meiner Log öfters den Eintrag (mit unterschiedlichen IPs):

Code: Select all
[Sun Aug 10 02:19:17 2008] [error] [client 85.114.141.152] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)


wie bring ich meinen Apache dazu solche Einträge in eine andere Logfile zu schreiben? Also alles was ISC.SANS oder w00tw00t enthält.
Oder alle Reguest Without Hostname...

Möcht mir ne Firewallrule basteln und da hätt ich die Einträge gern seperiert, da sich ne kleine Log schneller bearbeiten lässt ^^

Jemand ne Idee?

Auf http://www.webmasterworld.com/apache/3481679.htm hab ich folgendes gefunden:
Respectfully: I manage to keep all the CodeRed garbage and much besides out of my logs for specific domains by using the following in httpd.conf:


SetEnvIfNoCase Request_URI "^/string to exclude/" drop

and then

CustomLog /var/log/httpd/www.mydomainname.com-access_log combined env=!drop

between <VirtualHost> and </VirtualHost>

but replacing "string to exclude" with w00tw00t.at.ISC.SANS.DFind:) throws up an error message because Apache gets confused with the ) at the end. I've tried commenting it out, ie "\)" but this doesn't work either. What I need is the correct syntax, if such syntax is at all possible. Help! It's driving me crazy.

kann mir jemand erklären was der meint?
Place
ohne Apachefriends wär ich in meiner Entwicklung weiter zurück ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby TTP » 10. August 2008 22:31

hab´s gelöst.

Wen es auch interessiert:

Code: Select all
    SetEnvIfNoCase Request_URI "ISC.SANS" woot
    CustomLog "logs/w00t.log" combined env=woot


einfach in die httpd.conf einfügen, dort wo die anderen logs definiert sind.
Place
ohne Apachefriends wär ich in meiner Entwicklung weiter zurück ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby deepsurfer » 11. August 2008 02:41

Bravo und Beifallsklatsch

Sauber gefragt, erarbeitet und Lösung mitgeteilt.

Danke !
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby TTP » 11. August 2008 09:15

Danke, n Lob hört man selten 8)
Place
ohne Apachefriends wär ich in meiner Entwicklung weiter zurück ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby TTP » 11. August 2008 21:22

muss mich leider korrigieren, so ganz geht es noch nicht...

Der loggt zwar aufrufe, aber nur wenn in einer URL das wort vorkommt. Die Angabe ist aber glaubig ein Client. Wie stell ich das um?
Place
ohne Apachefriends wär ich in meiner Entwicklung weiter zurück ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby glitzi85 » 12. August 2008 10:51

http://httpd.apache.org/docs/2.2/mod/mod_setenvif.html

Punkt 1 bei der SetEnvIf-Direktive!

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby TTP » 12. August 2008 11:25

Code: Select all
    BrowserMatchNoCase "w00t" is_woot
    SetEnvIfNoCase User-Agent "w00t" is_woot
    CustomLog "logs/is_w00t.log" combined env=is_w00t

geht auch nicht, bin ich blöde?
Place
ohne Apachefriends wär ich in meiner Entwicklung weiter zurück ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby Wiedmann » 12. August 2008 12:06

wie bring ich meinen Apache dazu solche Einträge in eine andere Logfile zu schreiben?

Gar nicht. Dieser Eintrag ist ja aus dem "error.log" und nicht aus dem "access.log".
--> Du müsstest also schauen wie der dazugehörige Eintrag im "access.log" aussieht um was filtern zu können. (den Eintrag im "error.log" hast du natürlich trotzdem noch)

Möcht mir ne Firewallrule basteln

Was willst du denn da in der Firewall machen? Die IP's dürften ja eh selten die selben sein. Und wenn's ein Proxy ist, sperrst du auch welche die das ga nicht waren.

BTW:
Der Apache reagiert da eh mit einer "Error 400" Seite und liefert da sonst keine Seite aus.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby TTP » 12. August 2008 12:20

genau ich möcht die IPs aussperren, die öfters auftauchen. Das ist z.B. ein Proxy aus Indien. Ich will ja nur manche sperren, vorher mach ich halt n DNS-Lookup. Ich bin nicht böse, wenn manche Inder dann halt nicht mehr auf meine Seite kommen, ich sehe sie eh nicht als potenzielle Besucher meiner Seite...

Ahh das mit dem Access.log is ne gute idee...

Da steht zum Beispiel:
Code: Select all
84.244.147.70 - - [12/Aug/2008:07:18:52 +0200] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 226
213.23.60.210 - - [11/Aug/2008:21:44:10 +0200] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 226
87.106.210.13 - - [11/Aug/2008:21:17:41 +0200] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 226
81.169.179.254 - - [11/Aug/2008:21:27:32 +0200] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 226


wie lass ich das jetzt nochmal zusätzlich in eine andere Log schreiben?

habe bisher folgene Möglichkeiten versucht (leider klappt keine)

Code: Select all
    SetEnvIfNoCase Request_URI "w00t" woot
    CustomLog "logs/w00t.log" combined env=woot

    SetEnvIfNoCase Request_Protocol "w00t" woot2
    CustomLog "logs/w00t2.log" combined env=woot2

    SetEnvIfNoCase Request_Method "w00t" woot3
    CustomLog "logs/w00t3.log" combined env=woot3

    SetEnvIfNoCase USER_AGENT "w00t" woot4
    CustomLog "logs/w00t4.log" combined env=woot4

    SetEnvIfNoCase extra_headers "w00t" woot5
    CustomLog "logs/w00t5.log" combined env=woot5

    SetEnvIfNoCase %{REQUEST_METHOD} CONNECT woot6
    CustomLog "logs/w00t6.log" combined env=woot6

    BrowserMatchNoCase "w00t" is_woot
    SetEnvIfNoCase User-Agent "w00t" is_woot
    CustomLog "logs/is_w00t.log" combined env=is_w00t
Place
ohne Apachefriends wär ich in meiner Entwicklung weiter zurück ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby glitzi85 » 12. August 2008 12:43

Hallo,

also rumgerate bringt auch nix. Das einzige woran du das ganze identifizieren kannst ist die Request-URI. Du fragst ab ob sie w00t ist, was ja aber nie der Fall ist. Demnach sollte deine Regel so aussehen:

SetEnvIfNoCase Request_URI "^/w00t" woot

Damit prüfst du, ob die RequestURI mit /w00t beginnt. Alternativ kannst du natürlich auch prüfen ob w00t irgendwo vorkommt:

SetEnvIfNoCase Request_URI "(.*)woot(.*)" woot

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby TTP » 13. August 2008 22:57

es geht immer noch nicht,
in meiner error.log steht immernoch

Code: Select all
[Wed Aug 13 23:34:38 2008] [error] [client 87.106.210.13] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)


und in der access.log:
Code: Select all
87.106.210.13 - - [13/Aug/2008:23:34:38 +0200] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 226


und in miner w00tw00t.log:
(leere)

ich hab jetzt in der httpd.conf folgendes stehn:
Code: Select all
    SetEnvIfNoCase Request_URI "(.*)w00t(.*)" woot
    CustomLog "logs/w00t.log" combined env=woot

ich krieg die kriese...
Place
ohne Apachefriends wär ich in meiner Entwicklung weiter zurück ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby Wiedmann » 14. August 2008 15:25

es geht immer noch nicht,

Du hast Recht. Bei einem Error 400 (Bad Request) scheint der Apache die Variable Request_URI nicht mehr zu setzten, da wohl eh kein gültiger Request vorliegt. Und somit kommt auch SetEnvIf nicht zum Zuge und es wird in das Standardlog gelogged.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby TTP » 14. August 2008 23:22

wie bekomm ich denn jetzt ne eigene log, die mir das auswertet, damit ich IPs ggf. blocken kann?
Place
ohne Apachefriends wär ich in meiner Entwicklung weiter zurück ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby Wiedmann » 14. August 2008 23:31

wie bekomm ich denn jetzt ne eigene log, die mir das auswertet,

Indem man das vorhandene "access.log" (nachträglich) mit z.B. "grep" filtert.

damit ich IPs ggf. blocken kann?

Bleibt aber immer noch die Frage wozu. Der Apache lehnt diese Anfragen ja eh ab.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Nobbie » 15. August 2008 00:00

Wiedmann wrote:Indem man das vorhandene "access.log" (nachträglich) mit z.B. "grep" filtert.


Eben!

Dafür gibt es diese Dinge doch.
Nobbie
 
Posts: 8779
Joined: 09. March 2008 13:04

Next

Return to Apache

Who is online

Users browsing this forum: No registered users and 2 guests