构建简易Snort网络入侵检测系统(NIDS)

TsengYia#126.com 2008.11.16

建立基于入侵特征规则库的SNORT NIDS系统。

###########################################################################################

系统环境:

Red Hat Enterprise Linux (2.6.18-8.el5)

软件环境:

◇ RHEL5系统自带的rpm包(多数默认已有,带“[*]”标记的可能需要额外安装):

httpd-2.2.3-6.el5

mysql-5.0.22-2.1

mysql-server-5.0.22-2.1

mysql-connector-odbc-3.51.12-2.2

mysql-devel-5.0.22-2.1    [*]

php-mysql-5.1.6-5.el5    [*]

php-5.1.6-5.el5

php-common-5.1.6-5.el5

php-pdo-5.1.6-5.el5    [*]

php-cli-5.1.6-5.el5

php-gd-5.1.6-5.el5    [*]

libpcap-0.9.4-8.1

libpcap-devel-0.9.4-8.1    [*]

pcre-6.6-1.1

pcre-devel-6.6-1.1    [*]

###########################################################################################

一、安装相关rpm软件及配置AMP环境

1、安装(过程略)

2、配置、启动httpd、mysqld

均按默认配置(过程略)。

shell> service httpd start

shell> service mysqld start

shell> chkconfig httpd on

shell> chkconfig mysqld on

二、配置并启动snort进程

1、编译安装snort

shell> useradd -d /etc/snort -s /sbin/nologin snort

shell> mkdir -p /var/log/snort/

shell> chown snort /var/log/snort/

shell> cd /dl_pkgs/

shell> tar zxvf snort-2.8.3.1.tar.gz

shell> cd snort-2.8.3.1

shell> ./configure --with-mysql

shell> make && make install

2、安装规则文件(已包含etc/配置、doc/手册)

shell> tar zxvf /dl_pkgs/snortrules-snapshot-2.8.tar.gz -C /etc/snort/

#//关于Snort rules的具体应用,请参考其他资料。

3、修改snort.conf配置文件

shell> cd /etc/snort/etc/

shell> cp snort.conf snort.conf.bak

shell> vi snort.conf

var HOME_NET [192.168.0.0/24,192.168.1.0/24,10.1.1.0/24]

var EXTERNAL !$HOME_NET

var RULE_PATH ../rules

output database: log, mysql, user=snort password=secret dbname=snort_log host=localhost

#//如果用内部主机做入侵测试,HOME_NET、EXTERNAL变量可以先不要修改

4、建立snort_log数据库

shell> mysql -u root -p

mysql> create database snort_log;

mysql> grant all on snort_log.* to snort@localhost identified by 'secret';

mysql> quit

shell> mysql -u snort -p snort_log < /dl_pkgs/snort-2.8.3.1/schemas/create_mysql

5、启动snort

shell> snort -dD -u snort -g snort -c /etc/snort/etc/snort.conf

其中,-D选项表示以daemon模式启动后置于后台,

若ps aux | grep snort发现未能正常启动,请去掉-D选项运行snort,根据提示信息进行排错。

[带规则启动snort时,若使用的是2.4版规则包(未注册用户版),可能会出现报错,根据提示将web-misc.rules文件中的对应行(97/98/452)注释掉即可]

附:snort工具的几个常用选项

-v  显示调试信息,将数据包输出到终端(作为IDS系统工作时不要使用该选项)

-c  指定rules规则集文件的位置

-d  输出应用层数据

-e  输出数据链路层数据

-l  将数据记录到日志文件(可以指定保存日志的目录,缺省为/var/log/snort/)

-b  使用tcpdump格式记录数据

-A  指定告警模式(fast,full,none,unsock),不同的模式决定了告警信息的详细程度

-T  运行自检(在使用-D运行daemon模式前,可以用于检查命令参数、配置文件、规则集等是否正常)

-D  以daemon模式在后台运行

-u  指定运行用户(初始化完成后切换为该用户)

-g  指定运行组

----> 为了更方便控制snort的运行,可以建立一个snort服务脚本

shell> vi /etc/init.d/snort

#!/bin/sh

# chkconfig: - 99 99

