Tuxedo安全配置使用简介[转帖]_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 5110 | 回复: 0   主题: Tuxedo安全配置使用简介[转帖]        下一篇 
luqunfang
注册用户
等级:少校
经验:1219
发帖:74
精华:0
注册:2012-6-25
状态:离线
发送短消息息给luqunfang 加好友    发送短消息息给luqunfang 发消息
发表于: IP:您无权察看 2012-7-11 17:18:36 | [全部帖] [楼主帖] 楼主

1. 简介:

Tuxedo提供了多种安全机制,包括基于用户身份和口令的认证授权管理,基于传输数据的签名和加密等等,本文主要关注基于身份口令的管理部分安全配置,数据传输时的签名、加密,密钥等不再此文范围。

2. Tuxedo基于安全的配置

Tuxedo的安全配置主要在ubbconfig文件中实现,包括以下几种:

1、无安全设置。这是默认的配置,采用的是Unix操作系统的权限控制。在这种级别下,客户端可以无障碍的访问所有的服务端服务。

这种情形下,在配置文件UBBCONFIG中不需要增加任何处理。当然,也可指定如下的参数进行更具体的设置:

RESOURCE中指定SECURITY的值为NONE;指定UID、PID、PERM来代替操作系统的缺省设置。如:

SECURITY  NONE


2、密码认证。这是基于整个应用系统的认证,要访问该应用系统都必须提供一个相同的密码。

使用该级别的方法如下:

UBBCONFIG的RESOURCE部分指定认证级别:

SECURITY  APP_PW


当调用tmloadcf时,tuxedo会提示输入一个密码。该密码可以在tmadmin中使用passwd命令进行修改。

北京联动北方科技有限公司

1. tmloadcf 编译时提示输入密码

Client程序要加入应用,必须使用tpalloc分配一个TPINIT结构,在该结构中的passwd域填入tmloadcf时输入的密码,然后调用tpinit()才会成功。

...
TPINIT *tpinfo;
char *passwd;
tpinfo = (TPINIT*) tpalloc(“TPINIT”, NULL, TPINITNEED(0));
strcpy(tpinfo -> passwd, passwd);
tpinit(tpinfo);
...


3、User-Level Auth(认证Server)。通过配置认证server,由用户实现一个用于认证的service,该service决定具体的认证方法和实现。

使用该级别认证的方法如下:

UBBCONFIG的RESOURCE部分指定认证级别和认证的service:

SECURITY  USER_AUTH
AUTHSVC   MYSVC


同时,在SERVER部分指定包含认证service的相应server:

MYAUTHSVR SRVID=100 CLOPT=“-A” SRVGRP=GROUP1


使用User_auth安全方式时,可以使用TUXEDO产品自带的一个AUTHSVR(位于$TUXDIR/bin目录),来进行用户认证和检查。AUTHSVR提供的Service名称是“..AUTHSVC”。

当然,也可以自己实现一个用户认证Server,来进行用户的认证和检查,流程是检查判断客户端送递过来的tpinit结构的中的username、cltname、passwd、data等字段是否满足访问权限,并通过tpreturn返回TPFAIL和TPSUCCESS来表示认证通过或认证失败。

需要注意的是:USER_AUTH是在APP_PW的安全特性上的增强。即,APP_PW安全特性继续生效。在tmloadcf时,需要输入密码;在客户端程序调用服务时,要设置tpinit的passwd字段,填入tmloadcf时的密码。

一个自己编写的根据IP认证的Server相关内容如下:

北京联动北方科技有限公司

2. 客户端程序填充TPINIT结构

北京联动北方科技有限公司

3. 认证Server实现,通过IP过滤进行权限控制

北京联动北方科技有限公司

4. UBB配置

3、ACL/MANDATORY ACL(访问控制列表)。ACL(Access-Control-List) 是Tuxedo提供的一套基于组(Group)管理的安全控制机制。该机制通过用户、组以及对Tuxedo提供的资源(service、event等)的相应存取权限组成。

使用该级别认证的方法是在RESOURCE部分定义:

SECURITY  ACL 或 MANDATORY_ACL

AUTHSVC “..AUTHSVC”
*SERVERS
AUTHSVR SRVID=100 SRVGRP=AdminGroup RESTART=Y CLOPT=”-A”


ACL和ACL或MANDATORY_ACL的主要区别是:若当前要访问的对象(Service)没有定义存取规则,则ACL方式允许访问,而MANDATORY_ACL方式不允许访问。

注意: 使用ACL或MANDATORY时,必须使用Tuxedo自带的认证AUTHSVR。若使用第三方的认证Server或自开发的认证Server,ACL功能需自己实现。

使用ACL时,需要使用tpusradd/tpgrpadd/tpacladd等TUXEDO提供的ACL相关命令,来创建文件tpusr、tpgrp和tpacl。这几个文件需放置在在$APPDIR目录下。

举例如下:

#tpgrpadd -g 100 DemoGroup  -- 创建DemoGroup组,ID为100
#tpgrpadd -g 101 DemoGroup1 -- 创建DemoGroup1组,ID为101
#tpusradd -g DemoGroup -c Sunribo_clt Sun --在DemoGroup组创建usrname为Sun的用户,Cltname名称是Sunribo_clt
#tpusradd -g DemoGroup1 -c Sunribo1_clt Sun1 --在DemoGroup1组创建usrname为Sun1的用户,Cltname名称是Sunribo1_clt


#tpacladd -g DemoGroup -t SERVICE TOUPPER –增加DemoGroup组访问TOUPPER的权限

#tpacladd -g DemoGroup1 -t SERVICE TOLOWER –增加DemoGroup1组访问TOLOWER的权限

需要注意:

1、 在使用tpusradd时,会提示输入用户的密码(password)。Tpusradd所涉及的usrname, cltname,与程序中的TPINIT结构中字段相对应;用户的password对应TPINIT的data字段。

2、 ACL/MANDATORY ACL是在APP_PW的安全特性上的增强。即,APP_PW安全特性继续生效。在tmloadcf时,需要输入密码;在客户端程序调用服务时,要设置tpinit的passwd字段,填入tmloadcf时的密码。同时,需要将用户的相关信息填入到TPINIT对应的字段,譬如usrname, cltname, data(存放tpusradd时输入的密码),可参考图2程序代码。

3. 其他

上述的安全配置,如果客户端通过DOMAIN-DOMAIN之间的调用时,也受此安全限制。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论