SlideShare une entreprise Scribd logo
1  sur  22
1
Protecting Oracle using
Database Security Best Practices
Tarik Essawi
VeriSign
Session#: 217
2
Introduction
+ An unsecured Oracle database can have a devastating
effect on a company's reputation.
+ This presentation will provide real world techniques that
will help secure your Oracle database and data.
3
Areas of Security
+ Oracle Binaries
+ Listener
+ Authorization
+ Privileges
+ Auditing
+ Injection
+ Protecting Data Outside Production
4
Oracle Binaries
+ Securing Executables
▪ SUID – permission flag that instructs the OS to execute the file as the
owner of the file regardless of who executes it.
▪ For example
-rwsr-s--x 1 oracle dba 79746 Oct 12 2007
./bin/emtgtctl2
+ Securing Oracle dump files
▪ Oracle generated files have large amounts of confidential information
that could help a hacker read data from the database.
▪ umask – sets the default permissions for files created in specific
directories.
– User Dump Destination
– Background Dump Destination
– Audit Dump Destination
– Audit trails
– rdbms log directories.
5
Oracle Binaries cont’d
+ Securing SQLPLUS
▪ Do not allow sqlplus to host out to the operating system
– Disable the host command
insert into system.SQLPLUS_PRODUCT_PROFILE
values ('SQL*Plus','SCOTT','HOST',null,null,'DISABLED',null,null);
– Restrict the host command
sqlplus –restrict 1 scott/tiger
+ Writing to the OS
▪ UTL_FILE_DIR is no longer needed
– Remove UTL_FILE_DIR settings.
– Use “create directory” instead
6
Listener
+ lsnrctl stop mission_critical_db:1521
+ Listener Password
▪ The listener can be configured to require a password.
– Login to listener - lsnrctl
– Issue command - change_password
– Save value - save_config
+ Restricting the Listener
▪ ADMIN_RESTRICTIONS_LISTENER = ON
▪ Restricts the ability to set parameters online.
▪ Changes have to be made through the listener.ora file.
+ Monitoring listener.log
▪ Check the listener.log file on a daily basis for suspect activity.
– Look for users issuing the stop or other administrative commands
7
Listener cont’d
+ Validating Nodes
▪ Only allow specific servers to connect to the database
▪ Why would servers not known by internal staff need to connect?
– tcp.validnode_checking = yes
– tcp.invited_nodes = (server1,server2,server3)
– tcp.excluded_nodes = (..,..,..)
8
Listener cont’d
+ Tool to ensure Listener Security
▪ http://www.integrigy.com/security-resources/whitepapers/lsnrcheck-tool/view
9
Authorization
+ Changing Default Passwords
▪ Default passwords are an easy entry point.
▪ Many resources exist to identify default passwords by looking at
the pattern of the encrypted passord
– MetaLink ID 340009.1 – default password check for common users.
– http://www.petefinnigan.com/default/default_password_checker.htm
– Almost 600 default accounts exist across the various Oracle products.
+ Locking Accounts
▪ Many default accounts are created during the installation
process.
▪ Lock accounts and remove if possible:
– dbsnmp – user for Oracle Intelligent Agent
– dmsys – user for Oracle Data Mining Option
– mdsys – user for Oracle Spatial Option
– ordsys – user for Oracle8i Time Series component
– outln – user for stored outlines
10
Authorization cont’d
+ Limiting SYSDBA logins
▪ A password can be required for users that are part of the DBA
group.
▪ Modify sqlnet.ora
– SQLNET.AUTHENTICATION_SERVICES=(NONE)
▪ sqlplus / as sysdba will no longer work.
▪ User will have to know sys password to connect as sysdba when
connecting to the database.
11
Authorization cont’d
+ Local OS Authentication
▪ Typically referred to as ops$ accounts.
▪ Controlled by init.ora paramter “os_authent_prefix”
▪ os_authent_prefix should never be set to null
– Anyone can create an OS user called system and gain super user access to
DB.
▪ Weak OS password authentication creates easy access to DB.
+ Remote OS authentication
▪ Controlled by Boolean “remote_os_authent” parameter
▪ Should never be set to true.
▪ Will allow user on any server to create an OS account and then
have access to DB if matching DB account exists without
password authentication.
12
Authorization cont’d
+ Database Links
▪ Prior to 10g Release 2 major security flaw
▪ SYS.LINK$
– Username and password stored in clear text for links.
13
Privileges
+ Removing unneeded privileges
▪ Users rarely if ever need privileges such as “drop any table”.
Review privileges granted to all users and remove any privilege
that is not needed to perform their job.
+ Preventing Privilege Escalation – Getting DBA Privileges
▪ Escalation occurs when injection is combined with create or
execute any privileges. The “any” privileges should never be
granted.
▪ Monitor for privilege escalation.
14
Privileges cont’d
+ Roles
▪ Separate the owner of the tables and users that access the
system.
▪ Create roles for each type of business user.
+ Principle of Least Privilege
▪ Grant only the minimal privileges required for each role to
perform the function.
▪ Start with no privileges, increase privileges only until the
operation can be performed and stop.
+ Restricting Access to the Data Dictionary
▪ O7_DICTIONARY_ACCESSIBILITY=FALSE
▪ Setting the parameter restricts access to sys tables.
15
Auditing
▪ Auditing
– Oracle provides comprehensive auditing of user activity.
– Audit data can be captured in DB, Text file or XML File
– Controlled by init.ora parameter audit_trail
▪ Recommended Audit Information
– Session Creations
– Grants of Privileges
– Changes to Auditing
– Access to the audit trail and updates to audit trail
▪ Fine Grained Auditing
– Basic auditing captures the the username, terminal and time of a query.
– Fine Grained also captures the sql issued and the SCN.
▪ Auditing SYS
– Standard auditing does not capture SYS
– alter system set audit_sys_operations=TRUE
▪ Tamper Proofing your Auditing
– Monitor access to audit tables.
– Move audit data to secondary source with restricted access.
16
Auditing cont’d
▪ Extended Auditing
– Enabled by setting audit_trail=DB_EXTENDED
– Populates two additional columns in sys.$aud.
– SQLBIND = stores bind variables
– SQLTEXT = stores sql text
▪ Auditing with LogMiner/Streams
– Both tools can be used to mine data from Oracle redo log files and look for
patterns of malicious behavior.
– For example if data is being added or removed without writing to application
specific tables such as audit tables an alert should be raised.
17
Auditing cont’d
▪ Audit Vault
– Standalone product from Oracle
– Separates responsibilities of administering the database, modifying object
privileges, and managing the audit trail.
– DBA no longer has super user access in the DB.
18
Injection
+ Injection
▪ SQL Injection- when additional sql is passed into a dynamically generated sql
statement sent by the application.
– Can be greatly reduced by using of bind variables.
– If dynamic sql is required input should be sanitized.
– For example the dynamic query:
1. "SELECT * FROM students WHERE student_id = " + student_variable + ";
2. student_variable is set to “2;DROP TABLE students;”
3. The resulting query is
SELECT * FROM students where student_id=2;DROP TABLE students;
– Validating the student_variable was a number, or using a bind variable would
prevented the issue
▪ PL/SQL Injection – When stored procedures included by Oracle or created by
developers allow arbitrary sql to be executed.
– Similar to sql injection but pl/sql code can be embedded.
– Certain stored procedures delivered by Oracle have this vulnerability.
• SYS.DBMS_EXPORT_EXTENSION
• CTXSYS.DRILOAD.VALIDATE_STMT (8i/9)
– Many fixes in 10g R2
19
Protecting Data Outside Production
+ Protecting Data in Development and QA
▪ In many environments copies of production data are used for QA
and Development purposes
▪ Sensitive data must be cleansed when moving data to
environments with less stringent access controls.
+ Securing Backups
▪ One of the most vulnerable spot where data can be stolen.
▪ RMAN can encrypt backups transparently.
▪ Never send backup tapes offsite unencrypted.
20
Summary
+ Assuming a firewall will protect your database is a bad
assumption.
+ The Listener is a single point of failure that must be protected.
+ Ensure the database executables and directories are secured.
+ Audit your system and monitor the audit data for unusual
patterns
+ Look for privilege escalation and changes to the audit trail.
+ Make your audit data tamper proof.
+ Practice the policy of least privilege when designing systems.
21
Questions & Answers
22
Thank You
Please complete your evaluation forms
Name: Tarik Essawi
Session: Oracle Security Best Practices
Session#: 217
Contact Info: tessawi@verisign.com

