<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN" "http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd">
<book>
<bookinfo>
<title>Oracle Database Management System Security Standard</title>
<titleabbrev>LCZ-ORACLE-SS</titleabbrev>
<edition>1.2</edition>
<pubdate>16 May 2009</pubdate>
<abstract>
<para>This document specifies technical security policy for implementations of <trademark>Oracle</trademark> and applies to <trademark>Oracle</trademark> implementations 8.0 and above.
</para>
<para>This standard contains 67 baseline controls, and 2 above baseline controls, for a total of 69 controls.</para></abstract>
<revhistory>
<revision>
<revnumber>1.2</revnumber>
<date>16 May 2009</date>
<authorinitials>FOD</authorinitials>
<revremark>Revised for re-release</revremark>
</revision>
<revision>
<revnumber>1.1</revnumber>
<date>01 June 2004</date>
<authorinitials>LCZ</authorinitials>
<revremark>Corrected Control Errors</revremark>
</revision>
<revision>
<revnumber>1.0</revnumber>
<date>12 March 2003</date>
<authorinitials>LCZ</authorinitials>
<revremark>Initial Version for public release</revremark>
</revision>
</revhistory>
<copyright>
<year>2001</year><year>2002</year><year>2003</year><year>2009</year>
<holder>Frank O'Dwyer</holder>
</copyright>
<legalnotice><important><para>All of these Security Standards and Security Policies are copyrighted. THEY ARE NOT IN THE
PUBLIC DOMAIN. They are however distributed under a liberal open-source license, 
see <link linkend="publishing">Publishing these Security Standards and Policies</link>.</para></important></legalnotice><publisher><publishername>Frank O'Dwyer</publishername></publisher></bookinfo>
<chapter><title>Introduction</title>
<section><title>Objectives</title><para>The objectives of this document are:</para><itemizedlist>
<listitem><para>To specify a baseline configuration for implementations of &lt;trademark&gt;Oracle&lt;/trademark&gt; RDBMS 
</para></listitem>
<listitem><para>To provide guidance to administators, developers and security personnel in securely implementing &lt;trademark&gt;Oracle&lt;/trademark&gt; Database Management System. 
</para></listitem>
</itemizedlist></section>
<section><title>Scope</title>
<para>Controls specified in this document apply to Oracle implementations 8.0 and above.
</para>
<para>All of the organisation's Oracle implementations
will be subject to the policies specified within
this security standard. The policies will
be applied to new and existing installations.
</para>
</section>
<section><title>Not In Scope</title>
<para>Compliance with this standard will not provide <quote>in depth</quote> security architecture or intelligent security design guidance
to projects. As a consequence, for high impact or safety-critical business 
applications, additional guidance will still need to be 
sought from your Information Security team consultancy function.  
</para>
<para>This is a specific standard for Oracle RDBMS 8.0 and above. Other Oracle products are sujbected to separate standards.
</para>
<para>Compliance with this standard does not negate the need for an overall security review 
of a proposed application. Contact the Information Security team if you are in doubt.
</para>
</section>
<section><title>Giving Feedback</title><para>Your feedback to improve this document is welcome. Please let me know of your experiences in applying the controls and 
	guidance in this standard. Are the controls effective, easy to implement, too onerous, clear, unclear, something missing? Does an exceptional case 
need to be covered? Let me know. Please 
send your comments to frankodwyer AT netscape.net. Your comments will be 
used to produce better free security standards for the IT community.</para><para>I also request that you give feedback where you think the controls and guidance is 
correct. This will let us gauge whether or not specific controls are controversial or 
broadly acceptable to the community, and will help us to resolve cases where we have 
conflicting feedback on particular content.</para></section><section id="publishing"><title>Publishing these Security Standards and Policies</title><para>This document may be reproduced and distributed in whole or in part, free of charge, subject to the following conditions:</para><itemizedlist><listitem><para>All copyright and trademark notices, and this permission notice must be preserved complete on all complete or partial copies.</para></listitem><listitem><para>Any translation or derivative work of this document must be approved by Frank O'Dwyer in writing before distribution.</para></listitem><listitem><para>If you distribute this guide in part, instructions for obtaining the complete version of this manual must be included, and a means for obtaining a complete version provided.</para></listitem><listitem><para>Small portions may be reproduced as illustrations for reviews or quotes in other works without this permission notice if proper citation is given.</para></listitem><listitem><para>Neither Frank O'Dwyer's name nor the names of any contributors may be used to endorse or promote products derived from this document without specific prior written permission.</para></listitem></itemizedlist><para>THIS DOCUMENT IS PROVIDED BY FRANK O'DWYER AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL FRANK O'DWYER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</para><para>I would like to be informed of any plans to publish or distribute these documents, just so I know how they're being used and where they are becoming available. 
	If you are publishing or distributing or planning to publish or distribute any of these documents, please send mail to frankodwyer AT netscape.net</para></section>
<section><title>Related Documents</title><para>This document should be read and applied in conjunction with the technology specific security standards that are available from the frankodwyer.com  
web site. Please note that some of the documents below are currently under development and as such may not as yet be available. Check back frequently for updates
to this document and those documents listed below.</para><section><title>Generic Security Standards</title><para><emphasis>Generic Security Standards</emphasis></para><para><ulink url="http://www.frankodwyer.com/standards/index.html#generic">http://www.frankodwyer.com/standards/index.html#generic</ulink></para><para><emphasis>Data Protection European Union Security Standard</emphasis></para><para><ulink url="http://www.frankodwyer.com/standards/index.html#generic">http://www.frankodwyer.com/standards/index.html#generic</ulink></para><para><emphasis>Application Service Provider Security Standards</emphasis></para><para><ulink url="http://www.frankodwyer.com/standards/index.html#generic">http://www.frankodwyer.com/standards/index.html#generic</ulink></para></section><section><title>Operating System Security Standards</title><para><emphasis>Generic Unix Security Standards</emphasis></para><para><ulink url="http://www.frankodwyer.com/standards/index.html#os">http://www.frankodwyer.com/standards/index.html#os</ulink></para><para><emphasis>Windows NT4.0 Generic Security Standards</emphasis></para><para><ulink url="http://www.frankodwyer.com/standards/index.html#os">http://www.frankodwyer.com/standards/index.html#os</ulink></para><para><emphasis>Windows NT4.0 Workstation Security Standards</emphasis></para><para><ulink url="http://www.frankodwyer.com/standards/index.html#os">http://www.frankodwyer.com/standards/index.html#os</ulink></para><para><emphasis>Windows NT4.0 Server Security Standards</emphasis></para><para><ulink url="http://www.frankodwyer.com/standards/index.html#os">http://www.frankodwyer.com/standards/index.html#os</ulink></para><para><emphasis>Windows NT4.0 Domain Security Standards</emphasis></para><para><ulink url="http://www.frankodwyer.com/standards/index.html#os">http://www.frankodwyer.com/standards/index.html#os</ulink></para></section><section><title>Database Security Standards</title><para><emphasis>Oracle Security Standards</emphasis></para><para><ulink url="http://www.frankodwyer.com/standards/index.html#db">http://www.frankodwyer.com/standards/index.html#db</ulink></para></section></section>
<section><title>Definitions</title>
An <quote>Information Asset</quote> equates to any computerised information system 
or component thereof and thus includes an application, off the shelf software, hardware, media, 
data item, data item repository and associated communications networks. The specification of 
the Information Asset in question will usually be given so that this document is unambiguous. 

</section>
</chapter>




