To populate the AWS data viewed in this page, you must configure an integration with at least one AWS account. For more information, see Lacework for AWS.
While the Compliance Dashboard provides a great overview of your accounts and resources, the Compliance Reports page is where data is presented to help you take action. The Compliance Reports page provides you with the ability to drill-down into details about your security posture such as rule recommendations and the associated non-compliance resources that are in violation.
To navigate to the AWS Compliance Reports page, select AWS > Compliance Reportsin the Lacework Console. The following drop-downs control the output displayed in the compliance report page:
- Report Date
The Report Type drop-down controls the type of report or benchmark to report on such as the CIS Benchmark and S3 Report, the HIPAA Report, the NIST 800-53 Rev4 Report, the PCI DSS Report or the SOC 2 Report.
The Account drop-down and text field controls the account to report on. You can use the Account drop-down to select a specific account or you can start entering text in this field to start immediately searching by account number or account alias.
The Report Date drop-down and text field controls what compliance report run to report on. By default, the latest report is selected and displayed. You can use the Report Date drop-down to select a specific report run or you can start entering text in this field to start immediately searching for a report run, such as entering 2/ to find all the reports in February. These reports can be useful to review specified points in time which can correlate back to your security posture at the provided date/time.
After you have specified a Report Type, Account, and Report Date, the corresponding compliance assessment data is displayed on the reports page. A graph is displayed that outlines the number of non-compliant recommendations by severity. A count of non-compliant recommendations with the correlated number of assessed and suppressed is also reported. In addition, a count of non-compliant resources with the correlated number of assessed and suppressed is reported. This data helps to identify if you are assessing by recommendation or resource.
Below the visual graph and compliance report calculations is a Recommendation Status drop-down filter that can be used to limit the output of the compliance report page by compliance status, for example, selecting Non-Compliant limits the result to only those recommendations that are determined to be not compliant when the selected compliance assessment run occurred. Each compliance assessment run is a snapshot in time, for example, the LW_S3_16 - Ensure the S3 bucket has versioning enabled recommendation could be non-compliant in the first assessment run but in the next assessment run, the status is compliant because someone turned on versioning for the S3 bucket between the two runs. By default, the Recommendation Status drop-down is set to view All, however, you can select one of the following recommendation status filter options: Non-Compliant, Compliant, Suppressed, Manual or Could Not Assess. For a description of these status states, see below.
To the right of the Recommendation Status drop-down, are RECOMMENDATION SEVERITY checkboxes. When selected, these checkboxes filter limits the recommendations reported on the page by severity, for example, if only the CRITICAL checkbox is selected, only the critical recommendations are listed.
Click the Download PDF icon to initiate a download of the currently open Compliance Report in PDF format.
Click the Download CSV icon to initiate a download report data about the currently open Compliance Report in the CSV (Comma-Separated Value) format. The CSV file can be used to import the report data into other tools such as spreadsheets or databases.
Both these options are useful for providing reports to others in your organization that are responsible for remediating the non-compliant resources in violation.
Lacework runs a complete compliance assessment run for all accounts on a regular schedule, typically once a day. To immediately initiate a compliance assessment run for a single account, which occurs outside the regular schedule, click the Run a new report icon. PENDING displays next to the icon. The assessment may take a few minutes to run. After the assessment completes, PENDING stops displaying.
You can also verify that an assessment run for a single account is complete by looking at the drop-down options available under Report Date. The newest drop-down assessment run is the top Report Date drop-down item and is labeled with (Latest).
NOTE: Due to underlying AWS behavior, AWS compliance report content for Identity and Access Management can be updated only every four hours. This means IAM assessments retain the same status if a new report is generated within four hours of the latest report. For additional information, see https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_getting-report.html.
The recommendation data presented in the Compliance Report is structured in category tables. For example, if viewing the CIS Benchmark and S3 Report, the following category tables are displayed: S3, Identify and Access Management, Logging, Monitoring, Networking, and Lacework (LW) General Security. In each of these category tables, the data points about recommendations are displayed as the following columns:
- ID—Unique identifier for the recommendation, for example:
- AWS_CIS_1_1 is the ID for the AWS CIS Benchmark 1.1 recommendation
- LW_S3_16 is the ID for the Lacework recommendation that S3 buckets should have versioning enabled
- Recommendation—Description of the recommendation
- Status—Status of the recommendation at the selected report date:
- Non-Compliant—During the assessment that occurred during the selected report run, this recommendation was not in compliance. It was in violation of the recommendation.
- Compliant—During the assessment that occurred during the selected report run, this recommendation was in compliance.
- Suppressed—During the assessment that occurred during the selected report run, this recommendation was completely suppressed. For more information, see ADVANCED SUPPRESSION in AWS Compliance Reports - Using Suppression.
- Manual—There is no way to determine if the recommendation is in compliance and you may want to manually check compliance directly in AWS. For more information, see the remediation provided in Additional Info of the ACTIONS column as described below.
- Could Not Assess—Lacework encountered a problem while attempting to assess this recommendation, for example, maybe the correct privileges have not been granted.
- Severity—Severity of the recommendation: Critical, High, Medium, Low or Info
- Affected—Total number of resources assessed as non-compliant (in violation) for this recommendation
- Assessed—Total number of resources assessed for this recommendation
- Actions—Click the (more) icon, to reveal the following additional functionality:
- Additional Info—Click ? to view additional information/documentation on the recommendation such as a description, rationale, audit, and remediation
- Advanced Suppression—Click Advanced Suppression to optionally configure suppression of this recommendation. For additional information, see AWS Compliance Reports - Using Suppression
To sort by a column, click the column header, for example, if you want to sort the recommendations of a table by severity, click SEVERITY in the column header.
AWS CIS Compliance Benchmarks - Monitoring Sections
CIS Benchmarks are consensus-based configuration guidelines developed by experts in the US government, business, industry, and academia to help organizations assess and improve the security of AWS deployments. They are generally accepted as best practices for security with no specific bearing to regulatory compliance like PCI or HIPAA.
AWS CIS benchmarks for the 3.2-3.14 sections recommend monitoring for critical changes within AWS environments such as disabling or deleting CMKs. The CIS standard further goes to suggest the method for meeting these requirements through the use of an AWS CloudTrail Logs, Amazon CloudWatch alarms, and CloudWatch Events rules in combination within your AWS account to detect and alert on critical changes. This requires a specific filter for each of the events described in the table below and a matching filter for the detection action, across all monitored AWS accounts.
While this was a feasible approach with smaller environments, it adds overhead and does not align well with large environment workflows where Operations and Security teams may be distributed. Also, with newer paradigms like centralized CloudTrail logging, teams can monitor for these changes effectively from single aggregation source vs. distributed implementation. The intent of the monitoring section continues to be valid as a best practice for monitoring critical infrastructure changes, however, the methods suggested may be improved with newer efficiencies.
As an alternative, Lacework continuously monitors for critical infrastructure changes via AWS CloudTrail logs for one or all accounts that have been configured for monitoring, whether this is aggregated to a single CloudTrail account or distributed. Lacework by default implements a series of AWS CloudTrail policy rules that specifically maps to CIS Monitoring to provide similar coverage at an aggregated level, rather than account-by-account, alleviating the need to implement a filter for each AWS account. As this monitoring capability within Lacework’s CloudTrail rules is enabled on a continuous basis, Lacework recommends a manual review of CloudWatch alarms or enable suppressions to the CIS Monitoring section of the AWS CIS compliance report.
The following table maps CIS Compliance benchmark recommendations to Lacework CloudTrail Policies.
|CIS Compliance Benchmark Recommendations||Lacework CloudTrail Policies|
|AWS_CIS_3_2 - Ensure a log metric filter and alarm exist for Management Console sign-in without MFA||LW_CT_IAM_26 - Successful Console Login Without MFA|
|AWS_CIS_3_3 - Ensure a log metric filter and alarm exist for usage of "root" account||LW_CT_IAM_28 - Usage of Root Account|
|AWS_CIS_3_4 - Ensure a log metric filter and alarm exist for IAM policy changes||LW_CT_IAM_14 - IAM Policy Changed|
|AWS_CIS_3_5 - Ensure a log metric filter and alarm exist for CloudTrail configuration changes||LW_CT_CloudTrail_18 - CloudTrail Changed LW_CT_CloudTrail_19 - CloudTrail Stopped LW_CT_CloudTrail_20 - CloudTrail Deleted|
|AWS_CIS_3_6 - Ensure a log metric filter and alarm exist for AWS Management Console authentication failures||LW_CT_IAM_27 - Failed Console Login|
|AWS_CIS_3_7 - Ensure a log metric filter and alarm exist for disabling or scheduled deletion of customer-created CMKs||LW_CT_KMS_23 - Customer Master Key Disabled LW_CT_KMS_25 - Customer Master Key Scheduled For deletion|
|AWS_CIS_3_8 - Ensure a log metric filter and alarm exist for S3 bucket policy changes||LW_CT_S3_12 - S3 Bucket Policy Changed|
|AWS_CIS_3_9 - Ensure a log metric filter and alarm exist for AWS Config configuration changes||LW_CT_AWSConfig_30 - Config Service Change|
|AWS_CIS_3_10 - Ensure a log metric filter and alarm exist for security group changes||LW_CT_VPC_4 - Security Group Change|
|AWS_CIS_3_11 - Ensure a log metric filter and alarm exist for changes to Network Access Control Lists (NACL)||LW_CT_VPC_5 - NACL Change|
|AWS_CIS_3_12 - Ensure a log metric filter and alarm exist for changes to network gateways||LW_CT_VPC_7 - Network Gateway Change|
|AWS_CIS_3_13 - Ensure a log metric filter and alarm exist for route table changes||LW_CT_VPC_9 - Route Table Change|
|AWS_CIS_3_14 - Ensure a log metric filter and alarm exist for VPC changes||LW_CT_VPC_8 - VPN Gateway Change|