Select any two versions of this STIG to compare the individual requirements
Select any old version/release of this STIG to view the previous requirements
Determine whether the system documentation specifies limits on the number of concurrent DBMS sessions per account by type of user. If it does not, assume a limit of 10 for database administrators and 2 for all other users. Review the concurrent-sessions settings in the DBMS and/or the applications using it, and/or the system software supporting it. If the DBMS is capable of enforcing this restriction but is not configured to do so, this is a finding. This holds even if the restriction is enforced by applications or supporting software. If it is not technically feasible for the DBMS to enforce this restriction, but the application(s) or supporting software are configured to do so, this is not a finding. If it is not technically feasible for the DBMS to enforce this restriction, and applications and supporting software are not so configured, this is a finding. If the value for any type of user account is not set, this is a finding. If a value is set but is not equal to the value specified in the documentation (or the default value defined in this check) for the type of user, this is a finding.
If the DBMS is capable of enforcing this restriction, but is not configured to do so, configure it to do so. (This may involve the development of one or more triggers.) If it is not technically feasible for the DBMS to enforce this restriction, and the application(s) and supporting software are not configured to do so, configure them to do so. If the value for any type of user account is not set, determine the correct value and set it. If a value is set but is not equal to the value specified for the type of user, determine the correct value, set it, and update the documentation, as appropriate.
If all accounts are authenticated by the organization-level authentication/access mechanism and not by the DBMS, this is not a finding. If there are any accounts managed by the DBMS, review the system documentation for justification and approval of these accounts. If any DBMS-managed accounts exist that are not documented and approved, this is a finding.
Integrate DBMS security with an organization-level authentication/access mechanism providing account management for all users, groups, roles, and any other principals. For each DBMS-managed account that is not documented and approved, either transfer it to management by the external mechanism, or document the need for it and obtain approval, as appropriate.
Check DBMS settings to determine whether users are restricted from accessing objects and data they are not authorized to access. If appropriate access controls are not implemented to restrict access to authorized users and to restrict the access of those users to objects and data they are authorized to see, this is a finding.
Configure the DBMS settings and access controls to permit user access only to objects and data that the user is authorized to view or interact with, and to prevent access to all other objects and data.
Review system documentation to determine the data and the actions on data that need to be protected from repudiation by means of audit trails. Review DBMS settings to determine whether users can be identified as individuals when using shared accounts. If the individual user who is using a shared account cannot be identified, this is a finding. Review the design and the contents of the application data tables. If they do not include the necessary audit data, this is a finding. Review the configuration of audit logs to determine whether auditing includes details identifying the individual user. If it does not, this is a finding.
Use accounts assigned to individual users. Where the application connects to the DBMS using a standard, shared account, ensure that it also captures the individual user identification and passes it to the DBMS. Modify application database tables and all supporting code to capture the necessary audit data. Modify the configuration of audit logs to include details identifying the individual user.
Check DBMS auditing to determine whether organization-defined auditable events are being audited by the system. If organization-defined auditable events are not being audited, this is a finding.
Deploy a DBMS that supports the DoD minimum set of auditable events. Configure the DBMS to generate audit records for at least the DoD minimum set of events.
Check DBMS settings and documentation to determine whether designated personnel are able to select which auditable events are being audited. If designated personnel are not able to configure auditable events, this is a finding.
Configure the DBMS's settings to allow designated personnel to select which auditable events are audited.
Review DBMS documentation to verify that audit records can be produced when privileges/permissions/role memberships are retrieved. If the DBMS is not capable of this, this is a finding. If the DBMS is currently required to audit the retrieval of privilege/permission/role membership information, review the DBMS/database security and audit configurations to verify that audit records are produced when privileges/permissions/role memberships are retrieved. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when privileges/permissions/role memberships are retrieved. If currently required, configure the DBMS to produce audit records when privileges/permissions/role memberships are retrieved.
Review DBMS documentation to verify that audit records can be produced when the system denies or fails to complete attempts to retrieve privileges/permissions/role membership. If the DBMS is not capable of this, this is a finding. If the DBMS is currently required to audit the retrieval of privilege/permission/role membership information, review the DBMS/database security and audit configurations to verify that audit records are produced when the DBMS denies retrieval of privileges/permissions/role memberships. If they are not produced, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when other errors prevent retrieval of privileges/permissions/role memberships. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when it denies or fails to complete access to privileges/permissions/role membership. If currently required, configure the DBMS to produce audit records when it denies access to privileges/permissions/role membership. Configure the DBMS to produce audit records when other errors prevent access to privileges/permissions/role membership.
Review DBMS vendor documentation to determine whether the DBMS software is capable of session auditing. If the DBMS is not capable of session auditing and a third party product is not being used for session level auditing, this is a finding. If the DBMS is capable of session level auditing and specific session audits are currently defined but session auditing is not enabled; or if a third-party product is available for session auditing and specific session audits are currently defined but session auditing is not enabled, this is a finding.
Deploy a DBMS capable of session auditing. Configure the DBMS software or third-party product to enable session auditing.
Check DBMS settings and existing audit records to verify information specific to the audit event type is being captured and stored with the audit records. If audit records exist without information regarding what type of event occurred, this is a finding.
Configure DBMS audit settings to include event type as part of the audit record.
Check DBMS settings and existing audit records to verify information specific to the date and time of the event is being captured and stored with the audit records. If audit records exist without the date and time of the event, this is a finding.
Configure DBMS audit settings to include the date and time of the occurrence of the event as part of the audit record.
Check DBMS settings and existing audit records to verify information specific to where the event occurred is being captured and stored with the audit records. If audit records exist without information regarding where the event occurred, this is a finding.
Configure DBMS audit settings to include where the event occurred as part of the audit record.
Check DBMS settings and existing audit records to verify information specific to the source (origin) of the event is being captured and stored with audit records. If audit records exist without information regarding the source of the event, this is a finding.
Configure DBMS audit settings to include the source of the event as part of the audit record.
Check DBMS settings and existing audit records to verify information specific to the outcome of the event is being captured and stored with the audit records. If audit records exist without the outcome of the event that occurred, this is a finding.
Configure DBMS audit settings to include the outcome of the event as part of the audit record.
Check DBMS settings and existing audit records to verify a user name associated with the event is being captured and stored with the audit records. If audit records exist without specific user information, this is a finding.
Configure DBMS audit settings to include user name as part of the audit record.
Review the system documentation to identify what additional information the organization has determined to be necessary. Check DBMS settings and existing audit records to verify that all organization-defined additional, more detailed information is in the audit records for audit events identified by type, location, or subject. If any additional information is defined and is not contained in the audit records, this is a finding.
Configure DBMS audit settings to include all organization-defined detailed information in the audit records for audit events identified by type, location, or subject.
If the application owner has determined that the need for system availability outweighs the need for a complete audit trail, this is not applicable (NA). Review DBMS, OS, or third-party logging application settings and/or documentation to determine whether the system is capable of shutting down, rolling back all in-flight transactions, in the case of an auditing failure. If it is not, this is a finding. If the system is capable of shutting down upon audit failure but is not configured to do so, this is a finding.
Configure the system to shut down, rolling back all in-flight transactions, in the case of an auditing failure.
If the application owner has determined that the need for system availability does not outweigh the need for a complete audit trail, this is not applicable (NA). Review DBMS, OS, or third-party logging application settings and/or documentation to determine whether the system is capable of continuing to generate audit records, overwriting the oldest existing records, in the case of an auditing failure. If it is not, this is a finding. If the system is capable of continuing to generate audit records upon audit failure but is not configured to do so, this is a finding.
Deploy a DBMS capable of continuing to generate audit records upon audit failure. Configure the system to continue to generate audit records, overwriting the oldest existing records, in the case of an auditing failure.
Using product documentation, verify that the DBMS uses current time stamp values obtained from or synchronized with the internal system clock used by the operating system. If it is not able to, this is a finding. If it is able to but is configured so that it does not do so, this is a finding.
Deploy a DBMS that can use time stamp values obtained from or synchronized with the internal system clock used by the operating system. Configure the DBMS to use time stamp values obtained from or synchronized with the internal system clock used by the operating system.
Review locations of audit logs, both internal to the database and database audit logs located at the operating system level. Verify there are appropriate controls and permissions to protect the audit information from unauthorized access. If appropriate controls and permissions do not exist, this is a finding.
Apply controls and modify permissions to protect database audit log data from unauthorized access, whether stored in the database itself or at the OS level.
Review locations of audit logs, both internal to the database and database audit logs located at the operating system level. Verify there are appropriate controls and permissions to protect the audit information from unauthorized modification. If appropriate controls and permissions do not exist, this is a finding.
Apply controls and modify permissions to protect database audit log data from unauthorized modification, whether stored in the database itself or at the OS level.
Review locations of audit logs, both internal to the database, and database audit logs located at the operating system level. Verify there are appropriate controls and permissions to protect the audit information from unauthorized deletion. If appropriate controls and permissions do not exist, this is a finding.
Apply controls and modify permissions to protect database audit log data from unauthorized deletion, whether stored in the database itself or at the OS level.
Review the access permissions to tools used to view or modify audit log data. These tools may include features within the DBMS itself or software external to the database. If appropriate permissions and access controls to prevent unauthorized access are not applied to these tools, this is a finding.
Apply or modify access controls and permissions (both within the DBMS and in the file system/operating system) to tools used to view or modify audit log data. Tools must be accessible by authorized personnel only.
Review the access permissions to tools used to view or modify audit log data. These tools may include features within the DBMS itself or software external to the database. If appropriate permissions and access controls to prevent unauthorized configuration are not applied to these tools, this is a finding.
Apply or modify access controls and permissions (both within the DBMS and in the file system/operating system) to tools used to view or modify audit log data. Tools must be configurable by authorized personnel only.
Review the access permissions to tools used to view or modify audit log data. These tools may include features within the DBMS itself or software external to the database. If appropriate permissions and access controls to prevent unauthorized removal are not applied to these tools, this is a finding.
Apply or modify access controls and permissions (both within the DBMS and in the file system/operating system) to tools used to view or modify audit log data. Ensure that tools may be removed by authorized personnel only.
Review monitoring procedures and implementation evidence to verify monitoring of changes to database software libraries, related applications, and configuration files is done. Verify the list of files, directories, and database application objects (procedures, functions, and triggers) being monitored is complete. If monitoring does not occur or is not complete, this is a finding.
Implement procedures to monitor for unauthorized changes to DBMS software libraries, related software application libraries, and configuration files. If a third-party automated tool is not employed, an automated job that reports file information on the directories and files of interest and compares them to the baseline report for the same will meet the requirement. Use file hashes or checksums for comparisons, as file dates may be manipulated by malicious users.
Review procedures for controlling, granting access to, and tracking use of the DBMS software installation account. If access or use of this account is not restricted to the minimum number of personnel required or if unauthorized access to the account has been granted, this is a finding.
Develop, document, and implement procedures to restrict and track use of the DBMS software installation account.
Review the DBMS software library directory and note other root directories located on the same disk directory or any subdirectories. If any non-DBMS software directories exist on the disk directory, examine or investigate their use. If any of the directories are used by other applications, including third-party applications that use the DBMS, this is a finding. Only applications that are required for the functioning and administration, not use, of the DBMS should be located in the same disk directory as the DBMS software libraries. If other applications are located in the same directory as the DBMS, this is a finding. For databases located on mainframes, confirm that the database and its configuration files are isolated in their own DASD pools. If database software and database configuration files share DASD with other applications, this is a finding.
Install all applications on directories separate from the DBMS software library directory. Relocate any directories or reinstall other application software that currently shares the DBMS software library directory. For mainframe-based databases, locate database software and configuration files in separate DASD pools from other mainframe applications.
Review system documentation to identify accounts authorized to own database objects. Review accounts that own objects in the database(s). If any database objects are found to be owned by users not authorized to own database objects, this is a finding.
Assign ownership of authorized objects to authorized object owner accounts.
Identify the group(s)/role(s) established for DBMS modification. Obtain the list of users in those group(s)/roles. Identify the individuals authorized to modify the DBMS. If unauthorized access to the group(s)/role(s) has been granted, this is a finding.
Revoke unauthorized memberships in the DBMS modification group(s)/role(s).
Review vendor documentation and vendor websites to identify vendor-provided demonstration or sample databases, database applications, objects, and files. Review the DBMS to determine if any of the demonstration and sample databases, database applications, or files are installed in the database or are included with the DBMS application. If any are present in the database or are included with the DBMS application, this is a finding.
Remove any demonstration and sample databases, database applications, objects, and files from the DBMS.
Review the list of components and features installed with the database. Use the DBMS product installation tool if supported and review the product installation documentation. If unused components or features are installed and are not documented and authorized, this is a finding.
Uninstall unused components or features that are installed and can be uninstalled. Remove any database objects and applications that are installed to support them.
Review the DBMS for unused components of the system that cannot be uninstalled. If unused components or features are present on the system, can be disabled, and are not disabled, this is a finding.
Disable any unused components or features that cannot be uninstalled.
Review the database for definitions of application executable objects stored external to the database. Determine if there are methods to disable use or access, or to remove definitions for external executable objects. Verify each application executable object listed is authorized by the ISSO. If any are not, this is a finding.
Disable use of or remove any external application executable object definitions that are not authorized.
Review the DBMS settings and local documentation for functions, ports, protocols, and services that are not approved. If any are found, this is a finding.
Disable functions, ports, protocols, and services that are not approved.
Review DBMS settings to determine whether organizational users are uniquely identified and authenticated when logging on/connecting to the system. If organizational users are not uniquely identified and authenticated, this is a finding.
Configure DBMS settings to uniquely identify and authenticate all organizational users who log on/connect to the system.
If DBMS authentication, using passwords, is not employed, this is not a finding. If the DBMS is configured to inherit password complexity and lifetime rules from the operating system or access control program, this is not a finding. Review the DBMS settings relating to password complexity. Determine whether the following rules are enforced. If any are not, this is a finding. a. minimum of 15 characters, including at least one of each of the following character sets: - Uppercase. - Lowercase. - Numerics. - Special characters (e.g., ~ ! @ # $ % ^ & * ( ) _ + = - ' [ ] / ? > <). b. Minimum number of characters changed from previous password: 50 percent of the minimum password length; that is, eight. Review the DBMS settings relating to password lifetime. Determine whether the following rules are enforced. If any are not, this is a finding. a. Password lifetime limits for interactive accounts: Minimum 24 hours, maximum 60 days. b. Password lifetime limits for noninteractive accounts: Minimum 24 hours, maximum 365 days. c. Number of password changes before an old one may be reused: Minimum of five.
If the use of passwords is not needed, configure the DBMS to prevent their use if it is capable of this; if it is not, institute policies and procedures to prohibit their use. If the DBMS can inherit password complexity rules from the operating system or access control program, configure it to do so. Otherwise, use DBMS configuration parameters and/or custom code to enforce the following rules for passwords: a. Minimum of 15 characters, including at least one of each of the following character sets: - Uppercase. - Lowercase. - Numerics. - Special characters (e.g., ~ ! @ # $ % ^ & * ( ) _ + = - ' [ ] / ? > <). b. Minimum number of characters changed from previous password: 50 percent of the minimum password length; that is, eight. c. Password lifetime limits for interactive accounts: Minimum 24 hours, maximum 60 days. d. Password lifetime limits for non-interactive accounts: Minimum 24 hours, maximum 365 days. e. Number of password changes before an old one may be reused: Minimum of five.
Review the list of DBMS database objects, database configuration files, associated scripts, and applications defined within and external to the DBMS that access the database. The list should also include files or settings used to configure the operational environment for the DBMS and for interactive DBMS user accounts. Determine whether any DBMS database objects, database configuration files, associated scripts, applications defined within or external to the DBMS that access the database, and DBMS/user environment files/settings contain database passwords. If any do, confirm that DBMS passwords stored internally or externally to the DBMS are hashed using FIPS-approved cryptographic algorithms and include a salt. If any passwords are stored in clear text, this is a finding. If any passwords are stored with reversible encryption, this is a finding. If any passwords are stored using unsalted hashes, this is a finding.
Develop, document, and maintain a list of DBMS database objects, database configuration files, associated scripts, applications defined within or external to the DBMS that access the database, and DBMS/user environment files/settings in the System Security Plan. Record whether they do or do not contain DBMS passwords. If passwords are present, ensure they are correctly hashed using one-way, salted hashing functions, and that the hashes are protected by host system security.
Review configuration settings for encrypting passwords in transit across the network. If passwords are not encrypted, this is a finding. If it is determined that passwords are passed unencrypted at any point along the transmission path between the source and destination, this is a finding.
Configure encryption for transmission of passwords across the network. If the database does not provide encryption for logon events natively, employ encryption at the OS or network level. Ensure passwords remain encrypted from source to destination.
Review DBMS configuration to verify that certificates being accepted by the DBMS are validated by performing RFC 5280-compliant certification path validation. If certificates are not being validated by performing RFC 5280-compliant certification path validation, this is a finding.
Configure the DBMS to validate certificates by performing RFC 5280-compliant certification path validation.
Review DBMS configuration to determine whether appropriate access controls exist to protect the DBMS's private key(s). If the DMBS’s private key(s) are not stored in a FIPS 140-2 or 140-3 validated cryptographic module, this is a finding. If access to the DBMS’s private key(s) is not restricted to authenticated and authorized users, this is a finding.
Store all DBMS PKI private keys in a FIPS 140-2 or 140-3 validated cryptographic module. Ensure access to the DBMS PKI private keys is restricted to only authenticated and authorized users.
Review DBMS configuration to verify DBMS user accounts are being mapped directly to unique identifying information within the validated PKI certificate. If user accounts are not being mapped to authenticated identities, this is a finding.
Configure the DBMS to map the authenticated identity directly to the DBMS user account.
If all interaction with the user for purposes of authentication is handled by a software component separate from the DBMS, this is not a finding. If any application, tool or feature associated with the DBMS/database displays any authentication secrets (to include PINs and passwords) during - or after - the authentication process, this is a finding.
Modify and configure each non-compliant application, tool, or feature associated with the DBMS/database so that it does not display authentication secrets.
Review DBMS configuration to verify it is using NIST FIPS 140-2 or 140-3 validated cryptographic modules for cryptographic operations. If NIST FIPS 140-2 or 140-3 validated modules are not being used for all cryptographic operations, this is a finding.
Utilize NIST FIPS 140-2 or 140-3 validated cryptographic modules for all cryptographic operations.
Review DBMS settings to determine whether non-organizational users are uniquely identified and authenticated when logging onto the system. If non-organizational users are not uniquely identified and authenticated, this is a finding.
Configure DBMS settings to uniquely identify and authenticate all non-organizational users who log onto the system.
Check DBMS settings and vendor documentation to verify that administrative functionality is separate from user functionality. If administrator and general user functionality are not separated either physically or logically, this is a finding.
Configure DBMS to separate database administration and general user functionality.
Review DBMS settings and vendor documentation to verify user sessions are terminated, and session identifiers invalidated, upon user logout. If they are not, this is a finding. Review system documentation and organization policy to identify other events that should result in session terminations. If other session termination events are defined, review DBMS settings to verify occurrences of these events would cause session termination, invalidating the session identifiers. If occurrences of defined session terminating events do not cause session terminations, invalidating the session identifiers, this is a finding.
Configure DBMS settings to terminate sessions, invalidating their session identifiers, upon user logout. Configure DBMS settings to terminate sessions, invalidating their session identifiers, upon the occurrence of any organization- or policy-defined session termination event.
Review DBMS settings and vendor documentation to determine whether the DBMS recognizes session identifiers that are not system-generated. If the DBMS recognizes session identifiers that are not system generated, this is a finding.
Utilize a DBMS product that only recognizes session identifiers that are system-generated.
Review DBMS vendor documentation and system behavior (and if necessary, consult vendor representatives) to determine whether the DBMS can provide demonstrably effective protection against man-in-the-middle attacks that guess at session identifier values. If not, this is a finding. Review DBMS settings to determine whether protections against man-in-the-middle attacks that guess at session identifier values are enabled. If they are not, this is a finding.
Utilize a DBMS product that can provide demonstrably effective protection against man-in-the-middle attacks that guess at session identifier values. Configure DBMS settings to enable protections against man-in-the-middle attacks that guess at session identifier values.
Check DBMS settings and vendor documentation to verify the DBMS properly handles transactions in the event of a system failure. If open transactions are not rolled back to a consistent state during system failure, this is a finding. The consistent state must include a security configuration that is at least as restrictive as before the system failure. If this is not guaranteed, this is a finding.
Configure DBMS settings so that, in the event of a system failure, the DBMS will roll back open transactions to a consistent state, to include a security configuration that is at least as restrictive as before the system failure.
Check DBMS settings to determine whether organization-defined system state information is being preserved in the event of a system failure. If organization-defined system state information is not being preserved, this is a finding.
Configure DBMS settings to preserve any organization-defined system state information in the event of a system failure.
If the application owner and Authorizing Official have determined that encryption of data at rest is NOT required, this is not a finding. Review DBMS settings to determine whether controls exist to protect the confidentiality and integrity of data at rest in the database. If controls do not exist or are not enabled, this is a finding.
Apply appropriate controls to protect the confidentiality and integrity of data at rest in the database.
Check DBMS settings to determine whether objects or code implementing security functionality are located in a separate security domain, such as a separate database or schema created specifically for security functionality. If security-related database objects or code are not kept separate, this is a finding.
Locate security-related database objects and code in a separate database, schema, or other separate security domain from database objects and code implementing application logic.
Review the procedures for the refreshing of development/test data from production. Review any scripts or code that exists for the movement of production data to development/test systems, or to any other location or for any other purpose. Verify that copies of production data are not left in unprotected locations. If the code that exists for data movement does not comply with the organization-defined data transfer policy and/or fails to remove any copies of production data from unprotected locations, this is a finding.
Modify any code used for moving data from production to development/test systems to comply with the organization-defined data transfer policy, and to ensure copies of production data are not left in unsecured locations.
Review the DBMS architecture to find out if and how it protects the private resources of one process or user (such as working memory, temporary tables, uncommitted data) from unauthorized access by another user or process. If it does not effectively do so, this is a finding.
Deploy a DBMS capable of effectively protecting the private resources of one process or user from unauthorized access by another user or process. Configure the DBMS to effectively protect the private resources of one process or user from unauthorized access by another user or process.
Review the permissions granted to users by the operating system/file system on the database files, database log files and database backup files. If any user/role who is not an authorized system administrator with a need to know or database administrator with a need to know, or a system account for running DBMS processes, is permitted to read/view any of these files, this is a finding.
Configure the permissions granted by the operating system/file system on the database files, database log files, and database backup files so that only relevant system accounts and authorized system administrators and database administrators with a need to know are permitted to read/view these files.
Review DBMS code (stored procedures, functions, and triggers), application code, settings, column and field definitions, and constraints to determine whether the database is protected against invalid input. If code exists that allows invalid data to be acted upon or input into the database, this is a finding. If column/field definitions do not exist in the database, this is a finding. If columns/fields do not contain constraints and validity checking where required, this is a finding. Where a column/field is noted in the system documentation as necessarily free-form, even though its name and context suggest that it should be strongly typed and constrained, the absence of these protections is not a finding. Where a column/field is clearly identified by name, caption or context as Notes, Comments, Description, Text, etc., the absence of these protections is not a finding.
Modify database code to properly validate data before it is put into the database or acted upon by the database. Modify the database to contain column/field definitions for each column/field in the database. Modify the database to contain constraints and validity checking on database columns and tables that require them for data integrity.
Review DBMS source code (stored procedures, functions, triggers) and application source code, to identify cases of dynamic code execution. If dynamic code execution is employed in circumstances where the objective could practically be satisfied by static execution with strongly typed parameters, this is a finding.
Where dynamic code execution is employed in circumstances where the objective could practically be satisfied by static execution with strongly typed parameters, modify the code to do so.
Review DBMS source code (stored procedures, functions, triggers) and application source code to identify cases of dynamic code execution. If dynamic code execution is employed without protective measures against code injection, this is a finding.
Where dynamic code execution is used, modify the code to implement protections against code injection.
Check DBMS settings and custom database code to verify that error messages do not contain information beyond what is needed for troubleshooting the issue. If database errors contain PII data, sensitive business data, or information useful for identifying the host system or database structure, this is a finding.
Configure DBMS settings, custom database code, and associated application code not to divulge sensitive information or information useful for system identification in error messages.
Check DBMS settings and custom database code to determine if detailed error messages are ever displayed to unauthorized individuals. If detailed error messages are displayed to individuals not authorized to view them, this is a finding.
Configure DBMS settings, custom database code, and associated application code not to display detailed error messages to those not authorized to view them.
Review system documentation to obtain the organization's definition of circumstances requiring automatic session termination. If the documentation explicitly states that such termination is not required or is prohibited, this is not a finding. If the documentation requires automatic session termination, but the DBMS is not configured accordingly, this is a finding.
Configure the DBMS to automatically terminate a user session after organization-defined conditions or trigger events requiring session termination.
Determine, by reviewing DBMS documentation and/or inquiring of the vendor's technical support staff, whether the DBMS satisfies this requirement; and, if it does, determine whether this is inherent, unchangeable behavior, or a configurable feature. If the DBMS does not satisfy the requirement, this is a permanent finding. If the behavior is inherent, this is permanently not a finding. If the behavior is configurable, and the current configuration does not enforce it, this is a finding.
Where relevant, modify the configuration to allow the user to manually terminate a session initiated by that user.
If security labeling is not required, this is not a finding. If security labeling requirements have been specified, but the security labeling is not implemented or does not reliably maintain labels on information in storage, this is a finding.
Enable DBMS features, deploy third-party software, or add custom data structures, data elements and application code, to provide reliable security labeling of information in storage.
If security labeling is not required, this is not a finding. If security labeling requirements have been specified, but the security labeling is not implemented or does not reliably maintain labels on information in process, this is a finding.
Enable DBMS features, deploy third-party software, or add custom data structures, data elements and application code, to provide reliable security labeling of information in process.
If security labeling is not required, this is not a finding. If security labeling requirements have been specified, but the security labeling is not implemented or does not reliably maintain labels on information in transmission, this is a finding.
Enable DBMS features, deploy third-party software, or add custom data structures, data elements and application code, to provide reliable security labeling of information in transmission.
Review system documentation to identify the required discretionary access control (DAC). Review the security configuration of the database and DBMS. If applicable, review the security configuration of the application(s) using the database. If the discretionary access control defined in the documentation is not implemented in the security configuration, this is a finding.
Implement the organization's DAC policy in the security configuration of the database and DBMS, and, if applicable, the security configuration of the application(s) using the database.
Review the system documentation to obtain the definition of the database/DBMS functionality considered privileged in the context of the system in question. Review the DBMS security configuration and/or other means used to protect privileged functionality from unauthorized use. If the configuration does not protect all of the actions defined as privileged, this is a finding.
Configure DBMS security to protect all privileged functionality.
Review the system documentation, database and DBMS security configuration, source code for DBMS internal logic, source code of external modules invoked by the DBMS, and source code of the application(s) using the database. If elevation of DBMS privileges is utilized but not documented, this is a finding. If elevation of DBMS privileges is documented, but not implemented as described in the documentation, this is a finding. If the privilege-elevation logic can be invoked in ways other than intended, or in contexts other than intended, or by subjects/principals other than intended, this is a finding.
Determine where, when, how, and by what principals/subjects elevated privilege is needed. Modify the database and DBMS security configuration, DBMS internal logic, external modules invoked by the DBMS, and the application(s) using the database, to ensure privilege elevation is used only as required.
Investigate whether there have been any incidents where the DBMS ran out of audit log space since the last time the space was allocated or other corrective measures were taken. If there have been, this is a finding.
Allocate sufficient audit file/table space to support peak demand.
Review system configuration. If appropriate support staff are not notified immediately upon storage volume utilization reaching 75%, this is a finding.
Configure the system to notify appropriate support staff immediately upon storage volume utilization reaching 75%.
Review DBMS settings, OS, or third-party logging software settings to determine whether a real-time alert will be sent to the appropriate personnel when auditing fails for any reason. If real-time alerts are not sent upon auditing failure, this is a finding.
Configure the system to provide immediate real-time alerts to appropriate support staff when an audit log failure occurs.
Verify that the DBMS generates time stamps, in audit records and application data, that maps to UTC. If it does not, this is a finding.
Ensure the DBMS generates time stamps, in audit records and application data, that maps to UTC.
Review product documentation to verify that the DBMS can generate time stamps with a granularity of one second or finer. If it cannot, this is a finding. Review audit log records produced by the DBMS for confirmation that time stamps are recorded to a precision of one second or finer. If not, this is a finding. Review time stamp values in audit trail columns/fields in application data in the database. If the time stamps are not recorded to a precision of one second or finer, this is a finding.
Deploy a DBMS that can generate and record time stamps with a granularity of one second or finer. Configure auditing so that the time stamps are recorded to a precision of one second or finer. Modify applications and/or column/field definitions so that the time stamps in audit trail columns/fields in application data are recorded to a precision of one second or finer.
If the DBMS supports only software development, experimentation and/or developer-level testing (that is, excluding production systems, integration testing, stress testing, and user acceptance testing), this is not a finding. Review the DBMS and database security settings with respect to nonadministrative users' ability to create, alter, or replace logic modules, to include but not necessarily only stored procedures, functions, triggers, and views. If any such permissions exist and are not documented and approved, this is a finding.
Document and obtain approval for any nonadministrative users who require the ability to create, alter or replace logic modules. Implement the approved permissions. Revoke any unapproved permissions.
Review DBMS vendor documentation with respect to its ability to enforce access restrictions associated with changes to the configuration of the DBMS or database(s). If it is not able to do this, this is a finding. Review the security configuration of the DBMS and database(s). If it does not enforce access restrictions associated with changes to the configuration of the DBMS or database(s), this is a finding.
Deploy a DBMS capable of enforcing access restrictions associated with changes to the configuration of the DBMS or database(s). Configure the DBMS to enforce access restrictions associated with changes to the configuration of the DBMS or database(s).
Review DBMS documentation to verify audit records can be produced when the system denies or fails to complete attempts to change the configuration of the DBMS or database(s). If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when the system denies attempts to change the configuration of the DBMS or database(s). If they are not produced, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when other errors prevent attempts to change the configuration of the DBMS or database(s). If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when it denies or fails to complete attempts to change the configuration of the DBMS or database(s). Configure the DBMS to produce audit records when it denies attempts to change the configuration of the DBMS or database(s). Configure the DBMS to produce audit records when other errors prevent attempts to change the configuration of the DBMS or database(s).
Review the network functions, ports, protocols, and services supported by the DBMS. If any protocol is prohibited by the PPSM guidance and is enabled, this is a finding.
Deploy a DBMS capable of disabling a network function, port, protocol, or service prohibited by the PPSM guidance. Disable each prohibited network function, port, protocol, or service.
Review system settings to determine whether the organization-defined limit for cached authentication is implemented. If it is not implemented, this is a finding.
Modify system settings to implement the organization-defined limit on the lifetime of cached authenticators.
If the DBMS will accept non-DoD approved PKI end-entity certificates, this is a finding.
Revoke trust in any certificates not issued by a DoD-approved certificate authority. Configure the DBMS to accept only DoD and DoD-approved PKI end-entity certificates.
Review the system documentation to determine whether the organization has defined the information at rest that is to be protected from modification, which must include, at a minimum, PII and classified information. If no information is identified as requiring such protection, this is not a finding. Review the configuration of the DBMS, operating system/file system, and additional software as relevant. If any of the information defined as requiring cryptographic protection from modification is not encrypted in a manner that provides the required level of protection, this is a finding.
Configure the DBMS, operating system/file system, and additional software as relevant, to provide the required level of cryptographic protection.
Review the system documentation to determine whether the organization has defined the information at rest that is to be protected from disclosure, which must include, at a minimum, PII and classified information. If the documentation indicates no information requires such protections, this is not a finding. Review the configuration of the DBMS, operating system/file system, and additional software as relevant. If any of the information defined as requiring protection is not encrypted in a manner that provides the required level of protection and is not physically secured to the required level, this is a finding.
Configure the DBMS, operating system/file system, and additional software as relevant, to provide the required level of cryptographic protection for information requiring cryptographic protection against disclosure. Secure the premises, equipment, and media to provide the required level of physical protection.
Review the DBMS architecture to find out if and how it protects the private resources of one process (such as working memory, temporary tables, uncommitted data and, especially, executable code) from unauthorized access or modification by another user or process. If it is not capable of maintaining a separate execution domain for each executing process, this is a finding. If the DBMS is capable of maintaining a separate execution domain for each executing process, but is configured not to do so, this is a finding.
Deploy a DBMS capable of maintaining a separate execution domain for each executing process. If this is a configurable feature, configure the DBMS to implement it.
If the data owner does not have a strict requirement for ensuring data integrity and confidentiality is maintained at every step of the data transfer and handling process, this is not a finding. If the DBMS does not employ protective measures against unauthorized disclosure and modification during preparation for transmission, this is a finding.
Implement protective measures against unauthorized disclosure and modification during preparation for transmission.
If the data owner does not have a strict requirement for ensuring data integrity and confidentiality is maintained at every step of the data transfer and handling process, this is not a finding. If the DBMS, associated applications, and infrastructure do not employ protective measures against unauthorized disclosure and modification during reception, this is a finding.
Implement protective measures against unauthorized disclosure and modification during reception.
Review system documentation to determine how input errors are to be handled in general and if any special handling is defined for specific circumstances. Review the source code for database program objects (stored procedures, functions, triggers) and application source code to identify how the system responds to invalid input. If it does not implement the documented behavior, this is a finding.
Revise and deploy the source code for database program objects (stored procedures, functions, triggers) and application source code, to implement the documented behavior.
If software components that have been replaced or made unnecessary are not removed, this is a finding.
Identify and remove software components that have been replaced or made unnecessary.
Obtain evidence that software patches are consistently applied to the DBMS within the time frame defined for each patch. If such evidence cannot be obtained, or the evidence that is obtained indicates a pattern of noncompliance, this is a finding.
Institute and adhere to policies and procedures to ensure that patches are consistently applied to the DBMS within the time allowed.
If the DBMS architecture makes it impossible for any user, even with the highest privileges, to directly view or directly modify the contents of its built-in security objects, and if there are no additional, locally-defined security objects in the database(s), this is not a finding. Review DBMS documentation to verify that audit records can be produced when security objects, such as tables, views, procedures, and functions, are accessed, to include reads, creations, modifications and deletions of data, and execution of logic. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when security objects, such as tables, views, procedures, and functions, are accessed, to include reads, creations, modifications and deletions of data, and execution of logic. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when security objects, such as tables, views, procedures, and functions, are accessed. Configure the DBMS to produce audit records when security objects, such as tables, views, procedures, and functions, are accessed, to include reads, creations, modifications and deletions of data, and execution of logic.
If the DBMS architecture makes it impossible for any user, even with the highest privileges, to directly view or directly modify the contents of its built-in security objects, and if there are no additional, locally-defined security objects in the database(s), this is not a finding. Review DBMS documentation to verify that audit records can be produced when the system denies or fails to complete attempts to access security objects, such as tables, views, procedures, and functions, such access to include reads, creations, modifications and deletions of data, and execution of logic. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when the system denies attempts to access security objects, such as tables, views, procedures, and functions, such access to include reads, creations, modifications and deletions of data, and execution of logic. If they are not produced, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when other errors prevent attempts to access security object. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when it denies or fails to complete access to security objects, such as tables, views, procedures, and functions. Configure the DBMS to produce audit records when it denies access to security objects, such as tables, views, procedures, and functions, such access to include reads, creations, modifications and deletions of data, and execution of logic. Configure the DBMS to produce audit records when other errors prevent access to security objects, such as tables, views, procedures, and functions, such access to include reads, creations, modifications and deletions of data, and execution of logic.
Review DBMS documentation to verify that audit records can be produced when categories of information are accessed, to include reads, creations, modifications, and deletions. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when categories of information are accessed, to include reads, creations, modifications, and deletions. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when categories of information are accessed. Configure the DBMS to produce audit records when categories of information are accessed, to include reads, creations, modifications, and deletions.
Review DBMS documentation to verify that audit records can be produced when the system denies or fails to complete attempts to access categories of information, such access to include reads, creations, modifications and deletions. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when the system denies attempts to access categories of information, such access to include reads, creations, modifications and deletions. If they are not produced, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when other errors prevent attempts to access categories of information, such access to include reads, creations, modifications and deletions. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when it denies or fails to complete access to categories of information. Configure the DBMS to produce audit records when it denies access to categories of information, such access to include reads, creations, modifications and deletions. Configure the DBMS to produce audit records when other errors prevent access to categories of information, such access to include reads, creations, modifications and deletions.
Review DBMS documentation to verify that audit records can be produced when privileges/permissions/role memberships are added. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when privileges/permissions/role memberships are added. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when privileges/permissions/role memberships are added. Configure the DBMS to produce audit records when privileges/permissions/role memberships are added.
Review DBMS documentation to verify that audit records can be produced when the system denies or fails to complete attempts to add privileges/permissions/role membership. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when the DBMS denies the addition of privileges/permissions/role membership. If they are not produced, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when other errors prevent the addition of privileges/permissions/role membership. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when it denies or fails to complete attempts to add privileges/permissions/role membership. Configure the DBMS to produce audit records when it denies attempts to add privileges/permissions/role membership. Configure the DBMS to produce audit records when other errors prevent attempts to add privileges/permissions/role membership.
If there is no distinction in the DBMS's security architecture between modifying permissions on the one hand, and adding and deleting permissions on the other hand, this is not a finding. Review DBMS documentation to verify that audit records can be produced when privileges/permissions/role memberships are modified. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when privileges/permissions/role memberships are modified. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when privileges/permissions/role memberships are modified. Configure the DBMS to produce audit records when privileges/permissions/role memberships are modified.
If there is no distinction in the DBMS's security architecture between modifying permissions on the one hand, and adding and deleting permissions on the other hand, this is not a finding. Review DBMS documentation to verify that audit records can be produced when the system denies or fails to complete attempts to modify privileges/permissions/role membership. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when the system denies attempts to modify privileges/permissions/role membership. If they are not produced, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when other errors prevent attempts to modify privileges/permissions/role membership. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when it denies or fails to complete attempts to modify privileges/permissions/role membership. Configure the DBMS to produce audit records when it denies attempts to modify privileges/permissions/role membership. Configure the DBMS to produce audit records when other errors prevent attempts to modify privileges/permissions/role membership.
If the DBMS architecture makes it impossible for any user, even with the highest privileges, to modify the structure and logic of its built-in security objects, and if there are no additional, locally-defined security objects in the database(s), this is not a finding. Review DBMS documentation to verify that audit records can be produced when security objects are modified. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when security objects are modified. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when security objects, such as tables, views, procedures, and functions, are modified. Configure the DBMS to produce audit records when security objects, such as tables, views, procedures, and functions, are modified.
If the DBMS architecture makes it impossible for any user, even with the highest privileges, to modify the structure and logic of its built-in security objects, and if there are no additional, locally-defined security objects in the database(s), this is not a finding. Review DBMS documentation to verify that audit records can be produced when the system denies or fails to complete attempts to modify security objects. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when the system denies attempts to modify security objects. If they are not produced, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when other errors prevent attempts to modify security objects. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when it denies or fails to complete attempts to modify security objects, such as tables, views, procedures, and functions. Configure the DBMS to produce audit records when it denies attempts to modify security objects, to include reads, creations, modifications, and deletions. Configure the DBMS to produce audit records when other errors prevent attempts to modify security objects, to include reads, creations, modifications, and deletions.
Review DBMS documentation to verify that audit records can be produced when categories of information are modified. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when categories of information are modified. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when categories of information are modified. Configure the DBMS to produce audit records when categories of information are modified.
Review DBMS documentation to verify that audit records can be produced when the system denies or fails to complete attempts to modify categories of information. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when the system denies attempts to modify categories of information. If they are not produced, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when other errors prevent attempts to modify categories of information. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when it denies or fails to complete modification of categories of information. Configure the DBMS to produce audit records when it denies modification of categories of information. Configure the DBMS to produce audit records when other errors prevent modification of categories of information.
Review DBMS documentation to verify that audit records can be produced when privileges/permissions/role memberships are removed, revoked, or denied to any user or role. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when privileges/permissions/role memberships are removed, revoked, or denied to any user or role. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when privileges/permissions/role memberships are removed, revoked, or denied to any user or role. Configure DBMS audit settings to generate an audit record when privileges/permissions/role memberships are removed, revoked, or denied to any user or role.
Review DBMS documentation to verify that audit records can be produced when the system denies or fails to complete attempts remove, revoke, or deny privileges/permissions/role membership to any user or role. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when the system denies attempts to remove, revoke, or deny privileges/permissions/role membership to any user or role. If they are not produced, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when other errors prevent attempts to remove, revoke, or deny privileges/permissions/role membership to any user or role. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when it denies or fails to complete attempts to remove, revoke, or deny privileges/permissions/role membership to any user or role. Configure the DBMS to produce audit records when it denies attempts to remove, revoke, or deny privileges/permissions/role membership to any user or role. Configure the DBMS to produce audit records when other errors prevent attempts to remove, revoke, or deny privileges/permissions/role membership to any user or role.
If the DBMS architecture makes it impossible for any user, even with the highest privileges, to drop its built-in security objects, and if there are no additional, locally-defined security objects in the database(s), this is not a finding. Review DBMS documentation to verify that audit records can be produced when security objects are drop. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when security objects are drop. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when security objects are deleted. Configure the DBMS to produce audit records when security objects are deleted.
If the DBMS architecture makes it impossible for any user, even with the highest privileges, to drop its built-in security objects, and if there are no additional, locally-defined security objects in the database(s), this is not a finding. Review DBMS documentation to verify that audit records can be produced when the system denies or fails to complete attempts to drop security objects. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when the system denies attempts to drop security objects. If they are not produced, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when other errors prevent attempts to drop security objects. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when it denies or fails to complete attempts to delete security objects. Configure the DBMS to produce audit records when it denies attempts to delete security objects. Configure the DBMS to produce audit records when other errors prevent attempts to delete security objects.
Review DBMS documentation to verify that audit records can be produced when categories of information are deleted. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when categories of information are deleted. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when categories of information are deleted. Configure the DBMS to produce audit records when categories of information are deleted.
Review DBMS documentation to verify that audit records can be produced when the system denies or fails to complete attempts to delete categories of information. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when the system denies attempts to delete categories of information. If they are not produced, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when other errors prevent attempts to delete categories of information. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when it denies or fails to complete deletion of categories of information. Configure the DBMS to produce audit records when it denies deletion of categories of information. Configure the DBMS to produce audit records when other errors prevent deletion of categories of information.
Review the DBMS audit settings. If an audit record is not generated each time a user (or other principal) logs on or connects to the DBMS, this is a finding.
Configure DBMS audit settings to generate an audit record each time a user (or other principal) logs on or connects to the DBMS. Ensure that the audit record contains the time of the event, the user ID, and session identifier.
Review the DBMS audit settings. If an audit record is not generated each time a user (or other principal) attempts but fails to log on or connect to the DBMS (including attempts where the user ID is invalid/unknown), this is a finding.
Configure DBMS audit settings to generate an audit record each time a user (or other principal) attempts but fails to log on or connect to the DBMS. Include attempts where the user ID is invalid/unknown. Ensure that the audit record contains the time of the event and the user ID that was entered (if any).
Review DBMS documentation to verify that authorized administrative users can designate actions as privileged and that audit records can be produced when privileged actions occur. If the DBMS is not capable of this, this is a finding. Review the system documentation to obtain the definition of the database/DBMS functionality considered privileged in the context of the system in question. Review the DBMS/database security and audit configurations and/or other means used to implement audit logging. If audit logging covers at least all of the actions defined as privileged, this is not a finding; otherwise, this is a finding.
Deploy a DBMS capable of producing the required audit records when privileged actions occur. Configure the DBMS to produce audit records when privileged actions occur.
Review DBMS documentation to verify that authorized administrative users can designate actions as privileged and that audit records can be produced when the DBMS prevents attempted privileged actions. If the DBMS is not capable of this, this is a finding. Review the DBMS/database security and audit configurations to verify that audit records are produced when the DBMS prevents attempted privileged actions. If they are not produced, this is a finding.
Deploy a DBMS capable of producing the required audit records when the DBMS prevents attempted privileged action. Configure the DBMS to produce audit records when the DBMS prevents attempted privileged actions.
Review the DBMS audit settings. If an audit record is not generated each time a user (or other principal) logs off or disconnects from the DBMS voluntarily, or forced by the system, or because of connection or other failure, this is a finding.
Configure DBMS audit settings to generate an audit record each time a user (or other principal) logs off or disconnects, whether voluntarily or forced by the system, or because of connection or other failure, from the DBMS. Ensure that the audit record contains the time of the event, the user ID, and session identifier.
Review the DBMS audit settings. If the fact of multiple, concurrent logons by a given user (or other principal) can be reliably reconstructed from the log entries for other events, then this is not a finding. If an audit record is not generated each time a user (or other principal) who is already connected to the DBMS logs on or connects to the DBMS from a different workstation, this is a finding.
Configure DBMS audit settings to generate an audit record each time a user (or other principal) who is already connected to the DBMS logs on or connects to the DBMS from a different workstation.
Review DBMS documentation to verify that administrative users can specify database objects for which access must be audited and can specify which kinds of access must be audited. If the DBMS is not capable of this, this is a finding. Review system documentation to determine whether the application owner has specified database objects (tables, views, procedures, functions, etc.) for which access must be audited. Review the DBMS/database security and audit settings to verify that the specified access to the specified objects is audited. If not, this is a finding.
Deploy a DBMS capable of producing the required audit records when object access occurs. Configure audit settings to create audit records when the specified access to the specified objects occurs.
Review DBMS documentation to verify that administrative users can specify database objects for which access must be audited, and can specify which kinds of access must be audited. If the DBMS is not capable of this, this is a finding. Review DBMS documentation to determine whether the application owner has specified database objects (tables, views, procedures, functions, etc.) for which access must be audited. Review the DBMS/database security and audit settings to verify that audit records are created for unsuccessful attempts at the specified access to the specified objects. If not, this is a finding.
Deploy a DBMS capable of producing the required audit records when object access occurs. Configure audit settings to create audit records when the specified access to the specified objects is unsuccessfully attempted.
If the DBMS does not generate audit records for all direct access to the database(s), this is a finding.
Configure the DBMS to generate audit records for all direct access to the database(s).
If the DBMS does not employ NIST FIPS 140-2 or 140-3 validated cryptographic modules to provision digital signatures, this is a finding.
Implement NIST FIPS 140-2 or 140-3 validated cryptographic modules to provision digital signatures.
If the DBMS does not employ NIST FIPS 140-2 or 140-3 validated cryptographic modules to generate and verify cryptographic hashes, this is a finding.
Implement a NIST FIPS 140-2 or 140-3 validated cryptographic module in the DBMS for generation and verification of cryptographic hashes.
If the DBMS does not employ NIST FIPS 140-2 or 140-3 validated cryptographic modules to generate and verify cryptographic hashes, this is a finding.
Implement NIST FIPS 140-2 or 140-3 validated cryptographic modules to provide cryptographic protection for the unclassified information that requires it.
Review the system documentation for a description of how audit records are off-loaded. If the DBMS has a continuous network connection to the centralized log management system, but the DBMS audit records are not written directly to the centralized log management system or transferred in near-real-time, this is a finding. If the DBMS does not have a continuous network connection to the centralized log management system, and the DBMS audit records are not transferred to the centralized log management system weekly or more often, this is a finding.
Configure the DBMS or deploy and configure software tools to transfer audit records to a centralized log management system, continuously and in near-real time where a continuous network connection to the log management system exists, or at least weekly in the absence of such a connection.
Review the DBMS documentation and configuration to determine if the DBMS is configured in accordance with DoD security configuration and implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs and IAVMs. If the DBMS is not configured in accordance with security configuration settings, this is a finding.
Configure the DBMS in accordance with DoD security configuration and implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs and IAVMs.
If the DBMS is deployed in an unclassified environment, this is not applicable (NA). If the DBMS is not configured to use NSA-approved cryptography to protect classified information in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards, this is a finding.
Deploy a DBMS compatible with the use of NSA-approved cryptography. Configure the DBMS and related system components to use NSA-approved cryptography to protect classified information in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards.
Verify the DBMS is configured to disable accounts when the accounts have expired. If the DBMS is not configured to disable accounts when the accounts have expired, this is a finding.
Configure the DBMS to disable accounts when the accounts have expired.
Verify the DBMS is configured to disable accounts when the accounts are no longer associated to a user. If the DBMS is not configured to disable accounts when the accounts are no longer associated to a user, this is a finding.
Configure the DBMS to disable accounts when the accounts are no longer associated to a user.
Verify the DBMS is configured to implement the capability to centrally review and analyze audit records from multiple components within the system. If the DBMS is not configured to implement the capability to centrally review and analyze audit records from multiple components within the system, this is a finding.
Configure the DBMS to implement the capability to centrally review and analyze audit records from multiple components within the system.
Verify the DBMS is configured to alert organization-defined personnel or roles upon detection of unauthorized access, modification, or deletion of audit information. If the DBMS is not configured to alert organization-defined personnel or roles upon detection of unauthorized access, modification, or deletion of audit information, this is a finding.
Configure the DBMS to alert organization-defined personnel or roles upon detection of unauthorized access, modification, or deletion of audit information.
Verify the DBMS is configured to prevent the installation of organization-defined software and firmware components without verification that the component has been digitally signed using a certificate recognized and approved by the organization. If the DBMS is not configured to prevent the installation of organization-defined software and firmware components without verification that the component has been digitally signed using a certificate that is recognized and approved by the organization, this is a finding.
Configure the DBMS to prevent the installation of organization-defined software and firmware components without verification that the component has been digitally signed using a certificate that is recognized and approved by the organization.
Verify the DBMS is configured to require users to be individually authenticated before granting access to the shared accounts or resources. If the DBMS is not configured to require users to be individually authenticated before granting access to the shared accounts or resources, this is a finding.
Configure the DBMS to require users to be individually authenticated before granting access to the shared accounts or resources.
Verify the DBMS is configured to implement multifactor authentication for local; network; and/or remote access to privileged accounts; and/or nonprivileged accounts such that one of the factors is provided by a device separate from the system gaining access. If the DBMS is not configured to implement multifactor authentication for local; network; and/or remote access to privileged accounts; and/or nonprivileged accounts such that one of the factors is provided by a device separate from the system gaining access, this is a finding.
Configure the DBMS to implement multifactor authentication for local; network; and/or remote access to privileged accounts; and/or nonprivileged accounts such that one of the factors is provided by a device separate from the system gaining access.
Verify the DBMS is configured to implement multifactor authentication for local; network; and/or remote access to privileged accounts; and/or nonprivileged accounts such that the device meets organization-defined strength of mechanism requirements. If the DBMS is not configured to implement multifactor authentication for local; network; and/or remote access to privileged accounts; and/or nonprivileged accounts such that the device meets organization-defined strength of mechanism requirements, this is a finding.
Configure the DBMS to implement multifactor authentication for local; network; and/or remote access to privileged accounts; and/or nonprivileged accounts such that the device meets organization-defined strength of mechanism requirements.
Verify the DBMS is configured to maintain a list of commonly used, expected, or compromised passwords on an organization-defined frequency. If the DBMS is not configured to maintain a list of commonly used, expected, or compromised passwords on an organization-defined frequency, this is a finding.
Configure the DBMS to maintain a list of commonly used, expected, or compromised passwords on an organization-defined frequency.
Verify the DBMS is configured to update the list of passwords on an organization-defined frequency. If the DBMS is not configured to update the list of passwords on an organization-defined frequency, this is a finding.
Configure the DBMS to update the list of passwords on an organization-defined frequency.
Verify the DBMS is configured to update the list of passwords when organizational passwords are suspected to have been compromised directly or indirectly. If the DBMS is not configured to update the list of passwords when organizational passwords are suspected to have been compromised directly or indirectly, this is a finding.
Configure the DBMS to update the list of passwords when organizational passwords are suspected to have been compromised directly or indirectly.
Verify the DBMS is configured to verify when users create or update passwords, that the passwords are not found on the list of commonly-used, expected, or compromised passwords in IA-5 (1) (a). If the DBMS is not configured to verify when users create or update passwords, that the passwords are not found on the list of commonly-used, expected, or compromised passwords in IA-5 (1) (a), this is a finding.
Configure the DBMS to verify when users create or update passwords, that the passwords are not found on the list of commonly-used, expected, or compromised passwords in IA-5 (1) (a).
Verify the DBMS is configured to require immediate selection of a new password upon account recovery. If the DBMS is not configured to require immediate selection of a new password upon account recovery, this is a finding.
Configure the DBMS to require immediate selection of a new password upon account recovery.
Verify the DBMS is configured to allow user selection of long passwords and passphrases, including spaces and all printable characters. If the DBMS is not configured to allow user selection of long passwords and passphrases, including spaces and all printable characters, this is a finding.
Configure the DBMS to allow user selection of long passwords and passphrases, including spaces and all printable characters.
Verify the DBMS is configured to employ automated tools to assist the user in selecting strong password authenticators. If the DBMS is not configured to employ automated tools to assist the user in selecting strong password authenticators, this is a finding.
Configure the DBMS to employ automated tools to assist the user in selecting strong password authenticators.
Verify the DBMS is configured to implement a local cache of revocation data to support path discovery and validation. If the DBMS is not configured to implement a local cache of revocation data to support path discovery and validation, this is a finding.
Configure the DBMS to implement a local cache of revocation data to support path discovery and validation.
Verify the DBMS is configured to protect nonlocal maintenance sessions by separating the maintenance session from other network sessions with the system by logically separated communications paths. If the DBMS is not configured to protect nonlocal maintenance sessions by separating the maintenance session from other network sessions with the system by logically separated communications paths, this is a finding.
Configure the DBMS to protect nonlocal maintenance sessions by separating the maintenance session from other network sessions with the system by logically separated communications paths.
Verify the DBMS is configured to include only approved trust anchors in trust stores or certificate stores managed by the organization. If the DBMS is not configured to include only approved trust anchors in trust stores or certificate stores managed by the organization, this is a finding.
Configure the DBMS to include only approved trust anchors in trust stores or certificate stores managed by the organization.
Verify the DBMS is configured to provide protected storage for cryptographic keys with organization-defined safeguards and/or hardware protected key store. If the DBMS is not configured to provide protected storage for cryptographic keys with organization-defined safeguards and/or hardware protected key store, this is a finding.
Configure the DBMS to provide protected storage for cryptographic keys with organization-defined safeguards and/or hardware protected key store.
Verify the DBMS is configured to synchronize system clocks within and between systems or system components. If the DBMS is not configured to synchronize system clocks within and between systems or system components, this is a finding.
Configure the DBMS to synchronize system clocks within and between systems or system components.
Verify the DBMS is configured to compare the internal system clocks on an organization-defined frequency with organization-defined authoritative time source. If the DBMS is not configured to compare the internal system clocks on an organization-defined frequency with organization-defined authoritative time source, this is a finding.
Configure the DBMS to compare the internal system clocks on an organization-defined frequency with organization-defined authoritative time source.
(DBMS Product, Version) is no longer supported by the vendor. If the system is running (DBMS Product, Version), this is a finding.
Upgrade unsupported DBMS or unsupported components to a supported version of the product.