快捷搜索:   服务器  安全  linux 安全  MYSQL  dedecms

LIDS译本


  
  
  【 原文由 chzhuang 所发表 】
  一. LIDS的一些基本概念
  1.当前Linux系统的缺陷
  文件系统没有保护机制
  进程没有保护机制
  系统管理没有保护机制
  root会滥用职权
  系统认证是不可信的
  存取控制模型(DAC)是不足的
  2.什么是LIDS
  一个内核的补丁和管理工具,用于加强linux的内核安全性
  一个内核中参考监视器的执行
  内核中的强制存取控制(MAC)模型的实现
  一些正派黑客的现行项目
  3.LIDS的特性
  文件保护。任何人,包括root,不能修改LIDS保护的文件。文件可以是隐藏的。
  进程保护。任何人,包括root,不能修改LIDS保护的进程。进程可以是隐藏的。
  细粒度的存取控制。
  用来使用的扩充对整个系统的控制能力来自内核的安全警告内核实现的端口扫描探测器
  4.为什么使用LIDS
  使系统更安全
  保证系统的完整性
  为系统安全策略提供一个易用,全面的配置方法
  二. LIDS的配置
    在这一节里,我们介绍一下如何配置LIDS。
  2.1 LIDS的配置目录--“/etc/lids/”
    安装完lidsadm以后,你会发现会出现一个/etc/lids/目录。当内核启动后,lids的配种信息会被读入内核来初始化LIDS系统。
    lids.conf:这个文件存有LIDS的ACLs的信息,用于定义各对象的存取类型。可以使用哪俊?
    lids.cap:包含系统的所有功能描述,你可以修改这个文件来配置系统功能。在文件中中的功能名前面加上“+”就可以允许这项功能,加上“- ”就会禁止这项功能?
    lids.net:该文件用于配置网络传输警告信息。你可以定义SMTP服务器,端口,信息标标题等等。当你配置内核时,选择了Send security alerts through network (NEW)就需要配置该文件?
    lids.pw:该文件用于保存使用命令“lidsadm -P”生成的密码。当你配置内核时,选选择了Allow switching LIDS protections (NEW)就需要配置该文件?
    注意:你如果想要切换LIDS的保护层次,必须在重启之前运行“lidsadm -P”。
  2.2 保护文件和目录
    首先,你要确定系统中哪些文件需要保护。一般是系统的一些重要的二进制文件和系统统配置文件,例如/usr/,/sbin/,/etc/,/v ar/log/?
    其次,你要定义文件保护级别。LIDS提供了4级保护类型:
  1.DENY access to any body:任何人(包括root)不能查看或者修改该文件。这种级别用于于比较重要的文件,比如/etc/shado
    用法:lidsadm -A -o file_to_protected -j DENY
    例子:# lidsadm -A -o /etc/shadow -j DENY
       重启并重载启动文件以后,你会看到
       # ls /etc/shadow
       ls: /etc/shadow: No such file or directory
    我们还可以让某些程序可以访问这个文件,比如/bin/login程序需要访问/etc/shadow照个文件,我们可?使用如下方法。
    用法:lidsadm -A -s SUBJECT_PROGRAM -o OBJECT_PROGRAM -j     READ/WRITEE/APPEND
    # lidsadm -A -s /bin/login -o /etc/shadow -j READ
  2.Read Only Files:该类型文件意味着没有人可以改变这个文件。比如下列文件:/etc/paasswd,/bin/passwd等等。
    用法:lidsadm -A -o file_to_protect -j READ
    例子: a. 只读保护/sbin/目录
         # /sbin/lidsadm -A -o /sbin/ -j READ
        b. 只读保护/etc/passwd
         # /sbin/lidsadm -A -o /etc/passwd -j READ
  3.Append Only Files:这种保护类型一般用于一些系统日志文件,比如:/var/log/messagge,/var/log/secure。这种文件只能使用添加方式打开,不可以修改和减少文件内容。
  用法:lidsadm -A -o filename_to_protect -j APPEND
  例子:
  a. 保护系统日志文件
  # /sbin/lidsadm -A -o /var/log/message -j APPEND
  # /sbin/lidsadm -A -o /var/log/secure -j APPEND
   
  b.保护apache httpd日志文件
  # /sbin/lidsadm -A -o /etc/httpd/logs/ -j APPEND
  4.Write:该类型用于定义可以被写的文件。
  5.文件保护中的强制存取控制
    你可以定义主体(程序)以什么存取方式(READ,APPEND,WRITE)来访问客体(文件)。
    比如,你可以定义/home/httpd/不让任何人访问,使/usr/sbin/httpd可以被该目录下档文件读。
    # lidsadm -A -o /home/httpd -j DENY
    # lidsadm -A -s /usr/sbin/httpd -o /home/httpd -j READ
  这样,Web服务器能照常提供服务,但是/home/httpd/下的程序就不会被查看或修改。即使浇攻者通过httpd的安全漏洞取得root权限,他也不能查看该目录下的文件。甚至虽然他可以用改写栈的方法在h ttpd服务器里写入恶意代码,他也只能读/home/httpd下的文件,而不能修改。
  一些示例:
  lidsadm -Z
  lidsadm -A -o /boot -j READ
  lidsadm -A -o /vmlinuz -j READ
  lidsadm -A -o /lib -j READ
  lidsadm -A -o /root -j READ
  lidsadm -A -o /etc -j READ
  lidsadm -A -o /sbin -j READ
  lidsadm -A -o /usr/sbin -j READ
  lidsadm -A -o /bin -j READ
  lidsadm -A -o /usr/bin -j READ
  lidsadm -A -o /usr/lib -j READ
  lidsadm -A -o /var/log -j APPEND
  你安装完/etc/lids/以后,在/etc/lids/目录下会有一个示例lids.conf文件。你必须运行 发idsadm -U”来更新节点/设备值,再按你的要求来重新配置它。
  2.3 保护进程
    LIDS可以保护1号进程的子进程,你必须在/etc/lids/lids.cap中配置如下性能:-29:CCAP_INIT_KILL
  隐藏进程
    可以给进程加上隐藏属性,当进程执行时,其他人用“ps”或在/proc下查看都不能看档礁进程。例如:
  lidsadm -A -s /usr/sbin/httpd -t -o CAP_HIDDEN -j INHERIT
  2.4 用性能来保护
    性能就像我们赋给进程的某些特权。一个根进程拥有所有性能。但是这时存在一个性能能限定集。在普通的内核里,当你从性能限定集里删掉一个性能的话,在重启之前没人能再拥有这项性能了?
    LIDS修改了这项功能使你能够自由地更换这些性能。例如可以指定对/proc/sys/kernell/cap_bset的访问引起陷入并产生一个安全警告。
    你可以运行lidsadm来列出LIDS中所有的性能来详细看它们的确切意思。
  系统性能配置
    系统性能值被存在文件/etc/lids/lids.cap中,你可以修改它。我们讨论两个性能。
    CAP_SYS_RAWIO:拥有这项性能,我们能够访问ioperm/iopl,/dev/port,/dev/mem
顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论