澳门新葡亰官网app 2

Linux下snort的设置配备及感受,Snort集团布置实战

By admin in 澳门新葡亰官网app on 2019年9月3日

CentOS6.5 安装snort

澳门新葡亰官网app 1

本机CentOS6.5最大化安装,以下安装所需组件也是最大化安装之后仍需自己安装的.

1.安装libpcap与libpcap-devel

yum -y install libpcap*

2.安装libpcre

yum -y install pcre*

3.安装libdnet

推荐先添加epel源再按装此组件,参考:CentOS6.5 添加epel源

yum -y install libdnet*

4.下载最新版snort,网址

5.编译安装daq-2.0.2.tar.gz

tar xvfz daq-2.0.2.tar.gzcd daq-2.0.2./configure; make; sudo make install

6.编译安装snort-2.9.6.2.tar.gz

tar xvfz snort-2.9.6.2.tar.gzcd snort-2.9.6.2./configure --enable-sourcefire; make; sudo make install

7.配置

  配置方面走了好多弯路,因为要输出到mysql,而网上的教程都针对于旧版snort。新版本纠结了好久也不知道为什么配置文件没有输出到数据库选项,最后查看change
log才发现早在12年4月36号的Snort 2.9.3 Beta中就已经Remove deprecated
output plugins aruba, prelude, mysql, oracle and mssql from Snort。

安装snort
本机CentOS6.5最大化安装,以下安装所需组件也是最大化安装之后仍需自己安装的.
1.安装libpcap与libpcap-devel yum -y install libpca…

修改Snort配置文件,用vi打开/etc/snort/snort.conf,修改如下行为:

2.2.9提高性能
如果是监控10/100M的网络还行,如果流量过大就需要提高snort的监控性能,目前最经济的方法是,在双网卡上运行Snort程序,可以配置Snort来侦听多个网卡,问题是Snort每个命令行选项(-i)只接受一个网卡。有种在多种网卡上运行Snort的方法:
Ø 为每个网卡运行一个独立的Snort进程;
Ø 通过绑定Linux内核的特征将所有的网卡绑定在一起。
用Snort监控多个网卡时选择哪种方法取决于你的环境和优先级等多种因素。运行多个Snort进程会增大工作量,并浪费大量的无法接受的处理器时间周期。如果你有可用的资源来运行两个或多个Snort进程,那么你应该考虑一下数据管理问题。假设所有的Snort实例以同样的方式配置,那么同样的攻击会被报告多次。这会令人侵检测系统管理员头疼,尤其是启用时报警的时候。当你面对不同的网卡有不同的入侵检测需求时,为每个网卡分配单个Snort程是最理想的。如果你为每个网卡都分配了一个独立的Snort进程,那么你就为每个网卡创建一个类似虚拟的传感器。在一个机器上架设几个“传感器”,你就可以为每个独立的Snort进程载入不同的配置、规则和输出插件。这最适合于独立的Snort进程。另一方面,如果你不能这样、或者不想为每个网卡启用额外的Snort进程,你可以将两个网卡绑定在一起。这样当你启用Snort时,就能用
-i命令选项指定个已被绑定的网卡(如bond0)。
为了实现这个目的,请编辑/etc/modules.conf,加入如下行:
alias bond0 bonding
现在,每次重启机器,你都需要在将IP地址信息分配给网卡之后输入下而的侖今桌渐活绑定的网卡:
ifconfig bondup
ifenslave bond0 eth0
ifenflave bond0 eth1
注意,你可将这些命令放在一个脚本里,在系统启动时运行该脚本。当运行Snort时,可以按如下方式使用的bond0网卡:
snort < options> -i bond0

smb模式发送WinPopup消息。(在运行./configure脚本时,必须使用–enable-smbalerts选项)使用-s选项可以使snort把报警消息发送到syslog,默认的文件输出是/var/log/messages。

