Forum Moderators: open
61.187.156.253 - - [05/Aug/2003:23:04:47 -0500] "GET [yahoo.com...] HTTP/1.1" 200 417 "-" "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"
61.140.188.224 - - [08/Aug/2003:13:44:55 -0500] "GET [intel.com...] HTTP/1.1" 200 417 "-" "Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)"
The response code is a 200 ... but what happened when the user accessed my web site? How can a user leave footprints in my web logs with a 200 without a valid file accessed?
a confused Anchordesk
what does [your.site...] do?
i can`t say that i`ve seen or heard of this other than when someone has the proxy modules set up... however, most of those were of the CONNECT [another.site...] format instead of a GET...
what modules do you have loading?
oh, yeah... what platform are you running it on?
whoops, forgot to add... why not upgrade to 1.3.27 or 1.3.28? .28 is the latest and is a few weeks old...
61.140.188.224 - - [07/Aug/2003:23:07:00 -0700] "GET [alltheweb.com...] HTTP/1.1" 200 4446 "-" "Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)"
The home page on that site is 4446 bytes, so they did not end up at alltheweb, they simply got our home page.
I've seen CONNECT instead of GET used and the server always returns a 400 (Bad Request). Tried accessing with my browser various ways (i.e. [mysite.com...] ... [mysite.com...] and could not duplicate the entry.
I'm just baffled as to what passed to the server to record a log entry like that. Was it a random probing by a script or human targeting just my domain? Maybe I'm wrong, but I wonder if the user-agent was spoofed.
-anchordesk
RewriteCond %{THE_REQUEST} .*alltheweb.* [NC,OR]
RewriteCond %{THE_REQUEST} .*ebay.* [NC,OR]
RewriteCond %{THE_REQUEST} .*google.* [NC,OR]
RewriteCond %{THE_REQUEST} .*intel.* [NC,OR]
RewriteCond %{THE_REQUEST} .*nba.* [NC,OR]
RewriteCond %{THE_REQUEST} .*sumthin.* [NC,OR]
RewriteCond %{THE_REQUEST} .*tencent.* [NC,OR]
RewriteCond %{THE_REQUEST} .*watch-info.* [NC,OR]
RewriteCond %{THE_REQUEST} .*yahoo.* [NC,OR]
Second line is your domain name
Third line is your IP address (omit the line if on shared IP)
RewriteCond %{THE_REQUEST} ^(GET¦HEAD¦POST)\ /?http:// [NC]
RewriteCond %{THE_REQUEST}!^(GET¦HEAD¦POST)\ /?http://(www\.)?mydomain\.com/ [NC]
RewriteCond %{THE_REQUEST}!^(GET¦HEAD¦POST)\ /?http://192\.168.0\.1/ [NC]
RewriteRule .* - [F]
Jim
RewriteCond %{THE_REQUEST} ^CHECKIN.* [OR]
RewriteCond %{THE_REQUEST} ^CHECKOUT.* [OR]
RewriteCond %{THE_REQUEST} ^CONNECT.* [OR]
RewriteCond %{THE_REQUEST} ^DELETE.* [OR]
RewriteCond %{THE_REQUEST} ^LINK.* [OR]
RewriteCond %{THE_REQUEST} ^OPTIONS.* [OR]
RewriteCond %{THE_REQUEST} ^POST.* [OR]
RewriteCond %{THE_REQUEST} ^PROPFIND.* [OR]
RewriteCond %{THE_REQUEST} ^PUT.* [OR]
RewriteCond %{THE_REQUEST} ^SEARCH.* [OR]
RewriteCond %{THE_REQUEST} ^SHOWMETHOD.* [OR]
RewriteCond %{THE_REQUEST} ^SPACEJUMP.* [OR]
RewriteCond %{THE_REQUEST} ^TEXTSEARCH.* [OR]
RewriteCond %{THE_REQUEST} ^TRACE.* [OR]
RewriteCond %{THE_REQUEST} ^UNLINK.* [OR]
...or the like. I don't trap GETs or HEADs for obvious reasons.
Since our apache server does not proxy, I then fowarded all our log entries that contained this to Microsoft Security. They were very interested in this and ask us to foward the logs to them as they come in.
I had also found that ips that have been banned from servers, hunt to proxy through to connect to these sites like CNN.com, yahoo.com etc through proxy.
>I would not include .http.* in there, because it would trigger on every web page requested. "HTTP/1.x" is the end of almost every request
The code I posted has been working well for a long time.
While it is true that every request will trigger the code, take a look at the second and third lines. These lines use exclusionary regex patterns, beginning with "!" and act to allow access to resources on your server only. Requests containing references to other hosts are served with a 403-Forbidden response. Also, note that all patterns are start-anchored, so the end of the request where the protocol is specified is of no concern.
RewriteCond %{THE_REQUEST} ^(GET¦HEAD¦POST)\ /?http:// [NC]
RewriteCond %{THE_REQUEST}!^(GET¦HEAD¦POST)\ /?http://(www\.)?mydomain\.com/ [NC]
RewriteCond %{THE_REQUEST}!^(GET¦HEAD¦POST)\ /?http://192\.168.0\.1/ [NC]
RewriteRule .* - [F]
<Files *>
<LimitExcept GET POST>
deny from all
</LimitExcept>
</Files>
Jim