Contenu connexe

Tendances

Security Best Practice: Oracle passwords, but secure!
Security Best Practice: Oracle passwords, but secure!Security Best Practice: Oracle passwords, but secure!
Security Best Practice: Oracle passwords, but secure!Stefan Oehrli
 
Odv oracle customer_demo
Odv oracle customer_demoOdv oracle customer_demo
Odv oracle customer_demoViaggio Italia
 
TechEvent Oracle 18c New Security Features
TechEvent Oracle 18c New Security FeaturesTechEvent Oracle 18c New Security Features
TechEvent Oracle 18c New Security FeaturesTrivadis
 
IaC MeetUp Active Directory Setup for Oracle Security LAB
IaC MeetUp Active Directory Setup for Oracle Security LABIaC MeetUp Active Directory Setup for Oracle Security LAB
IaC MeetUp Active Directory Setup for Oracle Security LABStefan Oehrli
 
AUSOUG Oracle Password Security
AUSOUG Oracle Password SecurityAUSOUG Oracle Password Security
AUSOUG Oracle Password SecurityStefan Oehrli
 
TechEvent EUS, Kerberos, SSL and OUD
TechEvent EUS, Kerberos, SSL and OUDTechEvent EUS, Kerberos, SSL and OUD
TechEvent EUS, Kerberos, SSL and OUDTrivadis
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAsMark Leith
 
