Call: +44 (0)7759 277220 Call
Forum

Welcome, Guest. Please Login.
Nov 21st, 2024, 7:10pm
News: Welcome to Pete Finnigan's Oracle security forum
Home | Help | Search | Members | Login
   Pete Finnigan's Oracle Security Forum
   Oracle Security
   Oracle Security
(Moderator: Pete Finnigan)
   Restricting access to  ALL_USERS
« Previous topic | Next topic »
Pages: 1  Reply | Notify of replies | Send Topic | Print
   Author  Topic: Restricting access to  ALL_USERS  (Read 11290 times)
Pete Finnigan
PeteFinnigan.com Administrator
*****




Oracle Security is easier if you design for it

   
View Profile | WWW | Email

Gender: male
Posts: 309
Restricting access to  ALL_USERS
« on: Dec 19th, 2005, 2:38pm »
Quote | Modify

Hello,
 
I've been given a very reasonable request to restrict a specific user from viewing other user accounts in the database -- specifically their account names.   I don't want the user to even know that their is a 'SYS', 'SCOTT', etc.  This could be done pretty easily with VPD using a view and an application context.    Unfortunately, this user has access to TOAD.    When a user starts schema browser in TOAD, it lists all the users in the database and we want to control what users (if any) the user can see.    
TOAD uses a query 'SELECT USERNAME FROM SYS.ALL_USERS' to generate this list.   The qualification of the view is what's killing me I believe.   I could create a view in the users schema named "ALL_USERS", but TOAD would circumvent this by qualifying it with 'SYS'.   Any ideas of where I'm going wrong with this would be greatly appreciated.
 
ps.
 
I tried RLS, but received an error saying that objects owned by SYS cannot have policies created on them.  
 
Thanks,
 
Malcolm.
IP Logged

Pete Finnigan (email:pete@petefinnigan.com)
Oracle Security Web site: http://www.petefinnigan.com
Forum: http://www.petefinnigan.com/forum/yabb/YaBB.cgi
Oracle security blog: http://www.petefinnigan.com/weblog/entries/index.html
Pete Finnigan
PeteFinnigan.com Administrator
*****




Oracle Security is easier if you design for it

   
View Profile | WWW | Email

Gender: male
Posts: 309
Re: Restricting access to  ALL_USERS
« Reply #1 on: Dec 19th, 2005, 5:26pm »
Quote | Modify

Dear Malcom
 
You could change the view all_users in the sys-schema directly to hide database users from TOAD (and other tools).  
 
But keep in mind that databases with modified data dictionary views are no longer supported by Oracle.  
 
 
Regards
 
 Alex
 
---
 Alexander Kornbrust
IP Logged

Pete Finnigan (email:pete@petefinnigan.com)
Oracle Security Web site: http://www.petefinnigan.com
Forum: http://www.petefinnigan.com/forum/yabb/YaBB.cgi
Oracle security blog: http://www.petefinnigan.com/weblog/entries/index.html
Pete Finnigan
PeteFinnigan.com Administrator
*****




Oracle Security is easier if you design for it

   
View Profile | WWW | Email

Gender: male
Posts: 309
Re: Restricting access to  ALL_USERS
« Reply #2 on: Dec 19th, 2005, 7:32pm »
Quote | Modify

Hi Alex,
 
