Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMP-2462: PCI-DSS v4 Requirement 10 #12272

Merged
merged 11 commits into from
Aug 8, 2024

Conversation

yuumasato
Copy link
Member

  • Requirement 10.1 is not applicable
  • Requirement 10.2 is inherently met
  • Requirement 10.3 is partially met
    Long term audit storing requires a third party storage that needs to be configured manually.
  • Requirement 10.4 manual or not applicable
    Reviewing audit logs requires a third party software, for example a SIEM.
  • Requirement 10.5 is supported
    To handle long term storage of audit logs a third party application is required.
  • Requirement 10.6 is supported
    NTP configuration is done at the node level.
  • Requirement 10.7 is partial
    Handling system component failures is a manual activity, but reporting can be automated.

OpenShift provides sufficient protection for its audit log events.
However, long term audit storing requires a third party storage that
needs to be configured manually.
Reviewing audit logs requires a third party software, for example an
SIEM.
By defualt OpenShift is configured to retain logs for a short period of
time. To handle long term storage of audit logs a third party
application is required.
NTP configuration is done at the node level, and support for an RHCOS4
PCI-DSS v4 profile will come at a later time.
Handling and answering to system component failures is a manual
activity. Reporting can be somehow automated, and that is why this
control is partial.
@yuumasato yuumasato requested review from Vincent056 and rhmdnd August 6, 2024 16:20
@yuumasato yuumasato added the OpenShift OpenShift product related. label Aug 6, 2024
@yuumasato yuumasato added this to the 0.1.75 milestone Aug 6, 2024
Copy link

github-actions bot commented Aug 6, 2024

Start a new ephemeral environment with changes proposed in this pull request:

Fedora Environment
Open in Gitpod

Oracle Linux 8 Environment
Open in Gitpod

rules: []
status: partial
rules:
# TODO: Add FIO config to allow /var/log/... to extend in size but monitor perms.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea. We could track this as an issue or bug against FIO directly.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was actually extracted from the 3.2.1 version, 😬

controls/pcidss_4_ocp4.yml Outdated Show resolved Hide resolved
Copy link

github-actions bot commented Aug 6, 2024

🤖 A k8s content image for this PR is available at:
ghcr.io/complianceascode/k8scontent:12272
This image was built from commit: 311e329

Click here to see how to deploy it

If you alread have Compliance Operator deployed:
utils/build_ds_container.py -i ghcr.io/complianceascode/k8scontent:12272

Otherwise deploy the content and operator together by checking out ComplianceAsCode/compliance-operator and:
CONTENT_IMAGE=ghcr.io/complianceascode/k8scontent:12272 make deploy-local

controls/pcidss_4_ocp4.yml Outdated Show resolved Hide resolved
controls/pcidss_4_ocp4.yml Outdated Show resolved Hide resolved
controls/pcidss_4_ocp4.yml Outdated Show resolved Hide resolved
Copy link
Collaborator

@rhmdnd rhmdnd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, I only have minor nits and questions.

My nits can be addressed in a follow up, or in a subsequent update to this PR only if you need to respin for something else.

@rhmdnd rhmdnd added the pci-dss label Aug 6, 2024
rules: []
related_rules:
Copy link
Collaborator

@xiaojiey xiaojiey Aug 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure If below rules related. They are rhcos rules.

  • service_chronyd_enabled
  • service_chronyd_or_ntpd_enable
    By the way, chronyd_specify_remote_server is also a rchos rule.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added service_chronyd_enabled.
service_chronyd_or_ntpd_enable is very similar andchronyd_specify_remote_server was already there.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potentially, but we've broken the work up into pieces with the profiles so we can deliver some value with the OpenShift profiles initially.

Copy link

codeclimate bot commented Aug 7, 2024

Code Climate has analyzed commit 311e329 and detected 0 issues on this pull request.

The test coverage on the diff in this pull request is 100.0% (50% is the threshold).

This pull request will bring the total coverage in the repository to 59.4% (0.0% change).

View more on Code Climate.

Copy link
Collaborator

@rhmdnd rhmdnd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@xiaojiey
Copy link
Collaborator

xiaojiey commented Aug 8, 2024

/lgtm

related_rules:
- service_chronyd_enabled
- var_multiple_time_servers=generic
- chronyd_specify_remote_server
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to remove service_chronyd_enabled and chronyd_specify_remote_server var_multiple_time_servers, since they are in the linux folder

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are under the related_rules key so they shouldn't get generated in the final datastream:

The build system adds all XCCDF rules listed under rules key in the control to the built profile. The rules listed under related_rules key are not added. Therefore, the related_rules don’t affect the generated source data stream. Also, the selections from selection key in profile file are included.

https://complianceascode.readthedocs.io/en/latest/manual/developer/03_creating_content.html#using-controls-in-profiles

These will make it easier though if/when we build out an RHCOS4 profile.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for the clarification.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I missed that part, thanks for pointing it out!

- audit_rules_time_clock_settime
- audit_rules_time_stime
- audit_rules_time_adjtimex
- chronyd_run_as_chrony_user
Copy link
Contributor

@Vincent056 Vincent056 Aug 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar comment as above. I think Yuuma is just putting these here so that we can bootstrap them in an RHCOS4 profile eventually, without affecting the actual OpenShift profiles.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, 😀
As I went through the 3.2.1 profile and searched through the rules, I added notable rules that can be useful for RHCOS 4 profile.

Copy link
Contributor

@Vincent056 Vincent056 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/hold

@openshift-ci openshift-ci bot added the do-not-merge/hold Used by openshift-ci-robot bot. label Aug 8, 2024
@Vincent056 Vincent056 removed the do-not-merge/hold Used by openshift-ci-robot bot. label Aug 8, 2024
Copy link
Contributor

@Vincent056 Vincent056 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@rhmdnd rhmdnd merged commit 22ee764 into ComplianceAsCode:master Aug 8, 2024
97 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OpenShift OpenShift product related. pci-dss
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants