日志分析与splunk浅谈

难易程度:★★★

阅读点:linux;python;web安全;日志分析;

文章作者:xiaoye

文章来源:i春秋 关键字:网络渗透技术

前言

 

linux下的日志分析对企业来说非常重要,对我们分析pv或者入侵事件溯源都有很大的价值,今天来简单谈一谈日志分析方向的利器splunk,splunk应该是站在日志分析应用的顶端了,应用广泛功能强大,本文只能简单说说其安装以及应用。p.s:本文环境是自己虚拟机搭建的,不是生产环境,仅仅做演示。

一、Nginx + uWSGI + Python + Django
我是在CentOS 7下采用Nginx + uWSGI + Python + Django模式的部署,然后使用splunk监控/var/log/nginx/access.log 当然大家不一定非要这样做
这块的配置我就不多说了,大家百度一下
配置好后,开启服务:

log1.PNG

cat下access.log,为了方便演示这里我先echo “” > access.log 清空了一下log,如果是生产环境下切记不要随意清空日志!:


log2.PNG

二、利用python生成大量log内容
咱们这里只做演示,没有那么多访问量log里内容太少怎么办,写段简单的py来不停访问我们的web服务器,这样就会在nginx的access.log里留下日志信息了

log3.PNG

#coding: utf-8
import requests 
 
dirs = ["admin", "admin_log", "1.php", "hack.php", ""]
 
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0'}
 
for i in range(1,40):
        for dir in dirs:
                url = "http://127.0.0.1/" + dir
                r = requests.get(url=url, headers=headers, timeout=4)
                #print type(dir), type(headers)
                print r.status_code

运行下:

log4.PNG

看下日志条数:

log5.PNG

密密麻麻都是日志:

log6.PNG

三、splunk的搭建以及简单使用
官网随便注册个账户,下载下来tar包,当然视操作系统而定下载合适的deb(debian系列用)/rpm(Redhat系列用)也可以
然后

sudo tar -zxvf splunk-6.6.3-e21ee54bc796-Linux-x86_64.tgz //解压
 
sudo mv splunk /usr/local/  //移动到/usr/local
 
sudo ./splunk enable boot-start   //按q键,选择y
 
sudo service splunk start  //自启动splunk

我的安装挺顺畅,如果遇到问题百度吧。。

然后访问http://127.0.0.1:8000,就可以看到splunk的web页面了:

log7.PNG

选择add data,然后添加下监控monitor:

log8.PNG

监视器里有一些选项:

文件与目录:监视文件/文件夹
HTTP事件收集器:监视通过HTTP的数据流
TCP/UDP:监视服务端口
脚本:监控脚本

log9.PNG

选择自己想要监控的类型,这里我监视一个文件夹/var/log,也可以指定日志文件/var/log/nginx/access.log

log10.PNG

然后就来到下面的界面了,这时候我们之前生成日志内容的脚本就排上用场了,运行一下(splunk是实时监控的):

log11.PNG

上方有搜索指令,右上角有图形化的访问统计情况等等等等。。
splunk是很强大的,笔者也是接触没多少时间,就先写到这里吧。。

四、总结

最近也确实挺忙的,所以写的也比较匆忙,如果有错误或是不严谨的地方万望表哥们指出。遇到了坑或者想了解有关于splunk的完整功能,大家可以去官方手册查看。

posted @ 2017-08-29 19:24  i春秋  阅读(9709)  评论(0编辑  收藏  举报