Snort:Barnyard2+MySQL+BASE 基于Ubuntu 14.04SNORT
首先明确操作系统平台是Ubuntu 14.04 LTS
现在我们要在Ubuntu 14.04上部署snort NIDS(入侵检测系统)。
需要这些东西:
SNORT / Barnyard2 / Mysql / Apache2 / BASE
在进行所有工作之前,请执行以下命令,确保安装必要的软件(工具链)
sudo apt-get install -y build-essential libpcap0.8-devlibpcre3-dev libdumbnet-dev bison flex zlib1g-dev
SNORT
sudo apt-get install snort
另外一种是从源代码安装。
sudo apt-get update
sudo apt-get upgrade
测试看看,执行:
snort -V
如果显示出以下:
,,_ -*> Snort! <*-o" )~ Version 2.9.7.0 GRE (Build 149)'''' By Martin Roesch & The Snort Team: http://www.snort.org/contact#teamCopyright (C) 2014 Cisco and/or its affiliates. All rights reserved.Copyright (C) 1998-2013 Sourcefire, Inc., et al.Using libpcap version 1.5.3Using PCRE version: 8.31 2012-07-06Using ZLIB version: 1.2.8
说明安装成功了!祝贺!
接着我们要修改snort的配置文件(注意我们使用的软件源方式,故配置文件路径较为固定)
sudo vim /etc/snort/snort.conf
将115行(大概位置)修改如下(如果一样的话则不修改)
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
目的在于指定规则文件存放的路径。
在第51行 :
ipvar HOME_NET 192.168.1.0/24
第536行,修改成如下所示 :
output unified2: filename snort.log, limit 128, mpls_event_types, vlan_event_types
(如果文件本身就和我这里修改后的一样则没必要修改)
现在启动测试SNORT :
sudo service snort restart
删除之前日志中得内容(我们改变了日志格式,使用了时间戳格式)
sudo rm /var/log/snort/snort.log
(题外话:第51行没必要修改,因为被/etc/snort/ snort.debian.conf覆盖了)
现在我们要测试下snort的规则。
/etc/snort/rules是我们的用于存放规则文件的路径。以后snort就是根据诸多的规则文件给我们提供预警和提示。
打开规则文件:
sudo vim /etc/snort/rules/local.rules
local.rules是用于自定义规则的规则文件。然后添加自己的规则到 local.rules:
alert icmp any any -> $HOME_NET any (msg:"ICMP Test NOW!!!"; classtype:not-suspicious; sid:1000001; rev:1;)
alert tcp any any -> $HOME_NET 80 (msg:"HTTP Test NOW!!!"; classtype:not-suspicious; sid:1000002; rev:1;)
这两条规则大概就是说任何发往本机的ICMP和HTTP数据包都会触发警告!
保存退出。
为了便于测试,继续修改snort.conf文件。大概在573行的位置。作如下操作:
将除了local.rules之外的规则文件全部去除(不包含进来)。(也就是接下来数十行的include)。
最终这样:
# site specific rules
include $RULE_PATH/local.rules
(这是为了便于测试)
sudo snort -T -c /etc/snort/snort.conf
如果看到显示结果如下:
...
Snort successfully validated the configuration!
Snort exiting
并且还能在诸多输出信息中找到如下输出:
+++++++++++++++++++++++++++++++++++++++++++++++++++
Initializing rule chains...
1 Snort rules read1 detection rules0 decoder rules0 preprocessor rules
1 Option Chains linked into 1 Chain Headers
0 Dynamic rules
++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------[Rule Port Counts]---------------------------------------
| tcp udp icmp ip
| src 0 0 0 0
| dst 0 0 0 0
| any 0 0 1 0
| nc 0 0 1 0
| s+d 0 0 0 0
+----------------------------------------------------------------------------
再次祝贺!规则成功加载,测试通过!
作了以上修改之后,下面开始真正的测试。
sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
随后,你可以使用另一台电脑或者开另外一个terminal使用ping命令,ping测试主机。
比如:ping localhost
你应该能在测试主机上看到相似的如下输出:
10/31-02:27:19.663643 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.74 -> 10.0.0.64
10/31-02:27:19.663675 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.64 -> 10.0.0.74
10/31-02:27:20.658378 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.74 -> 10.0.0.64
10/31-02:27:20.658404 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.64 -> 10.0.0.74
10/31-02:27:21.766521 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.74 -> 10.0.0.64
10/31-02:27:21.766551 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.64 -> 10.0.0.74
10/31-02:27:22.766167 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.74 -> 10.0.0.64
10/31-02:27:22.766197 [**] [1:10000001:1] ICMP test [**] [Priority: 0] {ICMP} 10.0.0.64 -> 10.0.0.74
^C*** Caught Int-Signal
(按ctrl+c结束)
然后你去查看/var/log/snort,你也会发现有被命令为snort.log.nnnnnn(nnnn代表数字),这些文件中包含的和屏幕上打印出来的是一样的信息。
祝贺!现在我们已经能够根据自己的规则显示警告信息了。
Barnyard
sudo apt-get install -y libmysqlclient-dev autoconf libtool
output unified2: filename snort.u2, limit 128
接下来安装和配置Barnyard:
wget https://github.com/firnsy/barnyard2/archive/v2-1.13.tar.gz -O barnyard2-2-1.13.tar.gz
依次执行:
tar zxvf barnyard2-2-1.13.tar.gz
cd barnyard2-2-1.13
autoreconf -fvi -I ./m4
64bit和32bit机器分别执行以下:
./configure --with-mysql --with-mysql-libraries=/usr/lib/x86_64-linux-gnu --with-mysql-includes=/usr/include/
./configure --with-mysql --with-mysql-libraries=/usr/lib/i386-linux-gnu --with-mysql-includes=/usr/include/
继续:
make
sudo make install
sudo cp /usr/local/etc/barnyard2.conf /etc/snort
sudo mkdir /var/log/barnyard2
sudo chown snort.snort /var/log/barnyard2
sudo cp schemas/create_mysql /usr/src
编辑:
sudo gedit /etc/snort/barnyard2.conf
#227行 改为:
output alert_fast ( instead of output alert_fast: stdout )
output database: log, mysql, user=snort password=secret2 dbname=snort host=localhost
( 用你的snort用户的密码代替secret2 ,接下来在MySQL中会用到secret2)
MySQL
[ 输入MySQL的root密码 ]
在MySQL控制台依次输入以下内容(注意分号结尾):
create database snort;
create database archive;
grant usage on snort.* to snort@localhost;
grant usage on archive.* to snort@localhost;
set password for snort@localhost=PASSWORD('secret2');
grant all privileges on snort.* to snort@localhost;
grant all privileges on archive.* to snort@localhost;
flush privileges;
exit
重新登录MySQL控制台,依次键入:
use snort;source /usr/src/create_mysql;show tables; exit
Snort 和Barnyard 测试
<span style="font-size:12px;">sudo snort -q -u snort -g snort -c /etc/snort/snort.conf -i eth0 -D</span>
你不会看到输出结果,因为程序在后台运行的。
<span style="font-size:12px;">sudo barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.u2 -w /var/log/snort/barnyard2.waldo -g snort -u snort</span><span style="font-size: 18.6666660308838px;">
</span>
应该能看到以下输出:
--== Initialization Complete ==--______ -*> Barnyard2 <*-/ ,,_ \ Version 2.1.13 (Build 327)|o" )~| By Ian Firns (SecurixLive): http://www.securixlive.com/+ '''' + (C) Copyright 2008-2013 Ian Firns <firnsy@securixlive.com>Using waldo file '/var/log/snort/barnyard2.waldo':spool directory = /var/log/snortspool filebase = snort.u2time_stamp = 1412527313record_idx = 16
Opened spool file '/var/log/snort/snort.u2.1412527313'
Closing spool file '/var/log/snort/snort.u2.1412527313'. Read 16 records
Opened spool file '/var/log/snort/snort.u2.1412528990'
Waiting for new data
使用ctrl+c结束。
mysql -u snort -p -D snort -e "select count(*) from event"
应该会出现以下结果:
+----------+
| count(*) |
+----------+
| 4 |
+----------+
***如果出现少了一个 sid-msg.map文件的错误,以下方式修复:
cd /usr/share/oinkmastersudo bash -c "sudo ./create-sidmap.pl /etc/snort/rules > /etc/snort/sid-msg.map"
BASE
sudo apt-get install libphp-adodb
继续修改配置文件:
编辑 "/etc/php5/apache2/php.ini", 找到这一行"error_reporting" ,修改它:
error_reporting = E_ALL & ~E_NOTICE
编辑/etc/apache2/apache2.conf 添加许可www/base :
-----------------------------------------------------------------------------------------------------
<Directory /var/www/html/base>AllowOverride AllRequire all granted
</Directory>
-----------------------------------------------------------------------------------------------------
重启apache2 :
sudo service apache2 restart
安装BASE依赖:
sudo apt-get install php-pearsudo apt-get install libwww-perl sudo apt-get install php5-gdsudo pear config-set preferred_state alphasudo pear channel-update pear.php.netsudo pear install --alldeps Image_Color Image_Canvas Image_Graph
如果得到以下错误: ' could not extract the package.xml file ' ,那么以下方法可以修复这个错误。
当下载了这6个pear包之后,我们手动安装 ( 3 + 3 dependencies ).
如下:
cd /build/buildd/php5-5.5.9+dfsg/pear-build-download
ls
这里应该有6个 .tgz 包. 手动安装:
sudo tar zxf Image_Color*.tgz
sudo cp package.xml ./Image_Color*/
cd Image_Color*
sudo pear install package.xml
cd ..
按照上面方法依次安装其余的五个包。
Image_Canvas
Numbers_Roman
Math_BigInteger
Numbers_Words
Image_Graph
BASE的安装:
cd /usr/srcsudo wget http://sourceforge.net/projects/secureideas/files/BASE/base-1.4.5/base-1.4.5.tar.gzsudo tar -zxf base-1.4.5.tar.gzsudo cp -r base-1.4.5 /var/www/html/basesudo chown -R www-data:www-data /var/www/html/basesudo service apache2 restart
BASE设置:
浏览器输入:http://localhost/base
(语言就选择默认的英文)
Step 1) 输入路径 : /usr/share/php/adodb
Step 2) Database Name : snort
Database Host : localhost
Database User Name: snort
Database Password : secret2(之前输入的)
( tick 'Use Archive Database' )
Archive Database Name : archive
Archive Database Host : localhost
Archive Database User Name : snort
Archive Database Password : secret2(之前输入的)
Step 3)
Full admin name ( xxx )
[GUI password] ( Secret3 )
Full admin name ( XXXX )
Step 4) 点击 ' Create baseAG'
Step 5) 点击 ' Now continue to Step 5 ' and login ( XXX/ secret3 )
然后ping主机的话,不出意外每3min就会跟新显示snort的信息。
Snort:Barnyard2+MySQL+BASE 基于Ubuntu 14.04SNORT相关推荐
- snort mysql_Snort:Barnyard2+MySQL+BASE 基于Ubuntu 14.04SNORT
假设这样的方式出错的话,你可能须要依次运行: sudo apt-get update sudo apt-get upgrade 測试看看.运行: snort -V假设显示出下面: ,,_ -*> ...
- Windows 10环境中安装Snort+Barnyard2+MySQL
一.背景 Snort是一款著名的开源入侵检测系统,有着悠久的历史和众多用户.我们通过部署Snort系统来监测异常网络活动并发出报警.Snort的跨平台性能很好,它支持的各种Linux/Unix和Win ...
- 【转】基于Ubuntu 14.04 LTS编译Android4.4.2源代码
原文网址:http://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS编译Android4.4.2源代码 Denni ...
- ubuntu linux kvm安装,基于Ubuntu 14.04 KVM拟化安装部署
1. 宿主机环境(dell备份服务器) Ubuntu 14.04 LTS 64位 内存:16G 硬盘:2T 2. 确认CPU是否支持硬件虚拟化 root@linuxidc:~# egrep -o '( ...
- ubuntu 14.04 nginx php mysql_Ubuntu 14.04安装Nginx+PHP+MySQL
基于Ubuntu 14.04搭建Nginx+PHP+MySQL环境,以下全部命令行操作: 1,由于需要大量的权限操作,方便起见临时提升权限,使用root账号 sudo su 2,安装apt源管理工具. ...
- linux proftpd mysql_虚拟主机与Proftpd和MySQL(包括配额)在Ubuntu 14.04LTS
本文档介绍如何安装使用MySQL数据库而不是真实系统用户的虚拟用户的Proftpd服务器. 这是更好的性能,并允许在单个机器上有成千上万的ftp用户. 除此之外,我将使用此设置显示使用配额. 本教程基 ...
- Ubuntu 14.04数据库服务器--mysql的安装和配置
https://jingyan.baidu.com/article/425e69e6bbc6c7be14fc1640.html mysql是Oracle公司的一种开放源代码的关系型数据库管理系统,被广 ...
- 基于Ubuntu Server 16.04 LTS版本安装和部署Django之(二):Apache安装和配置
基于Ubuntu Server 16.04 LTS版本安装和部署Django之(一):安装Python3-pip和Django 基于Ubuntu Server 16.04 LTS版本安装和部署Djan ...
- 基于Ubuntu Server 16.04 LTS版本安装和部署Django之(一):安装Python3-pip和Django
近期开始学习基于Linux平台的Django开发,想配置一台可以发布的服务器,经过近一个月的努力,终于掌握了基于Apache和mod-wsgi插件的部署模式,自己也写了一个教程,一是让自己有个记录,二 ...
最新文章
- 成功抓取douban 所有电影
- 17、Spring Boot普通类调用bean【从零开始学Spring Boot】
- 函数实现不放在头文件的原因,及何时可以放头文件的情况
- spring——使用xml声明式事务整合jdbc——GRUD
- 一款问答APP的产品需求文档(PRD)
- DHCP配置 TFTP服务
- 颜色模型和颜色应用---YIQ颜色模型
- “四大神兽”拆机指北
- Python实现网络爬虫
- 关于C语言中自增自减
- 人工智能AI生成的艺术:从文本到图像、视频、3D建模
- 5-6中央处理器-多处理器系统硬件多线程
- oracle 截取时间至小时,Oracle中获取系统当前时间 和 进行时间间隔操作
- Python简单删除目录下文件以及文件夹
- 非线性最小二乘法之Gauss Newton、L-M、Dog-Leg
- 从典型软件来看 SaaS 的私有化部署方式
- 艾美捷MTT细胞增殖检测试剂盒测定方案
- 电路仿真matlab实验总结,基于matlab的boost电路仿真的实验报告分析.doc
- 友善之臂linux内核移植步骤,友善之臂 madplayer 移植过程补充
- oracle如何查询记录生成时间戳,Oracle使用范围内的时间戳记记录历史记录
热门文章
- 必备:产品经理工作文档大全
- 【数据结构】广义表的存储结构及基本运算(C语言)
- 吴恩达 深度学习系列--卷积神经网络(Convolutional Neural Networks)-03(目标检测)
- 案例分析:session丢失及appdomain回收
- 高清动图如何制作 GIF表情包制作方法
- 人工智能的逆向工程--反向智能研究综述
- 【23种设计模式】中介者模式(Mediator Pattern) .Net Core实现
- 数据结构实验课:实验五、二叉树操作及应用
- PTA Easy chemistry 化学方程式等价判定 string 状态机
- 笔记本电脑怎么录屏,3款简单操作电脑录屏软件