日志分析与splunk浅谈
难易程度:★★★
阅读点:linux;python;web安全;日志分析;
文章来源:i春秋 关键字:网络渗透技术
前言
linux下的日志分析对企业来说非常重要,对我们分析pv或者入侵事件溯源都有很大的价值,今天来简单谈一谈日志分析方向的利器splunk,splunk应该是站在日志分析应用的顶端了,应用广泛功能强大,本文只能简单说说其安装以及应用。p.s:本文环境是自己虚拟机搭建的,不是生产环境,仅仅做演示。
一、Nginx + uWSGI + Python + Django
我是在CentOS 7下采用Nginx + uWSGI + Python + Django模式的部署,然后使用splunk监控/var/log/nginx/access.log 当然大家不一定非要这样做
这块的配置我就不多说了,大家百度一下
配置好后,开启服务:
cat下access.log,为了方便演示这里我先echo “” > access.log 清空了一下log,如果是生产环境下切记不要随意清空日志!:
二、利用python生成大量log内容
咱们这里只做演示,没有那么多访问量log里内容太少怎么办,写段简单的py来不停访问我们的web服务器,这样就会在nginx的access.log里留下日志信息了
#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
运行下:
看下日志条数:
密密麻麻都是日志:
三、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页面了:
选择add data,然后添加下监控monitor:
监视器里有一些选项:
文件与目录:监视文件/文件夹
HTTP事件收集器:监视通过HTTP的数据流
TCP/UDP:监视服务端口
脚本:监控脚本
选择自己想要监控的类型,这里我监视一个文件夹/var/log,也可以指定日志文件/var/log/nginx/access.log
然后就来到下面的界面了,这时候我们之前生成日志内容的脚本就排上用场了,运行一下(splunk是实时监控的):
上方有搜索指令,右上角有图形化的访问统计情况等等等等。。
splunk是很强大的,笔者也是接触没多少时间,就先写到这里吧。。
四、总结
最近也确实挺忙的,所以写的也比较匆忙,如果有错误或是不严谨的地方万望表哥们指出。遇到了坑或者想了解有关于splunk的完整功能,大家可以去官方手册查看。