Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103752938
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-23 08:25:48

作者: Joshua Brindle/黄永兵译 出处:51CTO.com 
 
如果我们增加一条-ctx语句到我们的setkey文件中,如:

[root@scarecrow ~]# cat dev/ipsec/setkey.scarecrow.test 
spdflush; 
flush; 
spdadd 192.168.147.130 192.168.147.132 any 
-ctx 1 1 "system_u:object_r:default_t:s0" 
-P in ipsec esp/transport//require; 
spdadd 192.168.147.132 192.168.147.130 any 
-ctx 1 1 "system_u:object_r:default_t:s0" 
-P out ipsec esp/transport//require; 

你可以使用setkey –DP在每一台机器上查看SPD条目,注意条目的上下文字段。

在其他机器上重复设置setkey文件,注意你不能在标签中使用默认的default_t,它是一个展示发生什么事情的例子,它不是用来创建SA的标签,它将用于一个规则来查看哪个SPD条目与一个域匹配,这将在后面解释。

运行setkey –f收到一个错误的结果:

[root@scarecrow ~]# setkey -f dev/ipsec/setkey.scarecrow.test 
The result of line 8: Permission denied. 
The result of line 14: Permission denied. 

查看拒绝信息:

[root@scarecrow ~]# tail /var/log/audit/audit.log | grep AVC 

type=AVC msg=audit(1179150979.762:33): avc: denied { setcontext } for pid=
21632 comm="setkey" scontext=root:system_r:unconfined_t:s0-s0:c0.c1023 
tcontext=system_u:object_r:default_t:s0 tclass=association type=AVC msg=
audit(1179150979.895:34): avc: denied { setcontext } for pid=21632 comm=
"setkey" scontext=root:system_r:unconfined_t:s0-s0:c0.c1023 tcontext=
system_u:object_r:default_t:s0 tclass=association

非常好,它告诉我们可以在哪个IPSec SPD上设置标签了,现在在两台机器上设置许可模式并再次运行setkey,将会成功。

[root@poisonivy ~]# ./client 192.168.147.132 
Received: Hello, root:system_r:unconfined_t:SystemLow-SystemHigh from root:
system_r:unconfined_t:-SystemHigh

你可以使用setkey –D来查看新创建的SA,注意每个条目中上下文的字段。希望下面这张图能传达SA是如何标记的,注意连接的每一边都有2个SA,一个标记入站一个标记出站,出站SA在每个系统上总是本地域,入站SA在每个系统上总是远程域。

我很感谢Chris Ashworth制作这张图,它比我想象的更简单易懂。

这就论证了当服务端调用getpeercon()时它看到了root:system_r:unconfined_t:SystemLow-SystemHigh,客户端看到了root:system_r:unconfined_t:-SystemHigh,使用runcon在不同上下文中运行客户端可以看到更多的不同之处:

[root@poisonivy ~]# runcon -t httpd_t ./client 192.168.147.132 
Received: Hello, root:system_r:httpd_t:SystemLow-SystemHigh from root:
system_r:unconfined_t:-SystemHigh

阅读(245) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~