In this article
AWSセキュリティツールの活用 - Snyk
SnykとAWSセキュリティツールの連携方法
AWSセキュリティツールとは?
AmazonはAWSネイティブのセキュリティツールを複数提供しており、お客様が共有責任モデルにおける自らの責任を果たしやすくしています。これらのツールを活用することで、AWSユーザーはIDとアクセスの管理、データとインフラの保護、インシデントの検知といったベストプラクティスに従えます。Snykのようなセキュリティベンダーは、Amazonがカバーしていない領域を補完し、AWS環境内で稼働するコンテナ、クラウド環境、コードに潜む脆弱性の検出と修正を支援します。
AWSセキュリティツールの活用 - Snyk
クラウドにおけるAWSのセキュリティリスクは年々高まっており、クラウド/ハイブリッド環境を利用する企業にとって、強固なクラウドセキュリティ対策を確立することがこれまで以上に重要になっています。Amazonは一般的な「クラウドのセキュリティ」を提供しますが、「クラウド内のセキュリティ」については、顧客も共有責任を負います。これには、IDとアクセス管理、オペレーティングシステム、ファイアウォール/ネットワーク構成、アプリケーションのワークロード、データセキュリティが含まれます。
AWSのクラウドセキュリティのベストプラクティスに従って共有責任モデルにおける自社の責任を果たさなければ、機密データやシステムが権限のない人にさらされるリスクが高まります。その結果、近年では大きく報道されたAWSの情報漏えいもいくつか発生しています。幸い、クラウドエコシステムのセキュリティを強化し、保護するためのAWSセキュリティツールは数多くあります。まずは利用可能なリソースを把握し、環境固有のニーズや構成に合わせて設定することが大切です。AWSセキュリティのベストプラクティスはこちらをご覧ください。
AWSセキュリティツールの種類
AWSセキュリティツールは、アカウントセキュリティとアプリケーションおよびサービスのセキュリティの2種類に分類されます。これらのツールが連携して、組織のAWSエコシステム内のワークフローとデータを保護します。Amazonのクラウドセキュリティ態勢管理ツールであるAWS Security Hubは、両方のカテゴリに該当します。一般的なセキュリティチェック、アラートの集約、修復/対応の自動化を提供します。
アカウントセキュリティツール
アカウントセキュリティツールは主に、IDとアクセス管理の制御機能を提供します。複雑なクラウド環境で、権限、ユーザーの操作、アクセスレベルを簡単に管理できます。アカウントセキュリティに利用できるAWSのサービスをいくつかご紹介します。
AWS Identity and Access Management(IAM)を使うと、AWSのサービスやリソースにアクセスできるユーザーや対象を管理者が指定できます。
Amazon Macieは、機械学習とパターンマッチングを活用し、S3バケット内の機密データを特定して保護します。
Amazon GuardDutyは、AWS環境全体を監視し、潜在的な脅威を検出します。
AWS Configはリソース構成の変更を監視し、変更管理を容易にします。
AWS CloudTrailはユーザーのアクティビティとAPIの使用状況を追跡します。
アプリケーションおよびサービスのセキュリティツール
一方、アプリケーションおよびサービスのセキュリティツールは、開発プロセスに潜む脆弱性の特定と修正に重点を置いています。Amazonは、アプリケーションおよびサービスのセキュリティを管理するツールとして、AWS Security Hubのほか、自動コードレビューを行うAmazon CodeGuruや、ソフトウェアの脆弱性とネットワークの露出を検出するAmazon Inspectorを提供しています。AWSとのパートナーシップにより、Amazon Inspectorはこのセキュリティ評価サービスを支えるオープンソース脆弱性データの主要エンジンとしてSnykを採用しました。Inspectorのスキャン結果にSnykのデータベースに基づく詳細な説明と修正提案が直接組み込まれます。
追加のセキュリティサポートが必要なAWSサービス
Amazonは堅牢なアカウントセキュリティツールを提供していますが、AWSの開発ソリューションの多くでは、アプリケーションやサービスのセキュリティツールによる追加サポートが依然として必要です。ここでは、一般的に使用されるAWS開発ツールと、Snykのようなベンダーがそれらをより安全にする方法をご紹介します。
CI/CDパイプライン
AWS CodePipelineを使うと、チームはリリースパイプラインを自動化し、迅速で信頼性の高い継続的デリバリーを実現できます。しかしAmazonは、パイプライン内の安全でないオープンソースコンポーネントを検出するセキュリティ対策を提供していません。そのため、チームはSnykのCodePipelineインテグレーションのような外部セキュリティツールを利用する必要があります。オープンソースの脆弱性をスキャンし、結果をCodePipelineのUIに直接表示します。
AWS CodeCommitとAWS CodeBuildも、CI/CDパイプラインを構成する重要な要素です。CodeCommitは拡張性の高いプライベートGitリポジトリを提供し、CodeBuildはコードのコンパイル、テスト、パッケージ化を行うビルドスクリプトを実行します。どちらのツールも、コードが後続の工程に渡される前にセキュリティチェックを行いません。このギャップを埋めるために、Snyk Codeを使えば、CodeCommitに登録する前、あるいはCodeBuildで後続工程に移る前の、できるだけ早い段階で開発者がソースコードをスキャンできます。
コンテナ
Amazon Elastic Container Registry(ECR)とAmazon Elastic Kubernetes Service(EKS)を使うと、チームはコンテナやオーケストレーションを簡単に実行できます。ただし、どちらのツールにも、ベースイメージの依存関係、Dockerfileのコマンド、Kubernetesのワークロードに潜むリスクを特定するため、Snyk Containerなどの追加セキュリティツールが必要です。
クラウドインフラストラクチャ
AWS Lambdaを使うと、インフラストラクチャをプロビジョニングまたは管理することなくコードを実行できます。多くの組織では、Lambdaのインフラストラクチャを自動的にスケールするために、Amazon EC2やAmazon EC2 Reserved Instancesも利用しています。このプロセス全体を保護するには、脆弱なコードがLambdaにデプロイされていないか検出するSnyk Codeなどのセキュリティレイヤーを追加する必要があります。
AWS CloudFormationは、クラウドリソースのモデル化、プロビジョニング、管理に使うInfrastructure as Codeを提供しますが、クラウドの設定ミスによって生じる潜在的な脆弱性は監視しません。Snyk IaCはCloudFormationをスキャンして設定ミスを検出し、ソフトウェア開発ライフサイクル内の他のコードと同様に扱います。
Amazon S3はクラウドデータの保存と取得に使われます。S3には組み込みのセキュリティ機能がありますが、ユーザーの操作ミスがリスクにつながる可能性もあります。たとえば、S3バケットを誤って公開し、機密データがさらされるケースはよくあります。Snyk Cloudはこのような設定ミスを特定し、エンジニアが最初から安全なクラウド環境を構築できるよう支援します。
Amazon Linux 2は、AWSアプリケーションを実行するためのLinux環境を提供します。Snyk製品は、パフォーマンスを損なわずにこの環境で動作するよう最適化されています。
AWSエコシステム全体を守るセキュリティツール
SnykのAWS向けセキュリティツールは、開発チームがクラウドエコシステムの設定ミスや、ファーストパーティコード、オープンソースの依存関係、コンテナイメージ、IaCにおけるアプリケーションレベルのセキュリティ問題を修正できるよう支援します。クラウドとアプリケーションの両方を安全に保つことで、エコシステム全体の安全性が高まります。また、2022年クラウドセキュリティの現状レポートで明らかになったように、クラウドセキュリティはデプロイを迅速化し、クラウドエンジニアリングチームがセキュリティ以外の分野でイノベーションに取り組む余裕を生み、チーム間のコラボレーションも促進します。
AWSセキュリティツールについて、さらに詳しく知りたいですか?最新のデモキャストで、AWSインテグレーションの実際の動作をご覧ください。