Tde oracle customer_demo
Tde oracle customer_demoTde oracle customer_demo
Tde oracle customer_demoViaggio Italia
 
Rhel asmlib to_udev
Rhel asmlib to_udevRhel asmlib to_udev
Rhel asmlib to_udevMohsen B
 
Oracle11g On Fedora14
Oracle11g On Fedora14Oracle11g On Fedora14
Oracle11g On Fedora14kmsa
 
Oracle11g suse11 ilker bakir
Oracle11g suse11 ilker bakirOracle11g suse11 ilker bakir
Oracle11g suse11 ilker bakirilkerb
 
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0Yury Velikanov
 
Trivadis TechEvent 2017 How modern DBAs can use our efficient Toolbox by Rola...
Trivadis TechEvent 2017 How modern DBAs can use our efficient Toolbox by Rola...Trivadis TechEvent 2017 How modern DBAs can use our efficient Toolbox by Rola...
Trivadis TechEvent 2017 How modern DBAs can use our efficient Toolbox by Rola...Trivadis
 
EBS in an hour: Build a Vision instance - FAST - in Oracle Virtualbox
EBS in an hour: Build a Vision instance - FAST - in Oracle VirtualboxEBS in an hour: Build a Vision instance - FAST - in Oracle Virtualbox
EBS in an hour: Build a Vision instance - FAST - in Oracle Virtualboxjpiwowar
 
Ce Hv6 Module 42 Hacking Database Servers
Ce Hv6 Module 42 Hacking Database ServersCe Hv6 Module 42 Hacking Database Servers
Ce Hv6 Module 42 Hacking Database ServersKislaychd
 
MythBusters Globalization Support - Avoid Data Corruption
MythBusters Globalization Support - Avoid Data CorruptionMythBusters Globalization Support - Avoid Data Corruption
MythBusters Globalization Support - Avoid Data CorruptionChristian Gohmann
 
Oracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12cOracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12cNabeel Yoosuf
 

Tendances (20)

Postgre sql best_practices
Postgre sql best_practicesPostgre sql best_practices
Postgre sql best_practices
 
Security Best Practice: Oracle passwords, but secure!
Security Best Practice: Oracle passwords, but secure!Security Best Practice: Oracle passwords, but secure!
Security Best Practice: Oracle passwords, but secure!
 
Odv oracle customer_demo
Odv oracle customer_demoOdv oracle customer_demo
Odv oracle customer_demo
 
TechEvent Oracle 18c New Security Features
TechEvent Oracle 18c New Security FeaturesTechEvent Oracle 18c New Security Features
TechEvent Oracle 18c New Security Features
 
IaC MeetUp Active Directory Setup for Oracle Security LAB
IaC MeetUp Active Directory Setup for Oracle Security LABIaC MeetUp Active Directory Setup for Oracle Security LAB
IaC MeetUp Active Directory Setup for Oracle Security LAB
 
AUSOUG Oracle Password Security
AUSOUG Oracle Password SecurityAUSOUG Oracle Password Security
AUSOUG Oracle Password Security
 
TechEvent EUS, Kerberos, SSL and OUD
TechEvent EUS, Kerberos, SSL and OUDTechEvent EUS, Kerberos, SSL and OUD
TechEvent EUS, Kerberos, SSL and OUD
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
Tde oracle customer_demo
Tde oracle customer_demoTde oracle customer_demo
Tde oracle customer_demo
 
