|
用LIDS增强系统安全(5) # lidsadm -A -o /home/httpd -j DENY # lidsadm -A -s /usr/sbin/httpd -o /home/httpd -j READ ---------------------------------------------------
实例
下面是LIDS HOWTO中的一个实例
--------------------------------------------------- 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后,在lidsadm包中会有一个样例lids.conf 存放于/etc/lids/下,你必须运行 "lidsadm -U"更新 inode/dev值,根据需要重新配置它。
4.3 保护进程 UN-killable process(不可杀进程)
LIDS 可以保护进程当其父程序初始化时(pid=1)[ the process whose parent is init(pid=1)]必须配置权限 (/etc/lids/lids.cap),如下: -29:CAP_INIT_KILL
hidden process(隐藏进程)
由于进程被隐藏, 所以当进程启动时,任何人用 "ps"命令或在"/proc"下都无法找到 .
-------------------------------------------------- example, lidsadm -A -s /usr/sbin/httpd -t -o CAP_HIDDEN -j INHERIT
--------------------------------------------------
4.4 权限保护
Capabilities类似于赋予进程的权限, root方式拥有所有权限,但存在权限绑定设置。在普通的内核中,当你从绑定设置中删除一个权限,再也没有人可以使用它了,直到下次重 新启动。 (关于普通使用可以参考http://www.netcom.com/ spoon/lcap)。
LIDS修改这一属性,使你可以任意转换。进入/proc/sys/kernel/cap_bset被捕获后引发安全警报,lidsadm承担所有这些工作。
可以通过运行lidsadm列出所有的LIDS权限,和每一权限确切的含义。
系统权限配置
系统权限属性存放于/etc/lids/lids.cap,必须编辑此文件来适应你的需要。
这里,我们讨论其中的两个属性:
CAP_SYS_RAWIO 启用这一权限,我们可以
allow ioperm/iopl and /dev/port access, allow /dev/mem and /dev/kmem access and allow raw block devices (/dev/[sh]d??) access
当禁止了这项功能以后,可以使得系统上所有进程失去对于raw device的权限,例如运行lilo。
但是一些进程需要此权限来打开,例如XF86_SVGA, 所以在编译内核的时候, 使一些程序处于例外状态。
CAP_NET_ADMIN 这个项目可以得到以下权限
interface configuration
|