- ·上一篇文章:用LIDS增强系统安全(2)
- ·下一篇文章:用LIDS增强系统安全(4)
用LIDS增强系统安全(3)
喜欢这些内容嘛,请告诉你身边的朋友,易下载中心-QQ资源-itnetcn.com一起享受这份乐趣,本站内容来源互联网
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
用LIDS增强系统安全 安装 lidsadm以后,在/etc/lids/下会产生一个 lids配置目录,当内核启动时,配置信 lids.conf 这是用来储存 LIDS ACLs信息的文件。它包括定义事件进入类型的ACLs.其项目可 [*] Send security alerts through network (NEW) lids.pw 注意: 如果要改变lids保护等级,你必须在重新启动内核前运行"lidsadm -P"l. 首先,要决定哪些文件需要受保护。建议你应该保护系统二进制文件和系统配置文件, 其次,要决定保护文件的方式. LIDS提供四种保护类型: DENY access to any body(禁止任何人进入)。 这种方式意味着没有人能够看见或修改文件或目录. 最敏感的文件应该配置为DENY。 例 ------------------------------------------------------- # lidsadm -A -o /etc/shadow -j DENY 然后, 你要设置一些可以进入文件的程序,例如,登陆系统时,/bin/login文件需要从 ------------------------------------------------------- 配置生效后,你可以登陆到系统上但无法进入/etc/shadow。这是MAC (mandatory acce 这种方式意味着没有人可以改变文件,建议/etc/passwd,/bin/passwd等类似文件可以 ------------------------------------------------------- example, 1. to protect the whole /sbin/ as read-only. # /sbin/lidsadm -A -o /sbin/ -j READ 2. to protect /etc/passwd as read-only # /sbin/lidsadm -A -o /etc/passwd -j READ Append Only Files(只能添加文件) 大多此类文件是指系统的log文件,例如 /var/log/message ,/var/log/secure。 文件 ------------------------------------------------------ example, 1. to protect the system log files # /sbin/lidsadm -A -o /var/log/message -j APPEND 2. to protect the apache httpd log files # /sbin/lidsadm -A -o /etc/httpd/logs/ -j APPEND 此类型用于定义可以改写的文件。 Mandatory Access Control in file protection(文件保护中的命令进入控制) 定义哪个项目(程序)可以以哪种方式(READ,APPEND,WRITE)进入哪个目标(文件)。 例如,定义/home/httpd/为DENY to anybody然后让/usr/sbin/httpd能从目录中READ。 ---------------------------------------------------- 实例 下面是LIDS HOWTO中的一个实例 --------------------------------------------------- 安装lidsadm后,在lidsadm包中会有一个样例lids.conf 存放于/etc/lids/下,你必须 4.3 LIDS 可以保护进程当其父程序初始化时(pid=1)[ the process whose parent is init hidden process(隐藏进程) 由于进程被隐藏, 所以当进程启动时,任何人用 "ps"命令或在"/proc"下都无法找到 -------------------------------------------------- --------------------------------------------------
4. 配置LIDS系统
4.1 LIDS配置目录 -- “/etc/lids/”
息将被读入内核中来初始化 LIDS系统。
以用lidsadm来添加或删除。
lids.cap 这个文件包括了系统中所有的权限,可以通过编辑它来配置系统中启动或禁止的权
限。在想要启动的名称前设置 "+"或设置 "-"来禁止。安装系统时, lids.cap 以缺省值存
在,应该按照自己的需要改变它。
lids.net 这个文件是用来配置通过网络传送警告信件的。可以定义 SMTP服务器、端口、信
息题目等等。
这一文件需要在配置内核时选择:
这是用来储存由"lidsadm -P"产生的密码的文件,需要在配置内核时选择: [*] Allow switching LIDS protections (NEW)
4.2 保护文件和目录
例如/usr/,/sbin/,/etc/,/var/log/。
如,可以将 /etc/shadow设置为 DENY access to anybody,
Usage
lidsadm -A -o file_to_protected -j DENY
After reboot or RELOAD the configurate files. you can see,
# ls /etc/shadow
ls: /etc/shadow: No such file or directory
-------------------------------------------------------
受保护的文件/etc/shadow里读取密码 ,但/etc/shadow不允许任何人进入,所以你应该:
Usage
lidsadm -A -s SUBJECT_PROGRAM -o OBJECT_PROGRAM -j READ/WRITE/APPEND
# lidsadm -A -s /bin/login -o /etc/shadow -j READ
-------------------------------------------------------
ss control
命令进入控制)的一个实例。
Read Only Files(只读文件)
采取这种方式。
lidsadm -A -o file_to_protect -j READ
-------------------------------------------------------
只能添加而不能删除或修改以前的内容。
USAGE:
lidsadm -A -o filename_to_protect -j APPEND
# /sbin/lidsadm -A -o /var/log/secure -j APPEND
-----------------------------------------------------
WRITE(可写)
这样一来, Web服务器可以正常地作为公用WEB服务器,但在/home/httpd/下的内容和程序
是不可见的,也不能被修改。如果入侵者通过httpd的bug获得了root shell,他即使在root
shell下也不能看到文件,即使他可以通过改写堆栈在httpd服务器中插入危险的代码,他也
只能读到/home/httpd下的文件,而不能修改。
# lidsadm -A -o /home/httpd -j DENY
# lidsadm -A -s /usr/sbin/httpd -o /home/httpd -j READ
---------------------------------------------------
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
---------------------------------------------------
运行 "lidsadm -U"更新 inode/dev值,根据需要重新配置它。
保护进程
UN-killable process(不可杀进程)
(pid=1)]
必须配置权限 (/etc/lids/lids.cap),如下:
-29:CAP_INIT_KILL
.
example,
lidsadm -A -s /usr/sbin/httpd -t -o CAP_HIDDEN -j INHERIT

