Cloud Security Foundations

CIS Benchmarks & Compliance Frameworks

4 min read

Security frameworks provide structured guidance for cloud configurations. The Center for Internet Security (CIS) Benchmarks are the most widely adopted, offering prescriptive controls that map to regulatory requirements.

Understanding CIS Benchmarks

CIS Benchmarks are community-driven security guidelines developed by thousands of security professionals worldwide. They cover 100+ technologies across eight categories:

CategoryExamples
Cloud ProvidersAWS, Azure, GCP, Alibaba Cloud
Operating SystemsWindows Server, Ubuntu, RHEL, macOS
Container PlatformsDocker, Kubernetes, EKS, AKS, GKE
DatabasesSQL Server, PostgreSQL, MongoDB
Network DevicesCisco, Palo Alto, Juniper
Desktop SoftwareMicrosoft Office, Chrome, Edge
Mobile DevicesiOS, Android
Server SoftwareApache, Nginx, IIS

Benchmark Levels

CIS Benchmarks use two security levels:

Level 1 - Foundational Security:

  • Basic security hardening
  • Minimal impact on functionality
  • Essential for all organizations
  • Example: Enable MFA for root/admin accounts

Level 2 - Defense in Depth:

  • Enhanced security controls
  • May reduce functionality or convenience
  • For security-conscious organizations
  • Example: Restrict all public access by default

Cloud-Specific CIS Foundations Benchmarks

AWS Foundations Benchmark (v5.0.0)

Key control categories:

SectionFocus AreaKey Controls
1Identity & AccessMFA, password policy, access keys
2StorageS3 public access, encryption
3LoggingCloudTrail, Config, Flow Logs
4MonitoringCloudWatch alarms, metric filters
5NetworkingSecurity groups, VPC flow logs

Critical controls:

# CIS AWS 1.5 - Ensure MFA is enabled for root account
- Control: "1.5"
  Description: "Hardware MFA for root user"
  Severity: Critical

# CIS AWS 2.1.1 - Ensure S3 buckets have server-side encryption
- Control: "2.1.1"
  Description: "Enable default encryption on all buckets"
  Severity: High

Azure Foundations Benchmark (v2.1.0)

Key control categories:

SectionFocus AreaKey Controls
1Identity & AccessMFA, conditional access, PIM
2Microsoft DefenderDefender for Cloud settings
3StorageSecure transfer, encryption
4DatabaseTDE, firewall rules
5LoggingDiagnostic settings, Activity Log
6NetworkingNSGs, private endpoints
7Virtual MachinesDisk encryption, endpoint protection

GCP Foundations Benchmark (v2.0.0)

Key control categories:

SectionFocus AreaKey Controls
1Identity & AccessSecurity key enforcement, API keys
2Logging & MonitoringCloud Audit Logs, alerts
3NetworkingFirewall rules, private access
4ComputeShielded VMs, serial port
5StorageUniform bucket access
6Cloud SQLPublic IP, backups
7BigQueryDataset access

Compliance Mapping

CIS Benchmarks map to major regulatory frameworks:

FrameworkRequirementCIS Mapping
PCI DSSRequirement 8 (Authentication)CIS IAM controls
HIPAATechnical SafeguardsCIS encryption, access controls
SOC 2CC6.1 (Logical Access)CIS IAM section
NIST 800-53AC (Access Control)CIS IAM, network controls
GDPRArticle 32 (Security)CIS encryption, logging
FedRAMPVarious controlsFull CIS benchmark alignment

Implementing CIS Benchmarks

Using Automated Tools

Manual benchmark compliance is impractical. Use these tools:

# Prowler - AWS CIS Benchmark scanning
prowler aws --compliance cis_5.0_aws

# ScoutSuite - Multi-cloud assessment
scout aws --report-dir ./output

# Trivy - IaC scanning against CIS
trivy config --compliance cis-1.23 ./terraform

Infrastructure as Code Compliance

Build compliance into your deployment:

# Terraform - AWS S3 with CIS controls
resource "aws_s3_bucket" "compliant" {
  bucket = "my-compliant-bucket"
}

resource "aws_s3_bucket_versioning" "compliant" {
  bucket = aws_s3_bucket.compliant.id
  versioning_configuration {
    status = "Enabled"  # CIS 2.1.3
  }
}

resource "aws_s3_bucket_server_side_encryption_configuration" "compliant" {
  bucket = aws_s3_bucket.compliant.id
  rule {
    apply_server_side_encryption_by_default {
      sse_algorithm = "AES256"  # CIS 2.1.1
    }
  }
}

resource "aws_s3_bucket_public_access_block" "compliant" {
  bucket = aws_s3_bucket.compliant.id
  block_public_acls       = true  # CIS 2.1.5.1
  block_public_policy     = true  # CIS 2.1.5.2
  ignore_public_acls      = true  # CIS 2.1.5.1
  restrict_public_buckets = true  # CIS 2.1.5.2
}

Beyond CIS: Other Frameworks

FrameworkFocusUse Case
NIST CSF 2.0Risk managementEnterprise governance
ISO 27001Information securityInternational certification
SOC 2Trust servicesSaaS providers
CSA CCMCloud controlsCloud-specific governance
AWS Well-ArchitectedAWS best practicesAWS environments

Building a Compliance Program

  1. Identify requirements: Which regulations apply?
  2. Map to CIS: Use CIS as baseline, map to specific requirements
  3. Automate scanning: Continuous compliance monitoring
  4. Remediate findings: Prioritize by risk
  5. Document evidence: Maintain audit trail
  6. Review regularly: Benchmarks update; so should your controls

Next module: We'll dive deep into IAM security—the most critical area for cloud protection. :::

Quick check: how does this lesson land for you?

Quiz

Module 1: Cloud Security Foundations

Take Quiz
FREE WEEKLY NEWSLETTER

Stay on the Nerd Track

One email per week — courses, deep dives, tools, and AI experiments.

No spam. Unsubscribe anytime.