企业在实际的入侵检测及防御体系的构建中,有的以网络为主,进行网络威胁的发现和封堵;有的以主机防御为主,主要保证主机不遭受入侵。如果光针对其中一方面进行构建的话,则会存在偏差,建议综合多方面的信息,进行纵深的综合性防御,这样才能起到很好的效果。
在开源系统中,例如Linux操作系统,从应用到内核层面上提供了3种入侵检测系统来对网络和主机进行防御,它们分别是网络入侵检测系统Snort、主机入侵检测系统LIDS以及分布式入侵检测系统SnortCenter。其中,Snort专注于在网络层面进行入侵检测;LIDS则侧重于在主机层面进行入侵检测和防御;SnortCenter则是为了在分布式环境中提升入侵检测的实时性和准确性的一种分布式检测机制。
在企业的实际应用过程中,经常会忽略LIDS的特殊作用。其实,作为植根于内核层次的主机入侵检测机制,它是开源系统作为主机尤其是服务器不可缺少的安全机制。本文将详细介绍如何使用它进行逐级安全防御。
简介
LIDS是Linux下的入侵检测和防护系统,是Linux内核的补丁和安全管理工具,它增强了内核的安全性,它在内核中实现了参考监听模式以及强制访问控制(Mandatory Access Control)模式。区别于本文在前面部分介绍的Snort入侵检测系统,它属于网络IDS范畴,而LIDs则属于主机IDS范畴。
一般来说,LIDS主要功能包括如下几方面:
重要系统资源保护:保护硬盘上任何类型的重要文件和目录,如/bin、/sbin、/usr/bin、/usr/sbin、/etc/rc.d等目录和其下的文件,以及系统中的敏感文件,如passwd和shadow文件,防止未被授权者(包括root用户)和未被授权的程序进入。保护重要进程不被终止,任何人包括root也不能杀死进程,而且可以隐藏特定的进程。防止非法程序的I/O操作,保护硬盘,包括MBR保护等等。
入侵检测:LIDS可以检测到系统上任何违反规则的进程。
入侵响应:来自内核的安全警告,当有人违反规则时,LIDS会在控制台显示警告信息,将非法的活动细节记录到受LIDS保护的系统log文件中。LIDS还可以将log信息发到用户的信箱中。并且,LIDS还可以马上关闭与用户的会话。
安装LIDS
第一步:打补丁并配置Linux内核选项安装
LIDS通常需要下载其最新版本的LIDS内核补丁包,然后进行安装。 下载的网站为:,目前网站上的最新版本为:lids-2.2.3rc7-2.6.28.patch。首先将下载的LIDS内核补丁包保存到/usr/src目录下,然后以根用户的权限进入命令行模式进行如下步骤地操作:
(1)假设系统内核文件在/usr/src/Linux目录下,通过下列命令安装LIDS内核补丁包:
# cd /usr/src/Linux
# patch p1 < /usr/src/ lids-2.2.3rc7-2.6.28.patch
(2)编辑内核,选取相关选项:
//进入编辑内核界面
# make menuconfig
进入内核编译菜单界面后,建议把有关LIDS的所有项都选中。这样做的目的能让不太熟悉内核编译的用户能省去很多不必要的麻烦,并且将所有的LIDS项都选择上也不会占用多少的内核空间,对加入LIDS后的内核性能也不会产生多少的影响。下面对一些选项进行解释:
Prompt for development and/or incomplete code/drivers
Sysctl support
Linux Intrusion Detection System support.
[ ] Hang up console when raising a security alert
当收到一个安全警告挂起控制台
[ ] Security alert when execing unprotected programs before sealing LIDS
当执行没有受LIDS保护的程序时发送安全警告
[ ] Do not execute unprotected programs before sealing LIDS
在安装LIDS前不执行没有受保护的程序
[ ] Try not to flood logs
尽量不要让日志溢出
[ ] Allow switching LIDS protections
允许转换LIDS保护
[ ] Allow remote users to switch LIDS protections
允许远程用户来转换LIDS保护
[ ] Allow any program to switch LIDS protections
允许任何程序来转换LIDS保护
[ ] Allow reloading config. File
允许重新引导配置文件
[ ] Port Scanner Detector in kernel
内核的端口扫描器
[ ] Send security alerts through network
通过网络发送安全警告
[ ] Hide klids kernel thread
隐藏内核进程
[ ] Use generic mailer pseudo-script
使用通用的邮件发送脚本
(3)在选择好要加入到内核中的LIDS项后,就可以通过下列命令重新编译内核:
# make dep
# make clean
# make bzImage
# make modules
# make modules_install
完成上述内核编译工作后,一个加入了LIDS的内核就重新编译好了。要使加入了LIDS的新内核工作,必需重新启动系统。
第二步:源代码安装LIDS工具包
同样,首先从上述网站上下载LIDS工具包的安装文件,目前网站上的最新版本为:lids-2.3.rc7-2.6.28.patch,然后按如下步骤安装它:
(1)解压缩源码包
# tar -zxvf lids-2.3.rc7-2.6.28.patch
(2)切换目录并生成makefile文件
# cd lids-2.3.rc7-2.6.28
# ./configure
(3)安装
# make
# make install
这样就会将Lidsadm和Lidsconf这两个工具安装到/sbin/目录中,同时会创建一个/etc/lids的目录,并会在此目录下生成一个默认的配置文件。
阅读(1252) | 评论(0) | 转发(0) |