Dear Readers,
My name is Franz Devantier, creator of this blog. I am an Oracle Certified
Professional (OCP DBA 11g) Security DBA.
I will be sharing with you the basic duties of an Oracle DBA, and also
some of the undocumented, and not so well known tasks.
Security, Checklists, Recommendations - Part
4
Secure Installation and
Configuration Checklist
Security and protection of corporate data and assets is of
critical importance, to every business or government institution. Establishing a secure configuration for a
database is definitely a very good defence against attempted security
breaches. The Industry has a set of
best security practices for database deployments. Here is a brief overview of these security
best practices for implementing an Oracle Database.
·
Install only those components of the oracle database server
that you need: You can achieve this by running a custom
installation, in which you can select the products and options that you would
like to install. Don’t install anything
that you don’t need. If a typical
installation was run, then you can remove those products and options that you
don’t require afterwards.
·
Lock and expire default user accounts: The Oracle database
typically installs with a whole list of default database server user
accounts. Most of these accounts are
automatically locked and expired. It
will be a good exercise to do an audit on this afterwards, to see if there are
any additional accounts that you can lock and expire. Make sure that the SYS and SYSTEM passwords
are not “change_on_install”, and “manager”.
DBCA, and Universal installer will prompt you for passwords for the
power users, and will not permit these passwords.
You can also lock the SYS and SYSTEM
users, and log in using the “AS SYSDBA” for administrator credentials. You should specify administrative passwords
individually. “AS SYSDBA” tracks the
operating system user name, and so accountability can be maintained in this
way. If you only need access to startup
and shutdown the database, then you can use SYSOPER, because SYSOPER has fewer
administrative privileges than SYSDBA, but still has enough to do a startup,
shutdown, mount, backup, archive, and recover.
During a manual installation in
which database configuration assistant (DBCA) is not used, all the default
database users remain unlocked. This
will allow them to gain access to the data and disrupt database
operations. After a manual installation you
should lock and expire all the default database users, except for SYS, SYSTEM,
and DBSNMP. A database administrator can
unlock an account and activate it with a new password if required.
·
Change default user passwords: The easiest way to
breach security is to logon with a default user, that still has the default
password assigned to it. To fix this:
o
Change the default
passwords of administrative users immediately after installing the database
server. Assign stroing secure passwords
to the SYS and SYSTeM user accounts.
Also remember to change the password for SYSMAN and DBSNMP
o
Change the default
passwords of all users immediately after installation. Lock and expire all default accounts after
installation. If any default account is
later activated, then change its default password to a new secure password.
o
Enforce password
management. You can apply basic password
management rules like password length, history, and complexity to all user
passwords. You can also oblige users to
change their passwords on a regular basis, for example every four or eight
weeks. You can implement these
requirements in the default profile. If
you are using network authentication services such as Kerberos, token cards,
smart cards, or X.509 certificates; then these services provide a strong user
authentication and enable better protection from unauthorized access.
·
Enable data dictionary protection: Users with the “ANY” system privilege must be prevented
from using it on the data dictionary. By
default the initialization parameter “07_DICTIONARY_ACCESSIBILITY” is set to
FALSE. This setting prevents using the
“ANY” privilege on the data dictionary.
Privileged administrative or DBA users will of course still have the
“ANY” privileges on the data dictionary.
·
Practice the principal of least privilege:
o
Only grant the needed
privileges, to perform the necessary jobs efficiently
o
Restrict the number of
system and object privileges granted to database users
o
Restrict the number of
SYS-privileged connections to the database.
Minimal amount of “ANY” privileges granted
o
Revoke unnecessary
privileges and roles from PUBLIC.
Careful of this one, because a user with minimal privileges can still
make use of whatever is granted to PUBLIC
o
Restrict permissions
on run-time facilities. Make sure that
only the permissions for the root paths for such facilities are granted. You need to tighten up the “UTIL-FILE_DIR”
initialization parameter
·
Enforce access controls effectively: Keep the initialization parameter at its default setting
which is:
REMOTE_OS_AUTHENTICATION=FALSE.
When it is set to true, it is easier for the administrator to manage the
database, but it opens up the database to all the users who want to connect.
·
Restrict Operating System Access:
o
Limit the number of
operating system users
o
Limit the privileges
of the operating system accounts to the least powerful privileges required for
each user
o
Don’t allow the
default permissions to be altered on the Oracle Database Home directory, even
by powerful administrators, including the “Oracle” user.
o
Restrict the use of
symbolic links. Make sure that all parts
of the directory that it links to, are owned by the DBA, or a trusted account
such as root.
·
Restrict Network Access
·
Apply all security patches and workarounds: Plug all the
security holes, as soon as they have been identified. Apply the latest security patches for the OS
and the database. On a regular basis
check the Oracle Technology Network for details on security alerts, that have
been released by Oracle Corporation: http://www.oracle.com/technetwork/topics/security/alerts-086861.html Also check on https://support.oracle.com for details of available and upcoming security-related
patches.
·
Oracle Security products: If you believe that you have
found a security vulnerability in the Oracle Database Server, then you can
either submit an “iTAR”, or email them a complete description of the problem or
security hole. The description should
include: Product version, the platform,
exploit scripts that you have developed, and examples etc. You can send this information to: secalert_us@oracle.com
Franz Devantier,
Need a database health check,
or a security audit?
devantierf@gmail.com
Income stabilizer (win-win opportunity)
Join the carefully selected and tested cash-flow generating
program below to potentially create a long-term residual or annuity type income
enhancer for yourself.
Traffic Wave - Free Report: The report will
give you all the information you need to start making a nice long-term residual
income stream for yourself.
|
No comments:
Post a Comment