必须配置lids系统,使其符合你的安全需要.你可以定义受保护的文件,受保护的进程等等。
Linux IDS攻略
三. 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
---------------------------------------