Skip to main content

ARM-Templates mit der Snyk CLI auf Fehlkonfigurationen prüfen

Artikel von

Lauren Place

blog feature iac cli arm

10. November 2021

0 Min. Lesezeit

Die Verwaltung von Anwendungsressourcen in großem Umfang kann eine Herausforderung sein. Deshalb setzen viele DevOps- und AppSec-Teams auf ein deklaratives Framework, statt einzelne Skripte zu schreiben, um Ressourcen bereitzustellen, zu verwalten und ihre Zugriffskontrollen zu pflegen.

In Azure-Umgebungen ist Azure Resource Manager (ARM) die Verwaltungsebene, mit der Teams ihre Infrastruktur als Code (IaC) mithilfe deklarativer ARM-Templates verwalten können. Damit lassen sich Verwaltung, Bereitstellung und Sicherheit von Azure-Ressourcen zentralisieren. Die Beliebtheit von ARM ist im Laufe der Jahre stetig gestiegen. Laut unserem aktuellen Bericht State of Cloud Native Application Security gaben über 30 % der Teams an, Azure Resource Manager als bevorzugtes IaC-Tool zu verwenden.

Angesichts der enormen Beliebtheit von ARM freuen wir uns, bekannt zu geben, dass Sie jetzt mit Snyk Infrastructure as Code (Snyk IaC) Fehlkonfigurationen in ARM-JSON-Dateien finden und beheben können. Wenn Sie diese Probleme früh im Softwareentwicklungslebenszyklus beheben, können Sicherheits- und Entwicklungsteams langsame, manuelle Code-Reviews und den mühsamen Prozess vermeiden, eine Schwachstelle erst viel später im Entwicklungsprozess zu beheben.

Sehen wir uns einige Beispiel-Workflows mit Snyk IaC und ARM an.

ARM-Templates mit der Snyk CLI prüfen

Zu Testzwecken haben wir dieses Beispiel-Repository vorbereitet, das ARM-Template-Dateien sowohl im JSON- als auch im Bicep-Format enthält. Klonen Sie das Repository und testen Sie die ARM-Dateien anschließend mit der Snyk CLI.

Um mit der Snyk CLI loszulegen, können Sie ein kostenloses Konto erstellen und anschließend die Snyk CLI mit npm installieren. Wenn Node.js lokal installiert ist, können Sie die CLI mit folgendem Befehl installieren: npm install snyk@latest -g

Wenn Sie Yarn verwenden: yarn global add snyk

Terminalausgabe eines Snyk-IaC-Scans mit sechs Sicherheitsproblemen in Azure-ARM-Vorlagen, darunter FTP-Bereitstellungen und veraltetes TLS.

Fehlkonfigurationen in ARM-Bicep-Dateien erkennen

Bicep ist eine domänenspezifische Sprache (DSL), die mit deklarativer Syntax Azure-Ressourcen bereitstellt. Sie bietet eine prägnante Syntax, zuverlässige Typsicherheit und unterstützt die Wiederverwendung von Code. Neben ARM-JSON-Dateien können Sie auch Bicep-Dateien prüfen, indem Sie sie mit der Bicep CLI in JSON konvertieren.

Vergewissern Sie sich zunächst, dass die Bicep CLI installiert ist. Konvertieren Sie dann mit dem Befehl az bicep build -f {file_name}.bicep beliebige ARM-Konfigurationsdateien vom Bicep- ins JSON-Format. Nach der Konvertierung können Sie die Datei wie jede andere ARM-JSON-Datei prüfen.

Terminalausgabe von Snyk IaC beim Testen von wordpress.json: Ein Problem mittlerer Schwere mit einem SAS-Token über unsicheres HTTP wird gemeldet.

Die Sicherheitsregeln für Konfigurationen von Snyk nutzen

Die IaC-Prüfung allein reicht natürlich nicht aus. Umfang und Tiefe der Sicherheitsregeln sind entscheidend, damit Sie umfassendes Sicherheitsfeedback erhalten und Fehlkonfigurationen erkennen, bevor Ihre Ressourcen bereitgestellt werden. Das spezialisierte Security-Engineering-Team von Snyk recherchiert, validiert und ergänzt laufend neue Regeln – inzwischen sind es über 100 zum Schutz Ihrer Azure-Umgebung, und es werden immer mehr.

Unsere Security-Engineering-Teams verbinden bewährte Best Practices mit eigener Forschung, um kontinuierlich neue Regeln hinzuzufügen. Die Best Practices basieren sowohl auf Standards von Cloud-Anbietern und der Community, etwa CIS-Benchmarks, als auch auf Azure-Empfehlungen. Im Bereich Sicherheitsforschung nutzen wir Threat-Modeling-Techniken für wichtige Nutzungsmuster. So untersuchen wir beispielsweise Einstellungen in verwalteten Kubernetes-Angeboten, um festzustellen, wie sich Schwachstellen durch eine angemessene IaC-Härtung vermeiden lassen.

Die Snyk-IaC-Regeln finden Sie in den Einstellungen Ihrer Snyk-Organisation. Wählen Sie dazu im Menü links Infrastructure as Code aus. Um die Ansicht auf Azure zu beschränken, wählen Sie auf den Tabs unter Severity settings die Option Azure aus. Wir bemühen uns, formatunabhängige Regeln zu verfassen. Daher werden die meisten Regeln unabhängig davon angezeigt, welche Schalter Sie auswählen.

Schweregradeinstellungen für Azure-Terraform- und ARM-Regeln mit API-Management- und App-Service-Ergebnissen sowie den ausgewählten Schweregraden „Niedrig“ und „Mittel“.

Eine vollständige Liste unserer ARM-Sicherheitsregeln finden Sie auch öffentlich im Bereich Security Rules auf unserer Website.

Snyk-ARM-Seite mit Sicherheitsproblemen bei Azure API Management und App Service sowie Terraform-, ARM-, Azure- und CIS-Tags

ARM-Fehlkonfigurationen mit Snyk IaC verhindern

Diese neuen Funktionen stehen allen zur Verfügung, auch Nutzern der kostenlosen Snyk-Version. So legen Sie ganz einfach los:

Weitere Informationen zu den verschiedenen unterstützten Prüfoptionen finden Sie in der Snyk-Dokumentation oder in der CLI-Dokumentation. Führen Sie dazu folgenden Befehl aus: snyk iac --help

Wir freuen uns über Ihr Feedback dazu, wie die ARM-Unterstützung in der Snyk CLI für Sie funktioniert. Teilen Sie Ihre Kommentare und Rückmeldungen im Snyk Community-Forum.

Sichern Sie Ihre Infrastruktur an der Quelle

Snyk automatisiert die IaC-Sicherheit und Compliance in Workflows und erkennt abweichende sowie fehlende Ressourcen.

Gepostet in: