Blog

Sichern Sie Ihre Infrastruktur mit Terraform: Sicherheit ist kein Hindernis, sondern ein Mittel zum Zweck (TEIL 1)

Maikel van Amen

Maikel van Amen

Aktualisiert Oktober 15, 2025
8 Minuten

Die Sicherung Ihrer Infrastruktur ist ein wesentlicher Bestandteil jedes erfolgreichen Unternehmens. Aber es manuell zu tun, kann zeitaufwändig und kostspielig sein. Deshalb wenden sich viele Unternehmen an Terraform, um Hilfe zu erhalten. Terraform ist eine leistungsstarke, quelloffene Infrastructure-as-Code-Software, mit der Sie Ihre Cloud-, Container- und On-Premise-Infrastruktur einfach und sicher bereitstellen, verwalten und versionieren können. Mit Terraform können Sie die Sicherheit zu einem Enabler machen, anstatt sie zu blockieren. Es hilft Ihnen, Ihre Cloud-Ressourcen schnell zu definieren, bereitzustellen und zu verwalten, und zwar auf sichere, automatisierte und konforme Weise. Außerdem können Sie mit den integrierten Sicherheitsfunktionen von Terraform ganz einfach Sicherheitsstandards und Best Practices durchsetzen. Das macht es einfacher, sichere und vertrauenswürdige Umgebungen zu schaffen und zu verwalten.

Vorteile der Verwendung von Terraform für die Sicherheit der Infrastruktur

  • Die Verwendung von Terraform für die Sicherheit der Infrastruktur kann Unternehmen mehrere Vorteile bieten.
  • Es ermöglicht Unternehmen, ihre Cloud-Ressourcen schnell und einfach zu definieren, bereitzustellen und zu verwalten, und zwar auf sichere, automatisierte und gesetzeskonforme Weise.
  • Dadurch entfällt die Notwendigkeit manueller Sicherheitsprozesse, die zeitaufwändig und teuer sein können.
  • Die in Terraform integrierten Sicherheitsfunktionen ermöglichen es Unternehmen, Sicherheitsstandards und Best Practices einfach durchzusetzen.
  • Dies hilft Unternehmen, sichere und vertrauenswürdige Umgebungen zu schaffen und zu erhalten.
  • Terraform kann verwendet werden, um Infrastrukturkonfigurationen schnell zu prüfen und zu validieren und die Einhaltung von Sicherheitsrichtlinien zu gewährleisten.

Überblick über die in Terraform integrierten Sicherheitsfunktionen

Terraform bietet mehrere eingebaute Sicherheitsfunktionen, mit denen Unternehmen auf einfache Weise Sicherheitsstandards und Best Practices durchsetzen können. Diese Funktionen umfassen:

  • Infrastruktur-als-Code: Terraform ermöglicht es Unternehmen, ihre Infrastruktur mithilfe von Code zu definieren und bereitzustellen, was die Prüfung und Validierung von Konfigurationen erleichtert.
  • Zugriffskontrolle: Terraform unterstützt rollenbasierte Zugriffskontrolle (RBAC), um sicherzustellen, dass nur autorisierte Benutzer auf Cloud-Ressourcen zugreifen und diese verwalten können.
  • Verschlüsselung: Terraform bietet Unterstützung für die Verschlüsselung im Ruhezustand und während der Übertragung, was Unternehmen hilft, sensible Daten zu schützen.
  • Einhaltung von Richtlinien: Terraform ermöglicht es Unternehmen, Infrastrukturkonfigurationen einfach zu prüfen und zu validieren, um die Einhaltung von Sicherheitsrichtlinien zu gewährleisten.
  • Überwachung: Terraform bietet eine Echtzeit-Überwachung von Cloud-Ressourcen, die Unternehmen hilft, Sicherheitsprobleme schnell zu erkennen und darauf zu reagieren.

Bewährte Praktiken für die Verwendung von Terraform zur Sicherung Ihrer Infrastruktur

