Veröffentlichungen

ICYMI: Höhepunkte der Mondoo-Veröffentlichung für März 2023

Willkommen zum Release-Highlight von Mondoo im März 2023.

Mondoo_graphics_ICYMI release march 23-01

Wir freuen uns, Ihnen die Veröffentlichung unseres SSPM-Lösung, BigQuery-Integration, zusammen mit mehreren anderen wichtigen Verbesserungen für diesen Monat:

Mondoo bringt SaaS-Lösung für Security Posture Management (SSPM) auf den Markt

Wir freuen uns, Ihnen unsere SaaS-Lösung Security Posture Management (SSPM) in Kombination mit xSPM-Funktionen und ein offenes öffentliches Register von Richtlinien für SaaS. Unsere SSPM-Lösung bietet Unternehmen die Gewissheit, dass ihre SaaS-Anwendungen sicher und aktuell sind.
Das offene SSPM von Mondoo basiert auf einer vertrauenswürdigen Open-Source-Grundlage und hilft bei der kontinuierlichen Überwachung von Fehlkonfigurationen cloudbasierter SaaS-Anwendungen.

SSPM Blog Body Screenshot
Mondoo Integrationen ohne Agenten für Google Workspace und Okta

Nach agentenlosen Integrationen für GCP, Azure und MS365, wir freuen uns, Ihnen mitteilen zu können, dass Mondoo jetzt agentenloses kontinuierliches Scannen für Google Workspace- und Okta SaaS-Umgebungen anbietet. Da keine Downloads oder Installationen erforderlich sind, können Sie ganz einfach Integrationen mit Dienstkonten oder Tokens einrichten, um Ihre SaaS-Dienste alle 8 Stunden sicher zu scannen.

Mondoo startet Google BigQuery-Datenexporte

Mondoo freut sich, unsere Integration mit Google BigQuery ankündigen zu können, was Ihre Sicherheitsinformationen und Erkenntnisse grundlegend verändert! Durch die Kombination von Mondoo mit Google BigQuery stellen wir ein leistungsstarkes Team zusammen, das Sicherheitsdatenseen erweitert und die Sicherheit mit einer vollständigen Bewertung personalisiert. Das bedeutet, dass Ihre Sicherheitsabteilung potenzielle Sicherheitsvorfälle schnell erkennen und darauf reagieren kann.

Exporte werden genau wie andere Integrationen in Mondoo konfiguriert und laufen täglich, ohne dass Sie etwas in Ihrer Infrastruktur installieren müssen.

Sobald die Daten exportiert wurden, können sie mit anderen Daten in BigQuery kombiniert und mit den Machine-Learning- und BI-Funktionen von BigQuery analysiert werden.

Erfahren Sie mehr in unserem Blogbeitrag.

BigQuery Blog 2

Verbesserungen des Benutzeroberflächenerlebnisses

Neue Ansichten über Sicherheitslücken

Wir haben unsere Seite mit Sicherheitslücken überarbeitet, damit Sie Sicherheitslücken in Ihrer Umgebung schneller finden, die am schlimmsten anstößigen Ressourcen identifizieren und neu veröffentlichte CVEs untersuchen können. Ein neues Schwachstellenmenü enthält jetzt individuelle Optionen für Advisories, CVEs, Affected Assets und Mondoo Vulnerability Database (VMD).

Auf den Seiten mit Ratschlägen und CVEs können Sie sich mit spezifischen Sicherheitshinweisen und CVEs von Anbietern vertraut machen, die sich auf Ihre Umgebung auswirken. Sie können sehen, wann diese Probleme zum ersten Mal entdeckt wurden, mit dem Patchen fortfahren und weitere Informationen zu den Ratgebern/CVES erhalten, einschließlich der betroffenen Ressourcen.

Auf der neuen Seite „Betroffene Vermögenswerte“ können Sie schnell in Ressourcen eintauchen, bei denen noch nicht gepatchte CVEs oder Anbieterhinweise in Ihrem Bereich vorhanden sind.

Die komplett überarbeitete Mondoo Vulnerability Database (MVD) bietet Ihnen eine einzige Benutzeroberfläche, über die Sie nach neuen Anbieter-CVEs und Ratschlägen suchen können, auch wenn diese nicht auf Ihre Vermögenswerte zutreffen. Neugierig auf das neue CVE, über das Sie online gelesen haben? Schauen Sie nach, um mehr zu erfahren, einschließlich Details zum CVSSv3-Score und zu allen betroffenen Anlagen in Ihrer Umgebung.

Microsoft 365-Assets, die in der Konsole gruppiert sind

Wir haben die Flottenseite verbessert, sodass Microsoft 365-Assets jetzt gruppiert sind, sodass sie einfacher und schneller gefunden werden können.

Finden Sie Räume in großen Organisationen einfacher

Das Auffinden eines bestimmten Assets wurde durch unsere neuen Links zum Öffnen einzelner Organisationen und die alphabetische Sortierung aller Bereiche erleichtert. Dies vereinfacht das Auffinden eines Assets, wenn Sie eine große Anzahl von Organisationen oder Räumen haben.

Loggen Sie sich mit einem Splash ein

Mit einem Spritzer Mondoo-Violett und Orange haben wir unsere alte Anmeldeseite neu gestaltet, um Ihnen ein noch besseres Anmeldeerlebnis zu bieten.

Find and fix the security risks that pose the biggest threat to your business.

Aktualisierungen der Richtlinien

Neue und aktualisierte Kubernetes-Richtlinien

Kubernetes bewegt sich schnell, daher ist es wichtig, sicherzustellen, dass Ihre Sicherheitsrichtlinien den neuesten und besten Sicherheitsempfehlungen entsprechen. Mondoo enthält jetzt die neuesten CIS-Benchmarks für Kubernetes-Distributionen mit aktualisierten Prüf- und Korrekturmaßnahmen sowie neuen Prüfungen für die Kontrollebene in Cloud-Distributionen:

  • Neu: CIS Kubernetes V1.24 Benchmark 1.0
  • Aktualisiert: CIS Amazon Elastic Kubernetes Service (EKS) Benchmark 1.2
  • Aktualisiert: CIS Google Kubernetes Engine (GKE) Benchmark 1.3
  • Aktualisiert: CIS Azure Kubernetes Service (AKS) Benchmark 1.2
  • Aktualisiert: CIS RedHat OpenShift Container Platform v4 Benchmark 1.1

