Skip to main content

Security / Compliance Learning Path

Purpose: For security and compliance reviewers, provides a guided reading order covering controls, policies, audit evidence, and secrets management.

Reading Order

#PhaseTopicLinkTime
1OverviewPlatform architectureArchitecture10 min
2OverviewSecurity architecture (5-layer model)Security Arch10 min
3DefenseDefense in depthDefense15 min
4DefensePod Security Admission (baseline enforce, restricted audit)PSA10 min
5DefenseNetwork policies (FluxCD, OLM isolation)Network Policies10 min
6PolicyKyverno policy catalog (17 ClusterPolicies)Kyverno15 min
7PolicyEdition-specific policy packsEditions5 min
8SecretsSOPS Age encryption modelSecrets10 min
9SecretsSOPS configuration & usageSOPS15 min
10SecretsKey rotation (90-day Age, 180-day SSH)Rotation10 min
11IdentityKeycloak OIDC integrationKeycloak15 min
12IdentityRBAC Manager (RBACDefinition CRs)RBAC10 min
13AuditAudit evidence collectionAudit15 min
14ComplianceCompliance mappings (NIST, PCI-DSS, SOC2)Mappings10 min
15Air-gapAir-gap compliance (Zarf + SBOM + Cosign)Airgap15 min
16Supply ChainContainer image security & SBOMImage Security15 min
17Supply ChainHarbor registry scanningHarbor10 min
18AdvisoriesSecurity advisories processAdvisories10 min

Security Controls Summary

Layer 1: Cluster Security (CLI + Kubespray)

  • Pod Security Admission: baseline enforcement, restricted audit/warn
  • Admission controllers: PodSecurity, EventRateLimit, AlwaysPullImages
  • Audit logging and encryption at rest
  • Configured via k8s_hardening.yml generated by opencenter cluster generate

Layer 2: Platform Security (gitops-base + FluxCD)

  • 17 Kyverno ClusterPolicies (disallow-privileged-containers, require-run-as-nonroot, restrict-seccomp, etc.)
  • NetworkPolicies for platform services (FluxCD, OLM)
  • Hardened Helm values for all services

Layer 3: Secrets Management (CLI + SOPS)

  • SOPS Age encryption for all secrets in Git
  • 90-day Age key rotation, 180-day SSH key rotation
  • Dual-key strategy for zero-downtime rotation
  • CLI commands: opencenter secrets keys check, rotate, validate, sync

Layer 4: Access Control (Keycloak + RBAC Manager)

  • Keycloak OIDC for authentication
  • RBAC Manager converts RBACDefinition CRs to RoleBindings
  • Default policies: cluster-admins, viewers
  • Headlamp and Grafana integrate via OIDC

Layer 5: Supply Chain (Harbor + openCenter-AirGap)

  • Harbor for registry scanning and vulnerability detection
  • openCenter-AirGap produces SBOM and Cosign signatures
  • hack/scripts/verify-package.sh enforces no :latest tags, no HIGH/CRITICAL CVEs

CLI Security Commands

opencenter secrets keys check # Monitor key expiration
opencenter secrets keys rotate --type sops # Rotate Age keys
opencenter secrets validate my-cluster # Detect secret drift
opencenter secrets sync my-cluster # Re-encrypt after rotation
opencenter cluster validate my-cluster # Catch misconfigurations