Tuxedo安全配置使用简介

24 篇文章 0 订阅
14 篇文章 0 订阅

Tuxedo安全配置使用简介

 

tmadmin  Hustari@gmail.com

2008.09.12

 

 

1. 简介:

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

2. Tuxedo基于安全的配置

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

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

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

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

SECURITY  NONE

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

使用该级别的方法如下:

UBBCONFIGRESOURCE部分指定认证级别:

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);

...

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

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

UBBCONFIGRESOURCE部分指定认证级别和认证的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结构的中的usernamecltnamepasswddata等字段是否满足访问权限,并通过tpreturn返回TPFAILTPSUCCESS来表示认证通过或认证失败。

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

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

 

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

 

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

 

 

4. UBB配置

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

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

SECURITY  ACL 或 MANDATORY_ACL

AUTHSVC “..AUTHSVC”

*SERVERS

AUTHSVR SRVID=100 SRVGRP=AdminGroup RESTART=Y CLOPT=”-A”

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

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

使用ACL时,需要使用tpusradd/tpgrpadd/tpacladdTUXEDO提供的ACL相关命令,来创建文件tpusrtpgrptpacl。这几个文件需放置在在$APPDIR目录下。

举例如下:

#tpgrpadd -g 100 DemoGroup  -- 创建DemoGroup组,ID100

#tpgrpadd -g 101 DemoGroup1 -- 创建DemoGroup1组,ID101

#tpusradd -g DemoGroup -c Sunribo_clt Sun --DemoGroup组创建usrnameSun的用户,Cltname名称是Sunribo_clt

#tpusradd -g DemoGroup1 -c Sunribo1_clt Sun1 --DemoGroup1组创建usrnameSun1的用户,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对应TPINITdata字段。

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

3. 其他

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

4. 参考

Tuxedo Edocs Online

http://e-docs.bea.com/tuxedo/tux81/

Using Security in ATMI Applications

http://e-docs.bea.com/tuxedo/tux81/sec/secovr.htm


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值