Linux IDS攻略(2)

发表于:2007-06-23来源:作者:点击数: 标签:
Linux IDS攻略 三. LIDS配置: 必须配置lids系统,使其符合你的 安全 需要.你可以定义受保护的文件,受保护的进程等等。 首先,更新缺省lids.conf的inode/dev值。 # /sbin/lidsadm -U 然后,获得一个RipeMD-160加密口令: # /sbin/lidsadm -P 缺省情况下,li

   
  Linux IDS攻略
    三. 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
   ---------------------------------------

d.可写文件
   以上READONLY,APPEND,WRITE属于LIDS对文件采取的强制访问控制(MAC)。
   通过LIDS的这个功能,就可以定义哪个程序可以对哪个文件采取什么样的访问模式。比如,定义/home/httpd/对任何人DENY,并且定义/usr/sbin/httpd能够从所在目录READONLY。在这种情况下,Web服务器像一般的Web服务器一样,只是在/home/httpd/目录下的内容和程序不能被看到和修改。即使入侵者利用httpd的漏洞获得了ROOT权限,他也看不到在root shell里面的文件。即使他重写缓冲区,在httpd 服务器中加入一些病毒代码,他也只能读出/home/httpd下面的文件而实质上无法修改它们。
   ---------------------------------------
   # lidsconf -A -o /home/httpd -j DENY
   # lidsconf -A -s /usr/sbin/httpd -o /home/httpd -j READONLY
   ---------------------------------------

  一个简单配置的例子:
   ---------------------------------------
   lidsconf -Z
   lidsconf -A -o /boot -j READONLY
   lidsconf -A -o /lib -j READONLY
   lidsconf -A -o /root -j READONLY
   lidsconf -A -o /etc -j READONLY
   lidsconf -A -o /sbin -j READONLY
lidsconf -A -o /usr/sbin -j READONLY
   lidsconf -A -o /bin -j READONLY
   lidsconf -A -o /usr/bin -j READONLY
   lidsconf -A -o /usr/lib -j READONLY
   ---------------------------------------

2.配置LIDS保护进程

  a.不可杀死的进程
   LIDS能够保护父进程是init(pid=1)的进程,按照下面的命令配置/etc/lids/lids.cap里面的性能:
   -29:CAP_INIT_KILL

  b.隐藏的进程
   这些进程看不到,用ps命令或者在/proc里面也看不到。
   ---------------------------------------
   例子:
   lidsconf -A -s /usr/sbin/httpd -o CAP_HIDDEN -j GRANT
   ---------------------------------------

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