Rhel asmlib to_udev
Rhel asmlib to_udevRhel asmlib to_udev
Rhel asmlib to_udev
 
Oracle11g On Fedora14
Oracle11g On Fedora14Oracle11g On Fedora14
Oracle11g On Fedora14
 
Oracle11g suse11 ilker bakir
Oracle11g suse11 ilker bakirOracle11g suse11 ilker bakir
Oracle11g suse11 ilker bakir
 
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0
 
Trivadis TechEvent 2017 How modern DBAs can use our efficient Toolbox by Rola...
Trivadis TechEvent 2017 How modern DBAs can use our efficient Toolbox by Rola...Trivadis TechEvent 2017 How modern DBAs can use our efficient Toolbox by Rola...
Trivadis TechEvent 2017 How modern DBAs can use our efficient Toolbox by Rola...
 
EBS in an hour: Build a Vision instance - FAST - in Oracle Virtualbox
EBS in an hour: Build a Vision instance - FAST - in Oracle VirtualboxEBS in an hour: Build a Vision instance - FAST - in Oracle Virtualbox
EBS in an hour: Build a Vision instance - FAST - in Oracle Virtualbox
 
Ce Hv6 Module 42 Hacking Database Servers
Ce Hv6 Module 42 Hacking Database ServersCe Hv6 Module 42 Hacking Database Servers
Ce Hv6 Module 42 Hacking Database Servers
 
MythBusters Globalization Support - Avoid Data Corruption
MythBusters Globalization Support - Avoid Data CorruptionMythBusters Globalization Support - Avoid Data Corruption
MythBusters Globalization Support - Avoid Data Corruption
 
Bishwambar Linux Admin
Bishwambar Linux AdminBishwambar Linux Admin
Bishwambar Linux Admin
 
Oracle and Docker
Oracle and DockerOracle and Docker
Oracle and Docker
 
Oracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12cOracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12c
 

Similaire à Database security best_practices

Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)Andrejs Prokopjevs
 
DOAG Oracle Database Vault
DOAG Oracle Database VaultDOAG Oracle Database Vault
DOAG Oracle Database VaultStefan Oehrli
 
Kangaroot EDB Webinar Best Practices in Security with PostgreSQL
Kangaroot EDB Webinar Best Practices in Security with PostgreSQLKangaroot EDB Webinar Best Practices in Security with PostgreSQL
Kangaroot EDB Webinar Best Practices in Security with PostgreSQLKangaroot
 
DBA Tasks in Oracle Autonomous Database
DBA Tasks in Oracle Autonomous DatabaseDBA Tasks in Oracle Autonomous Database
DBA Tasks in Oracle Autonomous DatabaseSinanPetrusToma
 
Oracle Security Presentation
Oracle Security PresentationOracle Security Presentation
Oracle Security PresentationFrancisco Alvarez
 
Dr3150012012202 1.getting started
Dr3150012012202 1.getting startedDr3150012012202 1.getting started
Dr3150012012202 1.getting startedNamgu Jeong
 
Ved du, hvor dine data er - og hvem, der har adgang til dem? Ron Ben Natan, I...
Ved du, hvor dine data er - og hvem, der har adgang til dem? Ron Ben Natan, I...Ved du, hvor dine data er - og hvem, der har adgang til dem? Ron Ben Natan, I...
Ved du, hvor dine data er - og hvem, der har adgang til dem? Ron Ben Natan, I...IBM Danmark
 
2008 Collaborate IOUG Presentation
2008 Collaborate IOUG Presentation2008 Collaborate IOUG Presentation
2008 Collaborate IOUG PresentationBiju Thomas
 
SQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite ThingsSQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite ThingsHostway|HOSTING
 
How to Secure Your Scylla Deployment: Authorization, Encryption, LDAP Authent...
How to Secure Your Scylla Deployment: Authorization, Encryption, LDAP Authent...How to Secure Your Scylla Deployment: Authorization, Encryption, LDAP Authent...
How to Secure Your Scylla Deployment: Authorization, Encryption, LDAP Authent...ScyllaDB
 
Protecting confidential files using SE-Linux
Protecting confidential files using SE-LinuxProtecting confidential files using SE-Linux
Protecting confidential files using SE-LinuxGiuseppe Paterno'
 