Wenn Sie Terraform für die Sicherheit Ihrer Infrastruktur verwenden, ist es wichtig, dass Sie die besten Praktiken anwenden, um sicherzustellen, dass Ihre Umgebung sicher und konform ist. Eine dieser Praktiken ist die Verwendung der Versionskontrolle, mit der Sie Änderungen am Terraform-Code und an den Konfigurationen verfolgen können und die Änderungen auf autorisierte Benutzer beschränkt. Außerdem können Sie durch die Automatisierung von Sicherheitsprüfungen mit Terraform Sicherheitsprobleme wie Schwachstellen-Scans und Penetrationstests schnell erkennen und darauf reagieren.

Die Verwendung einer sicheren Pipeline ist auch für die Verwaltung des Prozesses zum Testen, Bereitstellen und Verwalten Ihrer Infrastruktur unabdingbar. Terraform bietet eine sichere Pipeline, mit der Sie Cloud-Ressourcen effizient bereitstellen und verwalten können. Die Überwachung Ihrer Infrastruktur ist ebenfalls unerlässlich, um sicherzustellen, dass die Umgebung sicher und konform ist. Terraform bietet eine Echtzeitüberwachung von Cloud-Ressourcen, um Sicherheitsprobleme schnell zu erkennen und darauf zu reagieren.

Ein weiteres bewährtes Verfahren ist die Überprüfung Ihrer Infrastruktur, um die Einhaltung der Vorschriften und die Sicherheit zu gewährleisten. Terraform vereinfacht diesen Prozess, indem es die Möglichkeit bietet, Infrastrukturkonfigurationen einfach zu prüfen und zu validieren. Wenn Sie sich an diese Best Practices halten, können Sie Terraform nutzen, um Ihre Infrastruktur effektiv zu sichern.

Wie Sie Terraform zur Durchsetzung von Sicherheitsstandards verwenden

Mit Terraform können Unternehmen ganz einfach Sicherheitsstandards und Best Practices durchsetzen. Hier sind einige der Möglichkeiten, wie Unternehmen Terraform zur Durchsetzung von Sicherheitsstandards nutzen können:

  • Automatisieren Sie Sicherheitsprüfungen: Die Automatisierung von Sicherheitsprüfungen kann Unternehmen helfen, Sicherheitsprobleme schnell zu erkennen und darauf zu reagieren. Mit Terraform können Unternehmen ganz einfach Sicherheitsprüfungen wie Schwachstellen-Scans und Penetrationstests automatisieren.

Beispiel Azure:

resource "azurermnetworksecuritygroup" "example" {
  name = "examplesecuritygroup"
  resourcegroupname = "exampleresource_group"

securityrule {
    name                        = "example-rule"
    priority                    = 100
    direction                   = "Inbound"
    access                      = "Allow"
    protocol                    = ""
    sourceportrange           = ""
    destinationportrange      = ""
    sourceaddressprefix       = "1.2.3.4/32"
    destinationaddress_prefix  = ""
  }
}

GCP-Beispiel:

resource "googlecomputefirewall" "example" {
  name    = "examplesecuritygroup"
  network = googlecomputenetwork.examplenetwork.selflink

allow {
    protocol = ""
    ports    = [""]
    source_ranges = ["1.2.3.4/32"]
  }
}

AWS Beispiel:

resource "awssecuritygroup" "example" {
  name        = "examplesecuritygroup"
  description = "Allows access from 1.2.3.4/32"
  vpcid      = awsvpc.example_vpc.id

ingress {
    fromport   = 0
    toport     = 0
    protocol    = "-1"
    cidr_blocks = ["1.2.3.4/32"]
  }
}
  • Verwenden Sie eine rollenbasierte Zugriffskontrolle: Terraform unterstützt die rollenbasierte Zugriffskontrolle (RBAC), mit der Unternehmen den Zugriff auf Cloud-Ressourcen auf autorisierte Benutzer beschränken können.

Beispiel Azure:

resource "azurerm_role_assignment" "example" {
  scope                = "/subscriptions/00000000-0000-0000-0000-000000000000"
  role_definition_name = "Contributor"
  principal_id         = "00000000-0000-0000-0000-000000000000"
}

GCP-Beispiel:

resource "google_project_iam_member" "example" {
  project = google_project.example.id
  role    = "roles/owner"
  member  = "user:00000000-0000-0000-0000-000000000000"
}

