Snyk IaCでAWS CloudFormationの設定ミスをスキャン
Ilianna Papastefanou
2021年6月17日
0 分で読めますSnyk Infrastructure as CodeでAWS CloudFormationのサポートを開始しました。先日公開したInfrastructure as Code Security Insightsレポートでは、回答者の36%が主要なインフラストラクチャ・アズ・コードツールとしてAWS CloudFormation(CF)を利用していることがわかりました。Snyk Infrastructure as Codeを使用すると、包括的なAWSセキュリティルールに照らして、CFのYAMLまたはJSONテンプレートをスキャンできます。
この新機能により、CloudFormationファイルを他のコードと同じように扱い、開発プロセスの早い段階からセキュリティを組み込めます。セキュリティをインフラストラクチャの開発・デプロイパイプラインに不可欠な要素として取り入れ、セキュリティを左にシフトできます。
必要な場所に統合
この機能は、リポジトリをインポートする方法とCLIを使う方法の両方で利用できます。ローカル開発からソース管理、CI/CDパイプラインまで、あらゆる場所に統合できます。
安全でないCloudFormationテンプレートファイルを含むこちらのサンプルリポジトリを使い、GitHubからSnykにリポジトリを統合したところ、CFファイル全体からさまざまな問題が検出されました。

Snykでリポジトリを展開すると、スキャンされた設定ファイルの一覧を表示できます。以下の画面では、db.yml ファイルを選択しています。検出された設定上の問題が、元のCFテンプレート内の該当行にリンクされていることがわかります。

Snyk CLIを使って同じフィードバックを得ることもできます。ファイルはローカルで処理されるため、データがSnykに送信されることはありません。
AWS Cloud Development Kitを使用する
AWS Cloud Development Kit(AWS CDK)は、使い慣れたプログラミング言語でクラウドアプリケーションのリソースを定義できるオープンソースのソフトウェア開発フレームワークです。AWS CDKを使うと、YAMLを書く代わりに、TypeScriptやPythonなど自分になじみのあるプログラミング言語でインフラストラクチャを定義できます。開発者が慣れ親しんだ言語やIDEを使えるため、柔軟性と利用しやすさが高まります。また、プログラミングの構成要素を活用して、YAMLファイルをテンプレート化する必要もなくなります。
AWS CDKに組み込まれたsynthサブコマンドでJSONファイルに変換すれば、Snyk CLIのiac test機能を使ってAWS CDKファイルをスキャンすることもできます。
インフラストラクチャをTypeScriptで定義した別のサンプルを使い、次のコマンドを実行すると、Snyk CLIでパイプライン内の設定をテストできます。
このワークフローは、プルリクエストごとに完全に自動化できるビルドパイプラインに最適です。この記事の公開時点では、AWS CDKファイルのスキャンはCLIを使ったワークフローでのみ可能です。
包括的な設定セキュリティルール
包括的なセキュリティフィードバックを得るには、セキュリティルールの深さと幅広さが重要です。Snykには専任のセキュリティエンジニアリングチームがあり、調査と検証を行いながら、製品に新しいルールを継続的に追加しています。AWS向けのルールは100を超え、今も増え続けています。
ルールを追加する際は、広く知られたベストプラクティスと独自のセキュリティ調査を組み合わせ、適切なカバレッジを確保しています。ベストプラクティスは、クラウドプロバイダーやコミュニティの標準に基づいており、CISベンチマークやKubernetes、AWSのベストプラクティスなどが含まれます。独自のセキュリティ調査では、主要な利用パターンを対象とする脅威モデリングなどの手法を用います。たとえば、マネージドKubernetesサービスの設定を調査し、適切にIaCを強化することで回避できる弱点を特定します。
Snyk IaCルールの重大度は、Snyk組織のSettingsに移動し、左側のメニューからInfrastructure as Codeを選択すると確認・変更できます。AWS CloudFormationだけに絞り込むには、Severity settingsの下にあるタブからAWSを選び、CloudFormation(またはTerraform)を選択してください。ルールはフォーマットに依存しないよう設計しているため、ほとんどのルールはどの切り替えを選んでも表示されます。

サイトのSecurity Rulesセクションでは、AWS CloudFormationのセキュリティルール一覧をすべて公開しています。

Snyk IaCを無料で始める
これらの新機能は、無料プランのユーザーを含むすべての方にお試しいただけます。始め方は簡単です。
Snykアカウントをお持ちでない場合は、無料でご登録ください。
Snyk CLIをインストールしてください。すでにインストール済みの場合は、CLI 1.629.0以降であることをご確認ください。新機能をご利用いただけます。
CloudFormationファイルをスキャンします。新機能を使ってIaCをスキャンするには、次のコマンドを実行します。
snyk iac test <path-to-file-or-folder>
対応しているさまざまなスキャンオプションについては、Snykのドキュメントをご覧いただくか、CLIで次のコマンドを実行してCLIドキュメントをご確認ください。snyk iac --help
ぜひフィードバックをお寄せください。すでにSnykをご利用の場合は、カスタマーサクセスチームへの連絡が製品に関するフィードバックを伝える最適な方法です。どなたでもSnyk Community forumにコメントをお寄せいただけます。
ソースコードの段階からインフラを保護
Snykはワークフロー内のIaCセキュリティとコンプライアンスを自動化し、構成ドリフトや不足しているリソースを検出します。
