auditree-arboretum icon indicating copy to clipboard operation
auditree-arboretum copied to clipboard

new feature: check for compliance operator result

Open tmishina opened this issue 4 years ago • 4 comments

Overview

Compliance Operator is a tool to validate that a cluster infrastructure complies with standard such as NIST SP 800-53, HIPAA or CIS Benchmark. It performs openscap command, and the command generates result report in XML format. Compliance Operator embeds the reoprt into .spec.data of a ConfigMap resource in the cluster, and therefore a consumer of the validation result needs to parse the XML data in the ConfigMap resource to show the details of the validation result.

This issue focuses on a check which generates a report by analyzing the XML report of Compliance Operator stored in a ConfigMap resource.

Requirements

  • The check should generate a report showing compliance state of each control (identified by control ID) specified in an auditree config file linked with actual validation result (identified by XCCDF ID)
    • for example, a cluster infrastructure complies with NIST SP 800-53 control CA-3(5) if all of the following tests are PASS: xccdf_org.ssgproject.content_rule_set_firewalld_default_zone, xccdf_org.ssgproject.content_rule_configure_firewalld_ports

Approach

The check consumes ConfigMap resources fetched by cluster resource fetcher. The check extracts XML data from the ConfigMap resources, and then parses the XML to enumerate the result of each XCCDF test. Finally, the check decides whether a control is compliant or not by mapping the XCCDF results in XML to the control specified in an auditree config.

Security and Privacy

TBD

Test Plan

The test will be done against one public cluster service both for vanilla kube logic and public cloud logic.

tmishina avatar Aug 06 '20 13:08 tmishina