SQL Server 2012 Security Task
SQL Server 2012 Security TaskSQL Server 2012 Security Task
SQL Server 2012 Security TaskYaakub Idris
 
Sql Injection attacks and prevention
Sql Injection attacks and preventionSql Injection attacks and prevention
Sql Injection attacks and preventionhelloanand
 
10 Deadly Sins of SQL Server Configuration - APPSEC CALIFORNIA 2015
10 Deadly Sins of SQL Server Configuration - APPSEC CALIFORNIA 201510 Deadly Sins of SQL Server Configuration - APPSEC CALIFORNIA 2015
10 Deadly Sins of SQL Server Configuration - APPSEC CALIFORNIA 2015Scott Sutherland
 
Hack your db before the hackers do
Hack your db before the hackers doHack your db before the hackers do
Hack your db before the hackers dofangjiafu
 
Oracle Solaris 11.1 New Features
Oracle Solaris 11.1 New FeaturesOracle Solaris 11.1 New Features
Oracle Solaris 11.1 New FeaturesOrgad Kimchi
 

Similaire à Database security best_practices (20)

Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
Security of Oracle EBS - How I can Protect my System (UKOUG APPS 18 edition)
 
DOAG Oracle Database Vault
DOAG Oracle Database VaultDOAG Oracle Database Vault
DOAG Oracle Database Vault
 
Kangaroot EDB Webinar Best Practices in Security with PostgreSQL
Kangaroot EDB Webinar Best Practices in Security with PostgreSQLKangaroot EDB Webinar Best Practices in Security with PostgreSQL
Kangaroot EDB Webinar Best Practices in Security with PostgreSQL
 
DBA Tasks in Oracle Autonomous Database
DBA Tasks in Oracle Autonomous DatabaseDBA Tasks in Oracle Autonomous Database
DBA Tasks in Oracle Autonomous Database
 
Oracle Security Presentation
Oracle Security PresentationOracle Security Presentation
Oracle Security Presentation
 
Dr3150012012202 1.getting started
Dr3150012012202 1.getting startedDr3150012012202 1.getting started
Dr3150012012202 1.getting started
 
Ved du, hvor dine data er - og hvem, der har adgang til dem? Ron Ben Natan, I...
Ved du, hvor dine data er - og hvem, der har adgang til dem? Ron Ben Natan, I...Ved du, hvor dine data er - og hvem, der har adgang til dem? Ron Ben Natan, I...
Ved du, hvor dine data er - og hvem, der har adgang til dem? Ron Ben Natan, I...
 
My sql 5.6&MySQL Cluster 7.3
My sql 5.6&MySQL Cluster 7.3My sql 5.6&MySQL Cluster 7.3
My sql 5.6&MySQL Cluster 7.3
 
2008 Collaborate IOUG Presentation
2008 Collaborate IOUG Presentation2008 Collaborate IOUG Presentation
2008 Collaborate IOUG Presentation
 
Vault_KT.pptx
Vault_KT.pptxVault_KT.pptx
Vault_KT.pptx
 
SQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite ThingsSQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite Things
 
How to Secure Your Scylla Deployment: Authorization, Encryption, LDAP Authent...
How to Secure Your Scylla Deployment: Authorization, Encryption, LDAP Authent...How to Secure Your Scylla Deployment: Authorization, Encryption, LDAP Authent...
How to Secure Your Scylla Deployment: Authorization, Encryption, LDAP Authent...
 
Protecting confidential files using SE-Linux
Protecting confidential files using SE-LinuxProtecting confidential files using SE-Linux
Protecting confidential files using SE-Linux
 
SQL Server 2012 Security Task
SQL Server 2012 Security TaskSQL Server 2012 Security Task
SQL Server 2012 Security Task
 
DB2 LUW Auditing
DB2 LUW AuditingDB2 LUW Auditing
DB2 LUW Auditing
 
Sql Injection attacks and prevention
Sql Injection attacks and preventionSql Injection attacks and prevention
Sql Injection attacks and prevention
 
10 Deadly Sins of SQL Server Configuration - APPSEC CALIFORNIA 2015
10 Deadly Sins of SQL Server Configuration - APPSEC CALIFORNIA 201510 Deadly Sins of SQL Server Configuration - APPSEC CALIFORNIA 2015
10 Deadly Sins of SQL Server Configuration - APPSEC CALIFORNIA 2015
 
