ARM-Templates mit der Snyk CLI auf Fehlkonfigurationen prüfen
Lauren Place
10. November 2021
0 Min. LesezeitDie 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

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.

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.

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

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:
Melden Sie sich bei Ihrem snyk.io-Konto an oder registrieren Sie sich kostenlos.
Vergewissern Sie sich, dass Sie die aktualisierte Snyk CLI (v.CLI 1.749.0) verwenden, oder installieren Sie die Snyk CLI.
Prüfen Sie Ihre ARM-Dateien: Starten Sie mit dem folgenden Hauptbefehl, um Ihre IaC-Dateien zu prüfen:
snyk iac test <path-to-file-or-folder>
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.