# description: Snort NIDS DAEMON

PROG=/usr/local/bin/snort

CONF=/etc/snort/etc/snort.conf

ARGS="-dD -u snort -g snort"

case "$1" in

start)

$PROG $ARGS -c $CONF

;;

stop)

killall -9 snort

;;

restart)

killall -9 snort

$PROG $ARGS -c $CONF

;;

*)

echo $"Usage: $0 "

exit 1

;;

esac

shell> chmod +x /etc/init.d/snort

shell> chkconfig --add snort

shell> chkconfig --level 2345 snort on

shell> service snort start

三、配置base+adodb的web前端

1、安装php-pear及相关插件

包括php-pear及下载的Image、Mail、Numbers等插件:

Image_Canvas-0.3.1.tar、Image_Color-1.0.2.tar、Image_Graph-0.7.2.tar

Mail-1.1.14.tar、Mail_Mime-1.5.2.tar、Mail_mimeDecode-1.5.0.tar

Numbers_Roman-1.0.2.tar、Numbers_Words-0.15.0.tar

shell> rpm -ivh /dl_pkgs/php-pear-1.7.2-2.fc10.noarch.rpm

shell> cd /dl_pkgs/pear-plugin/

shell> pear install *.tar

2、解压adodb、base源码包

shell> cd /var/www/html/

shell> tar zxvf /dl_pkgs/adodb506a

shell> tar zxvf /dl_pkgs/base-1.4.1-tar.gz

shell> mv base-php4 base

3、配置base

shell> cd /var/www/html/base/

shell> cp base_conf.php.dist base_conf.php

shell> vi base_conf.php        #//根据实际情况修改相关变量

$BASE_Language = 'simplified_chinese';        #//为了保持兼容性,建议使用默认的英文(English)

$BASE_urlpath = '/base';

$DBlib_path = '/var/www/html/adodb5';

$DBtype = 'mysql';

$alert_dbname = 'snort_log';

$alert_host = '3306';

$alert_user = 'snort';

$alert_password = 'secret';

$archive_exists = 0;

4、初始化安装

在浏览器中访问 http://Server_IP/base ,根据提示进行“安装页面(setup)”-->“Create BASE AG”。

5、添加管理员用户(可选)

1) 可以在 http://Server_IP/base 界面中,单击下方的“管理(Administration)”链接,新建立一个“admin”用户。

2) 修改/var/www/html/base/base_conf.php文件,打开Auth_System开关,即“$Use_Auth_System = 1;”。

3) 在浏览器中重新访问 http://Server_IP/base,则需要使用admin用户登录。

四、测试

1) 修改snort.conf文件,添加一条规则

shell> vi /etc/snort/etc/snort.conf

alert tcp any any -> any any (flags:S; msg:"SYN Packets Alert!"; sid:20081122;)

//该规则的告警条件过于严格,仅用于测试,完毕后请即删除)

2) 重新启动snort,并跟踪告警日志

shell> service snort restart

shell> tail -f /var/log/snort/alert

3) 在其他主机中,使用nmap等工具对snort服务器进行sync扫描,如“nmap -sS Server_IP”,观察上一步中alert日志的变化。

4) 刷新 http://Server_IP/base 页面,查看报警信息,点击右侧的“Graph Alert Data”,可以设置查看告警图片(使用中文界面时,图片可能无法显示)。

###########################################################################################