澳门新葡亰官网app 2

  1. tar –zxf snort-2.6.0.2.tar.gz

  2. cd snort-2.6.0.2

  3. ./configure –with-mysql –enable-dynamicplugin

  4. make && make install

  5. cd etc

  6. mkdir /etc/snort

  7. cp *.map *.config /etc/snort/

  8. tar –zxf snortrules-snapshot-CURRENT.tar.gz –C /etc/snort/

1 背景
我们知道企业网络目前威胁来自两个位置:一个是内部,一个是外部。来自外部的威胁都能被防火墙所阻止,但内部攻击都不好防范。因为公司内部人员对系统了解很深且有合法访问权限,所以内部攻击更容易成功。IDS为信息提供保护,已经成为深度防御策略中的重要部分。IDS与现实世界里的防窃报警装置类似。他们都对入侵进行监控,当发现可疑行为时,就向特定的当事人发出警报。IDS分为两类:主机IDS(HIDS)和网络IDS(NIDS)。HIDS安装在受监控主机上,拥有对敏感文件的访问特权。HIDS利用这一访问特权对异常行为进行监控。NIDS存在于网络中,通过捕获发往其他主机的流量来保护大量网络设施。HIDS和NIDS都有各自的优点和缺点,完整的安全解决方案应包括这两种IDS,对于这一点比较难做到。不了解这一领域的人常常认为IDS就像一把万能钥匙,能解决所有安全问题。例如有的单位花了大笔的钱购置了商业IDS由于配置不当反而搞得练练误报一下子就把数据库塞满了,大量丢包,进而崩溃。这种态度使人们以为只要将IDS随便安放在网络中就万事大吉了,不必担心任何问题,实际上远非如此。没有人会认为Email服务器直接连在Internet上就能正确运作。同样,你也需要正确的计划IDS策略,传感器的放置。下文以开源软件Snort的安装与维护为例,介绍正确地安装和维护IDS的思路和方法。
 
