公司的监控系统使用的nagios,而外网访问nagios使用的域名形式。内网使用nginx进行反向代理到nagios所在的服务器。
Nginx的反向代理与域名配置如下:
[root@lzmail vhosts]# more test.ilanni.com.conf
server
{
listen 80;
server_name test.ilanni.com;
index index.html index.htm index.php index.cgi;
location /nagios{
proxy_pass http://192.168.0.1:81/nagios/;
}
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log /var/log/test.ilanni.com.log main;
}
今天没事就看看nagios日志记录相关的信息,分析用户的行为。
我们可以通过tail –f /var/log/test.ilanni.com动态分析。
120.204.200.21 – – [07/Jun/2014:17:21:17 +0800] GET / HTTP/1.1 “200” 555 “-” “DNSPod-Monitor/1.0” “-”
120.204.200.21 – – [07/Jun/2014:17:21:17 +0800] GET / HTTP/1.1 “200” 555 “-” “DNSPod-Monitor/1.0” “-”
101.71.38.76 – nagiosadmin [07/Jun/2014:17:21:26 +0800] GET /nagios/cgi-bin/extinfo.cgi?type=2&host=gs_1.11mail&service=check_cpu HTTP/1.1 “200” 2709 “-” “Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)” “-”
101.71.37.62 – nagiosadmin [07/Jun/2014:17:21:26 +0800] GET /nagios/stylesheets/common.css HTTP/1.1 “304” 0 “http://test.ilanni.com/nagios/cgi-bin/extinfo.cgi?type=2&host=gs_1.11mail&service=check_cpu” “Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)” “-“
以上是这个日志的其中一条记录。
101.71.37.62记录的访问者的IP地址,这个是通过nginx的反向代理配置中的proxy_set_header X-Real-IP $remote_addr;获得。
Nagiosadmin记录的是远程用户。
这个IP地址其实我自己,而我目前访问的网页是nagios监控一个主机的CPU项目,如下:
GET /nagios/stylesheets/common.css HTTP/1.1 “304” 0 “http://test.ilanni.com/nagios/cgi-bin/extinfo.cgi?type=2&host=gs_1.11mail&service=check_cpu“
这个记录的是用户正在访问的网页。对比我上边的访问网页截图,很容易能看到我访问的确实是主机192.168.1.11的CPU监控项。
继续向下看:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
这个记录的是访问者浏览器及操作系统的相关信息。
其中MSIE 10表示通过IE 10进行访问的。这个和我本机的IE 10刚好相符,如下:
Windows NT 6.2表示访问者使用的是OS版本,NT6.2是win8系统。
而我的本本确实是win8系统,内核版本确实是NT 6.2,如下图:
WOW64表示OS是64bit系统,本本的系统版本如下图:
通过上述分析,我们可以得到如下的信息:
Nagiosadmin用户使用win8 64bit系统通过IE10浏览器正在访问nagios的一个check_cpu监控项目。