I've been wondering about how far I can go with modifying something like ALL_USERS.   Oracle has already gone so far as to tell me that I could revoke PUBLIC from it although they didn't mention (and I haven't asked) if they'd still support it.    Just for the sake of discussion, how crazy would it be to customize ALL_USERS?   I have no idea what else would depend on this view and then there are the maintenance issues around upgrades, etc.   Certain tools could have some big issues as well.    
 
Thank You,
 
Malcolm.
IP Logged

Pete Finnigan (email:pete@petefinnigan.com)
Oracle Security Web site: http://www.petefinnigan.com
Forum: http://www.petefinnigan.com/forum/yabb/YaBB.cgi
Oracle security blog: http://www.petefinnigan.com/weblog/entries/index.html
Pete Finnigan
PeteFinnigan.com Administrator
*****




Oracle Security is easier if you design for it

   
View Profile | WWW | Email

Gender: male
Posts: 309
Re: Restricting access to  ALL_USERS
« Reply #3 on: Dec 20th, 2005, 6:56pm »
Quote | Modify

Hi,
 
I would not think that it is a good idea to alter SYS owned views in a production environment. This would not be supported by Oracle as Alex says. There are two possibilities from my side.  
 
1 - revoke select on ALL_USERS from PUBLIC and grant back to only those users that need it. This will likely break TOAD. What does TOAD do if it is unable to read ALL_USERS? - have you tried? If it still works then take this approach. I do not use TOAD so cannot test
 
2 - ban TOAD!
 
cheers
 
Pete
IP Logged

Pete Finnigan (email:pete@petefinnigan.com)
Oracle Security Web site: http://www.petefinnigan.com
Forum: http://www.petefinnigan.com/forum/yabb/YaBB.cgi
Oracle security blog: http://www.petefinnigan.com/weblog/entries/index.html
Pete Finnigan
PeteFinnigan.com Administrator
*****




Oracle Security is easier if you design for it

   
View Profile | WWW | Email

Gender: male
Posts: 309
Re: Restricting access to  ALL_USERS
« Reply #4 on: Dec 28th, 2005, 12:34am »
Quote | Modify

If you are in 10G and have enterprise edition, you could look into the dbms_advanced_rewrite package.
You could 'translate' the SELECT from ALL_USERS into something safer
 
http://asktom.oracle.com/pls/ask/f?p=4950:8:9108124877490766677::NO::F49 50_P8_DISPLAYID,F4950_P8_CRITERIA:16873041382355
IP Logged

Pete Finnigan (email:pete@petefinnigan.com)
Oracle Security Web site: http://www.petefinnigan.com
Forum: http://www.petefinnigan.com/forum/yabb/YaBB.cgi
Oracle security blog: http://www.petefinnigan.com/weblog/entries/index.html
Pete Finnigan
PeteFinnigan.com Administrator
*****




Oracle Security is easier if you design for it

   
View Profile | WWW | Email

Gender: male
Posts: 309
Re: Restricting access to  ALL_USERS
« Reply #5 on: Dec 28th, 2005, 8:41am »
Quote | Modify

on Dec 20th, 2005, 6:56pm, Pete Finnigan wrote:
revoke select on ALL_USERS from PUBLIC;

 
sounds wise!
IP Logged

Pete Finnigan (email:pete@petefinnigan.com)
Oracle Security Web site: http://www.petefinnigan.com
Forum: http://www.petefinnigan.com/forum/yabb/YaBB.cgi
Oracle security blog: http://www.petefinnigan.com/weblog/entries/index.html
Pete Finnigan
PeteFinnigan.com Administrator
*****




Oracle Security is easier if you design for it

   
View Profile | WWW | Email

Gender: male
Posts: 309
Re: Restricting access to  ALL_USERS
« Reply #6 on: Dec 28th, 2005, 8:45am »
Quote | Modify

on Dec 28th, 2005, 12:34am, gamyers wrote:
dbms_advanced_rewrite package

 
this will maybe work for "select * from all_users", but will not rewrite query like
 
"select username from dual,all_users where dummy is not null";
 
imho, dbms_advanced_rewrite is not supposed to be a security package
 


 
it also require to have  QUERY_REWRITE_INTEGRITY=trusted or QUERY_REWRITE_INTEGRITY=stale_tolerated. When query_rewrite_integrity is enforced (the default and probably the safest), it will not work
IP Logged

Pete Finnigan (email:pete@petefinnigan.com)
Oracle Security Web site: http://www.petefinnigan.com
Forum: http://www.petefinnigan.com/forum/yabb/YaBB.cgi
Oracle security blog: http://www.petefinnigan.com/weblog/entries/index.html
Pages: 1  Reply | Notify of replies | Send Topic | Print

« Previous topic | Next topic »

Powered by YaBB 1 Gold - SP 1.4!
Forum software copyright © 2000-2004 Yet another Bulletin Board
  • PFCLScan PFCLScan

    Simply connect PFCLScan to your Oracle database and it will automatically discover the security issues that could make your Oracle database vulnerable to attack and to the potential loss of your data.

  • PFCL Obfuscate PFCLObfuscate

    PFCLObfuscate is the only tool available that can automatically add license controls to your PL/SQL code. PFCLObfuscate protects your Intellectual Property invested in your PL/SQL database code.

  • PFCLCode PFCLCode

    PFCLCode is a tool to allow you to analyse your PL/SQL code for many different types of security issues. PFCLCode gives you a detailed review and reports and includes a powerful colour syntax highlighting code editor

  • PFCLForensics PFCLForensics

    PFCLForensics is the only tool available to allow you to do a detailed live response of a breached Oracle database and to then go on and do a detailed forensic analysis of the data gathered.

  • Products We resell PFCLReselling

    PeteFinnigan.com Limited has partnered with a small number of relevant companies to resell their products where they enhance or compliment what we do

  • PFCLATK PFCLATK

    PFCLATK is a toolkit that allows detailed pre-defined policy driven audit trails for your Oracle database. The toolkit also provides for a centralised audit trail and centralised activity reporting

  • PFCLCookie PFCLCookie

    PFCLCookie is a useful tool to use to audit your websites for tracking cookies. Scan websites in a natural way using powerful browser driven scanner

  • PFCL Training PFCLTraining

    PFCLTraining is a set of expert training classes for you, aimed at teaching how to audit your own Oracle database, design audit trails, secure code in PL/SQL and secure and lock down your Oracle database.

  • PFCL Services PFCLServices

    Choose PFCLServices to add PeteFinnigan.com Ltd to your team for your Oracle Security needs. We are experts in performing detailed security audits, data security design work and policy creation

  • PFCLConsulting PFCLConsulting

    Choose PFCLConsulting to ask PeteFinnigan.com Limited to set up and use our products on your behalf

  • PFCLCustom PFCLCustom

    All of our software products can be customised at a number of levels. Choose this to see how our products can be part of your products and services

  • PFCLCloud PFCLCloud

    Private cloud, public cloud, hybrid cloud or no cloud. Learn how all of our services, trainings and products will work in the cloud

  • PFCLUserRights PFCLUserRights

    PFCLUserRights allows you to create a very detailed view of database users rights. The focus of the reports is to allow you to decide what privileges and accounts to keep and which to remove.

  • PFCLSTK PFCLSTK

    PFCLSTK is a toolkit application that allows you to provide database security easily to an existing database. PFCLSTK is a policy driven toolkit of PL/SQL that creates your security

  • PFCLSFTK PFCLSFTK

    PFCLSFTK is a toolkit that solves the problem of securing third party applications written in PL/SQL. It does this by creating a thin layer between the application and database and this traps SQL Injection attempts. This is a static firewall.

  • PFCLSEO PFCLSEO

    PFCLSEO is a web scanner based on the PFCLScan technology so that a user can easily scan a website for technical SEO issues