<chapter><title>User Configuration</title>
<section><title>User Administration</title>
<section><title>User profile names on the database should be consistent with their other login names</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-UA-1</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>User profile names on the database should be consistent with their other login names</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Define security administration procedures that result in consistent usernaming</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Inconsistent user profile names may result in user ids not being removed when a user transfers or leaves</para></listitem>
<listitem><para>These unauthorised accounts may be used to compromised the system</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Accounts belonging to personnel who have fixed periods of employments should be set up with expiration dates</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-UA-4</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Accounts belonging to personnel who have a fixed period of employment should be set up with expiration dates</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>During the account request process obtain account expiration information.</para></listitem>
<listitem><para>Set up the account with an expiration date </para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Redundant accounts are often targeted for compromise</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Scripted modificatons to users should use up to date commands</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-ADMIN-10</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Scripted modificatons to users should use up to date commands</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Identify scripts that modify database users</para></listitem>
<listitem><para>Ensure that "alter user" is used instead of older commands</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Database administrators should perform periodic user account audits</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-UA-2</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Database administrators should perform periodic user account audits to ensure access granted is still required.</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Produce a list of user profiles who have access to the DBMS</para></listitem>
<listitem><para>Check that the level of access these accounts have with the application owner</para></listitem>
<listitem><para>Remove any accounts no longer required</para></listitem>
<listitem><para>Modify any account access that is no longer appropriate</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Redundant accounts can be targeted to gain unauthorised access</para></listitem>
<listitem><para>Redundant access rights can be used to perform unauthorised actions</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
</section>
<section><title>Default Accounts</title>
<section><title>The default password for the demo account should be changed</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-DA-5</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The default password for the demo account should be changed</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Change the default password for the demo account following installation</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Unauthorised access may be obtained</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The default password for the dbsnmp account should be changed</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-DA-3</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The default password for the dbsnmp account should be changed</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Change the default password for the dbsnmp account following installation</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Unauthorised access may be obtained</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The default password for the scott account should be changed</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-DA-4</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The default password for the scott account should be changed</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Change the default password for the scott account following installation</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Unauthorised access may be obtained</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The default password for the p08 account should be changed</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-DA-6</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The default password for the p08 account should be changed</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Change the default password for the p08 account following installation</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Unauthorised access may be obtained</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The default password for the system account should be changed</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-DA-2</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The default password for the sys account should be changed</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Change the default password for the system account following installation</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Unauthorised access may be obtained</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The default password for the sys account should be changed</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-DA-1</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The default password for the sys account should be changed</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Change the default password for the sys account following installation</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Unauthorised access may be obtained</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The scott account should be deleted if possible</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-DA-7</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The scott account should be deleted if possible</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>If possible delete the scott following installation.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Unauthorised access may be obtained</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
</section>
<section><title>Roles, Views, and Access Control</title>
<section><title>Users with a requirement for a single role should be denied the ability to execute the set role command</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-ACC-8</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Users with a requirement for a single role should be denied the ability to execute the set role command</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Deny users access to the DBMS command prompt</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Access to the CLI can be used to subvert the application security controls</para></listitem>
<listitem><para>Access to the CLI can be used to subvert the database security controls</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Access to the operating system command line interface should be denied from users where possible.</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-ACC-7</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Access to the operating system command line interface should be denied from users where possible.</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Use the product_profile table to block the host command</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Access to the CLI can be used to subvert the application security controls</para></listitem>
<listitem><para>Access to the CLI can be used to subvert the database security controls</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Password protected roles should be implemented.</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-ACC-4</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Password protected roles should be implemented.</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Password protect roles on the database</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Views should be used to enforce access restrictions to tables.</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-ACC-1</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Views should be used to enforce access restrictions to tables.</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Define the data access requirement each role needs to have for the database</para></listitem>
<listitem><para>Define views according to these role access requirements</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Inconsistent access control allows application restrictions to be bypassed</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Users must not be assigned any default Oracle roles</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-ACC-3</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>mandatory</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Users must not be assigned any default Oracle roles</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Remove any default roles from the Oracle users</para></listitem>
<listitem><para>Assign the users appropriate created roles</para></listitem>
<listitem><para>Ensure the created roles only have CREATE SESSION privilege</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Default roles may provide unintended access to the database</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>For live database apps do not use the connect or resource roles</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-ACC-6</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>For live database apps do not use the connect or resource roles</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Do not assign the connect or resource roles to any users</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Applications should be developed with password protected roles without hard-coding the role password or disclosing the role password to the users</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-ACC-5</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Applications should be developed with password protected roles without hard-coding the role password or disclosing the role password to the users</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Password protect roles on the database</para></listitem>
<listitem><para>Do not hard code the password into the application</para></listitem>
<listitem><para>Do not disclose the role password to the users</para></listitem>
<listitem><para>Make the role a default role for the user</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Database views should be defined that map to database roles</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-ACC-2</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Database views should be defined that map to database roles</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Use the management interface to define roles</para></listitem>
<listitem><para>Use the privilege management interface to define database views that map to the roles</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
</section>
<section><title>Privileges</title>
<section><title>The CREATE privilege should not be granted to any application.</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-PRIV-6</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The CREATE privilege should not be granted to any application.</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure that applications are not granted the CREATE privilege.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The DROP privilege should not be granted to any application.</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-PRIV-5</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The DROP privilege should not be granted to any application.</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure that applications are not granted the DROP privilege.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The DBA role must be granted to Database Administrators alone</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-PRIV-4</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>mandatory</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The DBA role must be granted to Database Administrators alone</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure that the only holders of the DBA role are Database Administrators</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Unauthorised unrestricted privileged access may be obtained</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The UNLIMITED TABLESPACE privilege should not be granted to any application.</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-PRIV-11</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The UNLIMITED TABLESPACE privilege should not be granted to any application.</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure that applications are not granted the UNLIMITED TABLESPACE privilege.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The EXECUTE ANY PROCEDURE privilege should not be granted to any application.</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-PRIV-10</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The EXECUTE ANY PROCEDURE privilege should not be granted to any application.</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure that applications are not granted the EXECUTE ANY PROCEDURE privilege.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>If the scott account exists, it should have the CONNECT privilege only</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-PRIV-1</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>If the scott account exists, it should have the CONNECT privilege only</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>If the scott account exists, remove all privileges except CONNECT</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Unauthorised access may be obtained</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Privileges should be assigned to roles and not directly to users</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-PRIV-12</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Privileges should be assigned to roles and not directly to users</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Use the privilege management interface to define roles</para></listitem>
<listitem><para>Use the privilege management interface to assign users to roles</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The ALTER privilege should not be granted to any application.</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-PRIV-7</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The ALTER privilege should not be granted to any application.</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure that applications are not granted the ALTER privilege.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The BECOME USER privilege should not be granted to any application.</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-PRIV-8</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The BECOME USER privilege should not be granted to any application.</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure that applications are not granted the BECOME USER privilege.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The GRANT ANY PRIVILEGE/ROLE privilege should not be granted to any application.</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-PRIV-9</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The GRANT ANY PRIVILEGE/ROLE privilege should not be granted to any application.</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure that applications are not granted the GRANT ANY PRIVILEGE/ROLE privilege.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The p08 account should have the DBA role revoked</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-PRIV-2</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The p08 account should have the DBA role revoked</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>If the p08 exists, remove the DBA role.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Unauthorised privileged access may be obtained</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
</section>
<section><title>Authentication/Password Configuration</title>
<section><title>Sessions per user should be restricted to 1</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUTH-8</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The number of concurrent sessions per user should be restricted to 1</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>The system resource profile settings should be configured such that the sessions per user value is restricted to 1</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Reduces the risk of account sharing</para></listitem>
<listitem><para>Reduces the risk of compromised accounts going unnoticed</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Password reuse max should be set to 12 passwords</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUTH-7</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The Password resuse max value should be set to 12 passwords to prevent the reuse of the previous 12 passwords used by an account holder</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>The system resource profile settings should be configured such that the password reuse max value is set to 12 passwords.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Reuse of passwords extends the effective password lifetime</para></listitem>
<listitem><para>The greater the password lifetime the greater the risk of compromise</para></listitem>
<listitem><para>The greater the password lifetime the greater the period within which a compromised password can be used</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Password lifetime should be set to 30 days</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUTH-5</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Password lifetime should be set to 30 days</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>The system resource profile settings should be configured such that the password lifetime is set to 30 days.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Long password lifetimes increases the opportunity for password exposure</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Account logins should timeout  and disconnect after 30 minutes of inactivity</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUTH-3</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Account logins should timeout  and disconnect after 30 minutes of inactivity</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>The system resource profile settings should be configured to to timeout and disconnect account logins after 30 minutes of user inactivity</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Accounts logged in but inactive may be subject to unauthorised access</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Password grace time should be set to 0 days</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUTH-4</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Password grace time should be set to 0 days</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>The system resource profile settings should be configured such that the password grace time is set to 0 days</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>The password lifetime exists to enforce password change to limit the period of exposure that may exist should a password be compromised</para></listitem>
<listitem><para>Password grace time extends the effective password lifetime and thus the period of time for potential exposure</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Password lock time should be set to maximum possible time</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUTH-6</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Password lock time should be set to maximum possible time</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>The system resource profile settings should be configured such that the password lock time is set to the maximum possible value.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Allowing potentially successful attempts to log in to an account after the login failure limit has been reached increases the likelihood of the account becoming compromised.</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>User accounts must not be set such that the user cannot change their password</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-UA-3</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>mandatory</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>User accounts must not be set such that the user cannot change their password</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Select change password at next logon for the account in question</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Account passwords may be compromised</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>User account passwords must contain at least one numeric character</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUTH-2</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>mandatory</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>User account passwords must contain at least one numeric character</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>The password management system must be enabled</para></listitem>
<listitem><para>The password complexity function must be set to ensure a minimum of 1 numeric character in the password</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Increasing password complexity makes passwords harder to guess</para></listitem>
<listitem><para>Easily guessed passwords may result in compromise of accounts</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Accounts must have a password minimum length of 6 characters</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUTH-1</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>mandatory</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Accounts must have a password minimum length of 6 characters</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>The password management system must be enabled</para></listitem>
<listitem><para>The minimum length for passwords must be set to 6 characters</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Short passwords are easier to guess</para></listitem>
<listitem><para>Easily guessed passwords may result in compromise of accounts</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
</section>
</chapter>