2 安装Snort
2.1安装准备工作
我们在安装前我们要知道我们需要监控的内容,理想的状况是对一切进行监控。所有网络设备和任何从外部到企业的连接都处在Snort的监视之下。尽管这一计划对小公司只有几十台机器是很可能实现的,但是当大型企业中连接上天台网络设备时,这成了难以施展的艰巨任务。为了加强snort检测的安全性,最好能为监控网段提供独立的智能交换机,如果你需要配置分布式的配置,可以吧服务器和控制台接在一个交换机上,二其他传感器放置在不同的物理位置,但这样的成本会有所增加。Snort
IDS的维护问题是无法回避的。你迟早要对Snort特征更新并编写定制的规则,所以你还需要一个懂得维护IDS的专业人士。
2.2深入Snort
Snort包含很多可配置的内部组件,它们对误报、漏报以及抓包和记录日志等的性能都有很大影响。能深入了解Snort的内幕有助于有效地利用Snort监控人侵。还会帮助你根据自己的网络定制Snort,并且避免它的一些常见缺陷。
2.2.1用Libpcap输送Snort包
Snort没有自己的捕包工具,它需要一个外部的捕包程序库:libpcap。Snort利用libpcap独立地从物理链路上进行捕包,它可以借助libpcap的平台为一个真正的与平台无关的应用程序。直接从网卡捕包的任务由libpcap承担。这一捕获原始包的工具是由底层操作系统提供给其他应用程序使用的。Snort需要数据保持原始状态,它利用的就是原始包所有的协议头信息都保持完整,未被操作系统更改的特性来检测某些形式的攻击。由于利用libpcap获取原始包,一次只能处理一个包,这不是最好的方法,这也制约了它对千兆网络进行监控的瓶颈。
2.2.2包解码器
包一被收集到Snort必须对每一个具体的协议元素进行解码。在包通过各种协议的解码器时,解码后的包数据将堆满一个数据结构。包数据一被存人数据结构中,就会迅速被送到预处理程序和检测引擎进行分析。
2.2.3预处理程序
Snort的预处理分为两类。它们可以用来针对可疑行为检查包或者修改包以便检测引擎能对其正确解释。预处理的参数可以通过snort.Conf配置文件调整。
预处理器:
Ø Frag2
Ø Stream4
Ø Stream4_reassemble
Ø Http_decode
Ø RPC_decode
Ø BO
Ø Telnet_decode
Ø ARPspoof
Ø ASNI_decode
Ø Fnord
Ø Conversation
Ø Portscan2
Ø SPADE
2.2.4检测引擎
检测引擎将流量与规则按其载人内存的顺序依次进行匹配。是Snort的一个主要部件。
2.2.5输出插件
Snort的输出插件接收Snort传来的入侵数据。输出插件的目的是将报警数据转储到另一种资源或文件中。
澳门新葡亰官网app,2.2.6 Snort的性能问题
Snort有效工作的性能可能会受到以下几种选择的限制:硬件、操作系统和连网的组件。
对snort的性能影响最大的是snort的配置设定以及规则集设置。内部瓶颈则主要出现在包解码阶段,要snort检查包的容,那么它比一般的规则都要更加耗费系统资源。启用的检查包内容的规则越多,snort的运行就需要越多的系统资源。如果要激活预处理程序中的某些设置选项,就会需要消耗额外的系统资源。最明显的例子就是启用在frag2预处理程序和stream4预处理程序中的“最大存储容量(memcap)”选项。如果您打算激活大量耗费资源的预处理程序选项,最好确定有足够的硬件资源的支持。我曾经遇到过一个用户花了大笔的钱购买了最先进的
IDS由于配置不当,连检测100M网都出现了丢包现象。
1)SPAN端口监控
在监控时我们必然需要做SPAN,SPAN端口监控是另外一种在现有网络结构中引入监控网段的方法。Cisco交换机的中高端产品都有SPAN端口或镜像端口。Span端口既可以是一个专用端口,也可以通过该端口实现交换机上所有的端口的配置选项设定。利用SPAN端口的特点实现监控功能是一种实用的方法。使用SPAN端口监控法并不会给所要监控的网络引入单点错误的问题。与网内Hub监控法相比,这是使用SPAN端口监控最大的优点。
注意:镜像顺序问题:当所监控的网络要升级为高带宽网络时,可以先是只镜像一个端口,对snort的性能观察一段时间,并根据需要进行调整。当snort的这个端口调整好了之后,可以切合实际的、循序渐进的增加别的端口,要注意的是,千万不能一下子增加过多的端口。用SPAN端口监控法将会降低本生交换设备的性能用SPAN端口会使交换设备的内存负担过重,从而使设备的性能下降。对流量的映是一个非常耗费内存的过程,
 
