LIDS攻略

发表于:2007-06-23来源:作者:点击数: 标签:
前言: 前一段时间研究lids,觉得还不错,于是将网上收集到的资料以及使用的经验整理了一下,希望对研究LIDS的朋友和 linux 下的管理员有所帮助。 一. LIDS介绍: LIDS是Linux下的 入侵检测 和防护系统,是linux内核的补丁和 安全 管理工具,它增强了内核的

   
  前言:
   前一段时间研究lids,觉得还不错,于是将网上收集到的资料以及使用的经验整理了一下,希望对研究LIDS的朋友和linux下的管理员有所帮助。
  
  一. LIDS介绍:

   LIDS是Linux下的入侵检测和防护系统,是linux内核的补丁和安全管理工具,它增强了内核的安全性,它在内核中实现了参考监听模式以及强制访问控制(Mandatory Aclearcase/" target="_blank" >ccess 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
    ---------------------------------------------------------------------------

原文转自:http://www.ltesting.net