セキュリティの脆弱性やフォーマットエラーのスキャン - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

セキュリティの脆弱性やフォーマットエラーのスキャン

Infrastructure as Code (IaC) と自動化は、企業にとって不可欠なものとなっています。IaC は非常に堅牢であるため、セキュリティリスクを管理する責任は大きくなります。IaC の一般的なセキュリティリスクには次のようなものがあります。

  • 過剰許可 AWS Identity and Access Management (IAM) 権限

  • オープンなセキュリティグループ

  • 暗号化されていないリソース

  • オンになっていないアクセスログ

セキュリティのアプローチとツール

以下のセキュリティアプローチの実装をお勧めします。

  • 開発中の脆弱性検出 — ソフトウェアパッチの開発と配布は複雑なため、本番稼働環境での脆弱性の修復には費用と時間がかかります。さらに、本番稼働環境の脆弱性には悪用されるリスクもあります。本番稼働環境にリリースする前に脆弱性を検出して修正できるように、IaC リソースでコードスキャンを使用することを推奨します。

  • コンプライアンスと自動修復 — AWS はマネージドルール AWS Config を提供します。これらのルールは、コンプライアンスを強制し、AWS Systems Manager 自動化を使用して自動修復を試みるのに役立ちます。 AWS Config ルールを使用してカスタムオートメーションドキュメントを作成して関連付けることもできます。

一般的な開発ツール

このセクションで説明するツールは、独自のカスタムルールを持つ組み込み機能の拡張に役立ちます。カスタムルールを組織の標準に合わせることをお勧めします。以下は一般的な開発ツールの一部です。

  • cfn-nag を使用して、CloudFormation テンプレートの過剰な IAM ルールまたはパスワードリテラルなど、インフラストラクチャのセキュリティ問題を特定します。詳細については、Stelligent の GitHub 「cfn-nag」リポジトリを参照してください。

  • cfn-nag にヒントを得た cdk-nag を使用すると、特定のスコープ内のコンストラクトが、定義された一連のルールに準拠しているかどうかを検証できます。cdk-nag はルール抑制やコンプライアンスレポートにも使用できます。cdk-nag ツールは、 の側面を拡張することでコンストラクトを検証します AWS CDK。詳細については、 AWS DevOps 「DevOps ブログ」の「Manage application security and compliance with the AWS Cloud Development Kit (AWS CDK) 」および「cdk-nag」を参照してください。

  • オープンソースツールの Checkov を使用して、IaC 環境で静的分析を実行します。Checkov は、Kubernetes、Terraform、または CloudFormation のインフラストラクチャコードをスキャンすることで、クラウドの構成ミスを特定できます。Checkov を使用すると、JSON、JUnit XML、CLI など、さまざまな形式の出力を取得できます。Checkov は、動的なコード依存関係を示すグラフを作成することで、変数を効果的に処理できます。詳細については、Bridgecrew の GitHub「Checkov」リポジトリを参照してください。

  • TFLint を使用すると、エラーや廃止された構文がチェックされ、ベストプラクティスを実施しやすくなります。TFLint はプロバイダー固有の問題を検証できない場合がありますのでご注意ください。TFLint の詳細については、Terraform Linters の GitHub「TFLint」リポジトリを参照してください。

  • Amazon Q Developer を使用してセキュリティスキャンを実行します。統合開発環境 (IDE) で使用すると、Amazon Q Developer は AI を活用したソフトウェア開発支援を提供します。コードに関するチャット、インラインコード補完の提供、新しいコードの生成、セキュリティの脆弱性のスキャン、コードのアップグレードと改善を行うことができます。