微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 如何构建安全的入侵检测系统(IDS)

如何构建安全的入侵检测系统(IDS)

时间:09-10 来源:IT专家网 点击:
以网络为基础的IDS是一个整体的多层次的IT安全战略,在美国十月是国家网络知识普及月(National Cyber Awareness Month),如果你现在的整体安全系统中还没有以网络为基础的入侵检测系统的话,现在就是配置IDS的最佳时间。

  商业用的以网络为基础的IDS通常是很昂贵的。从另一方面说,要配置开源IDS是很困难的。最近,笔者有机会安装台一个开源IDS,发现并不是想象中的那么难。用户完全可以在一天之内构建一个开源IDS。

  这篇文章并不是教你如何一步一步构建和管理这样一个IDS,在网上你可以搜出一大堆这样的资料。如果你曾经尝试着构建一个开源的IDS而没有成功,现在你可以从我的这片文章中得到启示。

  Snort & BASE

  要想构建一个有效的开源数据库,Snort 和 BASE (Basic Analysis Security Engine基本分析安全引擎)这两个工具是必须的。Snort最早是由Martin Roesch1998年开发出来的,当时的主要是作为商用的IDS信息包的一个替代品。BASE是入侵数据库分析控制台(Analysis Console for Intrusion Databases)的计划的一部分。

  正如许多开源应用程序一样,在Linux 或Windows的操作操作系统中,Snort可以作为一种源代码或是二元的安装包。但是BASE却不同,他是独立于操作系统的。因此,这两种方法都可以应用于Linux 或Windows操作操作系统中,效果并没多少差距。

  现在言归正传,笔者将展示在一台老式的电脑上构建一个IDS,主要以在Linux操作系统上构建一个Snort 的IDS,在Windows系统上构建这样一个IDS也是差不多的。如果你已经操作系统中安装过IDS,那这里你就可以稍加改动完成在Linux操作系统上的安装。

  准备系统

  IDS在网络中的布置是很关键的。IDS布置的地方必须是能够监控局域网和Internet之间的所有流量。也就是说要么布置在镜像连接之间,要么就是在局域网和Internet联系的网络中心。如果只有一道防火墙和唯一的IDS入侵检测系统,那么入侵检测系统就应该布置在防火墙和局域网之间,我们将在随后讨论为什么要这么做。

  选择什么样的机器主要依赖于环境和数据的要求。一个Snort IDS应该包括一台或是几台独立的机器,或是很多台向中央数据库服务器报告的机器。被监测的数据之间的连接速度越快,那么机器的记录能力也就越强。

  我们这里主要是讨论在网络的边缘安装单机IDS。对于Linux的安装来说,用一台几年的台式机足矣。只要它的配置满足如下要求即可: 最低256M的内存,20G的硬盘,600兆赫的处理器和CD驱动,只要是近几年的计算机都是满足这一条件的。

  对于安装基本的Linux操作系统来说,创制安装盘是必需的。能够运行Burn4Free(免费的标准刻盘软件)的Windows操作系统环境就够了。除此外,在你安装Linux操作系统之前,你应该先确定好网络参数以及保证IDS机器的连接。

  先下载Fedora 7 Live iso文件或是Linux系列的其它流行安装文件。Fedora 7 Live是能够在单碟上运行的Fedora Linux系列的最小的安装文件。下一步的注意点就是Fedora Live 7了,如果有必要的话,它是很容易调整,然后把iso文件刻到Windows机器上的CD中。

  在IDS机器上,安装CD盘,然后设置BIOS运行CD(如Windows的安装一样)。机器将会自动的运行Fedora 7 Live,不需要人工干预。这样等到它自动进入一个图形用户界面,有一个默认的帐号。

  点击安装硬件图标。回答安装是出现的问题,绝大多数问题和Windows安装时的问题是一样的。完成之后,拿出CD盘,重启机器。好了,现在你的机器可以准备安装运行IDS所需要的软件了。

  必要的应用程序

  Snort本质上的工作原理是模式匹配,也就是它判断攻击是以已知攻击样本的特征为依据的,如今这样的样本特征描述数以千记。把Snort看作是一个智能嗅探器:它能够实时跟踪网络的出流量和入流量,然后通过对比特征库,对数据进行实时分析。要想通过人工来做这样的事情几乎是不可能的。

  如果被检测的信息包含有这些特征的话,就会发出警报。要想从这些警报中找出有用的信息可不是一件容易的事情,因为数据的信息量相当大并且是以原始文件的形式出现的。因此,我们需要找出一种方法从总体上来收集和分析这些数据。

  MySQL可以作为数据库应用程序,但是微软的SQL 服务器或Oracle也可以用来作为警报数据库。安装一个设计良好的数据库,并且使用Snort的信息对于信息分类是必须的,对于网络嗅探的分析,分析这样一个数据库就实在太耗费人力了。

  针对这一问题,使用BASE就迎刃而解了。它可以显示Snort的警报数据,这样就给网络或是安全管理者来确认和减少威胁提供一种依据。

  其它一些支持的应用程序包含Apache网络服务器,GCC编译器和PHP以及HTML脚本语言。在google或baidu等搜索引擎中,你可以找到关于怎么样安装Snort/BASE IDS的建议以及相关的应用程序,当然其它的一些文件在一些关于Snort的论坛中可以找到。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top