|
前言: 前一段时间研究lids,觉得还不错,于是将网上收集到的资料以及使用的经验整理了一下,希望对研究LIDS的朋友和linux下的管理员有所帮助。 一. LIDS介绍: LIDS是Linux下的入侵检测和防护系统,是linux内核的补丁和安全管理工具,它增强了内核的安全性,它在内核中实现了参考监听模式以及强制访问控制(Mandatory Access Control)模式。 LIDS主要功能: 保护:保护硬盘上任何类型的重要文件和目录,如/bin、/sbin、/usr/bin、/usr/sbin、/etc/rc.d等目录和其下的文件,以及系统中的敏感文件,如passwd和shadow文件,防止未被授权者(包括ROOT)和未被授权的程序进入,任何人包括ROOT都无法改变,文件可以隐藏。 保护重要进程不被终止,任何人包括root也不能杀死进程,而且可以隐藏特定的进程。防止非法程序的RAW IO 操作,保护硬盘,包括MBR保护等等。 检测:集成在内核中的端口扫描器,LIDS能检测到扫描并报告系统管理员。 LIDS还可以检测到系统上任何违反规则的进程。 响应:来自内核的安全警告,当有人违反规则时, LIDS会在控制台显示警告信息,将非法的活动细节记录到受LIDS保护的系统log文件中。 LIDS还可以将log信息发到你的信箱中。LIDS还可以马上关闭与用户的会话。 二. LIDS安装: 1.下载必须文件,linux内核源码包和lids包,然后解压 # cd linux_install_path/ # bzip2 -cd linux-2.4.16.tar.bz2 | tar -xvf - # cd lids_install_path # tar -zxvf lids-1.1.0-2.4.16.tar.gz 2在linux的内核打LIDS补丁,然后配置和编译linux内核,安装LIDS系统 # cd linux_install_path/linux # patch -p1 < lids_install_path/lids-version-linversion.patch # rm -rf /usr/src/linux # ln -s linux_install_patch/linux /usr/src/linux # cd /usr/src/linux # make menuconfig or make xconfig Prompt for development and/or incomplete code/drivers Sysctl support Linux Intrusion Detection System support (EXPERIMENTAL) (NEW). [ ] 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 使用通用的邮件发送脚本 根据需要选择相应的选项,配置支持LIDS的内核以后.退出配置界面,编译内核。 # make dep # make clean # make bzImage # make modules # make modules_install 复制 bzImage 到 /boot/ ,编辑 /etc/lilo.conf # cp arch/i386/boot/bzImage /boot/bzImage-lids 安装lids管理工具 # cd lids-1.1.0-2.4.16/lidsadm-1.1.0/ # make # make install # vi /etc/lilo.conf boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 default=lids image=/boot/vmlinuz-2.4.16 label=linux read-only root=/dev/hda2 image=/boot/bzImage-lids label=lids read-only root=/dev/hda2 运行/sbin/lilo 来安装新内核 # /sbin/lilo 三. LIDS配置: 必须配置lids系统,使其符合你的安全需要.你可以定义受保护的文件,受保护的进程等等。 首先,更新缺省lids.conf的inode/dev值。 # /sbin/lidsadm -U 然后,获得一个RipeMD-160加密口令: # /sbin/lidsadm -P 缺省情况下,lidsadm将把缺省配置文件安装到 /etc/lids/。你必须根据自己的需要重新配置。 当内核启动时,配置信息就把相关信息读入内核来初始化LIDS系统。 lids.conf: 这个文件用来存储LIDS ACLs信息。它包括定义对象访问类型的ACLs。 lids.cap:这个文件包括系统的所有性能,可以编辑这个文件来配置这些性能。 lids.net:这个文件用来配置发给管理员信箱的警告信息。你可以定义SMTP服务器、端口、消息头等。仅在配置内核时,选择了 Send security alerts through network (NEW)才有该文件。 lids.pw:这个文件存储由'lidsadm -P'命令生成的密码文件。配置内核时选择 Allow switching LIDS protections , 就必须有该文件。 1.配置LIDS保护的文件和目录 首先,确定要保护哪些文件。一般情况下,保护系统二进制文件和系统配置文件, 比如:/bin,/sbin/,/usr/,/etc/,/var/log/。 其次,决定以什么方式来保护文件。LIDS提供四种保护类型。 a.拒绝任何人访问 带有DENY标志的文件和目录没有人能够看见,也不能修改。那些非常敏感的文件应该加上DENY标志。例如,/etc/shadow文件。 --------------------------------------------------------------------------- 用法: lidsconf -A -o file_to_protected -j DENY # lidsconf -A -o /etc/shadow -j DENY 重启或重新加载配置文件后,你会看到: # ls /etc/shadow ls: /etc/shadow: No such file or directory --------------------------------------------------------------------------- 接下来,还需要一些设置使一些特有的程序能够访问这些文件,比如,登录到系统的时候,/bin/login文件需要从有DENY标记的/etc/shadow文件中读密码。 --------------------------------------------------------------------------- 用法: lidsconf -A -s SUBJECT_PROGRAM -o OBJECT_PROGRAM -j READONLY/WRITE/APPEND # lidsconf -A -s /bin/login -o /etc/shadow -j READONLY --------------------------------------------------------------------------- 当你配置好而且重启系统或重新加载配置文件后,你可以登录进系统,但不能看到/etc/shadow。这就是强制访问控制的一个例子。 b.只读文件 任何用户不能改变带有只读标记的文件。比如/etc/passwd,/bin/passwd文件一般属于此类。 --------------------------------------------------------------------------- 用法: lidsconf -A -o file_to_protect -j READONLY 例子: 1.保护整个/sbin/目录,使之只读。 # /sbin/lidsconf -A -o /sbin/ -j READONLY 2.保护/etc/passwd文件为只读 # /sbin/lidsconf -A -o /etc/passwd -j READONLY --------------------------------------------------------------------------- c.只能追加的文件 一般来说,系统日志文件应定义成此类。比如,/var/log/message,/var/log/secure。这些文件只能以追加的模式打开,用户不能修改前面的部分。 --------------------------------------------------------------------------- 用法: lidsconf -A -o filename_to_protect -j APPEND 例子: 1.保护系统日志文件 # /sbin/lidsconf -A -o /var/log/message -j APPEND # /sbin/lidsconf -A -o /var/log/secure -j APPEND 2.保护apache httpd日志文件 # /sbin/lidsconf -A -o /var/log/httpd -j APPEND ---------------------------------------------------------------------------
|