linux – Apache access.log解释
在apache(access.log)的日志文件中,我找到如下所示的日志条目:
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> 现在禁止GET以外的其他方法(403).我现在唯一的问题是,是否有一些技巧来启动那些如何尝试使用我的服务器作为代理… 解决方法
好吧,我可以使用以下python代码获取确切的日志消息
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“ – ”“ – ” (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |