CIS Control 8: Audit Log Management
Collect, alert, review, and retain audit logs of events that could help detect, understand, or recover from an attack.
Why is this CIS Control Critical?
Log collection and analysis is critical for an enterprise's ability to detect malicious activity quickly. Sometimes, audit records are the only evidence of a successful attack. Attackers know that many enterprises keep audit logs for compliance purposes but rarely analyze them. Attackers use this knowledge to hide their location, malicious software, and activities on victim machines. Due to poor or nonexistent log analysis processes, attackers sometimes control victim machines for months or years without anyone in the target enterprise knowing.
There are two types of logs that are generally treated and often configured independently: system logs and audit logs. System logs typically provide system-level events that show various system process start/end times, crashes, etc. These are native to systems and take less configuration to turn on. Audit logs typically include user-level events -- when a user logs in, accesses a file, etc. -- and takes more planning and effort to set up.
Logging records are also critical for incident response. After an attack has been detected, log analysis can help enterprises understand the extent of an attack. Complete logging records can show, for example, when and how the attack occurred, what information was accessed, and if data was exfiltrated. Retention of logs is also critical in case a follow-up investigation is required or if an attack remains undetected for a long period of time.
8.1: Establish and Maintain an Audit Log Management Process
Establish and maintain a documented audit log management process that defines the enterprise’s logging requirements. At a minimum, address the collection, review, and retention of audit logs for enterprise assets. Review and update documentation annually, or when significant enterprise changes occur that could impact this Safeguard.
Asset Type | Security Function | Implementation Groups |
---|---|---|
Documentation | Govern | 1, 2, 3 |
Dependencies
- None
Inputs
GV26
: Enterprise's audit log management process- Date of the last review of the audit log management process
Operations
-
Check if
GV26
the audit log management process exists:- If it exists, M1 = 1
- If it does not exist, M1 = 0
-
Review
GV26
for elements of the process and, at a minimum, address the collection, review, and retention of audit logs for enterprise assets:- For each element that exists, assign a value of 1. Sum the values of existing elements. (M2)
- Identify and enumerate vulnerability scanners not properly configured to scan every 30 days or less (M6)
-
Compare the date from Input 2 and the current date. Capture the timeframe in terms of months. (M3)
Measures
- M1 = Output of Operation 1
- M2 = Count of elements included in the audit log management process
- M3 = Timeframe since the last review of the audit log management process
Metrics
- If M1 is 0, this Safeguard receives a failing score. The other metrics don't apply.
- If M3 is greater than twelve, this Safeguard is measured at a 0 and receives a failing score. The other metrics don't apply.
Completeness
Metric | The percentage of elements included in the audit log |
---|---|
Calculation | M2 / 3 |
8.2: Collect Audit Logs
Collect audit logs. Ensure that logging, per the enterprise’s audit log management process, has been enabled across enterprise assets.
Asset Type | Security Function | Implementation Groups |
---|---|---|
Data | Detect | 1, 2, 3 |
Dependencies
- Safeguard 1.1: Establish and Maintain Detailed Enterprise Asset Inventory
- Safeguard 4.1: Establish and Maintain a Secure Configuration Process
- Safeguard 8.1: Establish and Maintain an Audit Log Management Process
Inputs
GV1
: Enterprise asset inventoryGV3
: Configuration standardsGV26
: Enterprise's audit log management process
Operations
-
Use
GV1
to identify and enumerate assets capable of supporting loggingGV27
(M1): -
Use
GV26
andGV3
as guides to determine, for each asset identified in Operation 1, if it is configured to log events as outlined by the enterprise's process- Identify and enumerate assets properly configured to log events per the process (M2)
- Identify and enumerate assets not properly configured to log events per the process (M3)
Measures
- M1 = Count of assets capable of supporting logging
- M2 = Count of properly configured assets to log events per the audit log management process
- M3 = Count of assets not properly configured to log events per the audit log management process
Metrics
Coverage
Metric | The ratio of logging-capable assets properly configured per the audit log management process. |
---|---|
Calculation | M2 / M1 |
8.3: Ensure Adequate Audit Log Storage
Ensure that logging destinations maintain adequate storage to comply with the enterprise’s audit log management process.
Asset Type | Security Function | Implementation Groups |
---|---|---|
Data | Protect | 1, 2, 3 |
Dependencies
- Safeguard 1.1: Establish and Maintain Detailed Enterprise Asset Inventory
Inputs
GV27
: Assets capable of supporting loggingGV26
: Enterprise's audit log management process
Assumptions
- It is assumed that if an asset is properly configured to meet the retention policy, that would include log rotation, maximum storage size, etc.
Operations
-
For each asset in
GV27
, collect the asset's logging configuration. -
Compare the output of Operation 1 and the retention portion of
G26
:-
Identify and enumerate assets configured to comply with the retention portion of the process (M2).
-
Identify and enumerate assets not configured to comply with the retention portion of the process (M3).
-
Measures
- M1 = Count of
GV27
assets capable of supporting logging - M2 = Count of assets properly configured to meet retention requirements
- M3 = Count of assets not properly configured to meet retention requirements
Metrics
Logging Storage Coverage
Metric | The percentage of assets compliant with the organization's logging policy |
---|---|
Calculation | M2 / M1 |
8.4: Standardize Time Synchronization
Standardize time synchronization. Configure at least two synchronized time sources across enterprise assets, where supported.
Asset Type | Security Function | Implementation Groups |
---|---|---|
Data | Protect | 2, 3 |
Dependencies
- Safeguard 1.1: Establish and Maintain Detailed Enterprise Asset Inventory
Inputs
GV27
: Assets capable of supporting logging- List of approved network time sources/NTP servers
Operations
-
Using
GV27
, identify and enumerate assets capable of supporting time synchronization (M1): -
Check the configurations of the assets identified in Operation 1:
- Identify and enumerate the assets configured using at least two approved time sources from Input 2 (M2)
- Identify and enumerate the assets configured using time sources not on the approved list (M3)
- Identify and enumerate the assets not configured using time sources (M4)
Measures
- M1 = Count of logging-capable assets that support time synchronization
- M2 = Count of properly configured assets using at least two approved time sources
- M3 = Count of assets configured using non-approved time sources
- M4 = Count of assets not configured to use time sources
Metrics
NTP Compliance Coverage
Metric | The percentage of assets properly configured with at least two approved synchronized time sources |
---|---|
Calculation | M2 / M1 |
8.5: Collect Detailed Audit Logs
Configure detailed audit logging for enterprise assets containing sensitive data. Include event source, date, username, timestamp, source addresses, destination addresses, and other useful elements that could assist in a forensic investigation.
Asset Type | Security Function | Implementation Groups |
---|---|---|
Data | Detect | 2, 3 |
Dependencies
- Safeguard 1.1: Establish and Maintain Detailed Enterprise Asset Inventory
Inputs
GV18
: Enterprise assets storing, processing, and transmitting sensitive dataGV26
: Enterprise's audit log management processGV3
: Configuration standards
Operations
-
Review
GV26
for detailed logging requirements such as event source, date, username, timestamp, source addresses, and destination addresses.- For each detailed logging requirement included, assign a value of 1. Sum all requirements included. (M2)
-
For each asset in
GV18
check configuration usingGV3
as a guide- Identify and enumerate assets properly configured to collect detailed logging requirements (M3)
- Identify and enumerate assets not properly configured to collect detailed logging requirements (M4)
Measures
- M1 = Count of assets capable of supporting logging
GV27
- M2 = Count of detailed logging requirements included in the log management process
- M3 = Count of assets properly configured to collect detailed logs
- M4 = Count of assets not properly configured to collect detailed logs
Metrics
Completeness of Process
Metric | The percentage of detailed logging requirements included in the logging management process |
---|---|
Calculation | M2 / 6 |
Logging Coverage
Metric | The percentage of assets properly configured to collect detailed logs |
---|---|
Calculation | M3 / M1 |
8.6: Collect DNS Query Audit Logs
Collect DNS query audit logs on enterprise assets, where appropriate and supported.
Asset Type | Security Function | Implementation Groups |
---|---|---|
Data | Detect | 2, 3 |
Dependencies
- Safeguard 1.1: Establish and Maintain Detailed Enterprise Asset Inventory
- Safeguard 4.1: Establish and Maintain a Secure Configuration Process
Inputs
GV1
: Enterprise asset inventoryGV3
: Configuration standards
Assumptions
The enterprise maintains its own internal DNS Servers.
Operations
-
Use Input 1
GV1
to identify and enumerate internal DNS Servers (M1) -
Check the configurations
GV3
of each DNS Server identified in Operation 1- Identify and enumerate DNS servers properly configured to collect logs (M2).
- Identify and enumerate DNS servers not properly configured to collect logs (M3).
Measures
- M1 = Count of internal DNS servers
- M2 = Count of properly configured DNS servers
- M3 = Count of DNS servers not properly configured DNS servers
Metrics
DNS Configuration Coverage
Metric | The percentage of properly configured DNS servers to meet logging requirements |
---|---|
Calculation | M2 / M1 |
8.7: Collect URL Request Audit Logs
Collect URL request audit logs on enterprise assets, where appropriate and supported.
Asset Type | Security Function | Implementation Groups |
---|---|---|
Data | Detect | 2, 3 |
Dependencies
- Safeguard 1.1: Establish and Maintain Detailed Enterprise Asset Inventory
- Safeguard 4.1: Establish and Maintain a Secure Configuration Process
Inputs
GV1
: Enterprise asset inventoryGV3
: Configuration standards
Operations
-
Use
GV1
to identify and enumerate assets that support URL logging (M1) -
For each asset identified in Operation 1, use
GV3
to check configurations for URL logging- Identify and enumerate assets properly configured for logging (M2)
- Identify and enumerate assets not properly configured for logging (M3)
Measures
- M1 = Count of assets capable of supporting URL logging
- M2 = Count of assets properly configured for URL logging
- M3 = Count of assets not properly configured for URL logging
Metrics
Configuration Coverage
Metric | The percentage of assets properly configured for URL logging |
---|---|
Calculation | M2 / M1 |
8.8: Collect Command-Line Audit Logs
Collect command-line audit logs. Example implementations include collecting audit logs from PowerShell®, BASH™, and remote administrative terminals.
Asset Type | Security Function | Implementation Groups |
---|---|---|
Data | Detect | 2, 3 |
Dependencies
- Safeguard 1.1: Establish and Maintain Detailed Enterprise Asset Inventory
- Safeguard 4.1: Establish and Maintain a Secure Configuration Process
Inputs
GV1
: Enterprise asset inventoryGV3
: Configuration standards
Operations
-
Use
GV1
to identify and enumerate assets that support command-line auditing of command shells (M1) -
For each asset identified in Operation 1, use
GV3
to check configurations for command-line auditing of command shells- Identify and enumerate assets properly configured (M2)
- Identify and enumerate assets not properly configured (M3)
Measures
- M1 = Count of assets capable of supporting command-line auditing of command shells
- M2 = Count of assets properly configured for command-line auditing of command shells
- M3 = Count of assets not properly configured for command-line auditing of command shells
Metrics
Configuration Coverage
Metric | The percentage of assets properly configured for command-line auditing of command shells |
---|---|
Calculation | M2 / M1 |
8.9: Centralize Audit Logs
Centralize, to the extent possible, audit log collection and retention across enterprise assets in accordance with the documented audit log management process. Example implementations include leveraging a SIEM tool to centralize multiple log sources.
Asset Type | Security Function | Implementation Groups |
---|---|---|
Data | Detect | 2, 3 |
Dependencies
- Safeguard 1.1: Establish and Maintain Detailed Enterprise Asset Inventory
- Safeguard 2.1: Establish and Maintain a Software Inventory
Inputs
GV27
: Assets capable of supporting loggingGV5
: Authorized software inventory
Operations
-
Use the software inventory
GV5
to identify and enumerate log aggregating softwareGV28
-
For each asset capable of supporting logging, check if asset is covered by at least one log aggregating software
- Identify and enumerate assets covered by at least one aggregating software (M2)
- Identify and enumerate assets not covered by at least one aggregating software (M3)
Measures
- M1 = Count of
GV27
- M2 = Count of assets covered by at least one aggregating software
- M3 = Count of assets not covered by at least one aggregating software
Metrics
Log Aggregating
Metric | The percentage of log-producing assets covered by aggregating software |
---|---|
Calculation | M2 / M1 |
8.10: Retain Audit Logs
Retain audit logs across enterprise assets for a minimum of 90 days.
Asset Type | Security Function | Implementation Groups |
---|---|---|
Data | Protect | 2, 3 |
Dependencies
- Safeguard 4.1: Establish and Maintain a Secure Configuration Process
- Safeguard 8.9: Centralize Audit Logs
Inputs
GV28
: Log aggregating softwareGV3
: Configuration standards
Operations
-
For each log aggregating software
GV28
useGV3
to check configuration standards- Identify and enumerate aggregating software configured to retain logs for 90 days or more (M2)
- Identify and enumerate aggregating software configured to retain logs for less than 90 days (M3)
Measures
- M1 = Count of log aggregating software
GV28
- M2 = Count of aggregating software properly configured to retain logs for 90 days or more
- M3 = Count of aggregating software configured to retain logs for less than 90 days
Metrics
Compliance
Metric | The percentage of aggregating software properly configured to retain logs for 90 days or more |
---|---|
Calculation | M2 / M1 |
8.11: Conduct Audit Log Reviews
Conduct reviews of audit logs to detect anomalies or abnormal events that could indicate a potential threat. Conduct reviews on a weekly, or more frequent, basis.
Asset Type | Security Function | Implementation Groups |
---|---|---|
Data | Detect | 2, 3 |
Dependencies
- None
Inputs
- Timestamp for two consecutive log reviews
Assumptions
Log reviews are conducted at regular and consistent intervals
Operations
- Compare each timestamp to determine the timeframe between log reviews in days (M1)
Measures
- M1 = Timeframe between log reviews
Metrics
- If M1 is greater than seven, this Safeguard is measured at a 0 and receives a failing score.
8.12: Collect Service Provider Logs
Collect service provider logs, where supported. Example implementations include collecting authentication and authorization events, data creation and disposal events, and user management events.
Asset Type | Security Function | Implementation Groups |
---|---|---|
Data | Detect | 3 |
Dependencies
- Safeguard 4.1: Establish and Maintain a Secure Configuration Process
- Safeguard 15.1: Establish and Maintain an Inventory of Service Providers
Inputs
GV29
: Inventory of service providersGV3
: Configuration standard
Operations
-
For each service provided in
GV29
identify and enumerate service providers that support logging (M1) -
Use service provider identified in Operation 1, use
GV3
to check configurations- Identify and enumerate service providers properly configured to collect logs (M2)
- Identify and enumerate service providers not properly configured to collect logs (M3)
Measures
- M1 = Count of service providers that support logging
- M2 = Count of service providers configured to collect logs
- M3 = Count of service providers not configured to collect logs
Metrics
Coverage
Metric | The percentage of service providers properly configured to collect logs |
---|---|
Calculation | M2 / M1 |