<chapter><title>Network Security Configuration</title>
<section><title>Network Interface Considerations</title>
<section><title>The listener.ora file should be readable only by the administrators</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-NET-5</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The listener.ora file should be readable only by the administrators</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure the file ownership is not changed from installation time</para></listitem>
<listitem><para>Ensure that the file permissions do not permit read access other than for the administrators</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Use Advanced Networking Option to provide encrypted data transfer</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-NET-1</para></entry><entry><para>1.0</para></entry><entry><para>above baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Use Advanced Networking Option to provide encrypted data transfer</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Install the ANO</para></listitem>
<listitem><para>Configure ANO to encrypt data transmission from clients to servers for sensitive applications</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Data transmitted in clear text is subject to disclosure</para></listitem>
<listitem><para>Data transmitted in clear text is subject to modification</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Oracle passwords should be protected from traversing the network in clear text. </title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-NET-2</para></entry><entry><para>1.0</para></entry><entry><para>above baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The advanced networking option should be implemented so as to protect Oracle passwords in transmission across the network.
</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Install the ANO</para></listitem>
<listitem><para>Configure ANO to encrypt passwords in transmission from clients to servers</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Passwords transmitted in clear text are subject to disclosure</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Network listeners for SQL*NET clients should be password protected</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-NET-3</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Network listeners for SQL*NET clients should be password protected
</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Implement passwords on the SQL*NET listeners</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The passwords for the listeners for SQL*NET clients should be changed from the default value</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-NET-4</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The passwords for the listeners for SQL*NET clients should be changed from the default value</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Change the passwords on the SQL*NET listeners</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
</section>

</chapter>




<chapter><title>Configuration</title>
<section><title>Files and File Permissions</title>
<section><title>The config.ora file should be afforded the same control as the init.ora object</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-FP-8</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The config.ora file should be afforded the same control as the init.ora object</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure that the ownership of config.ora is the same as that for init.ora</para></listitem>
<listitem><para>Ensure that the file permissions of config.ora are the same as that for init.ora</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The object CATALOG.BSQ must not be modified</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-FP-10</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>mandatory</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The object CATALOG.BSQ must not be modified</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure that the CATALOG.BSQ file permissions are set to prevent unauthorised modification</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The object SQL.BSQ must not be modified</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-FP-9</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>mandatory</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The object SQL.BSQ must not be modified</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure that the SQL.BSQ file permissions are set to prevent unauthorised modification</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>All Oracle database control files should have consistent permission masks</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-FP-5</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>All Oracle database control files should have consistent permission masks</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Do not alter the file ownership or the permissions of the database control file</para></listitem>
<listitem><para>Ensure that the database control files are consistently protected</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The owner of the database files should be Oracle</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-FP-2</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The owner of the database files should be Oracle</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Set ownership of the database files to Oracle</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Oracle users must not have greater access to the database files than that set by the Oracle installation</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-FP-3</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Oracle users must not have greater access to the database files than that set by the Oracle installation</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Do not grant greater than default file access to the Oracle database files to users</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The database control file must be owned by Oracle</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-FP-4</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>mandatory</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The database control file must be owned by Oracle</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Do not alter the file ownership or the permissions of the database control file</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>When assigning user rights to an object never use Grant All</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-FP-11</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>mandatory</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>When assigning user rights to an object never use Grant All</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure that users are assigned only the specific rights they require</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Unauthorised access may given to a user</para></listitem>
<listitem><para>Unintended access may be given to a user</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Database files should be protected from unauthorised access </title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-FP-1</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Database files should be protected from unauthorised access </para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Set file access permissions on the database files to the least permissions required for satisfactory functioning.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The Oracle database initialisation file should be available to the Oracle system account alone</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-FP-7</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The Oracle database initialisation file should be available to the Oracle system account alone</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure that the file permissions on the database initialisation files do not permit user access</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>The information held in the initialisation files can be used to subvert the database security</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The Oracle database initialisation file must not be user readable</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-FP-6</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>mandatory</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The Oracle database initialisation file must not be user readable</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Ensure that the file permissions on the database initialisation files do not permit user access</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>The information held in the initialisation files can be used to subvert the database security</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
</section>
<section><title>Administration</title>
<section><title>The use of quotas should be considered</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-ADMIN-2</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The use of quotas should be considered to limit potentially harmful or unexpected growth in the database size</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Size the maximum extent of the projected database</para></listitem>
<listitem><para>Implement a quota to limit the growth of the database to the maximum size expected</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Maintain version control and change comments in the Oracle initialisation file</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-ADMIN-1</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>mandatory</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Maintain version control and change comments in the Oracle initialisation file</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>The file must include comments as to the change made</para></listitem>
<listitem><para>The file must include initialisation values before and after the change</para></listitem>
<listitem><para>The file must include who made the change and the date of the change</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Unauthorised changes to the Oracle administration file may subvert the security of the database implementation.</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Check users privileges following an upgrade</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-ADMIN-3</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>mandatory</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Following an Oracle upgrade, check that users privileges have not changed due to changes to role privileges.
</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Note the users privilege levels</para></listitem>
<listitem><para>Verify that post upgrade, users effective privilege levels have not increased</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Unauthorised privileged access may be obtained</para></listitem>
<listitem><para>Unintended privileged access may be obtained</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>If using Oracle Enterprise Manager ensure the workstations/consoles on which it is run are protected from attack.</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-ADMIN-4</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>mandatory</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>If using Oracle Enterprise Manager ensure the workstations/consoles on which it is run are protected from attack.
</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Implement password protected screensavers</para></listitem>
<listitem><para>Implement an idle timeout facility to lock workstations</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Unauthorised privileged access may be obtained</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
</section>
<section><title>Backups</title>
<section><title>Online image backups should be taken</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-BACKUP-1</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>In accordance with the required backup schedule take periodic online image backups.</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Schedule periodic online image backups</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Online incremental backups should be taken</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-BACKUP-2</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>In accordance with the required backup schedule take periodic online incremental backups.</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Schedule periodic online incremental backups</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
</section>
</chapter>


<chapter><title>Auditing and Monitoring</title>
<section><title>Events to be alerted in real-time</title>
<section><title>The system resource profile settings for password lock time should be set to forever</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUDI-1</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The system resource profile settings for password lock time should be set to forever</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Define in the system resource profile settings password lock time to be forever.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Setting password lock time to anything other than forever allows password guessing attempts to be resumed against the account after the lockout period expires</para></listitem>
<listitem><para>Given enough time and enough attempts account passwords will be guessed</para></listitem>
<listitem><para>Accounts may be compromised</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>User accounts should be locked out after 3 consecutive login failures</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUDIT-1</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>User accounts should be locked out after 3 consecutive login failures</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Define the system resource profile settings to lock out accounts after 3 failures</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Given enough attempts any account password may be guessed</para></listitem>
<listitem><para>Unauthorised access may result from allowing a liberal number of logon attempts</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
</section>

<section><title>Events to be audited</title>
<section><title>Enable auditing</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUDIT-3</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Auditing should be enabled for the following events;
- Create Table
- Create Index
- Drop Index
- Alter Index
- Drop Table
- Audit Object
- Noaudit Object
- Create Database
- Alter Database
- Create Tablespace
- Alter Tablespace
- Drop Tablespace
- Alter Session
- Alter User
- Alter System
- Create User
- Create Role
- Drop User
- Drop Role
- Set Role
- Create Schema
- Create Control File
- Create Trigger
- Alter Trigger
- Drop Trigger
- Create Profile
- Drop Profile
- Alter Profile
- Drop Procedure
- Alter Role
- Logon
- Logoff
- Logoff by Cleanup
- System Audit
- System Noaudit
- Audit default
- Noaudit default
- System Grant
- System Revoke
- Grant Role
- Revoke Role
- Enable Trigger
- Disable Trigger
- Enable all Triggers
- Disable all Triggers</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Enable auditing for the following events;</para></listitem>
<listitem><para>- Create Table</para></listitem>
<listitem><para>- Create Index</para></listitem>
<listitem><para>- Drop Index</para></listitem>
<listitem><para>- Alter Index</para></listitem>
<listitem><para>- Drop Table</para></listitem>
<listitem><para>- Audit Object</para></listitem>
<listitem><para>- Noaudit Object</para></listitem>
<listitem><para>- Create Database</para></listitem>
<listitem><para>- Alter Database</para></listitem>
<listitem><para>- Create Tablespace</para></listitem>
<listitem><para>- Alter Tablespace</para></listitem>
<listitem><para>- Drop Tablespace</para></listitem>
<listitem><para>- Alter Session</para></listitem>
<listitem><para>- Alter User</para></listitem>
<listitem><para>- Alter System</para></listitem>
<listitem><para>- Create User</para></listitem>
<listitem><para>- Create Role</para></listitem>
<listitem><para>- Drop User</para></listitem>
<listitem><para>- Drop Role</para></listitem>
<listitem><para>- Set Role</para></listitem>
<listitem><para>- Create Schema</para></listitem>
<listitem><para>- Create Control File</para></listitem>
<listitem><para>- Create Trigger</para></listitem>
<listitem><para>- Alter Trigger</para></listitem>
<listitem><para>- Drop Trigger</para></listitem>
<listitem><para>- Create Profile</para></listitem>
<listitem><para>- Drop Profile</para></listitem>
<listitem><para>- Alter Profile</para></listitem>
<listitem><para>- Drop Procedure</para></listitem>
<listitem><para>- Alter Role</para></listitem>
<listitem><para>- Logon</para></listitem>
<listitem><para>- Logoff</para></listitem>
<listitem><para>- Logoff by Cleanup</para></listitem>
<listitem><para>- System Audit</para></listitem>
<listitem><para>- System Noaudit</para></listitem>
<listitem><para>- Audit default</para></listitem>
<listitem><para>- Noaudit default</para></listitem>
<listitem><para>- System Grant</para></listitem>
<listitem><para>- System Revoke</para></listitem>
<listitem><para>- Grant Role</para></listitem>
<listitem><para>- Revoke Role</para></listitem>
<listitem><para>- Enable Trigger</para></listitem>
<listitem><para>- Disable Trigger</para></listitem>
<listitem><para>- Enable all Triggers</para></listitem>
<listitem><para>- Disable all Triggers</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Loss of accountability</para></listitem>
<listitem><para>Legal or regulatory non-compliance</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>The init.ora file must be modified for data dictionary auditing to be enabled.</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUDIT-6</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>The init.ora file must be modified for data dictionary auditing to be enabled.
</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Edit the init.ora file and include the commands to enable data dictionary auditing</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Loss of accountability</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Use triggers to capture audit information where it is not captured in table information</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUDIT-4</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Use triggers to capture audit information where it is not captured in table information</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Before an insert, update or delete is executed use a trigger to write the audit information to a table.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Loss of accountability</para></listitem>
<listitem><para>Legal or regulatory non-compliance</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Use triggers to log modifications to the DBA_USERs table</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUDIT-5</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>A trigger should be written to log modifications to the DBA_USERs table to identify user password substitution can be logged.
</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>Write a trigger that logs modifications to the DBA_USERs table. </para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Loss of accountability</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
<section><title>Tables should be designed to include extra fields for auditing actions taken</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-AUDIT-2</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>recommended</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>Tables should be designed to include extra fields for auditing actions taken</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>When designing the tables include columns to capture information relating to changes to the data held in the row.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Loss of accountability</para></listitem>
<listitem><para>Legal or regulatory non-compliance</para></listitem>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
</section>
</chapter>
<chapter><title>Other</title>
<section><title>When an object is deleted from the database, delete all related synonyms</title><informaltable><tgroup cols="4" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="1*" colname="c2"/><colspec colwidth="1*" colname="c3"/><colspec colwidth="1*" colname="c4"/><thead><row><entry><para>ID</para></entry><entry><para>Version</para></entry><entry><para>Level</para></entry><entry><para>Enforcement</para></entry></row></thead><tbody><row><entry><para>ORAC-OTHER-1</para></entry><entry><para>1.0</para></entry><entry><para>baseline</para></entry><entry><para>mandatory</para></entry></row></tbody></tgroup></informaltable><section><title>Standard</title><para>When an object is deleted from the database, delete all related synonyms</para></section><section><title>Detailed Steps</title><itemizedlist>
<listitem><para>When an object is to be deleted from the database ensure that all synonyms are identified and also deleted.</para></listitem>
</itemizedlist></section><section><title>Risks Addressed</title><para>Where this control is not applied, the following residual risks exist:</para><itemizedlist>
<listitem><para>Business information may be accidentally or maliciously altered.</para></listitem>
<listitem><para>Business information may be disclosed.</para></listitem>
<listitem><para>Business information and applications may be unavailable.</para></listitem>
</itemizedlist></section></section>
</chapter>
<chapter><title>Checklist</title><informaltable><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="1*" colname="c1"/><colspec colwidth="5*" colname="c2"/><colspec colwidth="1*" colname="c3"/><spanspec align="left" nameend="c3" namest="c1" spanname="hspan"/><tbody><row><entry align="center" spanname="hspan"><para><emphasis>User Configuration</emphasis></para></entry></row><row><entry spanname="hspan"><para><emphasis>User Administration</emphasis></para></entry></row><row><entry><para><emphasis>Control ID</emphasis></para></entry><entry><para><emphasis>Checklist Question</emphasis></para></entry><entry><para><emphasis>Your Answer</emphasis></para></entry></row><row><entry>ORAC-UA-1</entry><entry>Are user profile names on the database consistent with their other login names?</entry><entry><para/></entry></row><row><entry>ORAC-UA-4</entry><entry>Are accounts belonging to personnel who have fixed periods of employments set up with account expiration dates?</entry><entry><para/></entry></row><row><entry>ORAC-ADMIN-10</entry><entry>Do scripted modificatons to users, use up to date commands?</entry><entry><para/></entry></row><row><entry>ORAC-UA-2</entry><entry>Do database administrators perform periodic user account audits to ensure access granted is still required?</entry><entry><para/></entry></row><row><entry spanname="hspan"><para><emphasis>Default Accounts</emphasis></para></entry></row><row><entry><para><emphasis>Control ID</emphasis></para></entry><entry><para><emphasis>Checklist Question</emphasis></para></entry><entry><para><emphasis>Your Answer</emphasis></para></entry></row><row><entry>ORAC-DA-5</entry><entry>Has the default password for the demo account been changed?</entry><entry><para/></entry></row><row><entry>ORAC-DA-3</entry><entry>Has the default password for the dbsnmp account been changed?</entry><entry><para/></entry></row><row><entry>ORAC-DA-4</entry><entry>Has the default password for the scott account been changed?</entry><entry><para/></entry></row><row><entry>ORAC-DA-6</entry><entry>Has the default password for the p08 account been changed?</entry><entry><para/></entry></row><row><entry>ORAC-DA-2</entry><entry>Has the default password for the system account been changed?</entry><entry><para/></entry></row><row><entry>ORAC-DA-1</entry><entry>Has the default password for the sys account been changed?</entry><entry><para/></entry></row><row><entry>ORAC-DA-7</entry><entry>Has the scott account been deleted?</entry><entry><para/></entry></row><row><entry spanname="hspan"><para><emphasis>Roles, Views, and Access Control</emphasis></para></entry></row><row><entry><para><emphasis>Control ID</emphasis></para></entry><entry><para><emphasis>Checklist Question</emphasis></para></entry><entry><para><emphasis>Your Answer</emphasis></para></entry></row><row><entry>ORAC-ACC-8</entry><entry>Are users with a requirement for a single role denied the ability to execute the set role command?</entry><entry><para/></entry></row><row><entry>ORAC-ACC-7</entry><entry>Is access to the operating system command line interface denied from users where possible?</entry><entry><para/></entry></row><row><entry>ORAC-ACC-4</entry><entry>Are password protected roles implemented?</entry><entry><para/></entry></row><row><entry>ORAC-ACC-1</entry><entry>Are views used to enforce access restrictions to tables?</entry><entry><para/></entry></row><row><entry>ORAC-ACC-3</entry><entry>Are users assigned any default Oracle roles?</entry><entry><para/></entry></row><row><entry>ORAC-ACC-6</entry><entry>For live database apps are the connect or resource roles used?</entry><entry><para/></entry></row><row><entry>ORAC-ACC-5</entry><entry>Are applications developed with password protected roles, without hard-coding the role password or disclosing the role password to the users?</entry><entry><para/></entry></row><row><entry>ORAC-ACC-2</entry><entry>Have database views been defined that map to database roles?</entry><entry><para/></entry></row><row><entry spanname="hspan"><para><emphasis>Privileges</emphasis></para></entry></row><row><entry><para><emphasis>Control ID</emphasis></para></entry><entry><para><emphasis>Checklist Question</emphasis></para></entry><entry><para><emphasis>Your Answer</emphasis></para></entry></row><row><entry>ORAC-PRIV-6</entry><entry>Has the CREATE privilege been granted to any application?</entry><entry><para/></entry></row><row><entry>ORAC-PRIV-5</entry><entry>Has the DROP privilege been granted to any application?</entry><entry><para/></entry></row><row><entry>ORAC-PRIV-4</entry><entry>Has the DBA role been granted to Database Administrators alone?</entry><entry><para/></entry></row><row><entry>ORAC-PRIV-11</entry><entry>Has the UNLIMITED TABLESPACE privilege been granted to any application?</entry><entry><para/></entry></row><row><entry>ORAC-PRIV-10</entry><entry>Has the EXECUTE ANY PROCEDURE privilege been granted to any application?</entry><entry><para/></entry></row><row><entry>ORAC-PRIV-1</entry><entry>If the scott account exists, does it have the CONNECT privilege only?</entry><entry><para/></entry></row><row><entry>ORAC-PRIV-12</entry><entry>Have all privileges been assigned to roles and not directly to users?</entry><entry><para/></entry></row><row><entry>ORAC-PRIV-7</entry><entry>Has the ALTER privilege been granted to any application?</entry><entry><para/></entry></row><row><entry>ORAC-PRIV-8</entry><entry>Has the BECOME USER privilege been granted to any application?</entry><entry><para/></entry></row><row><entry>ORAC-PRIV-9</entry><entry>Has the GRANT ANY PRIVILEGE/ROLE privilege been granted to any application?</entry><entry><para/></entry></row><row><entry>ORAC-PRIV-2</entry><entry>Does the p08 account have the DBA role revoked?</entry><entry><para/></entry></row><row><entry spanname="hspan"><para><emphasis>Authentication/Password Configuration</emphasis></para></entry></row><row><entry><para><emphasis>Control ID</emphasis></para></entry><entry><para><emphasis>Checklist Question</emphasis></para></entry><entry><para><emphasis>Your Answer</emphasis></para></entry></row><row><entry>ORAC-AUTH-8</entry><entry>s the sessions per user value set to 1?</entry><entry><para/></entry></row><row><entry>ORAC-AUTH-7</entry><entry>s the Password reuse max value set to 12 passwords?</entry><entry><para/></entry></row><row><entry>ORAC-AUTH-5</entry><entry>Is the password lifetime set to 30 days?</entry><entry><para/></entry></row><row><entry>ORAC-AUTH-3</entry><entry>Do account logins timeout  and disconnect after 30 minutes of inactivity?</entry><entry><para/></entry></row><row><entry>ORAC-AUTH-4</entry><entry>Is the password grace time set to 0 days?</entry><entry><para/></entry></row><row><entry>ORAC-AUTH-6</entry><entry>s the Password lock time set to the maximum possible value?</entry><entry><para/></entry></row><row><entry>ORAC-UA-3</entry><entry>Are user accounts set such that the user can change their password?</entry><entry><para/></entry></row><row><entry>ORAC-AUTH-2</entry><entry>Do accounts have a password minimum length of 6 characters?</entry><entry><para/></entry></row><row><entry>ORAC-AUTH-1</entry><entry>Do accounts have a password minimum length of 6 characters?</entry><entry><para/></entry></row><row><entry align="center" spanname="hspan"><para><emphasis>Network Security Configuration</emphasis></para></entry></row><row><entry spanname="hspan"><para><emphasis>Network Interface Considerations</emphasis></para></entry></row><row><entry><para><emphasis>Control ID</emphasis></para></entry><entry><para><emphasis>Checklist Question</emphasis></para></entry><entry><para><emphasis>Your Answer</emphasis></para></entry></row><row><entry>ORAC-NET-5</entry><entry>Is the listener.ora file only readable by the administrators?</entry><entry><para/></entry></row><row><entry>ORAC-NET-1</entry><entry>Is Advanced Networking Option used to provide encrypted data transfer?</entry><entry><para/></entry></row><row><entry>ORAC-NET-2</entry><entry>Has the advanced networking option been implemented so as to protect Oracle passwords in transmission across the network?</entry><entry><para/></entry></row><row><entry>ORAC-NET-3</entry><entry>Are network listeners for SQL*NET clients password protected?</entry><entry><para/></entry></row><row><entry>ORAC-NET-4</entry><entry>Have the default passwords of the SQL*NET listeners been changed from the default value?</entry><entry><para/></entry></row><row><entry align="center" spanname="hspan"><para><emphasis>Configuration</emphasis></para></entry></row><row><entry spanname="hspan"><para><emphasis>Files and File Permissions</emphasis></para></entry></row><row><entry><para><emphasis>Control ID</emphasis></para></entry><entry><para><emphasis>Checklist Question</emphasis></para></entry><entry><para><emphasis>Your Answer</emphasis></para></entry></row><row><entry>ORAC-FP-8</entry><entry>Is the config.ora file afforded the same control as the init.ora object?</entry><entry><para/></entry></row><row><entry>ORAC-FP-10</entry><entry>Is the object CATALOG.BSQ protected against modification?</entry><entry><para/></entry></row><row><entry>ORAC-FP-9</entry><entry>Is the object SQL.BSQ protected against modification?</entry><entry><para/></entry></row><row><entry>ORAC-FP-5</entry><entry>Do all Oracle database control files have consistent permission masks?</entry><entry><para/></entry></row><row><entry>ORAC-FP-2</entry><entry>Is the owner of the database files set to be Oracle?</entry><entry><para/></entry></row><row><entry>ORAC-FP-3</entry><entry>Do Oracle users have greater access to the database files than that set at installation time?</entry><entry><para/></entry></row><row><entry>ORAC-FP-4</entry><entry>Is the database control file owned by Oracle?</entry><entry><para/></entry></row><row><entry>ORAC-FP-11</entry><entry>Is Grant All used when assigning object access rights to a user?</entry><entry><para/></entry></row><row><entry>ORAC-FP-1</entry><entry>Are database files protected from unauthorised access?</entry><entry><para/></entry></row><row><entry>ORAC-FP-7</entry><entry>Is the Oracle database initialisation file available only to the Oracle system account?</entry><entry><para/></entry></row><row><entry>ORAC-FP-6</entry><entry>Are the Oracle database initialisation files user readable?</entry><entry><para/></entry></row><row><entry spanname="hspan"><para><emphasis>Administration</emphasis></para></entry></row><row><entry><para><emphasis>Control ID</emphasis></para></entry><entry><para><emphasis>Checklist Question</emphasis></para></entry><entry><para><emphasis>Your Answer</emphasis></para></entry></row><row><entry>ORAC-ADMIN-2</entry><entry>Are quotas used?</entry><entry><para/></entry></row><row><entry>ORAC-ADMIN-1</entry><entry>Are changes to the Oracle initialisation file commented and logged?</entry><entry><para/></entry></row><row><entry>ORAC-ADMIN-3</entry><entry>Are users privileges checked following an upgrade?</entry><entry><para/></entry></row><row><entry>ORAC-ADMIN-4</entry><entry>If using Oracle Enterprise Manager ensure the workstations/consoles on which it is run are protected from attack.</entry><entry><para/></entry></row><row><entry spanname="hspan"><para><emphasis>Backups</emphasis></para></entry></row><row><entry><para><emphasis>Control ID</emphasis></para></entry><entry><para><emphasis>Checklist Question</emphasis></para></entry><entry><para><emphasis>Your Answer</emphasis></para></entry></row><row><entry>ORAC-BACKUP-1</entry><entry>Are online image backups taken periodically?</entry><entry><para/></entry></row><row><entry>ORAC-BACKUP-2</entry><entry>Are online incremental backups taken periodically?</entry><entry><para/></entry></row><row><entry align="center" spanname="hspan"><para><emphasis>Auditing and Monitoring</emphasis></para></entry></row><row><entry spanname="hspan"><para><emphasis>Events to be alerted in real-time</emphasis></para></entry></row><row><entry><para><emphasis>Control ID</emphasis></para></entry><entry><para><emphasis>Checklist Question</emphasis></para></entry><entry><para><emphasis>Your Answer</emphasis></para></entry></row><row><entry>ORAC-AUDI-1</entry><entry>Is the system resource profile settings for password lock time set to forever?</entry><entry><para/></entry></row><row><entry>ORAC-AUDIT-1</entry><entry>Are user accounts locked out after 3 consecutive login failures?</entry><entry><para/></entry></row><row><entry spanname="hspan"><para><emphasis>Events to be audited</emphasis></para></entry></row><row><entry><para><emphasis>Control ID</emphasis></para></entry><entry><para><emphasis>Checklist Question</emphasis></para></entry><entry><para><emphasis>Your Answer</emphasis></para></entry></row><row><entry>ORAC-AUDIT-3</entry><entry>Is auditing enabled for the list of recommended events?</entry><entry><para/></entry></row><row><entry>ORAC-AUDIT-6</entry><entry>Has the init.ora file been modified to enable data dictionary auditing?</entry><entry><para/></entry></row><row><entry>ORAC-AUDIT-4</entry><entry>Are triggers used to capture audit information where it is not captured in table information?</entry><entry><para/></entry></row><row><entry>ORAC-AUDIT-5</entry><entry>Has a trigger been written to log modifications to the DBA_USERs table to identify user password substitution?</entry><entry><para/></entry></row><row><entry>ORAC-AUDIT-2</entry><entry>Are the tables designed to include extra fields for auditing actions taken?</entry><entry><para/></entry></row><row><entry align="center" spanname="hspan"><para><emphasis>Other</emphasis></para></entry></row><row><entry><para><emphasis>Control ID</emphasis></para></entry><entry><para><emphasis>Checklist Question</emphasis></para></entry><entry><para><emphasis>Your Answer</emphasis></para></entry></row><row><entry>ORAC-OTHER-1</entry><entry>Is it ensured that when an object is deleted from the database, all related synonyms are also deleted?</entry><entry><para/></entry></row></tbody></tgroup></informaltable></chapter></book>
