自己动手打造高性能入侵检测防御系统

  • 来源: 51CTO 作者: xuqingzhong   2008-12-25/10:34
  •  

     

     

     

        零日攻击(Zero-day)和日益庞大的僵尸网络带来的分布式拒绝服务攻击(DdoS)等网络攻击手段,让许多使用传统安全防范设备的中小企业中疲于应付,而主动防御技术已经能够很好地解决这些方面带来的安全问题。入侵检测防御系统(IDS/IPS)就是一种主动防御技术,将它们安装在网络的关键位置,通过对所有通过它的网络流量进行检测,就会发现其中的恶意流量或某种攻击行为,然后就会发出警报,并自动阻止这些恶意流量的通过。但是,目前市面上已经存的入侵检测防御系统的价格动不动就上十万元人民币,甚至更高,这样的价格,让许多中小企业对IDS/IPS的应用望而却步。那么,有没有一种方法即可以让中小企业使用IDS/IPS来保护自己的网络资源,又不需要花费高昂的费用呢?当你们看过本文后,就会找到需要的答案。

        前期软件和硬件的准备

        入侵检测和防御系统(IDS/IPS)都是由硬件和软件组成,要想自己动手打造一台高性能的入侵检测和防御系统,那么构成IDS/IPS所需的硬件和软件都得由我们自己来准备,巧妇难为无米之炊!缺少这两者中的任何一样,都不可能完成打造入侵检测防御系统的任务。

        一、 软件的准备

        Snort是一个基于命令行的开源免费的入侵检测系统,虽然它本身就是一个用来为中小企业进行网络攻击检测的软件,但是,由于它主要以命令行的方式来使用,用户不仅要学习它的安装、部署和设置方法,还必需记住它数量众多的各种检测命令,这对于一些不习惯于命令行操作的用户来说,是一个不小的难题。因此,市面上出现了许多使用Snort来提供入侵检测功能的软件,但是这些软件只是对它进行了简单的功能挪用,甚至连基本的入侵检测设置功能也没有,就更不要说入侵防御功能了。在本文中,我向大家介绍一款由StillSecure公司出品的叫做“Strata guard”的入侵检测防御软件,它才是一款真正的具有入侵检测和主动防御功能的IDS/IPS软件。

        Strata guard本身是一款基于Linux系统的商业软件,但是它的免费版本除了对网络带宽最大不能超过5Mbps的流量限制,其它所有的功能并没有任何限制。而5Mbps的带宽对于还在使用2Mbps或4Mbps的ADSL中小企业用户来说,已经完全足够了。而且,Strata guard针对中小企业的商业版本也只需支付2500美元的费用,这样仍然要比单独购买一台传统的硬件型IDS/IPS设备要划算得多。

        Strata guard软件也是从Snort发展而来,它不仅具有Snort的所有功能,而且,还具有下列所示的独特功能:

        1、 图形化的安装界面,以及向导方式的初始化设置方式,让用户易于上手。

        2、 能根据攻击的严重程序进行优先排序报警。

        3、 真正的入侵防御能力,能根据攻击数据包进行相应的拦截处理。

        4、 基于WEB方式的远程配置和管理。

        Strata guard上述的这些独特功能使得用户在不需要对Linux系统有更多了解的基础上,就可以非常容易地安装和使用它。由于Strata guard是从Snort发展而来,因此它仍然使用基于攻击特征库的检测技术来识别网络流量中的恶意攻击行为。但是,Strata guard还可以通过使用特征分析、协议异常分析、状态包分析和TCP数据包重组的功能来检测网络流量中的恶意攻击行为。正是由于Strata guard还具有这些独特的检测方法,才能对新出现的恶意攻击行为做出
    正确的判断,并采取相应的主动拦截响应,起到真正的主动防御作用。

        当Strata guard作为网关安装到企业网络的关键位置上时,除了可以先发制人地主动拦截检测到的恶意网络流量外,还可以将TCP流量进行安全重放,同时,它还能按源IP地址或端口的方式拦截来自网络的攻击,以及对DoS攻击方式进行防范,而且还可以执行用户自己定制的响应脚本。Strata guard还允许我们配置它按全局缺省方式响应所有检测到的攻击,也可以为每个独立的攻击方式创建独立的响应方式,这样,就可以让我们根据不同的网络应用环境,来灵活自由地创建适合需求的各种响应网络攻击的方式。

        Strata guard现在的最新版本是v5.0beta,要下载它,必需先到http://sgfree.stillsecure.com注册一个免费的帐号,才能从http://www2.stillsecure.com/go/stillsecure/SGFree下载,同时得到一个允许使用Strata guard免费版的授权码,这个授权码将会在初始化配置时使用,一定要将它复制后保存到一个文本文件中。Strata guard的免费版本有两种发行方式,一种是为网关模式制作的光盘镜像,另一种是为标准模式制作的虚拟机文件。我们可以根据自己使用Strata guard的目的来决定下载哪个文件,在本文中,我需要将Strata guard免费版作为网关来使用,于是就下载它的光盘镜像文件,它的大小为341MB左右。

        二、 硬件需求

        strata guard对所依存的硬件的性能要求比较高,这主要是为了在满足检测所有网络流量的同时,还能够保证足够的网络转发性能。对于strata guard免费版本来说,我们可以使用下列所示的硬件来定制一台入侵检测防御系统的硬件平台:

        处理器: AMD 4400+

        内存:  DDR2 667 2GB

        硬盘:  SATA 80G

        网卡:  strata guard工作在标准模式时需要2张网卡,工作在网关模式时需要3张网卡。网卡最好为3Com和Intel的千兆以太网网卡,推荐使用Intel
    Pro/1000MT桌面型千兆网卡。

        主板:选择带有多个PCI-E接口的,集成声卡,显卡,甚至千兆以太网网卡的主板,这样能为我们省去不少资金和一些不必要的麻烦。

        光驱:普通IDE接口的CD光驱。

        其它硬件:为了给这些硬件的运行提供源源不断的动力,最好选择450W及以上的质量可靠的PC电源。

        上述的这些硬件,已经完全可以满足现在大部分中小企业对入侵检测防御系统的需求,当然,我们完全可以根据自身网络的实际需求,以及企业允许在这方面的投入资金,来选择速度更快,容量更大,性能更好的各种PC硬件。而且,现在的PC硬件价格已经接近于白菜的价格,就算选择性能更高的硬件,在定制的入侵检测防御系统的硬件上的投入,仍然要比市面上动则上十万的硬件型入侵检测防御系统的价格低得多。

        部署Strata guard入侵检测防御系统

        当所有准备工作全部完成以后,就应当考虑将strata guard入侵检测防御系统按哪种方式接入到目标网络中。

        在准备入侵检测防御系统的硬件阶段,我已经简单地提到过Strata guard有两种工作模式:一种是网关模式,也就是将Strata guard作为一台单独的局域网网关来使用,必需将它安装到企业网络的出口位置,并且应当安装在企业防火墙的前面,如图2.1所示。此时Strata guard在提供IDS/IPS功能的同时,还提供路由功能;另一种模式为标准模式,这种模式只将Strata guard当作IDS来使用,或者通过与企业网络中安装的防火墙联动的方式来达到入侵防御(IPS)的功能,此时必需将它通过旁路的方式接入到目标网络,如图2.2所示。

     
    图1  Strata guard在网关模式时的网络接入原理图

     

     
    图2   Strata guard在标准模式时的网络接入原理图

        当Strata guard工作在旁路模式时,不能检测所有的网络流量,而它工作在网关模式时,所有通过它的网络流量都会被检测。因此,我建议用户还是将Strata guard安装到一台单独的主机上,用它来作为整个企业的入侵检测防御型网关。在本文中,我也只向大家说明如何将Strata guard作为网关模式使用时的安装设置方法,因为这样才可以得到Strata guard的所有功能,才能体现自己动手打造入侵检测防御系统的意义。

        安装strata guard入侵检测防御软件

        当将strata guard入侵检测防御系统部署到网络中后,接下来的工作就是将strata guard软件安装到准备好了的系统当中。strata guard的安装非常简单和直观,安装过程中可以使用Tab键来切换选择,使用上下箭头键来上下移动选择,使用空格键来确认选择。

        在本文中,由于strata guard将作为网关模式进行安装,因此,在开始安装之前,我们应当将下载回来的光盘镜像刻录到光盘当中,然后将安装光盘放入入侵检测防御系统的光驱当中,设置系统从光驱引导后,重新启动系统,不一会儿就会出现如图3.1所示的准备安装界面。

     
    图3 strata guard的准备安装界面

        在上图所示的准备安装界面中输入“install”,然后按回车键,就会出现一个确认安装strata guard的对话框界面,在此界面中再一次输入“install”,然后选择“OK”按钮并按回车键后,就可以继续下一步的安装过程。

        接下来就会出现如图3.2所示的设置eth0(Network Configuration for eth0)IP地址和子网掩码的界面。eth0就是用来管理strata guard的网卡,它的IP地址应该是一个静态的私有IP地址,与其所连接的局域网处于同一个IP地址段。在本文中,我在此界面中的“IP Address”文本条上输入“192.168.1.3”,在“Net mask”文本条中输入“255.255.255.0”,然后选择“OK”按钮并按回车键,就会出现如图3.3所示的设置网关和DNS(Miscellaneous Network Settings)的界面。在本文中,我在此界面中的“Gateway”文本条中输入网关IP地址192.168.1.1,在“Primary DNS”文本条中输入主要DNS服务器的IP地址61.235.164.18,完成后选择“OK”按钮,然后按回车键继续下一步的安装过程。

     
    图4 eth0网卡配置界面

     
    图5 网关和DNS配置界面

        接下来就会进入如图3.4所示的设置strata guard主机名(Hostname Configuration)的界面,在此界面中输入自己设定的主机名,例如myips,选择“OK”按钮,按回车键后,就进入如图3.5所示的选择时区(Time Zone Selection)的界面。在此界面中使用Tab键切换到选择时区的下拉框中,通过向上箭头键选择“Asia/Shanghai”时区后,再选择“OK”按钮并按回车键,就可继续下一步的安装过程。

     
    图6 设置主机名界面

     
    图7 选择时区界面

     

        接下来会出现如图3.6所示的设置strata guard根(root)密码的界面,在此界面中的“password”文本条中输入一个安全系数高的密码,再在其下的“password(confirm)”文本条中重新输入新设置的密码,然后选择“OK”按钮,回车后进入如图3.7所示的设置database密码的界面。在这里需要注意的是,database的密码中不能包含非Ascii字符,例如1-9等数字,因此,我们可以在此界面中的“password”文本条中输入只包含字母的密码,再在“password(confirm)”文本条中重新输入一次新设置的密码,完成database的密码设置后选择“OK”按钮,按回车键后,strata guard安装程序就会自动对系统中的硬盘进行分区和格式化,然后复制必要的文件到相应的分区位置。安装文件的过程可能需要持续一段时间,持续时间的长短与使用的硬件性能有关,在本文例子中给出的硬件,从开始分区到安装完成,大约持续了5分钟的时间,可以说还是非常快的。当安装全部完成,strata guard安装程序会自动退出安装光盘,然后就会重新启动新安装的strata guard入侵检测防御系统。

     
    图8 设置strata guard根(root)密码的界面

     
    图9  设置database密码的界面

        WEB方式初始化设置strata guard入侵检测防御系统

        如果想要strata guard入侵检测防御系统能够按照我们的意图检测所有通过它的网络流量,并且对检测到的恶意流量进行报警和主动防御,那么,当strata guard入侵检测防御系统重新启动后,我们就必需通过WEB的方式远程初始化设置strata guard系统。

        strata guard入侵检测防御系统的初始化配置是通过向导的方式来进行,每一个配置界面中的配置项,在其界面的右边都有详细的说明,对于英文比较好的用户,可以根据向导中的提示,就可以非常容易地完成strata guard所有的初始化设置。

        在与strata guard入侵检测防御系统相连的局域网中,选择一台计算机,在其WEB浏览器的地址栏中输入“https://strata guard入侵检测防御系统的主机名或IP地址”的方式来远程访问它,输入的IP地址就是在安装strata guard时设置的eth0的IP地址。在本文中,我输入的是“https://192.168.1.3”,按回车键后,首先会出现一个SSL安全连接的警告提示框,直接单击“是”按钮,就会出现一个授权申明的界面,在此界面中单击“Accept”按钮,就会出现一个如图4.1所示的设置strata guard管理员帐户和密码的界面。

     
    图10 设置strata guard管理员帐户和密码界面

        在上图所示界面中的“User ID”文本框中输入管理员帐户,如“admin”,在“Password”文本框中输入要设置的密码,在“Re-enter password”文本框中重新输入一次新设置的密码,然后单击“CONTINUE”按钮,继续下一步的初始化的设置。

        接下来就会出现如图4.2所示的输入授权码的界面,将在下载strata guard时得到授权码复制后,粘贴到此界面中的“Enter new license key”文本框中,然后单击此文本框右边的“VALIDATE”按钮来验证此授权码。如果授权码验证通过,那么,一行包含“License key is VALID”的字符就会出现在此界面右边的解释区域,然后单击此界面中的“Next”按钮,就会出现如图4.3所示的“System”标签配置界面。

     
    图11 授权码验证界面

     
    图12  System标签配置界面

        在初始化设置strata guard 系统时,主要是检查“System”标签页中的各种网络配置是否正确。例如,我们可以检查此界面中的“Interface used to manage Strata Guard”下拉框中的网卡是否是eth0,以及“Interface that analyzes network traffic (IDS)”下拉框中是否为连接外网网卡的eth1。如果这些都没有错误,单击此界面中的“Next”按钮,就会出现图4.4所示的“Network”标签配置界面。

     
    图13 Network标签配置界面

        在“Network”标签配置界面,其中的监控网络流量(Monitor Network Traffic)默认设置为所有网络(All networks)。如果我们是按网关的方式安装strata guard的,那么,我们还可以单击此界面左下角的“Configure advanced filters”按钮,进入其高级过滤设置界面。在高级过滤设置界面中可以完成对DNS、HTTP、SMTP等协议的过滤设置,还可以设置database服务器的IP地址。完成“Network”标签配置界面中的必要设置后,单击“Next”按钮,进入下一步的初始化设置。

        接下来会出现“Autodiscovery”标签配置界面,此标签页中的内容都是按默认方式工作,不需要我们在初始化配置时进行设置,因此,直接单击此界面中的“Next”按钮进入“Multi-node”标签配置界面。对于免费版的strata guard,是没有多点管理功能的,因而此标签页中的内容也不需要我们进行设置,直接单击此界面中的“Next”按钮继续下一步的初始化设置。

        接下来就会出现如图4.5所示的“Firewall”标签配置界面。如果strata guard是按标准方式进行安装的,并且需要与防火墙联动来实现入侵防御的功能,那么,就必需在“Firewall”标签配置界面中为它指定联动的防火墙类型。我们可以在此界面中的“Select mode/firewall”下拉框中选择某种已经在网络中安装了的防火墙类型,然后再在出现的相应文本框中输入与防火墙连接时需要的信息就可以完成设置。如果strata guard以网关模式工作,或者在标准模式下只需要IDS功能,那么,就不必对此界面中的内容进行设置,直接单击此界面中的“Next”按钮,进入下一个初始化设置步骤即可。

     
    图14  Firewall标签配置界面

        接下来出现的“Notification”标签配置界面,用来设置通过E-Mail发送警报的方式,如果不需要使用此功能,我们可以直接单击此界面中的“Next”按钮,就可以进入如图4.6所示的“Rules”标签配置界面。

     
    图15  Rules标签配置界面

        “Rules”标签配置界面中的内容用来设置自动检测新规则的具体时间,以及更新新的规则时的缺省动作。对于免费版的strata guard来说,只能使用手动更新的方式来更新新的规则,因此也就不必对此界面中的内容做出调整,保持其默认后单击“Next”按钮,就会进入如图4.7所示的“Thresholds”标签配置界面。

     
    图16  Thresholds标签配置界面

        “Thresholds”标签配置界面中的内容用来设置发现某种严重程度的攻击时,用Red、Yellow和Green三种颜色中的哪种颜色来显示。如果我们对strata guard目前所处网络中的攻击方式不熟悉,那么在初始化设置时可以暂时不对此界面中的内容进行修改,等到strata guard入侵检测防御系统运行一段时间后,再根据实际情况来修改。因此,在初始化设置strata guard入侵检测防御系统时,可以直接单击此界面中的“Done”按钮,在出现的提示是否保存所有修改的对话框中单击“OK”按钮,就可以完成整个strata guard入侵检测防御系统的初始化设置,并且会自动重新启动系统,以使所有的初始化设置生效。

        当strata guard入侵检测防御系统重新启动后,重新通过WEB浏览器连接strata guard,在出现的登录界面中输入初始化设置时建立的管理员帐户和密码,单击“OK”按钮后就会出现如图4.8所示的WEB管理主界面。

     
    图17 strata guard的WEB管理主界面

        在进入strata guard的WEB管理主界面后,可能会弹出一个是否启用“Quick-tune”功能的界面,如图4.9所示。

     
    图18  Quick-tune功能启用界面

        Quick-tune功能主要用来设置我们网络中使用的哪些操作系统和服务器的活动不会触发警报,这样就会使用strata guard入侵检测系统在检测过程中降低误报率,而将所有功能都集中到有意义的攻击检测上去。使用这种功能并不是必需的,但还是推荐启用Quick-tune功能。

        我们可以在Quick-tune功能启用界面中的“Select the operating systems on your network”区域选择网络中主机使用的操作系统类型,在“Select the Web servers on your network”区域选择网络中应用的WEB服务器,如果不能确定网络中使用什么样的WEB服务器,那么选择所有类型。然后在“Select attacks to ignore”区域,选择需要忽略的攻击,我们可以按要求来选择,通过这些来减少误报的产生。完全设置后,在“Apply changes”区域,单击“Override”按钮写入刚才的配置,然后单击此界面中的“Run Quick-tune”按钮启动此功能。

        Strata guard入侵检测防御系统的攻击特征库

        新的网络攻击方法会不断地出现,为了让Strata guard入侵检测防御系统能够检测和阻止这些新的网络攻击,我们就必需不断更新它的攻击特征库。对于免费版的Strata guard,我们可以在任何时候通过WEB方式连接到Strata guard入侵检测防御系统,然后单击其WEB主界面右上角的“Configure System”按钮,打开如图5.1所示的配置系统界面。在此界面中选择“Rules”标签,打开规则标签页,然后单击其中的“Check for rule updates”就可以更新Strata guard入侵检测防御系统的攻击特征库。

        我们也可以到http://sgfree.stillsecure.com网站下载最新攻击规则来更新Strata guard的攻击特征库。Strata guard的攻击规则可以是SAT-Developed规则、Open Source Snort Rules Consortium(OSSRC)规则,也可以是VRT规则或与Snort兼容的其它GPL授权的规则。所有的攻击规则在被Strata guard入侵检测防御系统使用之前,都会被StillSecure公司的事件警报组(Security alert team)重新审查和试验。Strata guard还允许我们自行定制攻击规则添加到攻击库中,定制的方式与定制Snort攻击规则相同。

     
    图19  Strata guard的配置系统界面

        综上所述,以免费版的Strata guard入侵检测防御软件加定制的PC打造的高性能入侵检测防御系统,不仅为中小企业节省了大量的IT安全投入成本,而且还得到了与同等性能的传统IPS相同的安全防范功能。因此,使用本文所述方法打造的网关型入侵检测防御系统,完成可以成为某些中小企业选择IPS时的另一种不错的选择。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多