For a CORBA application to authenticate users, the value of the AUTHSVC parameter in the
RESOURCES section of the
UBBCONFIG file needs to specify the name of the process to be used as the authentication server for the CORBA application. The service must be called
AUTHSVC. If the
AUTHSVC parameter is specified in the
RESOURCES section of the
UBBCONFIG file, the
SECURITY parameter must also be specified with a value of at least
USER_AUTH. If the value is not specified, an error will occur when the system executes the
tmloadcf command. If the
-m option is configured on the
ISL process in the
UBBCONFIG file, the
AUTHSVC must be defined in the
UBBCONFIG file before the
ISL process.
In addition, you need to define AUTHSVR in the
SERVERS section of the
UBBCONFIG file. The
SERVERS section contains information about the server processes to be booted in the CORBA application. To add
AUTHSVC to an application, you need to define
AUTHSVC as the authentication service and
AUTHSVR as the authentication server in the
UBBCONFIG file.
Listing 7‑1 contains the portion of the
UBBCONFIG file that defines the authentication server.
*SERVERS
AUTHSVR SRVGRP="group_name" SRVID=1 RESTART=Y GRACE=600 MAXGEN=2 CLOPT="-A"
AUTHSVR may be replaced with an authentication server that implements logic specific to the application. For example, a company may want to develop a custom authentication server so that it can use the popular Kerberos mechanism for authentication.
*SERVERS
KERBEROSSVR SRVGRP="group_name" SRVID=1 RESTART=Y GRACE=600 MAXGEN=2 CLOPT="-A"
You use the tpusradd command to create files containing lists of authorized principals. The
tpusradd command adds a new principal entry to the Oracle Tuxedo security data files. This information is used by the authentication server to authenticate principals. The file that contains the principals is called
tpusr.
The tpusradd file should be owned by the administrator account. Oracle recommends that the file be protected so that only the owner has read and write privileges for the file and all other users have only read privileges for the file.
The tpusradd command has the following options:
|
Note:
|
Use the tpgrpadd command to add groups of principals to the Oracle Tuxedo security data files.
|
In addition to the tpusradd and
tpgrpadd commands, the Oracle Tuxedo product provides the following commands to modify the
tpusr and
tpgrp files:
|
2.
|
To convert the /etc/password file into the format needed by the Oracle Tuxedo system, enter the following command:
|
This command creates the tpusr file and stores the converted data in it. If the
tpusr file already exists,
tpaclcvt adds the converted data to the file, but it does
not add duplicate user information to the file.
|
3.
|
To convert the /etc/group file into the format needed by the Oracle Tuxedo system, enter the following command:
|
This command creates the tpgrp file and stores the converted data in it. If the
tpgrp file already exists,
tpaclcvt adds the converted data to the file, but it does
not add duplicate group information to the file.
Table 7‑1 describes the values for the
SECURITY parameter.
|
2.
|
Set the SECURITY parameter in the RESOURCES section of the UBBCONFIG file to APP_PW.
|
|
3.
|
Open UBBCONFIG with a text editor and add the following lines to the RESOURCES and SERVERS sections:
|
CLOPT="-A" causes the
tmboot command to pass only the default command-line options (invoked by
"-A") to
AUTHSVR when the
tmboot command starts the application.
Listing 7‑3 includes a
UBBCONFIG file for an application which uses password authentication. The key sections of the
UBBCONFIG file are noted in boldface text.
*RESOURCES
IPCKEY 55432
DOMAINID securapp
MASTER SITE1
MODEL SHM
LDBAL N
SECURITY USER_AUTH AUTHSVR “AUTHSVC”
*MACHINES
"ICEAXE"
LMID = SITE1
APPDIR = "D:\TUXDIR\samples\corba\SECURAPP"
TUXCONFIG = "D:\TUXDIR\samples\corba\SECURAPP\results
\tuxconfig"
TUXDIR = "D:\Tux8"
MAXWSCLIENTS = 10
*GROUPS
SYS_GRP
LMID = SITE1
GRPNO = 1
APP_GRP
LMID = SITE1
GRPNO = 2
*SERVERS
DEFAULT:
RESTART = Y
MAXGEN = 5
AUTHSVR
SRVGRP = SYS_GRP
SRVID = 1
RESTART = Y
GRACE = 60
MAXGEN = 2
TMSYSEVT
SRVGRP = SYS_GRP
SRVID = 1
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 2
CLOPT = "-A -- -N -M"
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 3
CLOPT = "-A -- -N"
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 4
CLOPT = "-A -- -F"
simple_server
SRVGRP = APP_GRP
SRVID = 1
RESTART = N
ISL
SRVGRP = SYS_GRP
SRVID = 5
CLOPT = “-A -- -n //PCWIZ::2500”
SEC_PRINCIPAL_NAME="IIOPListener"
SEC_PRINCIPAL_PASSVAR="ISH_PASS"
|
8.
|
Use the tpusradd command to define the authorized users of your CORBA application and IIOP Listener/Handler. Use the e-mail addresss of the user in the tpusr file. For more information about the tpusr file, see “Defining Authorized Users” on page 7‑3. Use the phase phrase you defined in SEC_PRINCIPAL_PASSVAR as the password for the IIOP Listener/Handler.
|
|
12.
|
Open UBBCONFIG with a text editor and add the following lines to the RESOURCES and SERVERS sections:
|
|
•
|
Use the -a option of the ISL command to specify that certificate authentication must be used by applications connecting to the IIOP Listener/Handler.
|
|
•
|
Use the -ORBmutualAuth command-line option on the ORB to specify that certificate authentication must be used by applications connecting to the CORBA C++ ORB.
|
Listing 7‑4 includes a
UBBCONFIG file for a CORBA application which uses certificate authentication. The key sections of the
UBBCONFIG file are noted in boldface text.
*RESOURCES
IPCKEY 55432
DOMAINID simpapp
MASTER SITE1
MODEL SHM
LDBAL N
SECURITY USER_AUTH
AUTHSVR “AUTHSVC”
*MACHINES
"ICEAXE"
LMID = SITE1
APPDIR = "D:\TUXDIR\samples\corba\SIMPAP~1"
TUXCONFIG = "D:\TUXDIR\samples\corba\SIMPAP~1
\results\tuxconfig"
TUXDIR = "D:\TUX8"
MAXWSCLIENTS = 10
*GROUPS
SYS_GRP
LMID = SITE1
GRPNO = 1
APP_GRP
LMID = SITE1
GRPNO = 2
*SERVERS
DEFAULT:
RESTART = Y
MAXGEN = 5
AUTHSVR
SRVGRP = SYS_GRP
SRVID = 1
RESTART = Y
GRACE = 60
MAXGEN = 2
TMSYSEVT
SRVGRP = SYS_GRP
SRVID = 1
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 2
CLOPT = "-A -- -N -M"
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 3
CLOPT = "-A -- -N"
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 4
CLOPT = "-A -- -F"
simple_server
SRVGRP = APP_GRP
SRVID = 1
RESTART = N
ISL
SRVGRP = SYS_GRP
SRVID = 5
CLOPT = "-A -- -a -z40 -Z128 -S2458 -n //ICEAXE:2468"
SEC_PRINCIPAL_NAME="IIOPListener"
SEC_PRINCIPAL_LOCATION="IIOPListener.pem"
SEC_PRINCIPAL_PASSVAR="ISH_PASS"
|
•
|
tpusr contains a list of users
|
|
•
|
tpgrp contains a list of groups
|
|
•
|
tpacl contains a list of ACLs
|
|
•
|
In ACL mode, a service request will be allowed if there is not a specific ACL.
|
|
•
|
In MANDATORY_ACL mode, the service request is denied if there is not a specific ACL.
|
|
2.
|
Open UBBCONFIG with a text editor and add the following lines to the RESOURCES and SERVERS sections:
|
CLOPT="-A" causes the
tmboot command to pass only the default command-line options (invoked by
"-A") to
AUTHSVR when the
tmboot command starts the application. By default,
AUTHSVR uses the user information in the
tpusr file to authenticate clients that want to interact with the CORBA application.
|
2.
|
Open UBBCONFIG with a text editor and add the following lines to the RESOURCES and SERVERS sections:
|
CLOPT="-A" causes the
tmboot command to pass only the default command-line options (invoked by
"-A") to
AUTHSVR when the
tmboot command starts the application. By default,
AUTHSVR uses the client user information in the
tpusr file named to authenticate clients that want to join the application. The
tpusr file resides in the directory referenced by the first pathname defined in the application’s
APPDIR variable.
|
|
|
|
ACL_POLICY in DMCONFIG ( TA_DMACLPOLICY in DM_MIB)
|
May appear in the DM_REMOTE_DOMAINS section of the DMCONFIG file for each remote domain access point. Its value for a particular remote domain access point determines whether or not the local domain gateway modifies the identity of service requests received from the remote domain.*
|
LOCAL or GLOBAL. Default is LOCAL.
LOCAL means modify the identity of service requests, and GLOBAL means pass service requests with no change. DOMAINID string for the remote domain access point.
|
* A remote domain access point is also known as an RDOM (pronounced “are dom”) or simply remote domain.
|
|
•
|
When using a local ACL policy, each domain gateway (GWTDOMAIN) modifies inbound CORBA client requests (requests originating from the remote application and received over the network connection) so that they take on the DOMAINID for the remote domain access point and thus have the same access permissions as that identity. Each domain gateway passes outbound client requests without change.
|
|
•
|
When using a global ACL policy, each domain gateway (GWTDOMAIN) passes inbound and outbound CORBA client requests without change. In this configuration, each application has an ACL database containing entries for users in its own domain as well as users in the remote domain.
|
In Listing 7‑5, the connection through the remote domain access point
b01 is configured for global ACL in the local
DMCONFIG file, meaning that the domain gateway process for domain access point
c01 passes client requests
from and
to domain access point
b01 without change.
*DM_LOCAL_DOMAINS
# <LDOM name> <Gateway Group name> <domain type> <domain id>
# [<connection principal name>] [<security>]...
c01 GWGRP=bankg1
TYPE=TDOMAIN
DOMAINID="BA.CENTRAL01"
CONN_PRINCIPAL_NAME="BA.CENTRAL01"
SECURITY=DM_PW
.
.
.
*DM_REMOTE_DOMAINS
# <RDOM name> <domain type> <domain id> [<ACL policy>]
# [<connection principal name>] [<local principal name>]...
b01 TYPE=TDOMAIN
DOMAINID="BA.BANK01"
ACL_POLICY=GLOBAL
CONN_PRINCIPAL_NAME="BA.BANK01"
By setting the CLOPT -t option or specifying the -
ORBinterOP command-line option, you are lowering the effective level of security for a CORBA server. Therefore, the use of compatibility mode should be carefully considered before enabling the mode in a server application.
You need to set the CLOPT -t option on any server applications that will interoperate with the older client application. The
CLOPT -t option is specified in the
*SERVERS section of
Listing 7‑6.
*SERVERS
SecureSrv SRVGRP=group_name SRVID=
server_number
CLOPT=A -t..