2.2.7.安装Snort
操作系统:Red Hat
Enterprise Linux 5.5
数据库:MySQL:mysql-5.1
Web服务器:Apache:httpd-2.2
WEB语言:PHP:php-5.4
首先我们需要安装MySQL 、Apache(必须安装mod_ssl模块)
、PHP、并进行配置Apache,其详细安装过程可以参见《Linux企业应用案例精解》
1)安装主程序
#tar zxf snort-2.8.5.2.tar.gz
#cd snort-2.8.5.2
#./configure –with-mysql=/usr/local/mysql & make & make install
创建配置文件目录mkdir /etc/snort
创建日志目录mkdir /var/log/snort
2)安装snort规则
tar zxf snortrules-snapshot-2860.tar.gz
tar zxf snortrules-snapshot-CURRENT.tar.gz
mv rules/ /etc/snort
cp * /etc/snort/
修改/etc/snort/snort.conf文件
监听的本地网段 var HOME_NET 192.168.150.0/24
有五行以output database: 开头的行,将其“#”号去掉。
3) 创建snort数据库
mysql> create database snort;
mysql> connect snort;
mysql> source /usr/local/src/snort-2.8.5.2/schemas/create_mysql;
mysql>grant CREATE,INSERT,SELECT,DELETE,UPDATE on snort.* to
snort;
mysql>grant CREATE,INSERT,SELECT,DELETE,UPDATE on snort.* to
snort@localhost;
另外有兴趣的读者可以尝试使用phpMyadmin这一工具,phpMyAdmin是一个基于web的MySQL数据库管理工具。它能够创建和删除数据库,创建/删除/修改表格,删除/编辑/新增字段,执行SQL脚本等。
2.2.8启动snort
正确安装并配置完成以后,下一步我们需要启动snort
#snort -c /etc/snort/snort.conf
为了snort安全应避免用root身份运行snort,这时需要创建专用的用户和组
#useradd snort
,如果是RedHat在创建用户的同时就创建了snort组
#snort –u snort –g snort –U –d –D –c /etc/snort/snort.conf
接下来就需要安装Acid+Adodb+Jpgraph, ACID(Analysis Console for Incident
Databases)是snort使用的标准分析员控制台软件。ACID是一个基于PHP的分析引擎,它能够搜索、处理snort产生的数据库。下面是安装及配置过程。这一过程也非常简单将adodb和jpgraph的tar包复制到Apache根目录下,解开acid包后,修改acid_conf.php配置即可。注意Acid配置参数都在acid_config.php文件里,所有的值都必须放在双引号内(“),而且后面要加上分号(;)必须现已SSL模式启动Apache,定位到ACID的主页

var HOME_NET 192.168.8.129

澳门新葡亰官网app 3

creat database snort;

图1 ACID界面

-A none:关闭报警机制。

很多日志插件都可以用于Snort,Database就是一个非常流行的输出插件,它允许把数据写入到下列数据库中:MySQL,
PostgreSQL, unixODBC,
Oracle和MS-SQL
Server。这里主要说一下利用mysql记录报警的配置,其它数据库类似。

这段时间一直都在研究snort,很优秀的一个东东。将学习的一点点经验贴出来,一来能为自己作一些积累,二则或许还能给你带来方便,仅此足以~

-A
unsock:把报警发送到一个UNIX套接字,需要有一个程序进行监听,这样可以实现实时报警。套解口捆绑的路径名为/var/log/snort/snort_alert。需进一步对报警进行处理是此选项非常有用:)

-A full:是默认的报警模式。

2、用下面的命令运行:

若看见类似”libpcap-0.7.2-1″的消息说明已经安装了libpcap;反之,请访问

下载snort最新规则库:snortrules-snapshot-CURRENT.tar.gz
(需注册后才能获得)

要使snort以网络入侵检测系统的方式运行必须加上-c
/etc/snort/snort.conf选项。

Snort的工作方式有三种:嗅探器、数据包记录器、网络入侵检测系统。前两种较为简单一些,在这不说了。关键是第三种,涉及到配置文件,要复杂的多。既然是入侵检测系统,肯定是有报警之类的东西出来的。一般是保存在/var/log/snort/alert文件中,当然利用-l选项也可改变日志的输出文件。Snort的报警有6种输出模式:full、fast、unit
sockect、syslog、smb和none。有4种可以用命令-A选项来控制。

二、配置Snort:

mysql -u root

1.RedHat Linux
9操作系统。确定已经安装了libpcap工具,若不能确定,用下面的命令:

三、Snort体验:

use snort;

一、Snort的安装:

2.下载snort源码压缩包:snort-2.6.0.2.tar.gz (

rpm -q libpcap

-A
fast:报警信息包括:一个时间戳(timestamp)、报警消息、源/目的IP地址和端口。

首先必须建立mysql数据库:

1、在snort-2.6.0.2/schemas/目录下找到文件create_mysql,编辑它在文件开始处加上如下两行:

var RULE_PATH /etc/snort/rules

实验环境:

澳门新葡亰官网app 4

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 澳门新葡亰官网app 版权所有