Domain 7 Β· Lesson 4 of 6
Change, Patch & Configuration Management
QuαΊ£n lΓ½ Thay Δα»i, VΓ‘ lα»i & CαΊ₯u hΓ¬nh
Change Management & Change Advisory Board (CAB)
Change Advisory Board (CAB)
Reviews and approves significant changes to production systems. Includes representatives from IT, security, and business stakeholders. Ensures changes are risk-assessed before deployment.
Change Types
| Type | Description | Approval Required |
|---|---|---|
| Standard | Pre-approved, low-risk, routine change with a well-known procedure | No CAB β pre-authorized. Execute per documented procedure. |
| Normal | Planned change, assessed for risk and impact | Full CAB review required before implementation |
| Emergency | Urgent β cannot wait for regular CAB cycle. Unplanned, time-critical. | Emergency CAB or expedited approval β NOT "no approval" |
GitOps as Modern Change Management
Every deployment is a Git commit β auditable, reversible, peer-reviewed via Pull Request. ArgoCD enforces: only deploy from approved Git state. Git history IS the change log. This satisfies CAB requirements for standard changes (pre-approved automation pipeline).
Configuration Management
Key Concepts
- Configuration baseline: documented known-good state of a system β the approved reference
- Configuration item (CI): any component managed by CM (server, config file, Kubernetes manifest)
- CMDB: Configuration Management Database β authoritative inventory of all CIs and their relationships
Configuration Drift
Unauthorized changes from the established baseline β manual changes made directly to production, bypassing the CM process. Creates security risk because system state is unknown and unvalidated.
Detection: ArgoCD detects drift between Git state and live cluster. Chef InSpec, Terraform plan also used.
Configuration Drift = Security Risk
If a system has drifted from its approved baseline, you don't know its actual security posture. The drift could have introduced a vulnerability, opened a port, or weakened a security control β and no one knows. This is why drift detection and automatic correction (ArgoCD self-heal) is critical.
Patch Management Process & SLAs
| Severity | CVSS Score | Patch SLA | Action if Can't Patch |
|---|---|---|---|
| Critical | 9.0 β 10.0 | 24β48 hours | Implement compensating control (WAF rule) + management sign-off |
| High | 7.0 β 8.9 | 7 days | Risk acceptance with CTO/CISO sign-off |
| Medium | 4.0 β 6.9 | 30 days | Track in backlog, resolve in current quarter |
| Low | 0.1 β 3.9 | 90 days | Fix in next sprint cycle |
Virtual Patching
A WAF rule that blocks exploitation of a known vulnerability before the real patch is deployed. Temporary compensating control only β does NOT replace real patching. Used to bridge the gap between vulnerability disclosure and patch availability.
SBOM β Software Bill of Materials
Inventory of all software components and dependencies in a system. Required for patch management β you can't patch what you don't know exists. govulncheck and Dependabot use SBOM data to identify vulnerable dependencies.
Key Terms
- Emergency change: bypass the regular CAB cycle BUT still requires expedited approval from designated emergency approvers β "no approval" is never correct.
- Virtual patching is a temporary compensating control (WAF rule) β it does NOT replace real patching. Never accept virtual patching as a permanent solution.
- GitOps (ArgoCD): every change is traceable via Git commit history = audit trail. This satisfies change management auditability requirements.
- Configuration drift: unauthorized changes from baseline create unknown security posture β detect and remediate automatically where possible.
- Patch SLA for Critical (CVSS 9+) = 24β48 hours. If you cannot patch in time, implement a compensating control AND get management sign-off documenting the accepted risk.
- CMDB is the authoritative source of what systems exist β without it, patch management is impossible (can't patch what you don't know about).
Standard changes via GitOps: All production changes via Pull Request β code review approval (minimum 1 engineer) β ArgoCD auto-sync. This satisfies CAB requirements for standard changes β the process is documented, repeatable, and auditable via Git history.
Emergency change process: PR with 'EMERGENCY' label β on-call engineer approval (no waiting for next CAB meeting) β immediate ArgoCD sync β post-hoc review within 24hrs. Approval is still required β just expedited.
Patch management in CI: govulncheck runs on every CI build for Go modules. Critical CVE in any Platform C dependency β auto-create GitHub Issue β assigned engineer must resolve within 48hrs or add a WAF compensating rule with CTO sign-off. The 48-hour SLA is non-negotiable.
Configuration drift detection: ArgoCD continuously compares Kubernetes manifests in Git vs live cluster state. Any drift (e.g., someone did kubectl edit in production) triggers an alert β auto-revert to Git state (or manual review if auto-revert is disabled).
CMDB for Platform C: Terraform state files + Kubernetes manifests + Helm chart values = the "living CMDB." Version-controlled, auditable, and the single source of truth for all infrastructure configuration items.
Practice Quiz
Q1. A critical security patch needs immediate deployment. Can the team skip all approvals since it's an emergency?
βΌ Reveal Answer
Q2. How does GitOps (ArgoCD) satisfy change management requirements?
βΌ Reveal Answer
Q3. An engineer directly edits a Kubernetes deployment in production ("kubectl edit") bypassing GitOps. What security problem does this create?
βΌ Reveal Answer
Q4. A WAF rule is deployed to block exploitation of Log4Shell (CVE-2021-44228) while the team prepares the real patch. Is virtual patching sufficient long-term?
βΌ Reveal Answer
Q5. govulncheck finds a CVSS 9.5 vulnerability in an Platform C Go dependency. What is the patch SLA and what happens if the team can't meet it?