Die CIS Google Kubernetes Engine (GKE) Benchmark-Richtlinie wurde um die folgenden neuen Prüfungen erweitert und ist jetzt vollständig von CIS zertifiziert:

  • 5.1.1 Stellen Sie sicher, dass Image-Schwachstellen mithilfe von GCR Container Analysis oder einem Drittanbieter gescannt werden
  • 5.6.4 Stellen Sie sicher, dass Cluster mit aktiviertem privaten Endpunkt und deaktiviertem öffentlichen Zugriff erstellt werden

Neue Microsoft Workstation-Sicherheitsrichtlinie

Unsere brandneue Microsoft Workstation Security Policy enthält Sicherheitsrichtlinien für Workstations, auf denen Windows 10 und 11 ausgeführt wird.

Neue Linux- und Windows-Arbeitsstationsrichtlinien

Wir haben die Richtlinienumgebung für Linux und Microsoft Azure Security by Mondoo aktualisiert, die sofort einsatzbereit ist:

  • Aktualisierte Sicherheit für Linux-Workstations
    Wir haben die Bootloader-Sicherheit um die Berechtigungen für /boot/loader/loader.conf erweitert, sodass Sie sicher sein können, dass Ihre Startsequenz nicht manipuliert wurde.
  • Aktualisierte Linux-Sicherheitsrichtlinie
    Wir haben die Zuverlässigkeit der auditierten Paketprüfungen in einigen SUSE-Versionen verbessert.
  • Stellen Sie sicher, dass sich App Services mit Active Directory authentifizieren können
  • Stellen Sie sicher, dass die Web-App die neueste Version der TLS-Verschlüsselung nutzt
  • Stellen Sie sicher, dass das Ablaufdatum für alle Schlüssel und Geheimnisse in Schlüsseltresoren festgelegt ist
  • Stellen Sie sicher, dass Schlüsseltresore wiederhergestellt werden können
  • Stellen Sie sicher, dass alle Vorgänge im Schlüsseltresor protokolliert werden
  • Stellen Sie sicher, dass Aktivitätsprotokollwarnungen für die Befehle Create, Update und Delete Network Security Group vorhanden sind
  • Stellen Sie sicher, dass „Über Alarme mit hohem Schweregrad benachrichtigen“ aktiviert ist
  • Stellen Sie sicher, dass die SSL-Verbindung für den PostgreSQL Database Server aktiviert ist
  • Stellen Sie sicher, dass die SSL-Verbindung für den MariaDB-Datenbankserver mit der neuesten Version aktiviert ist
  • Stellen Sie sicher, dass der öffentliche Netzwerkzugriff für MariaDB deaktiviert ist
  • Stellen Sie sicher, dass die SSL-Verbindung für den MySQL-Datenbankserver mit der neuesten Version aktiviert ist
  • Stellen Sie sicher, dass der öffentliche Netzwerkzugriff für SQL Server deaktiviert ist oder nur über Firewallregeln möglich ist
  • Stellen Sie sicher, dass der standardmäßige öffentliche Netzwerkzugriff für Key Vault deaktiviert ist
  • Stellen Sie sicher, dass alle Aktivitäten auf SQL Server geprüft werden
  • Stellen Sie sicher, dass die transparente Datenverschlüsselung auf dem SQL Server aktiviert ist
  • Stellen Sie sicher, dass Diagnoseeinstellungen für das Abonnement vorhanden sind
  • Stellen Sie sicher, dass die Diagnoseeinstellungen wichtige Sicherheitskategorien erfassen
  • Stellen Sie sicher, dass der direkte UDP-Zugriff auf Azure Virtual Machines aus dem Internet eingeschränkt ist

Die CIS Microsoft Azure Foundations Benchmark-Richtlinie wurde von 1.5 auf 2.0 aktualisiert. Diese neue Version enthält überarbeitete Prüf- und Fehlerbehebungsschritte, die den neuesten Benutzeroberflächen- und CLI-Erfahrungen von Azure entsprechen.

Erweiterte Google Workspace-Richtlinie

Wir haben unsere Google Workspace Security by Mondoo-Richtlinie mit drei neuen Prüfungen aktualisiert:

  • Stellen Sie sicher, dass mehr als ein Benutzer Super-Admin-Berechtigungen hat
  • Benutzern sollte kein weniger sicherer App-Zugriff gewährt werden
  • Superuser sollten hardwarebasierte Sicherheitsschlüssel verwenden

Richtlinie von Slack Team Security by Mondoo

Mondoo beinhaltet jetzt eine neue Slack Team Security Policy mit sieben Checks, um dein Slack Team (Workspace) zu schützen:

  • Stellen Sie sicher, dass zwischen 2 und 4 Benutzer Administratorrechte haben
  • Stellen Sie sicher, dass Administratoren die sicherste 2FA-Methode verwenden
  • Stellen Sie sicher, dass alle Benutzer 2FA verwenden
  • Verwenden Sie klare Benennungen für externe Kanäle
  • Stelle sicher, dass es mindestens einen internen Channel pro Workspace gibt
  • Stelle sicher, dass es mindestens einen internen Channel im Workspace gibt und es keine externen Mitglieder gibt.
  • Stellen Sie sicher, dass Domain-Whitelisting auf internen Kanälen durchgesetzt wird

Neue Verbesserungen der Okta Security-Richtlinien

Wir haben die kontinuierliche Okta-Scanintegration in die Mondoo-Konsole ausgeliefert. Jetzt haben wir eine neue Mondoo-Sicherheitsrichtlinie und Verbesserungen an den Okta-MQL-Ressourcen, sodass Sie Ihre Okta-Umgebung in nur wenigen Minuten sichern können.

