技术 黑客
一个简单的snort管理系统

一个简单的snort管理系统##

虽然经常配置控制台版的snort,但是交给运维的同事就会发现有时候他们直接靠命令来操作也是个问题。所以想到了开发一个管理系统。

其实很简单,根据需求做个简单的开发,用了几个小时就写好了。毕竟有各种现成的开发框架。简单罗列一下开发的过程,对于snort的安装可以参考官方文档,不做过多阐述。

测试环境:centos6.3 django bootstrap jquery

如果按照目前的snort官方文档安装snort的话其主要目录应当如下:

/etc/snort/   #规则库文件、配置文件
    rules/         

/var/log/snort #报警日志、日志记录
    alert
  1. 我们在snort安装好,并做了配置之后。主要关心的也只是规则库的更新和报警日志的查看,所以重点关注的就是这两个目录

  2. 所以继续我们的程序编写

    进程管理,为避免命令执行的漏洞,肯定不能直接输入命令然后运行,我们直接传递数字来控制,1是开启,2是关闭,3是重启,如此虽然不够灵活却足够安全。

    规则库管理,首先 /etc/snort/rules 下新建一个目录存放自定义的规则库diy/muma.rules, 在/etc/snort/snort.conf中添加该规则。然后实现规则库的增、删、改

    报警日志的读取,这个可以有很多种方式和方法,而且对报警日志的处理最能体现价值,之前snort都支持写入mysql,目前的版本貌似不支持了。不要紧我们可以直接读取文本日志。/var/log/snort/alert目前直接做了显示和排序并没有做进一步的处理。

  3. 使用说明只是一个简单的框架,国内相关的分享太少。所以既然写了就分享一下。使用流程

  • 安装snort,修改配置文件。在rules中新增加/diy/muma.rules文件
  • 系统安装django,pip install Django==1.6.8
  • 运行python manage runserver 0.0.0.0:8080
  • 访问即可
  • 如下图所示,目前具备常用功能

snortassist.png

配置文件说明:

修改snort目录下的config.ini

其中path中

rules_path 代表自定义规则库文件的地址

alerts_path 代表snort报警日志文件地址

其中query中

snort_query表示执行snort的命令

我的配置为:

[path]
rules_path = /etc/snort/rules/diy/muma.rules
alerts_path = /var/log/snort/alert

[query]
snort_query = snort -i eth1 -c /etc/snort/snort.conf -d

github地址:https://github.com/iph0n3/snort_panel

"文章为作者独立观点, 不代表老订阅立场"

本站作者

每日荐书

在不完美的世界力求正常——读《公司的坏话》

书名:《公司的坏话》

作者:李天田(脱不花妹妹)

出版社:北京大学出版社

赞助商

广告