10.20.30.40 - - [18/Mar/2011:02:12:44 +0200] "GET /index.PHP HTTP/1.1" 404 505 "-" "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.7.62 Version/11.01"
其含义是明确的:IP 10.20.30.40的客户端在/index.PHP(即http://mysite.org/index.php)上应用GET HTTP方法,使用Opera作为客户端/浏览器接收状态代码404.我不明白的是以下条目:
174.34.231.19 - - [18/Mar/2011:02:24:56 +0200] "GET http://www.siasatema.com HTTP/1.1" 200 469 "-" "Python-urllib/2.4"
所以我在这里看到的是某人(IP 174.34.231.19的客户端)访问了http://www.siasatema.com并获得了200个HTTP状态代码(?).这对我来说没有意义……我能想到的唯一解释就是我的apache服务器就像代理一样!以下是一些其他请求没有我的网站作为目的地…
187.35.50.61 - - [18/Mar/2011:01:28:20 +0200] "POST http://72.26.198.222:80/log/normal/ HTTP/1.0" 404 491 "-" "Octoshape-sua/1010120" 87.117.203.177 - - [18/Mar/2011:01:29:59 +0200] "CONNECT 64.12.244.203:80 HTTP/1.0" 405 556 "-" "-" 87.117.203.177 - - [18/Mar/2011:01:29:59 +0200] "open 64.12.244.203 80" 400 506 "-" "-" 87.117.203.177 - - [18/Mar/2011:01:30:04 +0200] "telnet 64.12.244.203 80" 400 506 "-" "-" 87.117.203.177 - - [18/Mar/2011:01:30:09 +0200] "64.12.244.203 80" 400 301 "-" "-"
我相信所有这些都与某种攻击或滥用服务器有关.有人可以解释可能发生的事情以及如何应对这种情况吗?
更新1:
我禁用了mod_proxy以确保我没有开放代理:
# a2dismod proxy
从哪里得到消息:
Module proxy already disabled
我确保在$APACHE / mods-enabled下没有文件proxy.conf.最后,我在我的浏览器(Mozzila)上设置了我的IP作为代理,并尝试访问http://google.com.我没有被重定向到google.com,而是出现了我的网页.尝试访问http://a.b(!)时也是如此.所以我的服务器并没有真正作为代理工作,因为它不转发请求…但我认为如果不知何故我可以配置它返回status code 403会更好.
这是我的apache配置文件:
<VirtualHost *:80> ServerName mysite.org ServerAdmin webmaster@localhost DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
更新2:
使用块,我限制使用除GET和POST之外的其他方法…
<Limit POST PUT CONNECT HEAD OPTIONS DELETE PATCH PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK> Order deny,allow Deny from all </Limit> <LimitExcept GET> Order deny,allow Deny from all </LimitExcept>
解决方法
import urllib proxies = {'http':'http://myapacheserevr'} file_handle = urllib.urlopen('http://www.siasatema.com',proxies=proxies)
这给了我日志条目
192.168.0.28 – – [18 / Mar / 2011:14:40:40 0200]“GET http://www.siasatema.com HTTP / 1.0”200 453“ – ”“Python-urllib / 1.17”
我从这里得到的是我默认网页的内容,
所以,是的,通过您的网络服务器进行代理,可能是黑客正在寻找开放,配置错误的代理来连接和滥用其他网站.要阻止它设置: –
ProxyRequests Off
我可以通过这样做来复制另一个人
$nc ubuntuvm 80 telnet 64.12.244.203 80
这使:-192.168.0.28 – – [18 / Mar / 2011:14:58:47 0200]“telnet 64.12.244.203 80”400 505“ – ”“ – ”