Blog dedicated to Oracle Applications (E-Business Suite) Technology; covers Apps Architecture, Administration and third party bolt-ons to Apps

Thursday, July 19, 2007

Security best practice: Limited grants for APPLSYSPUB

In its 11i security quick reference (http://www.integrigy.com/security-resources/whitepapers/Integrigy_Oracle_11i_Security_Quick_Ref.pdf/view)
Integrigy, the security specialist company has recommended that APPLSYSPUB user should have only the following grants:

INSERT ON FND_UNSUCCESSFUL_LOGINS
INSERT ON FND_SESSIONS
EXECUTE ON FND_DISCONNECTED
EXECUTE ON FND_MESSAGE
EXECUTE ON FND_PUB_MESSAGE
EXECUTE ON FND_SECURITY_PKG
EXECUTE ON FND_SIGNON
EXECUTE ON FND_WEBFILEPUB
SELECT ON FND_APPLICATION
SELECT ON FND_APPLICATION_TL
SELECT ON FND_APPLICATION_VL
SELECT ON FND_LANGUAGES_TL
SELECT ON FND_LANGUAGES_VL
SELECT ON FND_LOOKUPS
SELECT ON FND_PRODUCT_GROUPS
SELECT ON FND_PRODUCT_INSTALLATIONS

These permissions are set in –
/admin/sql/afpub.sql

To check permissions –
SELECT * FROM dba_tab_privs
where grantee = 'APPLSYSPUB'

I opened $FND_TOP/admin/sql/afpub.sql and checked it:

REM Sample Syntax: START afpub applsys fnd applpub pub

which is incorrect because there is no user called applpub, so I changed it to :

@afpub applsys fnd applsyspub pub

The script was executed without issues. But in a minute or so, I was informed that none of the forms were opening and users were getting an error window like this:

APP-FND-01564: ORACLE error 980 in fdulictx

Cause: fdulictx failed due to ORA-00980 synonym translation is no longer valid

The SQL statement being executed at the time of the error was:
select LANGUAGE_CODE,DESCRIPTION, INSTALLED_FLAG
from FND_LANGUAGES_VL
where INSTALLED_FLAG in ('I','B')
order by LANGUAGE_CODE
and was executed from the file &ERRFILE.

On pressing Ok, a new error window would show this message:

FRM-10221: Cannot read file $AU_TOP/resource/stub/FNDM...

I realised that I should not have run that script when the instance was up and running. After informing users, I immediately shutdown the instance, started adadmin and ran "Recreate GRANTS and synonyms" after which I ran "Compile APPS schema". Once these tasks were complete, I restarted all the services. The problem had disappeared. While running "Recreate grants and synonyms", I saw that afpub.sql was being called by it. So, if you do "Recreate grants and synonyms" with adadmin, the security recommendation is automatically implemented.

Disable default Apps users

One of the security best practices is to disable default Oracle Apps users. Patch 3904641 (released with Oct 2005 CPU) has the sql to do it. Here's the copy paste from readme of the patch:

This patch disables the a list of application users that are active and shipped
along with the E-Business suite as default. This is recommended as part of the
Best practices security document. Please note that some of these users have
higher privileges like system administrator responsibilites assigned to them.

Please check the table below to verify how many of the application users that
are still required for the normal functioning of your E-Business Suite.

-------------------------------------------------------------------------------
Application User Product/Purpose
-------------------------------------------------------------------------------
ANONYMOUS FND/AOL
AUTOINSTALL AD (Application DBA)
CONCURRENT MANAGER FND/AOL
FEEDER SYSTEM AD (Application DBA)
INITIAL SETUP AD (Application DBA)
STANDALONE BATCH PROCESS FND/AOL
MOBILEADM Mobile Applications Admin
ASGADM Field Service/Sales Application Admin
WIZARD AD (Application DBA)
ASGUEST Sales Application guest user
IEXADMIN Internet Expenses
IBE_GUEST iSupport Guest user - 1
IBE_ADMIN iSupport Admin user
IBEGUEST iSupport Guest user - 1
OP_SYSADMIN OP (Process Manufacturing) Admin User
OP_CUST_CARE_ADMIN Customer Care Admin for Oracle Provisioning
IRC_EMP_GUEST iRec Employee Guest Login
IRC_EXT_GUEST iRecruitment External Guest Login
-----------------------------------------------------------------------------

Our Recommendations are as follows:

If all the above users are needed : Change the passwords using the System Admin user interface for all the needed users. The "afdefusrdis.sql" file does not need to be executed manually.

If some of the above users are not needed : Comment out the users that are needed in the "afdefusrdis.sql" file, log into "sqlplus" as "apps" user and execute the SQL.
OR
Use the System Admin user interface, and disable the application users that are not needed by end dating the above users.

If all the above users are not needed : Log into "sqlplus" as "apps" user and run this "afdefusrdis.sql" file

Forms sessions do not lauch after TXK patch or ATG_PF.H RUP4

After applying a TXK rollup patch or ATG rollup patch which introduces new functionality in the techstack, forms didn't launch from self service. Here's the navigation:

1. Login to Apps
2. Click on System Administrator
3. Click on Concurrent Manager -> Administer

Nothing happens. The status bar reads Done.

This is a known issue and you should comment these two lines in the autoconfig security.conf template file: $FND_TOP/admin/template/security_ux_ias1022.conf :

Comment out these two lines (which are at the last two uncommented lines) by putting a hash in front of each line:

# SecFilterSelective "REQUEST_URI" !^/pls/[-a-z0-9_]+/!?[a-z](([a-z0-9_\$#]){0,29})(\.[a-z](([a-z0-9_\$#]){0,29})){0,2}(\?.*){0,1}$

# SecFilterSelective "ARGS_NAMES" !^(([a-z0-9_]){1,30})((\.[a-z0-9_]{1,30}){0,1})$

By commenting the template, you ensure that security.conf file is generated with the comments and you don't have to manually edit security.conf everytime you run autoconfig.

adstpall.sh
Run autoconfig.
adstrtal.sh

This would fix the issue.

Firefox error -12263

While accessing our newly configured extranet site, we are getting Firefox error -12263. The network guys say that all the routing is correct. Did a google search with these keywords: 12263 site:mozilla.org


Found this on http://www.mozilla.org/projects/security/pki/nss/ref/ssl/sslerr.html :

SSL_ERROR_RX_RECORD_TOO_LONG -12263 "SSL received a record that exceeded the maximum permissible length."

This generally indicates that the remote peer system has a flawed implementation of SSL, and is violating the SSL specification.

Traffic flow is like this: https://justanexample.com -> Goes to Big IP load balancer -> redirected to Apache which is not on plain http and not on https.

Network team informed us that SSL certificate was not present for the BigIP. We had assumed that since it is a common hardware, SSL certificate would be already in place. It turns out that you need a separate certificate for each URL. We have placed the order for the certificate now, and once we get it, the network team will install it on the BigIP. Let us see if the problem goes away after this configuration is done.The problem did not go away and the network team realized that they had to do some additional steps after installing the certificate namely recreate the TrustedCA certificate as access to the URL was showing that certificate is for localhost.localdomain. After they fixed these, it worked like a dream.

VNC process is dead as soon as you exit telnet session

We usually start vncserver process on our servers for X services. On some of the new servers, vnc got killed as soon as you exited the telnet/ssh session from where it was started. After digging a lot I found that this happens if your default shell is sh. When you exit sh, then all the processes you started during your login get killed automatically. The trick is to first run a different shell, like ksh or bash and then run vncserver. Once you do that and exit, vncserver process will not get killed anymore.

$ echo $SHELL
sh
$ ksh
$ vncserver -nolisten local
$ exit
$ exit

Query to find out your ATG_PF.H Rollup level till RUP7

SELECT (bug_number),
decode((bug_number),
'3438354','ATG_PF.H',
'4017300','ATG_PF.H RUP 1',
'4125550','ATG_PF.H RUP 2',
'4334965','ATG_PF.H RUP 3',
'4676589','ATG_PF.H RUP 4',
'5473858','ATG_PF.H RUP 5',
'5903765','ATG_PF.H RUP 6',
'6241631','ATG_PF.H RUP 7')
FROM apps.ad_bugs
WHERE bug_number IN
(
'3438354',
'4017300',
'4125550',
'4334965',
'4676589',
'5473858',
'5903765',
'6241631')
order by bug_number desc
/