Wie Mondoo mit Terraform verwendet werden kann


Bicycle

In der sich ständig weiterentwickelnden Landschaft des Cloud-Infrastruktur-Managements ist es entscheidend, Ressourcen effizient zu sichern und zu überwachen. Hier kommt Mondoo, eine leistungsstarke Sicherheits- und Compliance-Plattform, ins Spiel. Mit Mondoo ist es möglich, Sicherheitslücken, verlorene Assets und Richtlinienverstöße aufzudecken, bevor sie zu Exploits werden.

Das Erstellen von Mondoo-Ressourcen mit Terraform ermöglicht es Organisationen, ihre Sicherheitsinfrastruktur als Code zu verwalten und dabei die Möglichkeiten von Terraform für Infrastruktur als Code (IaC), Versionskontrolle, Automatisierung, Skalierbarkeit und eine konsistente Sicherheitsstrategie zu nutzen. Durch die Definition von Mondoo-Ressourcen in Terraform-Konfigurationsdateien können Teams die Bereitstellung und Verwaltung von Mondoo-Agenten, Richtlinien, Scans und anderen Sicherheitskomponenten automatisieren. Dieser Ansatz erleichtert die Zusammenarbeit, die Integration in CI/CD-Pipelines und stellt sicher, dass Sicherheitskonfigurationen konsistent in verschiedenen Umgebungen angewendet werden, was das Risiko von Fehlkonfigurationen verringert und die allgemeine Sicherheitsverwaltung in Cloud nativen Umgebungen verbessert.

In diesem Leitfaden zeigen wir, wie ein neuer Space in einer Organisation erstellt und Integrations- sowie Richtlinienrichtlinien hinzufügt werden können.

Voraussetzungen

Die folgenden Voraussetzungen sind erforderlich, um diesem Leitfaden zu folgen:

  • Eine Mondoo-Organisation ist erforderlich, die das Hinzufügen von Integrationen zu Spaces ermöglicht.
  • Zugangsdaten für Terraform:
    • MONDOO_API_TOKEN: Kann in den Mondoo-Organisationseinstellungen → API-Token abgerufen werden.
    • MONDOO_CONFIG_BASE64: Kann in den Mondoo-Organisationseinstellungen → Service Accounts → Generate new Service Account mit Editor-Berechtigungen gefunden werden.
  • Terraform (z. B. HCP Terraform oder Terraform CLI)

Verwendung des Mondoo-Terraform-Providers

Um Mondoo-Integrationen mit Terraform zu erstellen, wird der Terraform-Mondoo-Provider benötigt.

  • Wir wählen die Integrationsressource aus, die wir verwenden möchten, und kopieren diese in unseren Arbeitsbereich.
  • Um den Einrichtungsprozess zu vereinfachen, wird empfohlen, eine .tf-Datei, z.B. main.tf, im Arbeitsbereich zu erstellen. In dieser Datei können der Mondoo-Provider referenziert und die Integrationsressourcen konfiguriert werden. Nachstehend folgt ein Beispiel, wie der Mondoo-Provider in der Terraform-Konfiguration eingerichtet werden kann:
 1# main.tf
 2terraform {
 3  required_providers {
 4    mondoo = {
 5      source  = "mondoohq/mondoo"
 6      version = ">= 0.4.0"
 7    }
 8  }
 9}
10
11provider "mondoo" {
12  region = "us" # use "eu" for the European region
13}
 1# resource.tf
 2resource "mondoo_policy_assignment" "policies" {
 3  space_id = mondoo_space.my_space.id
 4
 5  policies = [
 6    "//policy.api.mondoo.app/policies/mondoo-security-policy"
 7  ]
 8
 9  state = "enabled" # default is enabled, we also support preview and disabled
10
11  depends_on = [
12    mondoo_space.my_space
13  ]
14}
  • Wir exportieren MONDOO_API_TOKEN und MONDOO_CONFIG_BASE64 im Terminal oder verwenden sie als Variablen in unserem HCP Terraform-Arbeitsbereich.
  • Wir sind nun bereit für terraform apply! Zuletzt werden wir aufgefordert, die ID der Organisation anzugeben, die in den Einstellungen der Organisation zu finden ist.

Beispielvorführung

