开源入侵检测系统,开源入侵检测系统官网

http://www.itjxue.com  2023-01-13 10:26  来源:未知  点击次数: 

开源主机入侵检测系统(HIDS)

1

OSSEC

OSSEC是一款 开源 的多平台的 入侵检测系统 ,可以运行于Windows, Linux, OpenBSD/FreeBSD, 以及 MacOS等操作系统中。包括了日志分析,全面检测,root-kit检测。作为一款HIDS,OSSEC应该被安装在一台实施监控的系统中。另外有时候不需要安装完全版本的OSSEC,如果有多台电脑都安装了OSSEC,那么就可以采用客户端/服务器模式来运行。客户机通过客户端程序将数据发回到服务器端进行分析。在一台电脑上对多个系统进行监控对于企业或者家庭用户来说都是相当经济实用的。

功能有日志分析、完整性检查、rootkit检测、基于时间的警报和主动响应。除了具有入侵检测系统功能外,它还一般被用在SEM/SIM(安全事件管理(SEM: Security Event Management)/安全信息管理(SIM:SecurityInformation Management))解决方案中。因其强大的日志分析引擎,ISP(Internet service provider)(网络服务提供商)、大学和数据中心用其监控和分析他们的防火墙、 入侵检测系统 、网页服务和验证等产生的日志。

2

AIDE

如何在Ubuntu上安装Snort入侵检测系统

Snort作为一款优秀的开源主机入侵检测系统,在windows和Linux平台上均可安装运行。Ubuntu作为一个以桌面应用为主的Linux操作系统,同样也可以安装Snort。

安装Snort过程

[安装LAMP,Snort和一些软件库]

由于 Ubuntu 是 Debian 系的 Linux,安装软件非常简单,而且 Ubuntu 在中国科技大学有镜像,在教育网和科技网下载速度非常快(2~6M/s),就省掉了出国下载安装包的麻烦,只需要一个命令即可在几十秒钟内安装好所有软件。这里使用 Ubuntu 默认命令行软件包管理器 apt 来进行安装。

$ sudo apt-get install libpcap0.8-dev libmysqlclient15-dev mysql-client-5.0 mysql-server-5.0 bison flex apache2 libapache2-mod-php5 php5-gd php5-mysql libphp-adodb php-pear pcregrep snort snort-rules-default

需要注意的是在安装 MySQL 数据库时会弹出设置 MySQL 根用户口令的界面,临时设置其为“test”。

[在 MySQL 数据库中为 Snort 建立数据库]

Ubuntu 软件仓库中有一个默认的软件包 snort-mysql 提供辅助功能,用软件包管理器下载安装这个软件包。

$ sudo apt-get install snort-mysql

安装好之后查看帮助文档:

$ less /usr/share/doc/snort-mysql/README-database.Debian

根据帮助文档中的指令,在 MySQL 中建立 Snort 的数据库用户和数据库。所使用的命令如下:

$ mysql –u root –p

在提示符处输入上面设置的口令 test

mysql CREATE DATABASE snort;

mysql grant CREATE, INSERT, SELECT, UPDATE on snort.* to snort@localhost;

mysql grant CREATE, INSERT, SELECT, UPDATE on snort.* to snort;

mysql SET PASSWORD FOR snort@localhost=PASSWORD('snort-db');

mysql exit

以上命令的功能是在 MySQL 数据库中建立一个 snort 数据库,并建立一个 snort 用户来管理这个数据库,设置 snort 用户的口令为 snort-db。

然后根据 README-database.Debian 中的指示建立 snort 数据库的结构。

$ cd /usr/share/doc/snort-mysql

$ zcat create_mysql.gz | mysql -u snort -D snort -psnort-db

这样就为 snort 在 MySQL 中建立了数据库的结构,其中包括各个 snort 需要使用的表。

[设置 snort 把 log 文件输出到 MySQL 数据库中]

修改 Snort 的配置文件:/etc/snort/snort.conf

$ sudo vim /etc/snort/snort.conf

在配置文件中将 HOME_NET 有关项注释掉,然后将 HOME_NET 设置为本机 IP 所在网络,将 EXTERNAL_NET 相关项注释掉,设置其为非本机网络,如下所示:

#var HOME_NET any

var HOME_NET 192.168.0.0/16

#var EXTERNAL_NET any

var EXTERNAL_NET !$HOME_NET

将 output database 相关项注释掉,将日志输出设置到 MySQL 数据库中,如下所示:

output database: log, mysql, user=snort password=snort-db dbname=snort host=localhost

#output database: log, mysql

这样,snort 就不再向 /var/log/snort 目录下的文件写记录了,转而将记录存放在 MySQL 的snort数据库中。这时候可以测试一下 Snort 工作是否正常:

$ sudo snort -c /etc/snort/snort.conf

如果出现一个用 ASCII 字符画出的小猪,那么 Snort 工作就正常了,可以使用 Ctrl-C 退出;如果 Snort 异常退出,就需要查明以上配置的正确性了。

[测试 Web 服务器 Apache 和 PHP 是否工作正常]

配置 apache 的 php 模块,添加 msql 和 gd 的扩展。

$ sudo vim /etc/php5/apache2/php.ini

extension=msql.so

extension=gd.so

重新启动 apache

$ /etc/init.d/apache2 restart

在/var/www/目录下新建一个文本文件test.php

$ sudo vim /var/www/test.php

输入内容:

?php

phpinfo();

?

