用LIDS增强系统安全
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
administration of IP firewall, masquerading and accounting
setting debug option on sockets
modification of routing tables
setting arbitrary process / process group ownership on sockets
binding to any address for transparent proxying
setting TOS (type of service)
setting promiscuous mode
clearing driver statistics
multicasting
read/write of device-specific registers
出于安全因素,应该禁止此项目来禁止改变网络配置。当其被禁止后,防火墙规则将不
允许被改变。
配置lids.cap
可以在capability name前加 "+"或"-"来启动或禁止权限。
--------------------------------------------------
### 0: In a system with the _POSIX_CHOWN_RESTRICTED option defined, this overri
des the restriction
### 0: of changing file ownership and group ownership.
#
-0:CAP_CHOWN
### 1: Override all DAC access, including ACL execute access if _POSIX_ACL is d
efined. Excluding
### 1: DAC access covered by CAP_LINUX_IMMUTABLE.
#
+1:CAP_DAC_OVERRIDE
---------------------------------------------------
以上例子演示了禁止CAP_CHOWN (-),启动CAP_DAC_OVERRIDE(+),应该仔细检查lids.c
ap
文件来决定哪些需要启动哪些需要禁止。
用capabilities为独立进程分类
你可以使用capability为独立进程分类,从而使得进程可以做到一些系统所禁止的事情
。
例如,你可以在/etc/lids/lids.cap下禁止CAP_SYS_RAWIO(-),但你仍然需要使用X服务
,所以你可以:
# lidsadm -A -s /usr/X11R6/bin/XF86_SVGA -t -o CAP_SYS_RAWIO -j INHERIT
使得XF86_SVGA拥有CA_SYS_RAWIO的权限,而其他程序不能获得CAP_SYS_RAWIO。
封装内核
启动内核以后,系统权限要在封装内核以后才会起作用。你必须将以下命令加入RefHat
系统的/etc/rc.d/rc.local下,或其他系统的启动初始文件中
#/sbin/lidsadm -I
4.5 网络安全
LIDS提供了加强网络安全的功能。
基于capability的网络安全
通过capability,可以加强网络安全性。比如anti snifferring,不能绑定低于1024的
端口,不能改变防火墙和路由器规则。所以,建议仔细阅读每一项capability.
内核中的扫描检测器
LIDS提供了一个内核扫描检测器,用来侦察是否有人在扫描你的系统。这个扫描器可以
侦察到half-open scan, SYN stealth port scan, Stealth FIN, Xmas,或是Null scan
等等, 象nmap,satan等工具都能被检测到。
当raw socket被禁止时,它会起作用。这样一来,一些基于监听上的user space detec
tor
不起作用。并且这一检测器不使用任何socket,比任何user space detector要安全。
如果想要启用这项功能,可以在编译内核的时候选择。
4.6 入侵响应系统
当LIDS检测到违反已定义规则时,它可以用以下方式回应。
记录信息
当有人违反规则, lids_security_log将把信息记录下来, 记录也具有anti_logging_
flood
的能力,可以在编译内核时设置。
通过mail服务器记录信息
LIDS的新功能可以把信息传输到你的信箱。你可以在/etc/lids/lids.net下定义邮件服
务器IP,外来邮件地址等等。
样例
-----------------------------------------------------
MAIL_SWITCH=1
# MAIL_RELAY=hex IP:port
# IP11.1 of the machine that will be directly connected by LIDS
# for relaying its mails. Port is usually 25, but who knows...
MAIL_RELAY=210.73.88.149:25
# MAIL_SOURCE=source machine :
# Name of the source machine, used for the ehlo identification.
# Note that a bad name here could make the mail relay refuse your
# mails.
MAIL_SOURCE=lids.chinacluster.com
-----------------------------------------------------
此例中,SMTP服务器是210.73.88.149,端口25.邮件资源用于EHLO identification。
控制台的挂起
当用户违反规则,控制台将关闭用户的控制台。(完) |