Unsere neue Okta-Sicherheitsrichtlinie von Mondoo beinhaltet 11 Prüfungen, mit denen Sie Ihre Okta-Umgebung sofort schützen können:

  • Stellen Sie sicher, dass MFA für jeden aktiv ist, der auf die Okta-Plattform zugreift
  • Stellen Sie sicher, dass eine begrenzte Sitzungsdauer durchgesetzt wurde
  • Stellen Sie sicher, dass die OpenID- oder SAML-Authentifizierung für den App-Zugriff verwendet wird
  • Stellen Sie sicher, dass normale Benutzer sich nicht selbst entsperren können
  • Stellen Sie sicher, dass Secure Web Authentication (SWA) für wichtige Apps deaktiviert ist
  • Stellen Sie sicher, dass die Option „Bei jeder Anmeldung“ für MFA aktiviert ist
  • Stellen Sie sicher, dass „Sitzungscookies über Browsersitzungen hinweg beibehalten“ deaktiviert ist
  • Stellen Sie sicher, dass die Anzahl der Benutzer mit Super-Admin-Rechten auf 3 begrenzt ist
  • Stellen Sie sicher, dass der starke Faktor für MFA verwendet wird
  • Stellen Sie sicher, dass MFA für die Verwendung von Passwort/IDP plus einem anderen Authentifizierungsfaktor konfiguriert ist
  • Stellen Sie sicher, dass der Faktor „Passwort/IDP plus Weiteres“ für MFA ausgewählt ist

VMware vCenter Incident Response-Paket

  • Neues VMware vCenter Incident Response Pack
    Sammeln Sie mit diesem neuen Incident Response Pack wichtige Informationen zu Ihren vSphere- und ESXi-Systemen für den Fall eines Sicherheitsvorfalls.

CLI-Verbesserungen

GCP-Organisationen, -Projekte und -Ordner scannen

Mondoo bietet Ihnen die Möglichkeit, Ihre gesamte GCP-Infrastruktur zu überprüfen, von Ihrer gesamten Organisation bis hin zu einem einzigen Ordner:

cnquery scan gcp org 342423 # <-- scan GCP organization

cnquery scan gcp project mondoo-dev # <-- scan GCP project

cnquery scan gcp folder 3421423 # <-- scan GCP folder

Unterstützung für die Verbindung zu IPv6-Hosts

Wir haben sowohl cnquery als auch cnspec aktualisiert, um direkt über SSH oder mithilfe von Ansible-Inventardateien eine Verbindung zu IPv6-Hosts herzustellen.

cnquery shell ssh chris@fd00::20c:30ff:fe8a:9da0 --ask-pass
Enter password:
→ discover related assets for 1 asset(s)
→ resolved assets resolved-assets=1  
interactive shellcnquery>

Geben Sie den Pfad für GCP- und Google Workspace-Anmeldeinformationen an

Sie können jetzt den Pfad zu Ihren GCP- oder Google Workspace-Anmeldeinformationen mit einem neuen Flag --credentials angeben. Shell-Umgebungsvariablen haben weiterhin Vorrang bei der Definition des Pfads. Dies ist jedoch eine hervorragende Methode, um den Pfad festzulegen, wenn Sie keine Shell-ENV-Variablen gesetzt haben.

Mit env var:

GOOGLE_APPLICATION_CREDENTIALS=~/mondoo-dev-1111111.json cnquery shell gcp

Mit --credentials path:

cnquery shell gcp --credentials-path ~/mondoo-dev-1111111.json

Verbesserte Scanfehlerausgabe

Vorbei sind kryptische Asset-Verbindungsfehlermeldungen beim Scannen mehrerer Assets! Stattdessen sehen Sie jetzt besser formatierte und analysierte Fehlermeldungen, die es einfacher machen, genau herauszufinden, warum Assets nicht gescannt werden können.

Homebrew installiert jetzt cnspec/cnquery zusammen mit Mondoo

Der Mondoo Homebrew-Tap installiert jetzt sowohl cnquery als auch cnspec als Abhängigkeiten, sodass Sie die volle Leistung von Mondoo in einer Installation haben.

MQL- und Ressourcen-Updates

Sichere dein GKE Control Plane

Die Sicherheit von Cloud Kubernetes geht über die Kubelet- und Cluster-Workloads hinaus. Deshalb haben wir dem GKE-Kontrollplan neue Funktionen zur Datenerfassung hinzugefügt. Verwenden Sie diese neuen Daten, um eine Bestandsaufnahme Ihrer GKE-Konfiguration vorzunehmen oder benutzerdefinierte Sicherheitsrichtlinien für Ihr Unternehmen zu schreiben.

  • Addons Config
  • Verwaltung von NodePools
  • Cluster-Netzwerkkonfiguration
  • Cluster-WorkloadIdentityConfig
  • Richtlinie zur IP-Zuweisung
  • Binäre Autorisierung
  • Vermächtnis ABAC
  • MasterAuth