AWS

resource "awsiamrolepolicyattachment" "example" {
  role       = awsiamrole.example.name
  policy_arn = "arn:aws:iam::00000000-0000-0000-0000-000000000000:policy/AdministratorAccess"
}
  • Verwenden Sie Verschlüsselung: Die Verschlüsselung von Daten im Ruhezustand und während der Übertragung ist eine wichtige Best Practice für die Sicherheit. Terraform bietet Unterstützung für Verschlüsselung, die Unternehmen dabei hilft, ihre sensiblen Daten zu schützen.

azure Beispiel:

resource "azurermkeyvault" "example" {
  name                  = "my-key-vault"
  location              = "westeurope"
  resourcegroupname   = "my-resource-group"
  enabledfordisk_encryption = true

accesspolicy {
    tenantid            = "00000000-0000-0000-0000-000000000000"
    objectid            = "00000000-0000-0000-0000-000000000000"
    secretpermissions   = ["backup", "restore"]
    key_permissions      = ["get", "encrypt", "decrypt", "wrap", "unwrap"]
  }
}

GCP-Beispiel:

resource "googlekmscryptokey" "example" {
  name                  = "my-key-vault"
  location              = "westeurope"
  project               = "my-project"
  rotationperiod       = "10080h"
  nextrotationtime    = "2020-10-05T13:00:00Z"
  versiontemplate {
    algorithm   = "GOOGLESYMMETRICENCRYPTION"
    protectionlevel = "SOFTWARE"
  }

access_policy {
    role       = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
    members    = ["group:example@example.com"]
  }
}

AWS

resource "awskmskey" "example" {
  description = "My key vault"
  deletionwindowindays = 7
  enablekey_rotation = true

policy = <<POLICY
{
  "Version": "2012-10-17",
  "Id": "key-consolepolicy-3",
  "Statement": [
    {
      "Sid": "Enable IAM User Permissions",
      "Effect": "Allow",
      "Principal": {
        "AWS": ""
      },
      "Action": "kms:",
      "Resource": "*"
    }
  ]
}
  • Überwachen Sie Cloud-Ressourcen: Die Überwachung von Cloud-Ressourcen ist unerlässlich, um sicherzustellen, dass die Umgebung eines Unternehmens sicher und konform ist. Terraform bietet eine Echtzeit-Überwachung von Cloud-Ressourcen, die Unternehmen helfen kann, Sicherheitsprobleme schnell zu erkennen und darauf zu reagieren.

azure Beispiel:

resource "azurermloganalyticsworkspace" "example" {
  name                = "my-log-analytics-workspace"
  location            = "westeurope"
  resourcegroup_name = "my-resource-group"

sku {
    name     = "PerGB2018"
    capacity = 10
  }

solution {
    name    = "Security"
    enabled = true
  }
}

GCP-Beispiel:

resource "googlemonitoringgroup" "example" {
  displayname   = "my-log-analytics-workspace"
  parent         = "projects/[PROJECTID]"
  filter         = "resource.type=logginglog"
  isclosed      = false
}

resource "googlemonitoringmetricdescriptor" "example" {
  name        = "my-log-analytics-workspace"
  type        = "logging.googleapis.com/user/securitylogs"
  description = "Security logs"
  labels {
    metric_type = "security"
  }

AWS

resource "awscloudwatchloggroup" "example" {
  name                = "my-log-analytics-workspace"
  retentionindays   = 14
  kmskeyid          = awskmskey.example.arn
  forcedestroy       = true
  tags = {
    Name = "my-log-analytics-workspace"
  }
}

resource "awskmskey" "example" {
  description         = "My key vault"
  deletionwindowindays = 7
  enablekey_rotation = true

policy = <<POLICY
{
  "Version": "2012-10-17",
  "Id": "key-consolepolicy-3",
  "Statement": [
    {
      "Sid": "Enable IAM User Permissions",
      "Effect": "Allow",
      "Principal": {
        "AWS": ""
      },
      "Action": "kms:",
      "Resource": "*"
    }
  ]
}
POLICY
  • Überprüfen Sie Infrastrukturkonfigurationen: Die Überprüfung von Infrastrukturkonfigurationen ist eine weitere wichtige Best Practice für die Sicherheit. Terraform bietet die Möglichkeit, Infrastrukturkonfigurationen einfach zu prüfen und zu validieren.

azure Beispiel:

resource "azurermpolicyassignment" "example" {
  name                 = "policy-assignment-example"
  scope                = "/subscriptions/00000000-0000-0000-0000-000000000000"
  policydefinitionid = "00000000-0000-0000-0000-000000000000"

parameters = {
    auditResourceIds = ["/subscriptions/00000000-0000-0000-0000-000000000000"]
  }
}

GCP-Beispiel:

resource "googleprojectiamauditconfig" "example" {
  project = "my-project"
  auditconfig {
    service = "allServices"
    auditlogconfig {
      logtype = "DATA_READ"
    }
  }
}

resource "googleprojectiam_binding" "example" {
  project  = "my-project"
  role     = "roles/editor"
  members  = ["user:example@gmail.com"]
}

resource "googleprojectiampolicy" "example" {
  project = "my-project"
  policydata = <<EOF
{
  "bindings": [
    {
      "role": "roles/editor",
      "members": [
        "user:example@gmail.com"
      ]
    }
  ]
}
EOF

AWS

resource "aws_iam_role" "example" {
  name = "my-project-role"

  assume_role_policy = <<EOF
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": ["user:example@gmail.com"]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
EOF

}

resource "aws_iam_policy" "example" {
  name = "my-project-policy"
  policy = <<EOF
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "*",
      "Effect": "Allow",
      "Resource": "*",
      "Sid": "AllowEditorForExample",
      "Principal": {
        "AWS": ["user:example@gmail.com"]
      },
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/role": "editor"
        }
      }
    }
  ]
}
EOF

}

