snort
snort是一套开放源代码的网络入侵预防软件与网络入侵检测软件。snort使用了以帧测签章(signature-based)与通讯协定的侦测方法。
Snort的工作方式有三种:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网络入侵检测模式是复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。snort最重要的用图还是作为网络入侵检测系统(NIDS)前两种较为简单一些,在这不说了。关键是第三种,涉及到配置文件,要复杂的多。既然是入侵检测系统,肯定是有报警之类的东西出来的。一般是保存在/var/log/snort/alert文件中,当然利用-l选项也可改变日志的输出文件。Snort的报警有6种输出模式:full、 fast、unit sockect、syslog、smb和none。有4种可以用命令-A选项来控制。
-A full:是默认的报警模式。
-A fast:报警信息包括:一个时间戳(timestamp)、报警消息、源/目的IP地址和端口。
-A unsock:把报警发送到一个UNIX套接字,需要有一个程序进行监听,这样可以实现实时报警。套解口捆绑的路径名 为/var/log/snort/snort_alert。需进一步对报警 进行处理是此选项非常有用:)
-A none:关闭报警机制。
smb模式发送WinPopup消息。(在运行./configure脚本时,必须使用--enable-smbalerts选项)
使用-s选项可以使snort把报警消息发送到syslog,默认的文件输出是/var/log/messages。
要使snort以网络入侵检测系统的方式运行必须加上-c /etc/snort/snort.conf选项。
很多日志插件都可以用于Snort,Database就是一个非常流行的输出插件,它允许把数据写入到MySQL, PostgreSQL, unixODBC, Oracle和MS-SQL Server等数据库中。
各位久等,又弄了好久最后发现原来可以使用。
首先需要下载libpcap,mysql,apache,php,adodb,snort,base这些软件
1.libpcap是unix/Linux平台下捕获网络数据包的函数库;
2.mysql是数据库,存放捕获的数据;
3.apache web服务器;
4.PHP 网页脚本语言;
5.adodb为PHP提供数据库的支持;(ADOdb is a database abstraction library for PHP)
6.base是基本的分析和安全引擎,它以ACID项目的代码为基础,提供web前端,查询和分析来自snort入侵检测系统的报警;(BASE is the Basic Analysis and Security Engine. It is based on the code from the Analysis Console for Intrusion Databases (ACID) project. This application provides a web front-end to query and analyze the alerts coming from a SNORT IDS system)
apache和PHP的安装就是为base服务的。
前面由于小编已经做好了LAMP环境,所以就直接进行snort的安装,不会的各位可以参照小编的LAMP搭建与配置教程
这里小编就把过程贴出来
安装MySQL(由于小编一开始用的是linux镜像带的MySQL,这里贴出从官网下载MySQL源码过程)
首先我们度娘MySQL,就会出现下面的界面
我们点击红圈圈起来的那个下载项
我们点击进去后,我们点击community
我们点击第五项的MySQL community server
然后我们在当前界面的下面找到MySQL community server的下拉项,选择源代码下拉项(默认是microsoft Windows)
找到MySQL-版本号-tar.gz这一项,然后点击download
这里我们选择不登录和注册,选择直接下载
这样我们就可以把MySQL源码下载下来了,我们把它拖动到linux里面
我们把它解压
然后我们进入到MySQL解压目录,执行如下命令
./configure --prefix=/usr/local/mysql &&make &&make install
这时候发现无法执行这个命令,小编赶紧度娘一下
原来高版本的MySQL需要用cmake安装,为了简单,小编就下了一个低版本的
将其下载下来并拉到虚拟机中,果然小编发现了configure
OK,然后我们继续进入该目录执行命令
这个配置安装过程非常长,大概10分钟左右,望大家耐心等待就好
然后执行该命令复制MySQL的配置文件
然后我们进入到MySQL目录,建立数据库
如出现resolvip错误,解析不了localhost,是因为/etc/hosts文件为空,我们设置这个文件就可以啦(小编一开始在搭sendmail的时候这个文件就已经写上了)
然后我们执行图中命令来启动MySQL数据库
(如出现mysql.sock找不到查看/etc/my.cnf文件,默认生成mysql.sock文件在/tmp/mysql.sock,但有时会在 /var/lib/mysql/mysql.sock,对/etc/my.cnf文件编辑,改变路径,或者用下面命令:ln -s /var/lib/mysql/mysql.sock /tmp/ )
然后我们执行图中命令设置MySQL开机自启动
然后我们安装ADODB,也是需要从网上下载
这里小编已经下载下来,并解压到/usr/local/目录下
然后我们安装base,依次执行如下命令
(由于小编一开始搭建的lamp环境是直接用的linux自带的镜像,所以目录不一样,这里就直接贴出用源代码安装路径下执行的命令)
#cd /usr/local/src/snortinstall
#cp base-1.4.5.tar.gz /usr/local/apache2/htdocs/
#cd /usr/local/apache2/htdocs
#tar –xvzf base-1.4.5.tar.gz
cp base_conf.php.dist base_conf.php
edit the “base_conf.php” file and insert the following perimeters
$BASE_urlpath = "/base";
$DBlib_path = "/usr/local/adodb ";
$DBtype = "mysql";
$alert_dbname = "snort";
$alert_host = "localhost";
$alert_port = "";
$alert_user = "root";
$alert_password = "password_of_root_mysql";
/* Archive DB connection parameters
*/$archive_exists = 0; # 如有archive数据库,设为1
注意都是双引号
安装zlib(从网上下载)
我们将Windows下下载的包拉倒linux里面
我们解压它
我们进入安装目录然后执行下面命令
这样改工具就安装完毕了,然后我们安装libpcap工具。
我们先确认是否安装了libpcap工具
对应的rpm包
这里需要上网下载snort所需要的安装包(网址是http://www.snort.org/)
我们还需要下载的就是snort规则库,小编上传到CSDN下载资源里面也有,也可以到官网自行下载(http://www.snort.org/)
然后我们把snort进行解压(用命令 rpm -ivh 包名也可以),得到对应文件夹
我们在终端进入到这个目录
然后分别执行以下命令
- ./configure
- make
- make isntall
- mkdir -p /etc/snort/rules
- cp /opt/snort-2.9.11.1/etc/*.conf /etc/snort/ -fr
- cp /opt/snort-2.9.11.1/etc/unicode.map /etc/snort/ -fr
- mkdir /var/log/snort
然后我们需要配置snort,用到了snortrules这个安装包
我们进入到我们创建的/etc/snort/rules目录
将那个snortrules这个安装包解压的rules文件全部拷到这个目录下
然后我们编写snort运行脚本(路径/etc/init.d/)
然后我们开启snort
小编一开始在运行的时候,它提示权限不够,所以小编就把权限不够的那个目录的权限全部变成777,再次开启就OK了
然后我们来验证一下
这里说明snort已经成功安装
运行snort
# /usr/local/snort/bin/snort -dev -c /usr/local/snort/etc/snort.conf
运行http://localhost/base/index.php即可