change-management

star 228

Secure change control: RFC process, testing requirements, rollback procedures per ISO 27001 A.8.9, A.8.32

Hack23 By Hack23 schedule Updated 2/10/2026

name: change-management description: Secure change control: RFC process, testing requirements, rollback procedures per ISO 27001 A.8.9, A.8.32 license: Apache-2.0

Change Management Skill

Purpose

This skill provides systematic guidance for implementing secure change control within the CIA platform, ensuring all changes are documented, tested, approved, and reversible per ISO 27001 A.8.9 (Configuration Management) and A.8.32 (Change Management).

When to Use This Skill

Apply this skill when:

  • ✅ Planning code changes, infrastructure modifications, or system updates
  • ✅ Implementing new features or fixing bugs
  • ✅ Modifying security controls or access policies
  • ✅ Updating dependencies or third-party integrations
  • ✅ Deploying to production environments
  • ✅ Conducting emergency changes for incidents
  • ✅ Reviewing pull requests and change proposals
  • ✅ Managing configuration changes (database schema, infrastructure as code)

Do NOT skip for:

  • ❌ "Minor" changes (all changes require review)
  • ❌ Emergency hotfixes (follow emergency change procedure)
  • ❌ Configuration updates (require approval and testing)
  • ❌ Documentation changes (still require peer review)

Change Categories

🟢 Standard Changes (Pre-Approved)

Definition: Low-risk, routine changes with documented procedures and automated security validation.

Examples:

  • Documentation updates (README, user guides)
  • Test case additions or improvements
  • Code refactoring without behavior changes
  • Dependency patches for non-critical vulnerabilities
  • UI/UX improvements without data handling changes

Requirements:

  • ✅ All automated security checks pass
  • ✅ No critical system components affected
  • ✅ Rollback procedures documented
  • ✅ Changes logged in version control

GitHub Actions Workflow:

name: Standard Change Validation
# Pinned: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1

on:
  pull_request:
    paths:
      - '**.md'
      - 'docs/**'
      - 'test/**'

jobs:
  validate-standard-change:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
      
      - name: Validate documentation
        run: |
          echo "Validating standard change..."
          # Markdown linting
          npx markdownlint-cli2 "**/*.md"
      
      - name: Check for security issues
        run: |
          # Ensure no secrets in documentation
          if grep -r "password\|secret\|key" --include="*.md" .; then
            echo "ERROR: Potential secrets in documentation"
            exit 1
          fi
      
      - name: Auto-approve standard change
        if: success()
        run: echo "Standard change pre-approved - deploy authorized"

🟡 Normal Changes (CEO Review & Approval)

Definition: Medium-risk changes requiring CEO review and explicit approval before implementation.