resource "aws_iam_audit_configuration" "example" {
  project_name = "my-project"

  audit_action_groups = ["DATA_READ"]
}

Wie Sie Sicherheits-Tools von Drittanbietern in Terraform integrieren

Unternehmen können Sicherheitstools von Drittanbietern in Terraform integrieren, um ihre Infrastruktur weiter abzusichern. Hier finden Sie einige Tipps und Tricks für die Integration von Sicherheitstools von Drittanbietern in Terraform:

  • Verwenden Sie Tools zur Identitäts- und Zugriffsverwaltung (IAM): IAM-Tools können Unternehmen dabei helfen, den Benutzerzugriff auf Cloud-Ressourcen zu verwalten. Unternehmen können IAM-Tools in Terraform integrieren, um die rollenbasierte Zugriffskontrolle (RBAC) einfach durchzusetzen.
  • Verwenden Sie Schwachstellen-Scanner: Schwachstellen-Scanner können Unternehmen dabei helfen, potenzielle Sicherheitslücken in ihrer Infrastruktur zu erkennen. Unternehmen können Schwachstellen-Scanner in Terraform integrieren, um Sicherheitsprobleme schnell zu erkennen und darauf zu reagieren.
  • Verwenden Sie Intrusion Detection Systeme (IDS): IDS können Unternehmen helfen, bösartige Aktivitäten zu erkennen und darauf zu reagieren. Unternehmen können IDS mit Terraform integrieren, um ihre Infrastruktur auf bösartige Aktivitäten zu überwachen.
  • Verwenden Sie Tools zur Verwaltung von Sicherheitsinformationen und Ereignissen (SIEM): SIEM-Tools können Unternehmen dabei helfen, sicherheitsrelevante Ereignisse zu überwachen und zu analysieren. Unternehmen können SIEM-Tools mit Terraform integrieren, um Sicherheitsprobleme schnell zu erkennen und darauf zu reagieren.

Verfasst von

Maikel van Amen

I am the Walter White of Cloud Security Engineering, breaking bad security measures and ensuring your infrastructure is secure from all kinds of intruders. I focus on Microsoft Azure and love to play with vulnerability management, secret management, and identity and access management - it's like cooking up the perfect recipe! When I'm not cooking up a storm in the Cloud Security lab, you can find me on the football pitch, coaching young players and scoring some goals of my own.

Contact

Let’s discuss how we can support your journey.