Cluster-AddonsConfig
cnquery> gcp.project.gke.clusters{ addonsConfig{*} }
gcp.project.gke.clusters: [
  0: {
    addonsConfig: {
      horizontalPodAutoscaling: {
        disabled: false
      }
      id: "gcp.project.gkeService.cluster/12345/addonsConfig"
      gkeBackupAgentConfig: {}
      gcePersistentDiskCsiDriverConfig: {
        enabled: true
      }
      networkPolicyConfig: {
        disabled: false
      }
      gcpFilestoreCsiDriverConfig: {
        enabled: false
      }
      dnsCacheConfig: {
        enabled: false
      }
      httpLoadBalancing: {
        disabled: false
      }
      kubernetesDashboard: {
        disabled: true
      }
      configConnectorConfig: {}
      cloudRunConfig: {}
    }
  }
]
Verwaltung von Cluster-Knotenpools
cnquery> gcp.project.gke.clusters{ nodePools{ management } }
gcp.project.gke.clusters: [
  0: {
    nodePools: [
      0: {
        management: {
          autoRepair: true
          autoUpgrade: true
          upgradeOptions: {}
        }
      }
      1: {
        management: {
          autoRepair: true
          autoUpgrade: true
          upgradeOptions: {}
        }
      }
    ]
  }
]
Cluster-Netzwerkkonfiguration
cnquery> gcp.project.gke.clusters{ networkConfig{*} }
gcp.project.gke.clusters: [
  0: {
    networkConfig: {
      enableL4IlbSubsetting: false
      id: "gcp.project.gkeService.cluster/12345/networkConfig"
      dnsConfig: {}
      serviceExternalIpsConfig: {
        enabled: false
      }
      subnetworkPath: "projects/project-1/regions/us-central1/subnetworks/mondoo-gke-cluster-2-subnet"
      privateIpv6GoogleAccess: "PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED"
      datapathProvider: "DATAPATH_PROVIDER_UNSPECIFIED"
      networkPath: "projects/project-1/global/networks/mondoo-gke-cluster-2"
      subnetwork: gcp.project.computeService.subnetwork name="mondoo-gke-cluster-2-subnet"
      enableIntraNodeVisibility: false
      defaultSnatStatus: {
        disabled: false
      }
      network: gcp.project.computeService.network name="mondoo-gke-cluster-2"
    }
  }
]
Cluster-WorkloadIdentityConfig
cnquery> gcp.project.gke.clusters{ workloadIdentityConfig }
gcp.project.gke.clusters: [
  0: {
    workloadIdentityConfig: {
      workloadPool: "mondoo-edge.svc.id.goog"
    }
  }
]
Richtlinie zur Cluster-IP-Zuweisung
cnquery> gcp.project.gke.clusters{ ipAllocationPolicy{*} }
gcp.project.gke.clusters: [
  0: {
    ipAllocationPolicy: {
      id: "gcp.project.gkeService.cluster/12345/ipAllocationPolicy"
      stackType: "IPV4"
      tpuIpv4CidrBlock: ""
      useRoutes: false
      createSubnetwork: false
      nodeIpv4CidrBlock: ""
      subnetworkName: ""
      servicesSecondaryRangeName: "cluster-2-ip-range-svc"
      useIpAliases: true
      clusterSecondaryRangeName: "cluster-ip-range-pods"
      clusterIpv4CidrBlock: "10.20.0.0/16"
      ipv6AccessType: "IPV6_ACCESS_TYPE_UNSPECIFIED"
      servicesIpv4CidrBlock: "10.30.0.0/16"
    }
  }
]
Cluster-Binärautorisierung
cnquery> gcp.project.gke.clusters{ binaryAuthorization }
gcp.project.gke.clusters: [
  0: {
    binaryAuthorization: {
      enabled: false
      evaluationMode: "EVALUATION_MODE_UNSPECIFIED"
    }
  }
]
Clustervermächtnis ABAC
cnquery> gcp.project.gke.clusters{ legacyAbac }
gcp.project.gke.clusters: [
  0: {
    legacyAbac: {
      enabled: false
    }
  }
]
Cluster-MasterAuth
cnquery> gcp.project.gke.clusters{ masterAuth }
gcp.project.gke.clusters: [
  0: {
    masterAuth: {
      clientCertificate: ""
      clientCertificateConfig: {}
      clientKey: ""
      clusterCaCertificate: "***"
      password: ""
      username: ""
    }
  }
]

Identifizieren Sie öffentliche IPs in Azure

Die Identifizierung öffentlich zugänglicher Ressourcen ist für den Schutz Ihrer Cloud-Infrastruktur von entscheidender Bedeutung.

Verwenden Sie die neuen PublicIpAddresss-Daten, die in azure.subscription.computeservice.vm und azure.subscription.networkservice verfügbar sind, um schnell Ressourcen zu identifizieren, die möglicherweise fälschlicherweise öffentlich zugänglich gemacht wurden.

Identifizieren Sie alle öffentlichen IP-Adressen in einem Abonnement:

cnquery> azure.subscription.network.publicIpAddresses{*}
azure.subscription.network.publicIpAddresses: [
  0: {
    name: "super-cool-public-ip"
    id: "/subscriptions//resourceGroups//providers/Microsoft.Network/publicIPAddresses/"
    location: "uksouth"
    tags: {}
    ipAddress: "255.255.255.255"
  }
]

Identifizieren Sie öffentliche IP-Adressen auf bestimmten VMs:

cnquery> azure.subscription.compute.vms{publicIpAddresses{*}}
azure.subscription.compute.vms: [
  0: {
    publicIpAddresses: [
      0: {
        name: "super-cool-public-ip"
        id: "/subscriptions//resourceGroups//providers/Microsoft.Network/publicIPAddresses/"
        location: "uksouth"
        tags: {}
        ipAddress: "255.255.255.255"
      }
    ]
    name: "vm-name"
  }
]

Neue Azure-Ressourcen

cnspec und cnquery werden jetzt mit zusätzlichen Azure-Ressourcen ausgeliefert, sodass Sie alle Aspekte Ihrer Azure-Infrastruktur inventarisieren und sichern können:

Azure.Subscription.Monitor.ApplicationInsights

Mit dieser neuen Azure-Ressource können Sie jede Instanz von Application Insights abfragen.

cnquery> azure.subscription.monitor.applicationInsights
azure.subscription.monitor.applicationInsights: [
  0: azure.subscription.monitorService.applicationinsight id = /subscriptions/f1a2873a-6b27-4097-aa7c-3df51f103e96/resourceGroups/cloud-shell-storage-westeurope/providers/microsoft.insights/components/app-insight-test
]
cnquery> azure.subscription.monitor.applicationInsights {name kind location}
azure.subscription.monitor.applicationInsights: [
  0: {
    name: "app-insight-test"
    location: "centralus"
    kind: "web"
  }
]
Azure.Subscription.Network.BastionHost

Mit dieser neuen Azure-Ressource können Sie alle Bastion-Hosts abfragen, einschließlich ihrer Namen, Standorte und Produkt-SKUs.

cnquery> azure.subscription.network.bastionHosts
azure.subscription.network.bastionHosts: [
  0: azure.subscription.networkService.bastionHost id="/subscriptions/f1a2873a-6b27-4097-aa7c-3df51f103e96/resourceGroups/cloud-shell-storage-westeurope/providers/Microsoft.Network/bastionHosts/test-bastion-host" name="test-bastion-host" location="uksouth"
]
cnquery> azure.subscription.network.bastionHosts{name location sku}
azure.subscription.network.bastionHosts: [
  0: {
    name: "test-bastion-host"
    sku: {
      name: "Standard"
    }
    location: "uksouth"
  }
]
azure.subscription.sql.VirtualNetworkRule

Mit dieser neuen Azure-Ressource können Sie die Regeln für virtuelle Netzwerke auf einem SQL-Server abfragen. Sie ähnelt den Ressourcen für Firewallregeln.