In diesem Beispiel wird die Domain-Integration mithilfe von Terraform erstellt, zusammen mit einem neuen Space und entsprechenden Richtlinien. Ein Space ist eine logische Gruppierung bestimmter Assets (wie AWS-Konten oder Arbeitsstationen). Ein Space kann viele Integrationen mit entsprechenden Assets enthalten, die Informationen über ihren Sicherheitsstatus enthalten. Um einen Status zu erhalten, benötigt ein Asset Richtlinien, die einzelne Tests enthalten, die überprüft werden sollen. Richtlinien werden für den gesamten Space aktiviert oder deaktiviert.

Die Domain-Ressource hat das folgende Schema:

Erforderlich

  • host (String) Domainname oder IP-Adresse.
  • space_id (String) Mondoo-Space-ID.

Optional

  • http (Boolean) HTTP-Port-Scan aktivieren.
  • https(Boolean) HTTPS-Port-Scan aktivieren.

Nur lesbar

  • mrn (String) Integrationskennung

Terraform-Ressourcendatei:

 1# resource.tf
 2variable "mondoo_org" {
 3  description = "The Mondoo Organization ID"
 4  type        = string
 5}
 6
 7provider "mondoo" {
 8  region = "us"
 9}
10
11# Create a new space
12resource "mondoo_space" "domain_space" {
13  name   = "My Domain Name"
14  org_id = var.mondoo_org
15}
16
17# Setup the Domain integration
18resource "mondoo_integration_domain" "domain_integration" {
19  space_id = mondoo_space.domain_space.id
20  host     = "example.com"
21  https    = true
22  http     = false
23}
24
25# Assign policies for Domain integration
26resource "mondoo_policy_assignment" "policies" {
27  space_id = mondoo_space.domain_space.id
28
29  policies = [
30    "//policy.api.mondoo.app/policies/mondoo-http-security",
31    "//policy.api.mondoo.app/policies/mondoo-dns-security",
32    "//policy.api.mondoo.app/policies/mondoo-tls-security"
33  ]
34
35  state = "enabled" # default is enabled, we also support preview and disabled
36
37  depends_on = [
38    mondoo_space.domain_space
39  ]
40}

Verifikation im Dashboard

Nach dem Anwenden der Terraform-Konfiguration (wir führen terraform apply aus, wenn Terraform über die CLI verwendet wird) gehen wir zur Übersicht unserer Mondoo-Spaces, um zu überprüfen, ob ein neuer Space erfolgreich erstellt wurde.

Mondoo Dashboard Spaces

Im Space sehen wir unsere neue Integration unter der Registerkarte "Integrationen". Wir können draufkilcken, um Ihre Konfigurationsoptionen und eventuell automatisch geplante Scans anzuzeigen.

Mondoo Dashboard Config

Das eigentliche Asset mit all seinen Testergebnissen und Richtlinien finden wir im Inventar. Hier können wir den aktuellen Sicherheitsstatus des Assets anzeigen, alle fehlgeschlagenen Richtlinienprüfungen überwachen und Tipps erhalten, wie Risiken gemindert werden können.

Mondoo Dashboard Asset

Fazit

Zusammenfassend bietet Mondoo in Kombination mit Terraform eine robuste Lösung für das Management von Sicherheit und Compliance in der Cloud-Infrastruktur. Durch die nahtlose Integration von Mondoo-Ressourcen in Terraform-Konfigurationen können Organisationen die Bereitstellung und Verwaltung von Sicherheitskomponenten automatisieren und so eine konsistente Sicherheitsstrategie in verschiedenen Umgebungen sicherstellen. Dieser Ansatz verbessert nicht nur die Effizienz, sondern verringert auch das Risiko von Sicherheitslücken und Richtlinienverstößen, die unbemerkt bleiben. Durch die Befolgung der in diesem einfachen Leitfaden beschriebenen Schritte können Organisationen eine solide Grundlage für eine proaktive Sicherheitsverwaltung in ihren Cloud nativen Umgebungen schaffen. Mit Mondoo und Terraform können Organisationen potenziellen Exploits einen Schritt voraus sein und in der sich ständig weiterentwickelnden Landschaft des Cloud-Infrastruktur-Managements eine starke Sicherheitsposition aufrechterhalten.

Zurück Unsere Trainings entdecken

Wir sind für Sie da

Sie interessieren sich für unsere Trainings oder haben einfach eine Frage, die beantwortet werden muss? Sie können uns jederzeit kontaktieren! Wir werden unser Bestes tun, um alle Ihre Fragen zu beantworten.

Hier kontaktieren