文章摘要:
    LIDS全称Linux 入侵检测系统,作者是Xie Huagang和Phil。LIDS 是增强 Linux 核心的安全的的补丁程序. 它主要应用了一种安全参考模型和强制访问控制模型。使用了 LIDS 后, 系统能够保护重要的系统文件,重要的系统进程, 并能阻止对系统配制信息的改变和对裸设备的读写操作。
  正文:
  LIDS功能及其安装和配置   
  
    随着因特网中LINUX操作系统知名度的提升,目前在GNU/Linux系统中也发现了越来越多的安全漏洞。许多漏洞是由于程序员不懂安全编程引起的,例如缓冲区溢出、格式化字符串攻击。当系统出现了这种漏洞,黑客就会取得root权限,整个系统也就在黑客的控制之下可以做任何事情了。
    我们知道,虽然LINUX的源代码是开放的,系统管理员可以尽可能多得发现系统的漏洞并打上补丁,但是,很多管理员却往往懒得去做,黑客要攻入他们的系统、取得ROOT SHELL真是太容易了。LIDS就是针对这种情况提出的解决方案。
  
  一、 LIDS的功能
  
    先让我们对目前系统存在的漏洞略作浏览:
    文件系统没有在保护之下
    事实上,很多重要的文件比如/bin/login就是这样,当黑客进入系统时,它可以用自己的程序来替换这个文件,再次登录就可以不用任何密码了。这是一个特洛伊木马的例子。但是除非要升级整个系统,频繁地改变这些文件并不现实,因此迫切需要一个安全内核来两全其美。
    进程也没有在保护之下
    系统中的进程是为系统的某一功能服务的,例如HTTPD进程就是为了远程客户机上的浏览器内容服务的。对WEB服务器来说,保护它的进程免于非法终止是很重要的,但是假如入侵者获取了ROOT权限,管理员将对此束手无策。
    系统管理也没有在保护之下
    很多系统管理功能,像转载/卸载模块,路由安装模块,防火墙控制模块等都可能被ID=0的进程修改。
    另外,目前系统中ROOT权限往往过大,做为ROOT,他可以轻而易举地改变现存系统本来就具有的功能。
  
    以上我们看出,LINUX系统不仅需要系统的访问控制,还需要一些新的模块来处理以上问题。这就是LIDS所作的工作。
  
    LIDS在LINUX内核中负责进行监视和强制接入控制,它首先限制ROOT的权限,原来的选择文件权限、系统/网络的管理、设备、内存及输入输出的操作权限ROOT可能不再具有,LIDS利用并扩展绑定到系统上的权限来控制整个系统,增加网络和文件系统的安全性能。你可以联机调整安全性能,隐藏敏感的进程,并可通过网络收到安全警告。
  
  LIDS的特性总起来说有三点:
    1.入侵防护
    它能保护重要的文件,进程和设备(例如内存、硬盘包括引导区)不被非授权的人改动,包括非授权的 root。
  利用系统提供的性能来对整个系统做更多的防护。
    2.入侵监测
    它还提供对端口扫描的监测.
    3.入侵响应
    在发现系统受到攻击后, 它能及时的将必要的信息记到日志文件中, 还可以将其发送到管理员的信箱中.
  
  二、 下面,我们来介绍LIDS系统的安装
  
    下载LIDS补丁和相关LINUX内核
    你可以在LIDS主页和LIDS FTP站点或者其它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。下载时这两者的版本应相互对应。下载后再把它们分别解压。
  
  1. 解压LINUX内核源代码
  # cd linux_install_path/
  # bzip2 -cd linux-2.2.17.tar.bz2 | tar -xvf –
  
  2. 解压LIDS源代码并安装LIDSADM工具
  # cd lids_install_path
  # tar -zxvf lids-0.9.8-2.2.17.tar.gz
  
  3.安装lids补丁到Linux内核源代码
  
  # cd linux_install_path/linux
  # patch -p1   
  /* 链接缺省源代码路径到lids补丁版本*/
  # rm -rf /usr/src/linux
  # ln -s linux_install_patch/linux /usr/src/linux
  
  4.配置Linux内核
  # cd linux
  # make menuconfig or make xconfig
  
  
  现在,就可以配置内核了。
  把下面的选项打开:
  

  • Prompt for development and/or incomplete code/drivers
      
  • Sysctl support
      
      接下来,在配置菜单底部出现新的一项:'Linux Intrusion Detction System',进入这一项,把下面的选项打开:
      
  • Linux Intrusion Detection System support (EXPERIMENTAL) (NEW).
      在配置LIDS内核选项之后,关闭配置界面,编译内核。
      
  • [code]
      # make dep
      # make clean
      # make bzImage
      # make modules
      # make modules_install
    [/code]
      
      5.安装LIDS和管理工具。拷贝bzImage到/boot/,编辑/etc/lilo.conf文件。
      
      ——————————————————————————–
     [code] 
      # 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[/code]
      
      
      ——————————————————————————–
      
      6.运行lilo,加载新内核
      
      # /sbin/lilo
      
      7.配置LIDS系统
        重启之前,应该配置LIDS系统使他符合你的要求。你可以定义受保护的文件、进程、设备等。缺省情况下,lidsadm将安装/etc/lids/下面的缺省配置文件。你必须重新配置它使其符合你的要求。具体的配置方法后面再作介绍。
      
      # /sbin/lidsadm -U
      
      8.重启系统
        当你配置好Linux系统时,重启你的系统。当lilo出现时,选择lids加载内核。这时候,你就进入了精彩的LIDS世界了。
      
      9.封闭内核
        当系统重启后,别忘了用lidsadm为内核打封,把下面这条命令加到/etc/rc.local的最后一行中。
      你可以查阅lids howto文档理解lidsadm每一个选项的含义。
      ———————————————
      # /sbin/lidsadm -I
      ———————————————
      10.联机管理。
        封闭内核之后,系统就处于LIDS的保护之下了。你可以在上面做些测试。若你想改变一些配置,比如改变选项的性能,就可以输入密码联机改变lids的安全级别。
      ———————————————-
      # /sbin/lidsadm -S — -LIDS
      ———————————————-
      当你改变了lids的配置值(例如lids.conf,lids.cap)之后,可以用下面的命令重新把配置文件装入内核。
      ———————————————–
      # /sbin/lidsadm -S — +RELOAD_CONF
      ———————————————–
      
      三、配置LIDS系统
      
        LIDS的配置目录是:'/etc/lids/',安装了lidsadm之后,你会发现它在/etc/lids/下生成了一个lids配置目录。当内核启动时,配置信息就把相关信息读入内核来初始化LIDS系统。
        下面,我们来看几个配置文件的作用:
        lids.conf
        这个文件用来存储LIDS ACLs信息。它包括定义对象访问类型的ACLs。
        lids.cap
        这个文件包括系统的所有性能,你可以编辑这个文件来配置这些性能。仅仅通过在性能前面加上+或者-来增加或减少相关性能。安装系统的时候,lids.cap文件是被缺省设置。
        lids.net
        这个文件用来配置发给管理员信箱的警告信息。你可以定义SMTP服务器、端口、消息头等。当你配置内核时,选择了

  • Send security alerts through network (NEW)就必须有这个文件。
        lids.pw
        这个文件存储由'lidsadm -P'命令生成的密码文件。如果你配置内核时选择了
  • Allow switching LIDS protections (NEW),就必须有这个文件。
      
        注意:如果要变换你的lids保护等级,不要忘了运行"lidsadm -P"来重启内核。
      
      1.配置LIDS保护文件和目录
        首先,确定你要保护哪些文件。一般情况下,保护系统二进制文件和系统配置文件,比如:           /usr/,/etc/,/var/log/。
        其次,你必须决定以什么方式来保护文件。LIDS提供四种保护类型。
      
      a.拒绝任何人访问
        带有DENY标志的文件和目录没有人能够看见,也不能修改。那些非常敏感的文件应该加上DENY标志。例如,/etc/shadow文件。
        ——————————————————————————–
        用法:
        lidsadm -A -o file_to_protected -j DENY
        # lidsadm -A -o /etc/shadow -j DENY
        重启或重新加载配置文件后,你会看到:
        # ls /etc/shad


  • 分享到: 更多

    这篇日志的 QR 二维码为:

    四月 16th, 2008

    Posted In: 未分类

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    无觅相关文章插件,快速提升流量