设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> Linux专题 >> SHELL >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
架设基于Linux(2.6.14内…
Snort2.3.3安装笔记
Samba大全 关于Samba服务…
Lotus Notes如何自动删除…
Linux下基于路由器的拨号…
浅谈基于Linux的Intrane…
Linux VS NT Server 4.0…
基于Linux2.4内核的透明…
基于Linux的集群系统环境…
基于Linux集群技术的校园…
  基于Snort的入侵检测系统         
基于Snort的入侵检测系统
 

 

 

 

 

基于Snort的入侵检测系统

 

 

 

用Snort,Apache,MySQL,PHP及ACID构建高级IDS


第一章              入侵检测系统及Snort介绍

在当今的企业应用环境中,安全是所有网络面临的大问题。黑客和入侵者已成功的入侵了一些大公司的网络及网站。目前已经存在一些保护网络架构及通信安全的方法,例如防火墙、虚拟专用网(VPN)、数据加密等。入侵检测是最近几年出现的相对较新的网络安全技术。利用入侵检测技术,我们可以从已知的攻击类型中发现是否有人正在试图攻击你的网络或者主机。利用入侵监测系统收集的信息,我们可以加固自己的系统,及用作其他合法用途。目前市场中也有很多弱点检测工具,包括商品化的和开放源码形式的,可以用来评估网络中存在的不同类型的安全漏洞。

一个全面的安全系统包括很多种工具:

l       防火墙:用来阻止进入及走出网络的信息流。防火墙在商业化产品和开放源码产品中都有很多。最著名的商业化防火墙产品有Checkpoint (http://www.checkpoint.com), Cisco (http://www.cisco.com)及Netscreen(http://www.netscreen.com)。最著名的开放源码防火墙是Netfilter/Iptables(http://www.netfilter.org)。

l       入侵检测系统(IDS):用来发现是否有人正在侵入或者试图侵入你的网络。最著名的IDS是Snort,可以在http://www.snort.org下载。

l       弱点评估工具:用来发现并堵住网络中的安全漏洞。弱点评估工具收集的信息可以指导我们设置恰当的防火墙规则,以挡住恶意的互联网用户。现在有许多弱点评估工具,比如Nmap(http://www.nmap.org/)和Nessus(http://www.nessus.org/).

以上这些工具可以配合使用,交互信息。一些产品将这些功能捆绑在一起,形成一个完整的系统。

 

Snort是一个开放源码的网络入侵检测系统(NIDS),可以免费得到。NIDS是用来检测网络上的信息流的入侵检测系统(IDS)。IDS也包括安装在特定的主机上并检测攻击目标是主机的行为的系统。IDS迄今为止还是一门相当新的技术,而Snort在IDS中处于领先的地位。

   本书由入侵检测介绍及相关概念入手,你将学习如何安装及管理Snort以及与Snort协同工作的其他产品。这些产品包括MySQL数据库(http://www.mysql.org)、入侵数据库分析管理工具ACID(http://www.cert.org/kb/acid)。Snort能够将日志数据(例如告警和其他日志消息)记录到数据库中。MySQL用作存储所有这些数据的数据库引擎。利用ACID及Apache (http://www.apache.com)Web服务器,我们可以分析这些数据。Snort、Apache、MySQL及ACID的共同协作,使我们可以将入侵检测数据记录到数据库,然后用web界面察看和分析这些数据。

   此书的组织结构使读者能够跟着随后的章节一步一步的建立一个完整的入侵检测系统。安装及整合各种工具的步骤将在如下的章节逐步介绍:

   第二章将介绍编译及安装Snort的基本知识。在这一章中,你将能够用基本安装及默认规则建立一个能够工作的IDS,同时能够建立可以记录入侵活动的日志文件。

   第三章介绍Snort规则的有关知识,Snort规则的组成及如何根据你的系统环境及需要建立自己的规则。建立良好的规则是构建入侵检测系统的关键,因此本章非常重要。本章同时也介绍Snort不同版本间规则的不同。

   第四章介绍input及output插件。插件与Snort一同编译,并用来调整检测引擎的输入和输出部分。Input插件用在实际检测过程发生前准备好捕获的数据包。Output插件用来将数据数据格式化,以用于特定的目的,例如一种output插件可以将输出的检测信息转换成SNMP trap信息,而另外一种output插件可以将信息转换成数据库信息。这一章将详细介绍如何配置及使用这些插件。

   第五章介绍MySQL数据库与Snort的共同工作。MySQL插件使Snort能够将日志数据记录到数据库以便随后的分析。在这一章中,你将了解如何在MySQL中建立数据库,如何配置数据库插件,以及将日志数据记录到数据库中。

   第六章介绍ACID,以及如何用ACID取得你在第五章建立的数据库中的信息,并用Apache服务器显示它。ACID一种提供丰富的数据分析能力的重要工具,你可以用它来取得攻击频率、攻击类别、察看这些攻击方法的相关资源等等。ACID用PHP脚本语言、图形显示库(GD library)和PHPLOT(一种用来绘制图表的工具)来工作,可以分析SQL中的数据并绘制图表。

   第七章主要介绍可以和Snort一起工作的其他一些有用的工具。

 

   在读完此书后,你将建立一个完整的,具有多个组件的系统,如图1-1所示。

   在图中你可以看到,Snort捕获并分析数据,然后用output插件将数据储存在MySQL数据库中。Apache服务器在ACID,PHP、GD library及PHP包的帮助下使连接到服务器的用户能够通过浏览器显示数据。用户可以在网页上应用不同的查询来分析、备份、删除数据或者显示图表。

   基本上,你可以将Snort、MySQL、Apache、PHP、ACID、GD库以及ACID都安装到一台计算机上,而实际上在读完本书后,你可以建立一个类似于如图1-2所示得更加贴近实际应用的系统。

   在企业中,人们通常使用多个Snort探测器,在每个路由器或者防火墙后面都放置探测器。在这种情况下,你可以用一个集中的数据库来收集所有探测器的信息,并在这个数据库服务器上运行Apache Web服务器,如图1-3所示。

1.              1 什么是入侵检测?

入侵检测是指用来检测针对网络及主机的可疑活动的一系列技术和方法。入侵检测系统基本可以分为两大类:基于特征的入侵检测系统和异常行为检测系统。入侵者常具有用软件可以检测到的特征,如病毒。入侵检测系统将检测包含已知入侵行为特征或者异常于IP协议的数据包。基于一系列的特征及规则,入侵检测系统能够发现并记录可疑行为并产生告警。基于异常的入侵检测系统通常是分析数据包中协议头部的异常,在某些情况下这种方式要比基于特征的入侵检测系统要更好一些。通常情况下,入侵检测系统在网络上捕获数据包与规则比对或者检测其中的异常。Snort基本上是一个基于规则的IDS,但是input插件可以分析协议头部异常。

   Snort的规则存储在文本文件中,并可以用文本编辑器修改。规则以类别分组。不同类别的规则存储在不同的文件中。最后,这些文件被一个叫做snort.conf的主配置文件引用。Snort在启动时读取这些规则,并建立内部数据结构或链表以用这些规则来捕获数据。发现入侵特征并利用规则捕获它们是一项具有技巧性的工作,因为在实时检测中你应用越多的规则,那么你将需要越多的处理能力,所以用尽量少的规则来捕获尽量多的特征是非常重要的。Snort已经预先定义了许多入侵检测规则,并且你可以自由添加自定义的规则。同时,你也可以移除一些内建规则以防止错误告警。

 

1.1.1 一些定义

   在详细了解入侵检测及Snort之前,你需要了解一些网络安全相关的定义,这些定义将在这本书的随后章节中重复应用。对这些名词的基本了解对于理解其他更加复杂的安全概念是非常必要的。

1.1.1.1          IDS

入侵检测系统或IDS是一种用来检测入侵行为的软件、硬件或者两者的结合。Snort是大众可以获得的开放源码的IDS。IDS的实际能力依赖于组件的复杂度及精巧性。实体的IDS是硬件和软件的结合,很多公司可以提供及决方案。如前面提到的,IDS可以采用特征分析技术、异常检测技术,或者两者同时应用。

   1.1.1.2 网络IDS或NIDS

   NIDS是用来捕获在网络介质上传播的数据并与特征数据库比对的入侵检测系统。跟据数据包与特征数据库的匹配情况,IDS产生告警或者将日志记录到文件或数据库中。Snort主要是作为NIDS来使用的。

1.1.1.3 主机IDS或HIDS

   面向主机的入侵检测系统或称HIDS作为一个代理安装在一台主机上,这种入侵检测系统可以分析系统及应用程序日志来检测入侵行为。其中一些HIDS是被动状态的,只有当某些事情发生了才会通知你,另外一些是主动状态的,可以嗅探网络中针对某一主机的通信状况并实时产生告警。

1.1.1.4 特征

   特征是数据包中包含信息的特点。特征用来检测一种或多种攻击行为。例如,目标是你的web服务的包中如果出现“scripts/iisadmin”,可能意味着一个入侵尝试。

   根据攻击行为本质的不同,特征数据可能会出现在数据包中的不同位置。例如,你可能会在IP包头、传输层头(TCP或UDP头)及/或应用层头或载荷中发现攻击特征。你将在本书的后面更多的了解攻击特征。

   通常IDS依靠特征来发现入侵行为。在发现新的入侵特征时,某些商业化的IDS需要从厂商那里得到更新的特征库。另外一些IDS,比如Snort,你可以自己更新特征库。

1.1.1.5 告警

   告警是任何一种对入侵行为的通知。当IDS检测到入侵者,它将用告警来通知安全管理员。告警的形式可以使弹出窗口、终端显示及发送e-mail等等。告警同时也被存储到日志文件或者数据库中,以便供安全专家察看。在本书的后面,你将得到关于告警的详细信息。

   Snort的告警由output插件控制,并可以产生多种形式的报警。Snort也可以将同一个告警发送到不同的目标,例如,将告警发送到数据库的同时,产生SNMP trap信息。一些插件可以修改防火墙配置,使入侵者在防火墙或者路由器上被控制。

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-2 2:57:22
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持