Oracle DBA
Oracle DBAOracle DBA
Oracle DBA
 
Hack your db before the hackers do
Hack your db before the hackers doHack your db before the hackers do
Hack your db before the hackers do
 
Oracle Solaris 11.1 New Features
Oracle Solaris 11.1 New FeaturesOracle Solaris 11.1 New Features
Oracle Solaris 11.1 New Features
 

Dernier

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Dernier (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Database security best_practices

  • 1. 1 Protecting Oracle using Database Security Best Practices Tarik Essawi VeriSign Session#: 217
  • 2. 2 Introduction + An unsecured Oracle database can have a devastating effect on a company's reputation. + This presentation will provide real world techniques that will help secure your Oracle database and data.
  • 3. 3 Areas of Security + Oracle Binaries + Listener + Authorization + Privileges + Auditing + Injection + Protecting Data Outside Production
  • 4. 4 Oracle Binaries + Securing Executables ▪ SUID – permission flag that instructs the OS to execute the file as the owner of the file regardless of who executes it. ▪ For example -rwsr-s--x 1 oracle dba 79746 Oct 12 2007 ./bin/emtgtctl2 + Securing Oracle dump files ▪ Oracle generated files have large amounts of confidential information that could help a hacker read data from the database. ▪ umask – sets the default permissions for files created in specific directories. – User Dump Destination – Background Dump Destination – Audit Dump Destination – Audit trails – rdbms log directories.
  • 5. 5 Oracle Binaries cont’d + Securing SQLPLUS ▪ Do not allow sqlplus to host out to the operating system – Disable the host command insert into system.SQLPLUS_PRODUCT_PROFILE values ('SQL*Plus','SCOTT','HOST',null,null,'DISABLED',null,null); – Restrict the host command sqlplus –restrict 1 scott/tiger + Writing to the OS ▪ UTL_FILE_DIR is no longer needed – Remove UTL_FILE_DIR settings. – Use “create directory” instead
  • 6. 6 Listener + lsnrctl stop mission_critical_db:1521 + Listener Password ▪ The listener can be configured to require a password. – Login to listener - lsnrctl – Issue command - change_password – Save value - save_config + Restricting the Listener ▪ ADMIN_RESTRICTIONS_LISTENER = ON ▪ Restricts the ability to set parameters online. ▪ Changes have to be made through the listener.ora file. + Monitoring listener.log ▪ Check the listener.log file on a daily basis for suspect activity. – Look for users issuing the stop or other administrative commands
  • 7. 7 Listener cont’d + Validating Nodes ▪ Only allow specific servers to connect to the database ▪ Why would servers not known by internal staff need to connect? – tcp.validnode_checking = yes – tcp.invited_nodes = (server1,server2,server3) – tcp.excluded_nodes = (..,..,..)
  • 8. 8 Listener cont’d + Tool to ensure Listener Security ▪ http://www.integrigy.com/security-resources/whitepapers/lsnrcheck-tool/view
  • 9. 9 Authorization + Changing Default Passwords ▪ Default passwords are an easy entry point. ▪ Many resources exist to identify default passwords by looking at the pattern of the encrypted passord – MetaLink ID 340009.1 – default password check for common users. – http://www.petefinnigan.com/default/default_password_checker.htm – Almost 600 default accounts exist across the various Oracle products. + Locking Accounts ▪ Many default accounts are created during the installation process. ▪ Lock accounts and remove if possible: – dbsnmp – user for Oracle Intelligent Agent – dmsys – user for Oracle Data Mining Option – mdsys – user for Oracle Spatial Option – ordsys – user for Oracle8i Time Series component – outln – user for stored outlines
  • 10. 10 Authorization cont’d + Limiting SYSDBA logins ▪ A password can be required for users that are part of the DBA group. ▪ Modify sqlnet.ora – SQLNET.AUTHENTICATION_SERVICES=(NONE) ▪ sqlplus / as sysdba will no longer work. ▪ User will have to know sys password to connect as sysdba when connecting to the database.
  • 11. 11 Authorization cont’d + Local OS Authentication ▪ Typically referred to as ops$ accounts. ▪ Controlled by init.ora paramter “os_authent_prefix” ▪ os_authent_prefix should never be set to null – Anyone can create an OS user called system and gain super user access to DB. ▪ Weak OS password authentication creates easy access to DB. + Remote OS authentication ▪ Controlled by Boolean “remote_os_authent” parameter ▪ Should never be set to true. ▪ Will allow user on any server to create an OS account and then have access to DB if matching DB account exists without password authentication.
  • 12. 12 Authorization cont’d + Database Links ▪ Prior to 10g Release 2 major security flaw ▪ SYS.LINK$ – Username and password stored in clear text for links.
  • 13. 13 Privileges + Removing unneeded privileges ▪ Users rarely if ever need privileges such as “drop any table”. Review privileges granted to all users and remove any privilege that is not needed to perform their job. + Preventing Privilege Escalation – Getting DBA Privileges ▪ Escalation occurs when injection is combined with create or execute any privileges. The “any” privileges should never be granted. ▪ Monitor for privilege escalation.
  • 14. 14 Privileges cont’d + Roles ▪ Separate the owner of the tables and users that access the system. ▪ Create roles for each type of business user. + Principle of Least Privilege ▪ Grant only the minimal privileges required for each role to perform the function. ▪ Start with no privileges, increase privileges only until the operation can be performed and stop. + Restricting Access to the Data Dictionary ▪ O7_DICTIONARY_ACCESSIBILITY=FALSE ▪ Setting the parameter restricts access to sys tables.
  • 15. 15 Auditing ▪ Auditing – Oracle provides comprehensive auditing of user activity. – Audit data can be captured in DB, Text file or XML File – Controlled by init.ora parameter audit_trail ▪ Recommended Audit Information – Session Creations – Grants of Privileges – Changes to Auditing – Access to the audit trail and updates to audit trail ▪ Fine Grained Auditing – Basic auditing captures the the username, terminal and time of a query. – Fine Grained also captures the sql issued and the SCN. ▪ Auditing SYS – Standard auditing does not capture SYS – alter system set audit_sys_operations=TRUE ▪ Tamper Proofing your Auditing – Monitor access to audit tables. – Move audit data to secondary source with restricted access.
  • 16. 16 Auditing cont’d ▪ Extended Auditing – Enabled by setting audit_trail=DB_EXTENDED – Populates two additional columns in sys.$aud. – SQLBIND = stores bind variables – SQLTEXT = stores sql text ▪ Auditing with LogMiner/Streams – Both tools can be used to mine data from Oracle redo log files and look for patterns of malicious behavior. – For example if data is being added or removed without writing to application specific tables such as audit tables an alert should be raised.
  • 17. 17 Auditing cont’d ▪ Audit Vault – Standalone product from Oracle – Separates responsibilities of administering the database, modifying object privileges, and managing the audit trail. – DBA no longer has super user access in the DB.
  • 18. 18 Injection + Injection ▪ SQL Injection- when additional sql is passed into a dynamically generated sql statement sent by the application. – Can be greatly reduced by using of bind variables. – If dynamic sql is required input should be sanitized. – For example the dynamic query: 1. "SELECT * FROM students WHERE student_id = " + student_variable + "; 2. student_variable is set to “2;DROP TABLE students;” 3. The resulting query is SELECT * FROM students where student_id=2;DROP TABLE students; – Validating the student_variable was a number, or using a bind variable would prevented the issue ▪ PL/SQL Injection – When stored procedures included by Oracle or created by developers allow arbitrary sql to be executed. – Similar to sql injection but pl/sql code can be embedded. – Certain stored procedures delivered by Oracle have this vulnerability. • SYS.DBMS_EXPORT_EXTENSION • CTXSYS.DRILOAD.VALIDATE_STMT (8i/9) – Many fixes in 10g R2
  • 19. 19 Protecting Data Outside Production + Protecting Data in Development and QA ▪ In many environments copies of production data are used for QA and Development purposes ▪ Sensitive data must be cleansed when moving data to environments with less stringent access controls. + Securing Backups ▪ One of the most vulnerable spot where data can be stolen. ▪ RMAN can encrypt backups transparently. ▪ Never send backup tapes offsite unencrypted.
  • 20. 20 Summary + Assuming a firewall will protect your database is a bad assumption. + The Listener is a single point of failure that must be protected. + Ensure the database executables and directories are secured. + Audit your system and monitor the audit data for unusual patterns + Look for privilege escalation and changes to the audit trail. + Make your audit data tamper proof. + Practice the policy of least privilege when designing systems.
  • 22. 22 Thank You Please complete your evaluation forms Name: Tarik Essawi Session: Oracle Security Best Practices Session#: 217 Contact Info: tessawi@verisign.com