利用capability特征加强Linux系统安全

http://tech.ddvip.com   2007年03月11日    社区交流

利用capability特征加强Linux系统安全。

  cap_permitted表示进程能够使用的能力。在cap_permitted中可以包含cap_effective中没有的能力,这些能力是被进程自己临时放弃的,也可以说cap_effective是cap_permitted的一个子集。进程放弃没有必要的能力对于提高安全性大有助益。例如,ping只需要CAP_NET_RAW,如果它放弃除这个能力之外的其它能力,即使存在安全缺陷,也不会对系统造成太大的损害。cap_inheritable表示能够被当前进程执行的程序继承的能力。

  3.Linux支持的能力

  Linux实现了7个POSIX 1003.1e规定的能力,还有21个(截止到2.4.7-10版本的内核)Linux所特有的,这些能力在/usr/src/linux/include/linux/capability.h文件中定义。其细节如下:

  能力名 数字 描述

  CAP_CHOWN 0 允许改变文件的所有权

  CAP_DAC_OVERRIDE 1 忽略对文件的所有DAC访问限制

  CAP_DAC_READ_SEARCH 2 忽略所有对读、搜索操作的限制

  CAP_FOWNER 3 如果文件属于进程的UID,就取消对文件的限制

  CAP_FSETID 4 允许设置setuid位

  CAP_KILL 5 允许对不属于自己的进程发送信号

  CAP_SETGID 6 允许改变组ID

  CAP_SETUID 7 允许改变用户ID

  CAP_SETPCAP 8 允许向其它进程转移能力以及删除其它进程的任意能力

  CAP_LINUX_IMMUTABLE 9 允许修改文件的不可修改(IMMUTABLE)和只添加(APPEND-ONLY)属性

  CAP_NET_BIND_SERVICE 10 允许绑定到小于1024的端口

  CAP_NET_BROADCAST 11 允许网络广播和多播访问

  CAP_NET_ADMIN 12 允许执行网络管理任务:接口、防火墙和路由等,详情请参考/usr/src/linux/include/linux/capability.h文件

  CAP_NET_RAW 13 允许使用原始(raw)套接字

  CAP_IPC_LOCK 14 允许锁定共享内存片段

责编:豆豆技术应用

正在加载评论...