snort create_mysql_构建简易Snort网络入侵检测系统(NIDS)相关推荐

  1. 构建LINUX下的入侵检测系统——LIDS 系统管理命令--vlock

    构建LINUX下的入侵检测系统--LIDS   系统管理命令--vlock http://blog.chinaunix.net/uid-306663-id-2440200.html LIDS官方网站: ...

  2. 实验十六:网络入侵检测系统(IDS)的安装部署

    实验十六:网络入侵检测系统(IDS)的安装部署 一.实验目的及要求 1)了解入侵检测系统的基本概念和工作原理. 2)掌握snort入侵检测系统的安装和使用方法. 二.实验原理 1)入侵检测系统 入侵检 ...

  3. 【网络流量识别】【深度学习】【一】IRNN和LSTM—网络入侵检测系统深度学习方法的比较分析(N-IDS):N-IDS 的深度学习

    说在前面:由于博主刚入门学习网络流量识别和检测这块,所以对于一些介绍里面的理论知识可能会全部摘抄下来,不过本系列写着写着基础知识就会少了.然后写方法,简单写一下方法的原理和原理图,最后说一下数据集和结 ...

  4. efci 计算机网络,数值型关联规则挖掘在网络入侵检测系统中的应用研究

    基于数据挖掘技术的入侵检测技术是近年来研究的热点,目前有不少入侵检测系统中都采用了关联分析和聚类分析的数据挖掘方法,然而很多攻击难以从单个网络连接来判别,如果对多个连接进行分析势必会产生大量的统计信息 ...

  5. 研究型论文_基于特征值分布和人工智能的网络入侵检测系统的研究与实现

    文章目录 基于特征值分布和人工智能的网络入侵检测系统的研究与实现 论文摘要 论文解决的问题 1.系统框架 2.数据集样例处理流程 3.DSM中定义的一些评分机制 4.训练过程模拟(重点来了) 总结 基 ...

  6. 如何辨别网络入侵检测系统(IDS)的性能

    信息来源:海浩论坛 一.概述 性能指标是每个用户采购安全产品必定关注的问题.但是,如果不知道这些指标的真实含义,不知道这些指标如何测出来,就会被表面的参数所蒙蔽,从而做出错误的决策. 本文介绍了网络入 ...

  7. 网络入侵检测系统之Snort(一)

    作者:于顾而言 版权:本文版权归作者所有 转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任 What is Snort Snort是世界最顶尖的开源入侵检测 ...

  8. 网络入侵检测系统(IDS)的安装部署

    1:实验简介 实验所属系列:入侵检测与入侵防御/防火墙技术 实验对象:本科/专科信息安全专业 相关课程及专业:信息网络安全概论.计算机网络技术 实验时数(学分):4学时 实验类别:实践实验类 2:实验 ...

  9. 网络入侵检测系统之Suricata(一)

    What is Suricata Suricata是一个免费,开源,成熟,高性能,稳定的网络威胁检测引擎 系统功能包括:实时入侵检测(IDS).内联入侵预防(IPS).网络安全监控(NSM)和离线pc ...

最新文章

  1. BL1551模拟开关,封装SC70-6
  2. oracle 查看表属主和表空间sql
  3. [转]打造自己的LINQ Provider(上):Expression Tree揭秘
  4. 【django学习】request.POST与request.POST.get两者主要区别
  5. 使用python对数据集进行批处理
  6. WiseCloud成为全球首批Kubernetes官方认证平台产品-睿云智合
  7. jQuery判断页面是电脑端还是手机端
  8. k8s基本概念-如何使用私有regsitry
  9. jQuery Deferred对象
  10. DevOps使用教程 华为云(7)团队绩效评估 工时统计
  11. 2022-2027年中国玩偶行业市场全景评估及发展战略规划报告
  12. 【编译原理】【C语言】实验二:自动构造词法分析器
  13. CuPy is not correctly installed
  14. 学习率设置-warm up与consine learning rate
  15. 基于JAVA+SpringMVC+Mybatis+MYSQL的快递代收系统
  16. 超给力,一款简单又实用的免费 GitHub 加速神器
  17. Altium Designer(2)-抄板以及绘制原理图
  18. repo 忽视本地修改,强制恢复初始
  19. e舞成名2月新歌脚谱更新
  20. nginx容器配置https后访问有时显示连接被重置

热门文章

  1. TD-SCDMA单载频小区信道容量计算(一)
  2. 利用SEAL库进行加密的虹膜识别系统制作过程记录
  3. word: 插入或修改文字时后面的字消失 解决办法
  4. js正则表达式之邮箱格式
  5. js处理树形结构数据过滤
  6. 支付系统的对账处理:对账,轧账,平账,交易记录,退款记录
  7. 分布式系统核心理论之CAP、BASE理论
  8. IT求职经验总结——面试和准备策略
  9. Win10自带记事本开发C语言,win10自带记事本的编码问题
  10. 食品行业质量追溯系统的建设(一)