Skip to main content

Snyk CLIでARMテンプレートの設定ミスをスキャン

著者

Lauren Place

blog feature iac cli arm

2021年11月10日

0 分で読めます

大規模なアプリケーションリソースの管理は、簡単ではありません。そのため、多くのDevOpsチームやAppSecチームは、リソースのデプロイ、管理、アクセス制御の維持に個別のスクリプトを書くのではなく、宣言型フレームワークを利用しています。

Azure環境では、Azure Resource Manager(ARM)が管理レイヤーとして機能し、宣言型のARMテンプレートを通じてInfrastructure as Code(IaC)を管理できます。これにより、Azureリソースの管理、デプロイ、セキュリティを一元化できます。ARMの人気は年々高まっています。最新のクラウドネイティブアプリケーションセキュリティの現状レポートでは、30%を超えるチームが、IaCツールとしてAzure Resource Managerを利用していると回答しました。

ARMの人気が非常に高まるなか、Snyk Infrastructure as Code(Snyk IaC)を使ってARM JSONファイルの設定ミスを検出し、修正できるようになりました。ソフトウェア開発ライフサイクルの早い段階で問題を修正すれば、セキュリティチームも開発チームも、時間のかかる手作業のコードレビューや、開発プロセスのかなり後になってから脆弱性を修正する手間を省けます。

Snyk IaCとARMを使ったワークフローの例を見ていきましょう。

Snyk CLIでARMテンプレートをスキャンする

テスト用に、JSON形式とBicep形式のARMテンプレートファイルを含むサンプルリポジトリを用意しました。リポジトリをクローンし、Snyk CLIでARMファイルをテストできます。

Snyk CLIを使い始めるには、無料アカウントを作成し、npmでSnyk CLIをインストールしてください。Node.jsがローカルにインストールされている場合は、次のコマンドを実行します。npm install snyk@latest -g

Yarnを使用している場合:yarn global add snyk

Snyk IaCスキャンのターミナル出力。FTPデプロイや古いTLSなど、Azure ARMテンプレートのセキュリティ問題が6件表示されています。

ARM Bicepファイルの設定ミスを検出する

Bicepは、宣言型構文でAzureリソースをデプロイするドメイン固有言語(DSL)です。簡潔な構文、信頼性の高い型安全性、コードの再利用をサポートします。ARM JSONファイルのスキャンに加えて、Bicep CLIを使ってJSONに変換すれば、Bicepファイルもスキャンできます。

まず、Bicep CLIがインストールされていることを確認し、az bicep build -f {file_name}.bicepコマンドを使って、Bicep形式のARM設定ファイルをJSONに変換します。変換後は、他のARM JSONファイルと同じようにスキャンできます。

Snyk IaCでwordpress.jsonをテストした際のターミナル出力。安全性の低いHTTP経由のSASトークンに関する中程度の深刻度の問題が1件報告されています。

Snykの設定セキュリティルールを活用する

もちろん、IaCスキャン機能だけでは十分ではありません。リソースのデプロイ前に包括的なセキュリティフィードバックを得て、設定ミスを検出するには、セキュリティルールの深さと範囲が重要です。Snykの専任Security Engineeringチームが調査と検証を行い、新しいルールを追加しています。Azure環境を保護するルールは100以上あり、現在も増え続けています。

Security Engineeringチームは、既知のベストプラクティスと独自の調査を組み合わせ、新たなルールを継続的に追加しています。ベストプラクティスは、CISベンチマークなどのクラウドプロバイダーやコミュニティの標準、Azureのベストプラクティスに基づいています。セキュリティ調査では、主要な利用パターンに脅威モデリング手法を適用しています。たとえば、マネージドKubernetesサービスの設定を調査し、IaCの適切な強化によって回避できる弱点を特定します。

Snyk IaCのルールを確認するには、Snyk組織のSettingsに移動し、左側のメニューからInfrastructure as Codeを選択してください。Azureのルールだけに絞り込む場合は、Severity settingsの下にあるタブでAzureを選択します。ルールは特定の形式に依存しないように作成しているため、ほとんどのルールはどの切り替え項目を選んでも表示されます。

Azure TerraformおよびARMルールの重大度設定。API ManagementとApp Serviceの検出結果が表示され、重大度として「低」と「中」が選択されています。

Security Rulesセクションでは、ARMセキュリティルールの全リストも公開しています。

Azure API ManagementとApp Serviceのセキュリティ問題を、Terraform、ARM、Azure、CISのタグとともに一覧表示するSnyk ARMページ

Snyk IaCでARMの設定ミスを防ぐ

これらの新機能は、Snykの無料プランをご利用の方を含め、どなたでも利用できます。簡単な手順で始められます。

サポートされている各種スキャンオプションの詳細は、Snykのドキュメントをご覧ください。または、次のコマンドを実行してCLIのドキュメントを確認できます。snyk iac --help

Snyk CLIのARMサポートに関するご意見をお聞かせください。コメントやフィードバックはSnyk Communityフォーラムにお寄せください。

ソースコードの段階からインフラを保護

Snykはワークフロー内のIaCセキュリティとコンプライアンスを自動化し、構成ドリフトや不足しているリソースを検出します。

カテゴリー:

続きを読む

blog feature pypi spoof
Article

オープンソースのメンテナーに、Snyk AI Security Platformをすべて無料で提供

オープンソースのメンテナーは、実際の脆弱性レポートに追われ、優先順位付けや修正、修正版のリリースを迅速に進めるための支援を必要としています。SnykのSecure Developer Programでは、条件を満たすプロジェクトにSnyk AI Security Platformを無料で提供します。

Blog

JPMorganがサイバーセキュリティの10項目チェックリストを公開。Snykはそのうち8項目をカバーします。あなたの組織はどうでしょうか?

JPMorganChaseがサイバーレジリエンスに関する10項目のチェックリストを公開しました。Snykがそのうち8項目にどう対応し、セキュリティスタックのどこに位置付けられるかをご紹介します。

feature datacenters black
Blog

Snykが連邦政府機関のAI主導型科学の新時代「Genesis Mission」への備えを支援

Snykは、AI主導型科学の加速を目指すホワイトハウスのGenesis Missionに向けて、連邦政府機関のソフトウェアセキュリティを支援します。サプライチェーン、クラウド、パイプラインでSecure by Designを実現しましょう。