Hardening Accomplishments
NIST 800-53 security hardening progress for Telco RAN deployments on OpenShift
Remediation Groups
40Across 4 profiles (E8, CIS, Moderate, PCI-DSS)
Individual Remediations
259Mapped from 578 failing + manual checks
Groups Verified
0 / 40On OCP 5.1
RHCOS Failure Reduction
97%452 → 14 node-level failures
Upstream Contributions
3 PRs6 groups resolved via RHEL/Fedora
OCP Releases Covered
4OCP 5.1, 5.0, 4.22, 4.21
Progress by OCP Version
Scan History
| Date | Version | Passing | Failing | Manual | Content Image | Cluster | |
|---|---|---|---|---|---|---|---|
| 2026-09-08 | 5.1 | 336 | 499 | 79 | k8scontent:v0.1.81 |
cnfdt16-49zwl | |
| 2026-09-04 | 5.1 | 336 | 499 | 79 | k8scontent:v0.1.81 |
cnfdt16-49zwl | |
| 2026-09-02 | 5.0 | 332 | 503 | 79 | k8scontent:v0.1.81 |
cnfdt16-wlc8p | |
| 2026-09-02 | 5.0 | 332 | 503 | 79 | k8scontent:v0.1.81 |
cnfdt16-wlc8p | |
| 2026-08-12 | 5.0 | 336 | 499 | 79 | k8scontent:v0.1.81 |
cnfdt16-wlc8p | |
| 2026-07-21 | 5.0 | 334 | 501 | 79 | k8scontent:v0.1.81 |
cnfdt16-7c6ff | |
| 2026-07-10 | 5.0 | 336 | 499 | 79 | k8scontent:v0.1.81 |
cnfdt16-7c6ff | |
| 2026-07-01 | 4.22 | 334 | 503 | 79 | k8scontent:v0.1.81 |
cnfdt16 | |
| 2026-06-30 | 5.0 | 354 | 481 | 79 | k8scontent:v0.1.81 |
cnfdt16 | |
| 2026-06-22 | 5.0 | 354 | 481 | 79 | k8scontent:95014682ef33 |
cnfdt16 | |
| 2026-06-04 | 4.22 | 339 | 500 | 79 | — | cnfdt16 | |
| 2026-05-05 | 4.22 | 773 | 58 | 79 | — | cnfdt16 | |
| 2026-01-14 | 4.21 | 100 | 78 | 27 | — | cnfdt16 |
Group Status by Version
Scan results for each remediation group across OCP versions. Derived from actual scan data, not tracking status. Hover for details.
All passing Mixed All failing Manual
| Group | Category | Platform | Checks | 5.1 | 5.0 | 4.22 | 4.21 | Note |
|---|---|---|---|---|---|---|---|---|
| H1 | Crypto Policy | RHCOS | 1 | Requires FIPS; systemd unit | ||||
| H2 | PAM Empty Passwords | RHCOS | 1 | Needs custom PAM config | ||||
| H3 | SSHD Empty Passwords | RHCOS | 1 | Hardened in RHCOS 9.8+ | ||||
| M1 | SSHD Configuration | RHCOS | 7 | 5/7 Hardened vanilla RHCOS 9.8 | ||||
| M2 | Kernel Hardening (Sysctl) | RHCOS | 4 | Sysctl MachineConfig needed | ||||
| M3 | Audit Rules - DAC Modifications | RHCOS | 2 | Audit rules MachineConfig | ||||
| M4 | Audit Rules - SELinux | RHCOS | 6 | Audit rules MachineConfig | ||||
| M5 | Audit Rules - Kernel Modules | RHCOS | 3 | Audit rules MachineConfig | ||||
| M6 | Audit Rules - Time Modifications | RHCOS | 5 | Audit rules MachineConfig | ||||
| M7 | Audit Rules - Login Monitoring | RHCOS | 6 | Audit rules MachineConfig | ||||
| M8 | Audit Rules - Network Config | RHCOS | 1 | Audit rules MachineConfig | ||||
| M9 | Auditd Configuration | RHCOS | 1 | Auditd config MachineConfig | ||||
| M10 | API Server Encryption | OCP | 1 | API encryption config | ||||
| M11 | Ingress TLS Ciphers | OCP | 1 | Hardened in OCP 4.22+ | ||||
| M12 | Audit Profile | OCP | 1 | Audit profile API config | ||||
| L1 | SSHD LogLevel | RHCOS | 1 | Hardened in RHCOS 9.8+ | ||||
| L2 | Sysctl dmesg_restrict | RHCOS | 1 | Sysctl MachineConfig needed | ||||
| M13 | Extended DAC Audit | RHCOS | 11 | — | Audit rules MachineConfig | |||
| M14 | Identity File Access Audit | RHCOS | 12 | — | Audit rules MachineConfig | |||
| M15 | File Deletion Audit | RHCOS | 5 | — | Audit rules MachineConfig | |||
| M16 | Unsuccessful File Modification Audit | RHCOS | 32 | — | Audit rules MachineConfig | |||
| M17 | Privileged Commands Audit | RHCOS | 22 | — | Audit rules MachineConfig | |||
| M18 | Session & MAC Audit | RHCOS | 4 | — | Audit rules MachineConfig | |||
| M19 | Usergroup Modification Audit | RHCOS | 5 | — | Audit rules MachineConfig | |||
| M20 | Auditd Data Retention | RHCOS | 4 | — | Auditd retention config | |||
| M21 | Kernel Module Blacklist | RHCOS | 18 | — | Kernel module blacklist | |||
| M22 | Network Sysctl Hardening | RHCOS | 20 | — | Network sysctl hardening | |||
| M23 | Kernel Sysctl Extended | RHCOS | 3 | — | Kernel sysctl hardening | |||
| M24 | CoreOS Kernel Arguments | RHCOS | 6 | — | Kernel boot arguments | |||
| M25 | Chrony/NTP Configuration | RHCOS | 4 | — | Chrony/NTP site-specific | |||
| M26 | Systemd Hardening | RHCOS | 6 | — | Systemd coredump/ctrl-alt-del | |||
| M27 | SSHD Moderate Extensions | RHCOS | 2 | — | SSHD config MachineConfig | |||
| M28 | USBGuard | RHCOS | 3 | — | USBGuard not on RHCOS | |||
| M29 | System Access Controls | Mixed | 7 | — | Mixed node + platform checks | |||
| M30 | OAuth Configuration | Mixed | 2 | — | OAuth timeout config | |||
| MAN1 | Workload Security | OCP | 19 | Manual review required | ||||
| MAN2 | RBAC & Access Control | OCP | 7 | Manual review required | ||||
| MAN3 | Secrets Management | OCP | 2 | Manual review required | ||||
| MAN4 | Audit Log Partitions | OCP | 5 | Manual review required | ||||
| MAN5 | Hardware/BIOS & Alerting | OCP | 17 | Manual review required |
Upstream Strategy
Resolved Upstream
6Pass on vanilla RHCOS
PRs Open
3Active upstream contributions
RAN-Specific
21Deployed via MachineConfig
Platform Config
4OCP API/CR settings
Upstream Remediation PRs
| Group | Description | Repository | PR | Status |
|---|---|---|---|---|
| H2 | Fix no_empty_passwords remediation for RHCOS 9 | ComplianceAsCode/content | #14602 | Open |
| H2 | Remove nullok from PAM in RHCOS base image | coreos/rhel-coreos-config | #255 | Open |
| M21 | 5 unused filesystem module blacklist (conservative subset of 18) | openshift/os | #1951 | Open |
Upstream Compliance-Operator Changes
12 PRs to ComplianceAsCode/compliance-operator — 11 open, 1 merged
| Title | PR | Status |
|---|---|---|
| Replace panics with error returns in production code | #1203 | Open |
| Propagate context through pkg/utils public API | #1187 | Open |
| Lowercase error strings per Go conventions | #1123 | Open |
| Fix typo in error message: retriving → retrieving | #1122 | Open |
| Remove deprecated GO111MODULE=auto from Makefile | #1121 | Open |
| Replace deprecated io/ioutil with io package | #1120 | Open |
| Rename KubeDepsNotFound to ErrKubeDepsNotFound | #1119 | Open |
| Fix typos in error variable names | #1118 | Open |
| Use strings.EqualFold for case-insensitive comparisons | #1117 | Open |
| Remove unused functions, variables, and struct fields | #1116 | Open |
| Update tutorial readability | #722 | Merged |
| Update repository references from openshift to ComplianceAsCode org | #721 | Open |