庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>操作系统>Linux>系统安全>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

用LIDS建立安全的系统(上)

 作者:本站收集   日期:2005-3-13
字号选择〖 〗/ 双击滚屏 单击停止   


LIDS( Linux入侵侦察系统)是Linux内核补丁和系统管理员工具(lidsadm),它加强了Linus内核。 它在内核中实现了一种安全模式 -- 参考模式以及内核中的Mandatory Access Control(命令进入控制)模式。本文将阐述LIDS的功能和如何使用它来建立一个安全的Linux系统。

1. 为什么选择LIDS

   随着互连网上Linux越来越受欢迎 ,越来越多现有GNU/LINUX系统上的应用软件中的安全漏洞被发现。很多程序利用了程序员的粗心,例如缓存溢出、格式化代码攻击。当系统安全受到程序的危及,黑客获得ROOT权限以后,整个系统将被入侵者控制。

   由于代码的开放性,我们可以获得很多所希望Linux应用程序的原代码,并且根据我们的需要来修改。所以bug能很容易地被找到,并很快修补。但是当漏洞被揭示后,而系统管理员疏于给漏洞打补丁,从而造成很容易地就被入侵,更糟的是黑客能获得ROOT SHELL。利用现有的GNU/Linux系统,他为所欲为。这正是LIDS想要解决的问题。

   首先看看现有的GNU/Linux系统存在哪些问题。

   文件系统未受到保护

   系统中的很多重要的文件,例如 /bin/login,一旦黑客入侵后,他可以上传修改过的login文件来代替/bin/login ,然后他就可以不需要任何登陆名和密码就登陆系统。这常被称为Trojan house。

   进程未受到保护

   系统上运行的进程是为某些系统功能所服务的,例如HTTPD是一个web服务器来满足远程客户端对于web的需求。作为web服务器系统,保护其进程不被非法终止是很重要的。但是当入侵者获得了ROOT权限后,我们却无能为力。

   系统管理未受保护

   很多系统管理,例如,模块的装载/卸载,路由的设置,防火墙的规则,能很容易就被修改,如果用户的ID是0。所以当入侵者获得ROOT权限后,就变得很不安全

   超级用户(root)作为ROOT可能滥用权限

   他可以为所欲为。作为ROOT他甚至可以对现有的权限进行修改。

  综上所述,我们发现在现有的Linux系统中的进入控制模式是不足以建立一个安全的Linux系统。我们必须在系统中添加新的模式来解决这些问题。这就是LIDS所要做的。

2. LIDS的特色

   Linux入侵侦察系统是Linux内核补丁和系统管理员工具,它加强了内核的安全性。它在内核中实现了参考监听模式以及Mandatory Access Control(命令进入控制)模式。当它起作用后,选择文件进入,每一个系统/网络的管理操作,任何使用权限, raw device, mem 和 I/O 进入将可以禁止甚至对于ROOT也一样。它使用和扩展了系统的功能,在整个系统上绑定控制设置,在内核中添加网络和文件系统的安全特性,从而加强了安全性。你可以在线调整安全保护,隐藏敏感进程,通过网络接受安全警告等等。

   简而言之,LIDS提供了保护、侦察、响应的功能,从而是LINUX系统内核中的安全模式得以实现。

   2.1 保护

   LIDS提供以下的保护 :

保护硬盘上任何类型的重要文件和目录,任何人包括ROOT都无法改变。
能保护重要进程不被终止
能防止非法程序的RAW IO 操作。保护硬盘,包括MBR保护,等等。
能保护系统中的敏感文件,防止未被授权者(包括ROOT)和未被授权的程序进入。
   2.2 侦察

   当有人扫描你的主机, LIDS能侦察到并报告系统管理员。 LIDS也可以检测到系统上任何违法规则的进程。

   2.3 响应

   当有人违反规则, LIDS会将非法的运作细节记录到受LIDS保护的系统log文件中。 LIDS还可以将log信息传到你的信箱中。LIDS也可以马上关闭与用户的对话。