cnquery> azure.sql.servers[1].virtualNetworkRules{*}
azure.sql.servers[1].virtualNetworkRules: [
  0: {
    id: "/subscriptions/f1a2873a-6b27-4097-aa7c-3df51f103e96/resourceGroups/cloud-shell-storage-westeurope/providers/Microsoft.Sql/servers/sql-server-mondoo-test/virtualNetworkRules/newVnetRule1"
    properties: {
      id: "/subscriptions/f1a2873a-6b27-4097-aa7c-3df51f103e96/resourceGroups/cloud-shell-storage-westeurope/providers/Microsoft.Sql/servers/sql-server-mondoo-test/virtualNetworkRules/newVnetRule1"
      name: "newVnetRule1"
      properties: {
        ignoreMissingVnetServiceEndpoint: false
        state: "Ready"
        virtualNetworkSubnetId: "/subscriptions/f1a2873a-6b27-4097-aa7c-3df51f103e96/resourceGroups/DefaultResourceGroup-CUS/providers/Microsoft.Network/virtualNetworks/prelav-test-VN/subnets/default"
      }
      type: "Microsoft.Sql/servers/virtualNetworkRules"
    }
    virtualNetworkSubnetId: "/subscriptions/f1a2873a-6b27-4097-aa7c-3df51f103e96/resourceGroups/DefaultResourceGroup-CUS/providers/Microsoft.Network/virtualNetworks/prelav-test-VN/subnets/default"
    type: "Microsoft.Sql/servers/virtualNetworkRules"
    name: "newVnetRule1"
  }
]
azure.subscription.cosmosDB

Mit dieser neuen Azure-Ressource können Sie den Azure Cosmos DB-Dienst abfragen.

Datenbanken abfragen:

cnquery> azure.subscription.cosmosDb.accounts
azure.subscription.cosmosDb.accounts: [
  0: azure.subscription.cosmosdbService.account name="test-cosmosdb-mondoo" location="West US"
  1: azure.subscription.cosmosdbService.account name="test-mondoo-cassandra" location="West US"
]

Schreiben Sie Assertionen in die sichere Konfiguration:

cnspec> azure.cosmosDb.accounts{properties['isVirtualNetworkFilterEnabled'] name}
azure.cosmosDb.accounts: [
  0: {
    properties[isVirtualNetworkFilterEnabled]: true
    name: "test-cosmosdb-mondoo"
  }
  1: {
    properties[isVirtualNetworkFilterEnabled]: true
    name: "test-mondoo-cassandra"
  }
]

Mit Google Workspace verbundene Apps abfragen

Sie können jetzt mit Google Workspace verbundene Apps mit einem neuen abrufen Google Workspace.Verbundene Apps MQL-Ressource:

googleworkspace.connectedApps { name clientid }
googleworkspace.connectedApps: [
  0: {
    clientId: "11234434534-abcdefg.apps.googleusercontent.com"
    name: "Slack"
  }
  ...
]

Sie können diese Daten auch filtern, um bestimmte verbundene Apps zurückzugeben:

googleworkspace.connectedApps.where( name == /Slack/) { * }
googleworkspace.connectedApps.where: [
  0: {
    users: [
  0: googleworkspace.user primaryEmail="user1@example.com"
    ]
    tokens: [
  0: googleworkspace.token displayText="Slack"
    ]
    scopes: [
      0: "https://www.googleapis.com/auth/activity"
      1: "https://www.googleapis.com/auth/drive.activity"
      2: "https://www.googleapis.com/auth/userinfo.profile"
      3: "https://www.googleapis.com/auth/userinfo.email"
      4: "openid"
      5: "https://www.googleapis.com/auth/calendar.readonly"
      6: "https://www.googleapis.com/auth/drive"
      7: "https://www.googleapis.com/auth/calendar.events"
    ]
    name: "Slack"
    clientId: "11234434534-abcdefg.apps.googleusercontent.com"
  }
  1: {
    users: [
  0: googleworkspace.user primaryEmail="user1@example.com"
  1: googleworkspace.user primaryEmail="user2@example.com"
  2: googleworkspace.user primaryEmail="user3@example.com"
  3: googleworkspace.user primaryEmail="user4@example.com"
    ]
    tokens: [
  0: googleworkspace.token displayText="Slack"
  1: googleworkspace.token displayText="Slack"
  2: googleworkspace.token displayText="Slack"
  3: googleworkspace.token displayText="Slack"
    ]
    scopes: [
      0: "https://www.googleapis.com/auth/userinfo.profile"
      1: "https://www.googleapis.com/auth/userinfo.email"
      2: "openid"
    ]
    name: "Slack"
    clientId: "3321342421-abcdefg.apps.googleusercontent.com"
  }
  2: {
    users: [
  0: googleworkspace.user primaryEmail="user1@example.com"
  1: googleworkspace.user primaryEmail="user2@example.com"
  2: googleworkspace.user primaryEmail="user3@example.com"
  3: googleworkspace.user primaryEmail="user4@example.com"
    ]
    tokens: [
  0: googleworkspace.token displayText="Slack"
  1: googleworkspace.token displayText="Slack"
  2: googleworkspace.token displayText="Slack"
  3: googleworkspace.token displayText="Slack"
    ]
    scopes: [
      0: "https://www.googleapis.com/auth/userinfo.profile"
      1: "https://www.googleapis.com/auth/userinfo.email"
      2: "openid"
    ]
    name: "Slack"
    clientId: "6060606090-abcdefg.apps.googleusercontent.com"
  }
]

Inspektion von Python-Paketen