然后在浏览器中输入 ,如果配置正确的话,就会出现 PHP INFO 的经典界面,就标志着 LAMP 工作正常。

[安装和配置 acid-base]

安装 acid-base 很简单,使用 Ubuntu 软件包管理器下载安装即可:

$ sudo apt-get install acidbase

安装过程中需要输入 acidbase 选择使用的数据库,这里选 MySQL,根用户口令 test,和 acid-base 的口令(貌似也可以跳过不设置)。

将acidbase从安装目录中拷贝到www目录中,也可以直接在apache中建立一个虚拟目录指向安装目录,这里拷贝过来主要是为了安全性考虑。

sudo cp –R /usr/share/acidbase/ /var/www/

因为 acidbase 目录下的 base_conf.php 原本是一个符号链接指向 /etc/acidbase/ 下的base_conf.php,为了保证权限可控制,我们要删除这个链接并新建 base_conf.php 文件。

$ rm base_conf.php

$ touch base_conf.php

暂时将 /var/www/acidbase/ 目录权限改为所有人可写,主要是为了配置 acidbase 所用。

$ sudo chmod 757 acidbase/

现在就可以开始配置 acid-base 了,在浏览器地址栏中输入 ,就会转入安装界面,然后就点击 continue 一步步地进行安装:

选择语言为 english,adodb 的路径为:/usr/share/php/adodb;选择数据库为 MySQL,数据库名为 snort,数据库主机为 localhost,数据库用户名为 snort 的口令为 snort-db;设置 acidbase 系统管理员用户名和口令,设置系统管理员用户名为 admin,口令为 test。然后一路继续下去,就能安装完成了。

安装完成后就可以进入登录界面,输入用户名和口令,进入 acidbase 系统。

这里需要将 acidbase 目录的权限改回去以确保安全性,然后在后台启动 snort,就表明 snort 入侵检测系统的安装完成并正常启动了:

$ sudo chmod 775 acidbase/

$ sudo snort -c /etc/snort/snort.conf -i eth0 –D

[检查入侵检测系统工作状况,更改入侵检测规则]

正常情况下在一个不安全的网络中,登录 acidbase 后一会儿就能发现网络攻击。如果没有发现网络攻击,可以添加更严格的规则使得正常的网络连接也可能被报攻击,以测试 Snort IDS 的工作正确性,比如在 /etc/snort/rules/web-misc.rules 的最后添加下面的话:

$ sudo vi /etc/snort/rules/web-misc.rules

alert tcp any :1024 - $HTTP_SERVER 500:

这一行的意思是:对从任何地址小于 1024 端口向本机 500 以上端口发送的 tcp 数据包都报警。杀死 Snort 的后台进程并重新启动,就应该能检测到正常的包也被当作攻击了。

$ sudo kill `pgrep snort`

$ sudo snort –c /etc/snort/snort.conf –i eth0 -D

总结

使用Ubuntu安装Snort入侵检测系统和网页控制台是相当容易的,因为 Ubuntu 提供了很方便的软件包安装功能,只是有时候定制性能太差,需要用户手动去寻找软件包的安装位置。

常用的入侵检测软件有哪些,举4个以上的例子,谢谢啦

1.Snort:这是一个几乎人人都喜爱的开源IDS,它采用灵活的基于规则的语言来描述通信,将签名、协议和不正常行为的检测方法结合起来。其更新速度极快,成为全球部署最为广泛的入侵检测技术,并成为防御技术的标准。通过协议分析、内容查找和各种各样的预处理程序,Snort可以检测成千上万的蠕虫、漏洞利用企图、端口扫描和各种可疑行为。在这里要注意,用户需要检查免费的BASE来分析Snort的警告。

2.OSSEC HIDS:这一个基于主机的开源入侵检测系统,它可以执行日志分析、完整性检查、Windows注册表监视、rootkit检测、实时警告以及动态的适时响应。除了其IDS的功能之外,它通常还可以被用作一个SEM/SIM解决方案。因为其强大的日志分析引擎,互联网供应商、大学和数据中心都乐意运行 OSSEC HIDS,以监视和分析其防火墙、IDS、Web服务器和身份验证日志3.Fragroute/Fragrouter:是一个能够逃避网络入侵检测的工具箱,这是一个自分段的路由程序,它能够截获、修改并重写发往一台特定主机的通信,可以实施多种攻击,如插入、逃避、拒绝服务攻击等。它拥有一套简单的规则集,可以对发往某一台特定主机的数据包延迟发送,或复制、丢弃、分段、重叠、打印、记录、源路由跟踪等。严格来讲,这个工具是用于协助测试网络入侵检测系统的,也可以协助测试防火墙,基本的TCP/IP堆栈行为。可不要滥用这个软件呵。

4.BASE:又称基本的分析和安全引擎,BASE是一个基于PHP的分析引擎,它可以搜索、处理由各种各样的IDS、防火墙、网络监视工具所生成的安全事件数据。其特性包括一个查询生成器并查找接口,这种接口能够发现不同匹配模式的警告,还包括一个数据包查看器/解码器,基于时间、签名、协议、IP地址的统计图表等。

5.Sguil:这是一款被称为网络安全专家监视网络活动的控制台工具,它可以用于网络安全分析。其主要部件是一个直观的GUI界面,可以从 Snort/barnyard提供实时的事件活动。还可借助于其它的部件,实现网络安全监视活动和IDS警告的事件驱动分析。

(责任编辑:IT教学网)

更多

推荐其它系统文章