Examples:

  • New application features
  • Infrastructure modifications (AWS resources, networking)
  • Security control changes
  • Third-party integrations
  • Database schema modifications
  • Agent configuration changes (.github/agents/*.md, .github/copilot-mcp*.json)

Requirements:

  • ✅ All Standard Change requirements met
  • ✅ Business justification documented
  • ✅ Risk assessment completed
  • ✅ Implementation plan reviewed
  • ✅ Success criteria defined
  • ✅ CEO approval obtained

Request for Change (RFC) Template:

# RFC: [Change Title]

## Change Information
- **RFC ID**: RFC-2025-001
- **Requester**: Developer Name
- **Date**: 2025-02-10
- **Priority**: Normal
- **Category**: Infrastructure

## Business Justification
Why is this change needed? What business problem does it solve?

## Technical Description
Detailed technical description of the change.

## Risk Assessment
| Risk Category | Level | Mitigation |
|---------------|-------|------------|
| Security | Medium | Security review completed |
| Availability | Low | Blue-green deployment |
| Data Integrity | Low | Database backup before migration |

## Testing Plan
- [ ] Unit tests pass (80% coverage minimum)
- [ ] Integration tests pass
- [ ] Security scanning clean (CodeQL, OWASP)
- [ ] Performance testing completed
- [ ] Staging environment validation

## Rollback Procedure
1. Identify rollback trigger conditions
2. Steps to revert change
3. Data recovery procedures (if applicable)
4. Estimated rollback time: 15 minutes

## Implementation Schedule
- **Planned Start**: 2025-02-15 10:00 UTC
- **Estimated Duration**: 2 hours
- **Planned Completion**: 2025-02-15 12:00 UTC

## Approval
- [ ] CEO Review
- [ ] CEO Approval
- [ ] Deployment Authorization

**CEO Signature**: ________________  **Date**: __________

🔴 Emergency Changes (Immediate Implementation)

Definition: Critical changes required to restore service availability or address active security incidents.

Triggers:

  • Active security incidents (breach, vulnerability exploitation)
  • Critical service outages (production down, data unavailable)
  • Critical zero-day vulnerabilities

Authorization:

  • ✅ CEO has sole authority for emergency changes
  • ✅ All actions logged with timestamps
  • ✅ Complete documentation within 4 hours
  • ✅ Post-implementation review within 24 hours
  • ✅ Lessons learned integration

Emergency Change Workflow:

sequenceDiagram
    participant Inc as 🚨 Incident
    participant CEO as 👨‍💼 CEO
    participant Impl as 🔧 Implementation
    participant Monitor as 📊 Monitoring
    participant Review as 📋 Post-Review
    
    Inc->>CEO: 1. Incident Detected
    CEO->>CEO: 2. Assess Severity
    CEO->>CEO: 3. Authorize Emergency Change
    CEO->>Impl: 4. Implement Fix
    Impl->>Monitor: 5. Verify Fix Applied
    Monitor->>CEO: 6. Confirm Resolution
    CEO->>CEO: 7. Document Change (4h deadline)
    CEO->>Review: 8. Schedule Post-Review (24h)
    Review->>Review: 9. Lessons Learned

Git Workflow Integration

Feature Branch Workflow

gitGraph
    commit id: "main"
    branch feature/new-analysis-tool
    checkout feature/new-analysis-tool
    commit id: "Implement analysis logic"
    commit id: "Add unit tests"
    commit id: "Update documentation"
    checkout main
    merge feature/new-analysis-tool tag: "PR #123 - CEO Approved"
    commit id: "Deploy to production"

Branch Protection Rules

# .github/branch-protection-config.yml
# Branch protection for main branch

branch-protection:
  main:
    required_status_checks:
      strict: true
      contexts:
        - "build"
        - "test"
        - "security-scan"
        - "codeql-analysis"
    
    required_pull_request_reviews:
      required_approving_review_count: 1
      dismiss_stale_reviews: true
      require_code_owner_reviews: true
      require_last_push_approval: true
    
    restrictions:
      users:
        - "pethers" # CEO - only authorized deployer
      teams: []
    
    enforce_admins: true
    require_linear_history: true
    allow_force_pushes: false
    allow_deletions: false

Rollback Procedures

Database Schema Rollback

#!/bin/bash
# Database schema rollback script

set -euo pipefail

BACKUP_DATE=${1:-$(date +%Y%m%d)}
BACKUP_FILE="/backups/database-${BACKUP_DATE}.sql"

rollback_database() {
  echo "🔄 Starting database rollback..."
  
  # 1. Create pre-rollback backup
  echo "📦 Creating pre-rollback backup..."
  pg_dump -h $DB_HOST -U $DB_USER -d cia_database > "/backups/pre-rollback-$(date +%Y%m%d-%H%M%S).sql"
  
  # 2. Stop application services
  echo "🛑 Stopping application services..."
  systemctl stop cia-application
  
  # 3. Restore from backup
  echo "📥 Restoring database from backup..."
  psql -h $DB_HOST -U $DB_USER -d cia_database < "${BACKUP_FILE}"
  
  # 4. Verify restoration
  echo "✅ Verifying database restoration..."
  psql -h $DB_HOST -U $DB_USER -d cia_database -c "\
    SELECT COUNT(*) as table_count FROM information_schema.tables \
    WHERE table_schema = 'public';"
  
  # 5. Restart application
  echo "🚀 Restarting application services..."
  systemctl start cia-application
  
  # 6. Verify application health
  echo "🏥 Checking application health..."
  curl -f http://localhost:8080/actuator/health || {
    echo "❌ Application health check failed"
    exit 1
  }
  
  echo "✅ Database rollback completed successfully"
}

# Execute rollback
rollback_database

Change Performance Metrics

Key Performance Indicators

Metric Target Measurement Review Frequency
Change Success Rate >95% Deployments without rollback Weekly
Mean Time to Deploy <2 hours From approval to production Monthly
Rollback Rate <5% Changes requiring rollback Monthly
Emergency Change Rate <2% Emergency vs total changes Monthly
Change Lead Time <7 days RFC to deployment Quarterly
Security Gate Pass Rate 100% First-time security scan pass Weekly

ISO 27001 Control Mapping

A.8.9 - Configuration Management

Control Objective: Configuration of systems and networks documented and controlled.

Implementation:

  • ✅ Infrastructure as Code (CloudFormation, Terraform)
  • ✅ Configuration version control (Git)
  • ✅ Automated configuration validation
  • ✅ Configuration backup and recovery

A.8.32 - Change Management

Control Objective: Changes to information processing facilities and systems controlled.

Implementation:

  • ✅ Three-tier change categorization (Standard, Normal, Emergency)
  • ✅ RFC process for Normal changes
  • ✅ CEO approval for Normal/Emergency changes
  • ✅ Automated change classification
  • ✅ Rollback procedures documented and tested
  • ✅ Post-implementation review within 24 hours

NIST Cybersecurity Framework Mapping

PR.IP-3: Configuration change control processes in place

  • ✅ Formal change management process
  • ✅ Version control for all changes
  • ✅ Automated testing and validation

PR.IP-4: Backups of information conducted, maintained, tested

  • ✅ Automated backup before changes
  • ✅ Rollback procedures tested quarterly
  • ✅ Recovery time objectives defined

CIS Controls Mapping

CIS Control 3.14: Log Configuration Changes

  • ✅ All changes logged in Git
  • ✅ AWS CloudTrail for infrastructure changes
  • ✅ Audit trail maintained for minimum 1 year

CIS Control 4.1: Establish and Maintain Secure Configuration Process

  • ✅ Secure configuration baselines defined
  • ✅ Configuration changes reviewed and approved
  • ✅ Automated compliance checking

Practical Implementation Checklist

For Developers

  • Clone repository and create feature branch
  • Make changes following coding standards
  • Add unit tests (80% coverage minimum)
  • Run security scanning locally
  • Create pull request with RFC (for Normal changes)
  • Address code review feedback
  • Obtain CEO approval (for Normal changes)
  • Monitor deployment and verify success

For CEO/Reviewer

  • Review RFC documentation
  • Assess business justification and risk
  • Verify testing completeness
  • Check security scanning results
  • Validate rollback procedure
  • Approve or request changes
  • Monitor deployment
  • Conduct post-implementation review

Related Policies

References

  • ISO 27001:2022 - A.8.9 Configuration Management
  • ISO 27001:2022 - A.8.32 Change Management
  • ITIL 4 - Change Control
  • NIST SP 800-128 - Guide for Security-Focused Configuration Management
  • CIS Controls v8 - Control 3: Data Protection
Install via CLI
npx skills add https://github.com/Hack23/cia --skill change-management
Repository Details
star Stars 228
call_split Forks 55
navigation Branch main
article Path SKILL.md
More from Creator