Veraltete Pakete enden nicht beim Betriebssystem, daher haben wir unsere erste Anwendungspaketressource mit der MQL-Ressource python.packages eingeführt. Diese neue Ressource erkennt Pakete automatisch auf macOS, Windows und Linux an den folgenden Orten:

  • /usr/local/lib/python/ *
  • /usr/local/lib64/python/ *
  • /usr/lib/python/ *
  • /usr/lib64/python/ *
  • /opt/homebrew/lib/python/ *
  • C: /Python/*
  • /system/library/frameworks/python.framework/Versionen
  • /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versionen

Jedes Paket gibt Daten zurück, die diesem Pytz-Paket ähnlich sind:

cnquery> python.packages[0]{ * }
python.packages[0]: {
  author: "Armin Ronacher"
  name: "Babel"
  dependencies: [
  0: python.package name="pytz" version="2022.7.1"
  ]
  summary: "Internationalization utilities"
  id: "/usr/lib/python3.11/site-packages/Babel-2.10.3-py3.11.egg-info/PKG-INFO"
  file: file path="/usr/lib/python3.11/site-packages/Babel-2.10.3-py3.11.egg-info/PKG-INFO" size=1283 permissions.string="-rw-r--r--"
  license: "BSD"
  version: "2.10.3"
}

Um ein bestimmtes Paket auf der Festplatte abzufragen, können Sie den Pfad zur METADATEN-Datei angeben:

cnquery> python.package("/home/jdiaz/.local/lib/python3.11/site-packages/python_ftp_server-1.3.17.dist-info/METADATA"){ * }
python.package: {
  version: "1.3.17"
  summary: "Command line FTP server tool designed for performance and ease of use."
  file: file path="/home/jdiaz/.local/lib/python3.11/site-packages/python_ftp_server-1.3.17.dist-info/METADATA" size=1186 permissions.string="-rw-r--r--"
  author: "Vadym Stupakov"
  dependencies: data is not a map to auto-expand
  id: "/home/jdiaz/.local/lib/python3.11/site-packages/python_ftp_server-1.3.17.dist-info/METADATA"
  license: "MIT"
  name: "python-ftp-server"
}

Dies ist die erste von vielen neuen Ressourcen für Anwendungspakete, die wir vorstellen werden und mit denen Sie Ihre Anwendungsabhängigkeiten überprüfen und sichern können. Wenn Sie bestimmte Anwendungspaketsysteme haben, die Sie in cnquery und cnspec sehen möchten, teilen Sie uns dies bitte auf unserer GitHub-Diskussionsseite.

Erweiterte Unterstützung für AWS ECS in MQL

In dieser Version haben wir die AWS ECS-Unterstützung von MQL um neue Daten und Ressourcen erheblich erweitert:

  • aws.ecs.task enthält jetzt PlatformVersion-Daten.
  • aws.ecs.container enthält jetzt PlatformVersion-, RuntimeID- und ContainerName-Daten.
  • aws.ecs.cluster enthält jetzt ContainerInstances-Daten.
  • aws.ecs.image enthält jetzt URI-Daten, die den URI des Bild-Repositorys offenlegen.
  • Neu aws.ecs.instance Ressource.

Weitere AWS ElasticCache-Daten in MQL

Wir haben aws.elasticache.clusters zugunsten einer neuen Ressource aws.elasticache.cacheClusters verworfen, die Cluster-Daten in einem einfacher zu verwendenden Format präsentiert.

cnquery> aws.elasticache.cacheClusters { * }
aws.elasticache.cacheClusters: [
  0: {
    arn: "arn:aws:elasticache:us-east-1:ID:cluster:vjtest-001"
    notificationConfiguration: ""
    cacheSubnetGroupName: "vjtest"
    atRestEncryptionEnabled: false
    logDeliveryConfigurations: []
    ipDiscovery: "ipv4"
    authTokenLastModifiedDate: null
    numCacheNodes: 1
    engine: "redis"
    networkType: "ipv4"
    region: "us-east-1"
    securityGroups: []
    transitEncryptionMode: ""
    cacheNodeType: "cache.t3.medium"
    engineVersion: "7.0.7"
    preferredAvailabilityZone: "us-east-1c"
    transitEncryptionEnabled: false
    cacheClusterId: "vjtest-001"
    authTokenEnabled: false
    snapshotRetentionLimit: 0

Varianten der Richtlinie

Manchmal unterscheiden sich Abfragen geringfügig, wenn sie in verschiedenen Umgebungen ausgeführt werden. Das kann passieren mit:

  • Stark verwandte Abfragen, wie Betriebssystemprüfungen, die auf physischen Servern anders ausgeführt werden als auf Containern
  • Abfragen, die auf völlig unterschiedlichen Zielen auf ähnliche Dinge testen

Schauen wir uns das letztere Beispiel an:

queries:
  - uid: no-public-ip
    title: No public IPs are allowed on internal instances
    variants:
      - uid: no-public-ip-aws
      - uid: no-public-ip-terraform-aws
  - uid: no-public-ip-aws
    mql: |
      aws.ec2.instances.all( publicIp == "" )
    filters: |
      asset.platform == "aws"
  - uid: no-public-ip-terraform-aws
    mql: |
      terraform.resources.
        where( nameLabel == "aws_instance" ).
        all( arguments['associate_public_ip_address'] != true )
    filters: |
      asset.platform == "terraform-hcl"

Diese Abfrage stellt sicher, dass „Auf internen Instanzen keine öffentlichen IPs zulässig sind“. Diese Abfrage wird auf zwei verschiedene Arten implementiert: eine für die AWS-API (no-public-ip-aws) und eine für Terraform (no-public-ip-terraform-aws). Sie können diese Prüfung sowohl für AWS-Konten als auch für Terraform-Dateien durchführen und erhalten konsistente Berichte.

Darüber hinaus befasst sich dies mit einem häufigen Anwendungsfall, bei dem es eine Trennung zwischen Dingen, die in der Entwicklung passieren, und Dingen, die in der Produktion ablaufen, gibt. Wenn Sie separate Tools in verschiedenen Umgebungen oder sogar separate Richtlinien verwenden, mussten Sie zuvor Ausnahmen für bestimmte Prüfungen an beiden Enden des Lebenszyklus verwalten. Bei Varianten können Sie stattdessen Ausnahmen für die kombinierte Prüfung definieren und so sicherstellen, dass sie zwischen Entwicklung und Produktion einheitlich behandelt werden.

Neue Okta MQL-Verbesserungen

Wenn Sie Ihre eigenen Geschäftsrichtlinien für Okta definieren möchten, haben Sie Glück. Wir haben unsere Okta MQL-Richtlinien verbessert, sodass Sie Zugriff auf weitere Informationen zu Ihrer Umgebung erhalten:

  • Erfassen Sie okta.role und user.roles, sodass Sie abfragen können, welche Rollen einem Benutzer zugewiesen sind
  • Regeln für Zugriffsrichtlinien sammeln
  • Korrigieren Sie das Analysieren von Okta.TrustedOrigin.Scopes

Scannen im Kubernetes-Namespace-Bereich

Sie können jetzt einen einzelnen Namespace in einem Kubernetes-Cluster scannen, auch wenn Sie keinen Zugriff auf Ressourcen außerhalb dieses Namespaces haben. Auf diese Weise können Sie alle Workloads in Ihrem Namespace scannen und die Asset-Beziehungen unter dem Namespace in der Mondoo-Konsole durchsuchen.

Beispiel für eine cnquery-Abfrage für einen einzelnen Namespace:

./cnquery run k8s --namespaces default -c "k8s.pods" --discover namespaces
→ loaded configuration from /Users/ivanmilchev/.config/mondoo/mondoo.yml using source default
→ discover related assets for 1 asset(s)
→ resolved assets resolved-assets=1
k8s.pods: [
  0: k8s.pod namespace="default" name="nginx" created=2023-03-14 16:59:07 +0100 CET
]

etcd-Datenbankverschlüsselungsstatus in der Ressource gcp.project.gke.cluster

Die Ressource gcp.project.gke.cluster enthält jetzt Informationen zur Verschlüsselung der etcd-Datenbank.

cnquery> gcp.project.gke.clusters[0]{databaseEncryption}
gcp.project.gke.clusters[0]: {
  databaseEncryption: {
    keyName: "projects/***/locations/us-central1/keyRings/***/cryptoKeys/***"
    state: "ENCRYPTED"
  }

2FA-Typ in die Ressource slack.users

Die Ressource slack.users enthält jetzt die Art der Zwei-Faktor-Authentifizierung (2FA), die von Benutzern verwendet wird. Auf diese Weise kannst du abfragen, welche Benutzer für unsichere SMS im Vergleich zu sichereren App-basierten 2FA konfiguriert sind.

cnquery> slack.users.where( has2FA == true ){ has2FA twoFactorType }
slack.users.where.list: [
  0: {
    twoFactorType: "app"
    has2FA: true
  }
]

Weitere neue Funktionen

cnspec-Container von Red Hat Universal Base Image auf Docker Hub

Wir veröffentlichen jetzt cnspec- und cnquery-Container, die auf Red Hat Universal Base Image basieren, auf Docker Hub. Diese Container eignen sich perfekt für die Ausführung von cnspec und cnquery in OpenShift-Clustern. Sie finden diese Bilder zusammen mit unseren Standardbildern aus Alpine unter https://hub.docker.com/r/mondoo/cnspec und https://hub.docker.com/r/mondoo/cnquery.

Kleinere Installationsgröße

Das Mondoo-Paket wurde optimiert, um den Speicherplatz auf der Festplatte zu reduzieren, der von den Befehlen Mondoo, cnquery und cnspec beansprucht wird. Die alte Mondoo-CLI ist jetzt auf allen Plattformen um 200 MB kleiner. Darüber hinaus sind die CLIs cnquery und cnspec auf Windows-Systemen jeweils ~150 MB kleiner.

Alle macOS-Binärdateien sind jetzt signiert und notariell beglaubigt

Wir signieren und notariell alle Binärdateien für macOS, nicht nur die, die mit der Mondoo-.pkg-Datei installiert wurden. Das heißt, egal wo Sie Mondoo-Pakete verwenden, Sie haben immer eine vollständig gesicherte Binärdatei, die alle Sicherheitsanforderungen von Apple erfüllt.

Richten Sie einen Proxyserver für die gesamte Kommunikation mit der Mondoo-Plattform ein

Problem: Es gab keine Möglichkeit, die Kommunikation von CNSPEC zu Mondoo und von CNQuery zu Mondoo vom Verkehr zu isolieren, der nicht von Mondoo stammt.

Lösung: Ein neuer --api-proxy Mit dem Konfigurations-Flag können Sie den Proxyserver für API-Aufrufe der Mondoo-Plattform angeben, wenn Sie ein Asset mit dem Befehl cnspec login registrieren. Sie können das auch manuell hinzufügen API-Proxy Konfigurationsoption in deiner mondoo.yml-Konfiguration.

Weniger API-Aufrufe in der AWS Lambda-Integration

Wir haben unsere Lambda-basierte AWS-Integration optimiert, um die Anzahl der API-Aufrufe durch die Integration zu reduzieren und so die Lambda-Kosten zu senken. Keine Sorge. Sie erhalten immer noch dieselben großartigen AWS-Ressourcenscans, aber jetzt mit zusätzlicher Effizienz.

🐛 Weitere Verbesserungen

  • Wir erkennen jetzt Dienste auf Kali Linux korrekt.
  • Die Mondoo-EOL-Richtlinie wird jetzt auf FreeBSD-Hosts ausgeführt.
  • cnquery run und cnspec run laden jetzt korrekt die Mondoo-Plattformkonfiguration, um EOL- und Paketschwachstellenabfragen zu unterstützen.
  • Korrigiert das Parsen von Zeitstempeln in Google Workspace.
  • Korrigieren Sie die Setup-Anweisungen für Windows auf der Integrationsseite so, dass sie korrekt kopieren/einfügen.
  • Füge fehlende Breadcrumbs zur Seite „Sicherheitslücken“ hinzu.
  • Fügen Sie den Einrichtungsseiten für GCP und Okta Integration eine Formularvalidierung hinzu.
  • Melden Sie keinen erfolgreichen Schwachstellen-Scan für ein Asset, wenn keine Pakete entdeckt wurden.
  • Korrigiere falsche Anführungszeichen im GitLab Docker-Scanning-Beispiel
  • Zeigen Sie nicht die Stunde an, wenn Sie ein EOL-Datum für ein Asset melden.
  • Korrigieren Sie die falsche GCP-Projekt-ID-Validierung auf der Einrichtungsseite der GCP-Integration.
  • Wenn eine Integration noch nie gescannt wurde, zeigen Sie Nie statt 01.01.0001 an.
  • Aktualisieren Sie die Links auf den Integrationsseiten, um zu einer bestimmten Dokumentation zu gelangen.
  • Verwenden Sie das neueste Microsoft 365-Logo auf der Integrationsseite.
  • Verbessern Sie die Leistung beim Scannen von Container-Images im Mondoo Kubernetes Operator.
  • Aktualisieren Sie die Tabs auf den Asset-Seiten, damit sie der neuen Navigations-UX entsprechen.
  • Fügen Sie das fehlende Okta-Token-Feld zur Einrichtungsseite der Okta-Integration hinzu.
  • Link zur neuen CloudShell-Dokumentation im Einrichtungsassistenten für die AWS-Integration.
  • Korrigieren Sie die Links zur GCP-Konsole auf der Einrichtungsseite der GCP-Integration so, dass sie korrekt geladen werden, wenn Sie von der GCP abgemeldet sind.
  • Geben Sie UDP oder TCP in der Ressource ports.listening an, damit bestimmte Protokolle statt nur ipv4/ipv6 abgefragt werden können.
  • Beheben Sie Fehler beim Scannen von Container-Registrierungen.
  • Kennzeichnen Sie Container-Image-Assets mit allen erkannten Tags, wenn Sie Container-Registrierungen scannen.
  • Versagen Sie nicht bei einem kompletten AWS-Kontoscan, wenn für einen einzelnen Service eine Regionsbeschränkung festgelegt ist.
  • Besser scheitern, wenn ein Kubernetes-Namespace aufgrund von Zugriffsfehlern nicht gescannt werden kann.
  • Behebt den in 8.0 eingeführten Fehler im cnspec-Bundle-Format.
  • Aktualisieren Sie die Fortschrittsleiste des Scannens, um deutlicher zu machen, wann ein Asset nicht bewertet wurde.
  • Korrigieren Sie die Textfarbe für das Textfeld der Konsolen-Anmeldeseite auf Schwarz.
  • Korrigieren Sie die Links zur Benutzervereinbarung und Datenschutzrichtlinie auf der Konsolen-Anmeldeseite so, dass sie in neuen Fenstern geladen werden.
  • Zeigen Sie auf der Flottenseite nicht 0 Andere für Azure-Assets an.
  • Korrigieren Sie die außermittigen Spinner-Loader auf den Integrationsseiten.
  • Benennen Sie „Aktuelle Hinweise“ auf der Übersichtsseite in „Top Advisories“ um, damit sie besser zu dem passen, was im Widget angezeigt wird.
  • Zeigen Sie die genauen Abrechnungsplandaten in der Konsole an.
  • Verbessern Sie das Rendern auf der Willkommensseite auf kleinen Displays.
  • Behebung des Fehlers, wenn die Befehlsspalte ps keine Daten enthält, und warnt, wenn Daten sonst nicht korrekt analysiert werden können.
  • Beheben Sie Fehler beim Einstellen der AWS-Integration.
  • Korrigieren Sie das Analysieren von Richtlinien mit einer Reihe von Abhilfemaßnahmen anstelle von einfachen Zeichenketten.
  • Verbessern Sie die Audit-/Behebungsschritte in den Sicherheitsrichtlinien von Mondoo.
  • Aktualisieren Sie die Befehle cnspec bundle lint und cnspec bundle fmt, um die Mondoo-Richtlinienstruktur ab Version 8.0 zu unterstützen.
  • Aktualisieren Sie die Abfrage Ensure, dass Ereignisse, die die obligatorischen Zugriffskontrollen des Systems ändern, in der Richtlinie Linux Security by Mondoo so, dass sie entweder SELinux oder AppArmor unterstützen. Danke @micheelengronne!
  • Verbessern Sie die Zuverlässigkeit von Abfragen in der Okta Organization Security by Mondoo-Richtlinie.
  • Ersetzen Sie in einigen Anweisungen zur Richtlinienüberprüfung die Mondoo-Shell durch die cnspec-Shell.
  • Verbessern Sie die Abhilfemaßnahmen in den Azure-, Google- und AWS-Richtlinien von Mondoo.
  • Korrigieren Sie das cnspec-Paket fmt, das scoring_system bei der Konvertierung zwischen den Formaten 7.x und 8.x aus den Richtlinien entfernt hat.
  • Korrigieren Sie, dass cnspec bundle fmt eingegebene Dokumente nicht richtig analysiert.
  • Wenn Sie Kubernetes-Manifeste scannen, die Ressourcen ohne Namespace enthalten, erstellen Sie kein unbenanntes Namespace-Asset als übergeordnetes Objekt.
  • Beheben Sie Fehler beim Abfragen von Azure Cloud Defender-Sicherheitskontakten, wenn keine vorhanden sind.
  • Fehler beim Ausführen der github.organization {*} -Abfrage behoben.
  • Korrigieren Sie die Berechnung der aggregierten CVSS-Scores in der Ressource platform.advisories.
  • Korrigieren Sie einige CIS Kubernetes-Richtlinien, die im Policy Hub nicht angezeigt werden.
  • Verbessern Sie die Ad-hoc-Scananweisungen in den AWS/Azure/GCP-Richtlinien.
  • Aktualisieren Sie die CIS Azure AKS v.1.2 Pod Security Pod Policy Checks so, dass sie nur auf Kubernetes < 1.25 ausgeführt werden.
  • Aktualisieren Sie die Linux Security by Mondoo-Richtlinie. Stellen Sie sicher, dass Ereignisse, die die obligatorischen Zugriffskontrollen des Systems ändern, erfasst werden, erfasst werden, um einen abschließenden Schrägstrich in Verzeichnissen zu erwarten. Danke @micheelengronne!
  • Entfernen Sie die Status „Wird ausgeführt“ und „Unbekannt“, die in den Asset-Namen in der Konsole angezeigt wurden und in denen der Asset-Scan-Status nicht konsistent oder korrekt angezeigt wurde.
  • Fügen Sie fehlende Impact-Scores zur Windows Security by Mondoo-Richtlinie hinzu.
  • Korrigieren Sie, dass der Kubernetes-Operator neu bereitgestellte Workloads in einem Cluster nicht sofort scannt.
  • Aktualisieren Sie den Wortlaut auf den Azure- und MS365-Integrationsseiten, um klarer zu machen, dass die PEM-Datei sowohl das Zertifikat als auch den privaten Schlüssel enthalten muss.

Dominik Richter

Dom ist Gründer, Programmierer und Hacker und einer der Schöpfer von Mondoo. Mit Projekten wie InSpec und Dev-Sec.io hat er den DevOps- und Sicherheitsbereich mitgestaltet. Dom arbeitete in den Bereichen Sicherheit und Automatisierung bei Unternehmen wie Google, Chef und der Deutschen Telekom. Neben seiner Arbeit liebt er es, tief in die Hacker- und Nerdkultur, Wissenschaft und den Geist einzutauchen und farbenfrohe Pasta von Grund auf neu zuzubereiten.

You might also like

Vergleiche
Mondoo gegen Tenable — Zehn Möglichkeiten, Tenable-Alternativen zu vergleichen
Sanierung
Wie wir unser Risiko in weniger als drei Stunden um 54% reduziert haben
Sanierung
Branchenweit erste Priorisierung von Problembehebungen unter Berücksichtigung der Auswirkungen und des Aufwands