3. 建立安全的Linux系统

   看完了LIDS特性,让我们来看看怎么样一步步地用LIDS建立安全的系统。

   3.1 下载LIDS补丁和相关正式的Linux内核

   可以从LIDS Home,LIDS Ftp Home或最近的LIDS Mirror获得LIDS补丁和系统管理工具。

   补丁名称是lids-x.xx-y.y.y.tar.gz, x.xx代表lids的版本, y.y.y代表Linux内核版本.例如, lids-0.9.9-2.2.17.tar.gz代表lids 版本是0.9.9 以及相关的内核版本是2.2.17.。

   必须下载相关的内核版本。例如,你下载了lids-0.9.9-2.2.17.tar.gz,那你就应该下载Linux内核2.2.17的原代码。可以从Kernel FTP Site或其他镜象获得内核原码。

   然后,将内核原码和LIDS tar解压.例如,从 www.lids.org得到lids-0.9.9-2.2.17.tar.gz,从ftp.us.kernel.org得到linux-2.2.17.tar.bz2后:

-----------------------------------------------------------

1. uncompress the Linux kernel source code tree.
# cd linux_install_path/
# bzip2 -cd linux-2.2.17.tar.bz2 | tar -xvf -


2. uncompress the lids source code and install the lidsadm tool.
# cd lids_install_path
# tar -zxvf lids-0.9.8-2.2.17.tar.gz

-----------------------------------------------------------

   3.2 在正式的linux内核上打LIDS补丁

   Linux内核原码打LIDS补丁

-----------------------------------------------------------

# cd linux_install_path/linux
# patch -p1

/* link the default source path to lids patched version
# rm -rf /usr/src/linux
# ln -s linux_install_patch/linux /usr/src/linux



   3.3 配置Linux内核

-----------------------------------------------------------

configure the Linux kernel
# cd linux
# make menuconfig or make xconfig

-----------------------------------------------------------

   现在,配置Linux内核,按照以下步骤实施:

[*] Prompt for development and/or incomplete code/drivers
[*] Sysctl support

After that, you will find that a new item appear in the bottom of the configuration menu name "Linux Intrusion Detection System". Entering this menu, turn the

[*] Linux Intrusion Detection System support (EXPERIMENTAL) (NEW).

   配置LIDS内核以后.退出配置界面,编译内核。

# make dep
# make clean
# make bzImage
# make modules
# make modules_install

   3.4 在Linux系统上安装LIDS和系统管理工具

   复制 bzImage 到 /boot/ ,编辑 /etc/lilo.conf


-----------------------------------------------------------

# cp arch/i386/boot/bzImage /boot/bzImage-lids-0.9.9-2.2.17

/* build admin tools */
# cd lids-0.9.8-2.2.17/lidsadm-0.9.8/
# make
# make install

# less /etc/lilo.conf
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux

image=/boot/vmlinuz-2.2.16-3
label=linux
read-only
root=/dev/hda2

image=/boot/bzImage-lids-0.9.9-2.2.17
label=dev
read-only
root=/dev/hda2

-----------------------------------------------------------

   运行/sbin/lilo 来安装新内核

# /sbin/lilo



   3.5 配置LIDS系统

   在重新启动以前,必须配置lids系统,使其符合你的安全需要.你可以定义受保护的文件,受保护的进程等等。

   缺省情况下,lidsadm将把缺省配置文件安装到 /etc/lids/。你必须根据自己的需要重新配置。首先,可以更新缺省lids.conf的inode/dev值。

# /sbin/lidsadm -U

   3.6 重新启动系统

   配置完Linux系统后,重新启动.当lilo出现时,选择装载the lids enable kernel。然后,你就将进入美妙的LIDS世界。

   3.7 封装内核

   系统启动后,不要忘记用lidsadm封装内核,在最后/etc/rc.local加入以下命令

# /sbin/lidsadm -I

   3.8 在线管理

   封装完内核后,你的系统就处于LIDS的保护下。可以做一些测试来验证,如果想改变某些配置,例如修改权限,可以通过输入密码方式在线改变lids的安全等级。


# /sbin/lidsadm -S -- -LIDS

   改变lids配置属性后,例如lids.conf,lids.cap,你可以通过以下命令在内核中重新装载配置文件

# /sbin/lidsadm -S -- +RELOAD_CONF

上一篇:用LIDS建立安全的系统(下)    下一篇:开放源码软件的安全性隐患  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-3-13
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