こんにちはヤク学長です。
☆この記事はAWSアソシエイトZERO3版を網羅しています☆
本記事の目的は、「アソシエイト試験に合格するため」または「合格した方が知識を思い出す」ことを目的としています。
【本記事のもくじ】
まず、AWSに真剣に取り組むための概要を解説します。
下記の方法で、簡単に概要を抑えることができます。
- 1.セキュリティ
- 2.AWS KMS
- 3.CloudFront
- 4.ACMの活用
- 5.AWSのファイアーウォール
それでは、上から順番に見ていきます。
なお、本上記の方法を抑えれば成果が出ます。
今回からは「セキュリティを全体的に学ぶ」として機能や特徴を学んでいきましょう。
基本的な機能や仕組みを理解し、セキュリティについて理解していきましょう。
記事の内容は「転載 & 引用OK」問題ありません。
1.セキュリティ
AWSは、お客様のアプリケーションやデータを保護するために多くの機能を提供しています。これには、以下のようなものが含まれます:
- Identity and Access Management (IAM): AWSアカウントにアクセスするユーザーやアプリケーションの権限を管理することができます。
- Virtual Private Cloud (VPC): プライベートな仮想ネットワークを構築することができます。
- Security Groups: AWSリソースへのアクセスを制御することができます。
- Key Management Service (KMS): 暗号化キーを管理することができます。
- Certificate Manager: SSL/TLS証明書を管理することができます。
- AWS WAF: アプリケーションのWebフレームワークを保護することができます。
- Amazon GuardDuty: AWSアカウントに対する不正なアクティビティを検知し、報告することができます。
これらは、AWSのセキュリティ対策の一部であり、AWS上のアプリケーションやデータを保護するために使用することができます。
データの保護:暗号化
データの暗号化とは、情報を暗号化することによって、不正アクセスからデータを保護することを目的とした技術です。
AWSでは、Amazon S3、Amazon EBS、Amazon Glacierなどのストレージサービスに暗号化機能を提供しています。また、Amazon RDSなどのデータベースサービスにも暗号化機能を提供しています。
サーバサイド暗号化とクラウドサイド暗号化
サーバサイド暗号化は、データがサーバに格納されている場合に適用されます。この方法では、データを暗号化するためにサーバ上で処理が実行されます。サーバサイド暗号化は、データを安全に保護するために非常に有効ですが、サーバの構成や管理によっては、漏洩や攻撃に対する脆弱性が生じる可能性があります。
クラウドサイド暗号化は、データがクラウド上に格納されている場合に適用されます。この方法では、クラウドサービスプロバイダーがデータを暗号化するために処理を実行します。クラウドサイド暗号化は、データを安全に保護するために非常に有効であり、同時にサーバの構成や管理によって生じる脆弱性も回避できます。
RDSによる暗号化
Amazon Relational Database Service (RDS)は、データベースサービスであり、データベースインスタンスに対して暗号化をサポートします。
RDSでは、暗号化を使用することで、データベースのデータ、バックアップ、スナップショットを保護することができます。
この暗号化は、AWS Key Management Service (KMS)を使用して管理されます。このサービスを使用することで、データベースを安全に保護し、法令や規制に従ったデータ保護の要件を満たすことができます。
責任共有モデル
責任共有モデルとは、クラウドサービスの利用において、クライアントとサービスプロバイダーの両者において責任を共有するというものです。
このモデルでは、クライアントはアプリケーションやデータの所有者となり、サービスプロバイダーはインフラやセキュリティなどの保証を行います。
両者ともに、それぞれの担当範囲内での責任を持つことが求められます。
AWSとユーザーの責任は、AWSの「責任共有モデル」に基づいて分かれています。このモデルでは、AWSが基本的なインフラストラクチャを提供するとともに、ユーザーがアプリケーション、データ、セキュリティなどに関連する責任を負うことが明確に定義されています。詳細には、AWSのサイトで公開されている「AWS 利用規約」などを参照すると良いです。
権限管理のAWS Directory Service
AWS Directory Serviceは、AWSクラウド上でのMicrosoft Active Directory (AD) または Simple AD を実現するためのサービスです。
ユーザーアカウント、グループ、ポリシーを管理することができます。このサービスを使用することで、AWSリソースにアクセスするための権限を付与したり、アプリケーションにサインオンを許可するための情報を管理することができます。
AWS Directory Serviceは、AWSの仮想ネットワーク内で使用することができるため、従来のオンプレミスのActive Directoryと同じようにAWSリソースを管理することができます。
また、このサービスは同様の機能を提供するため、従来のActive Directoryと同じように管理することができます。
権限管理のSecurity Token Service
Amazon Security Token Service (STS)は、AWSアカウントに関連付けられた一時的な認証情報を生成することができるサービスです。STSは、ユーザー、アプリケーション、サービスなどがAWSリソースにアクセスするために使用されます。STSは、複数のAWSアカウント間での認証、アクセス制御などを簡単に実現することができます。STSによって生成された一時的な認証情報は、アクセスが必要なAWSリソースにアクセスする際に使用することができます。
権限管理のAWS Cognite
AWS Cognitoは、クラウドベースの認証と認可サービスです。ユーザーアカウントの管理、ユーザー認証、アクセス認証などを行います。同時に、登録情報の管理、パスワードリセット、MFAなどの認証フローを支援します。このサービスを使用することで、開発者は安全なユーザーアクセス管理を簡単に実装することができます。
サブネットは、VPC (Virtual Private Cloud) 内の IP アドレス空間を分割することで、アプリケーションとリソースを隔離するために使用されます。
サブネットには、自分自身のセキュリティグループとアクセスルールが割り当てられます。各サブネットは、特定のアベイラビリティゾーンに属することができます。これにより、冗長性と拡張性を強化します。また、各サブネット内で公開またはプライベートに配置することができます。
VPCアクセス制御
VPC (Virtual Private Cloud) アクセス制御は、AWS上の複数のリソースにアクセスする際に使用するセキュリティグループによって行われます。セキュリティグループは、特定のポートを開放することによって特定のリソースにアクセスを許可することができます。VPCアクセス制御は、AWSリソースをインターネットから守り、同時に特定のアプリケーションやサービスのアクセスを許可することができます。
検出制御
AWSには次のような検出制御サービスがあります:
- Amazon GuardDuty: ネットワークトラフィックのモニタリングと脅威検出サービス
- Amazon Detective: AWSアカウント内のリソースに対する活動の調査と分析サービス
- Amazon Macie: 機密データを含むオブジェクトを自動的に検出して保護するサービス
- AWS Security Hub: AWSのセキュリティとコンプライアンス情報を統合管理するサービス
- Amazon CloudWatch Event: AWSリソースのイベントを監視、記録、およびフロー制御するサービス
これらのサービスを組み合わせることで、AWSの利用状況を管理し、セキュリティ問題を発見し、防止することができます。
2.AWS KMS
AWS Key Management Service (KMS)は、組織内のセキュリティポリシーに準拠した鍵管理を提供するサービスです。このサービスを使用すると、ユーザーは暗号化鍵を作成、管理、および使用することができます。これにより、データの機密性、完全性、およびアクセス制御を強化することができます。 AWS KMSは、AWSクラウド内で実行されるアプリケーション、データ、サービスなどのデータを暗号化するために使用されます。
カスタマーマスターキー/カスタマーデータキー/エンベロープ暗号化
AWS Key Management Service (KMS) には、次の3つのタイプの鍵があります:
- Customer Master Key (CMK): これはユーザーが作成し、管理する暗号化鍵です。この鍵は、AWS KMS内でのデータの暗号化、復号化、署名、検証などの操作に使用されます。
- Customer Data Key (CDK): これはユーザーがアプリケーション内で使用する鍵です。この鍵は、ユーザーが管理するデータを暗号化するために使用されます。CDKは、AWS KMSで作成または生成されます。
- Envelope encryption: これは、データを暗号化するために使用される技術です。データは、公開鍵で暗号化された秘密鍵 (CDK) で暗号化され、その後、ユーザーが管理するデータ (例: データベースレコード) はこの秘密鍵で暗号化されます。この方法により、データを暗号化することができますが、復号化することはできません。代わりに、暗号化されたデータを復号するためには、秘密鍵が必要です。
3.CloudFront
Amazon CloudFrontは、Amazon Web Services (AWS) によって提供される、グローバルなコンテンツ配信ネットワーク (CDN) サービスです。このサービスを使用することで、ウェブサイト、モバイルアプリケーション、動画、ゲームなどのコンテンツを高速かつ安定した方法で配信することができます。
主な特長:
- グローバルな分散: CloudFrontは、グローバルな分散されたサーバー群を使用して、ユーザーから最も近い場所にあるサーバーからコンテンツを配信します。これにより、高速かつ安定した配信が可能になります。
- 高速なトラフィック減少: CloudFrontは、動的なと静的なコンテンツ (画像、CSS、JavaScriptなど) のキャッシュを利用して、トラフィックを減少させます。これにより、ユーザーにより速いレスポンスタイムを提供することができます。
- トラフィック暗号化: CloudFrontは、HTTPS 接続を使用してトラフィックを暗号化します。これにより、データのプライバシーとセキュリティが保護されます。
- 簡単なセットアップ: CloudFrontは、AWS Management Consoleを使用して簡単にセットアップすることができます。ユーザーは、オリジンサーバー (例: S3バケット、EC2インスタンス) を指定するだけで、配信するコンテンツを設定することができます。
- 統合オプション: CloudFrontは、AWSによって提供される他のサービス (例: Amazon S3、Amazon EC2、Amazon Route 53) と簡単に統合することができます。これにより、ユーザーは、完全なウェブソリューションを構築することができます。
CloudFrontの特徴
Amazon CloudFrontの特徴には以下があります:
- グローバルな配信ネットワーク: CloudFrontは、グローバルな分散サーバー群を使用して、ユーザーから最も近い場所にあるサーバーからコンテンツを配信します。これにより、高速かつ安定した配信が可能になります。
- 高速なトラフィック減少: CloudFrontは、動的なと静的なコンテンツ (画像、CSS、JavaScriptなど) のキャッシュを利用して、トラフィックを減少させます。これにより、ユーザーにより速いレスポンスタイムを提供することができます。
- 暗号化: CloudFrontは、HTTPS 接続を使用してトラフィックを暗号化します。これにより、データのプライバシーとセキュリティが保護されます。
- 簡単なセットアップ: CloudFrontは、AWS Management Consoleを使用して簡単にセットアップすることができます。ユーザーは、オリジンサーバー (例: S3バケット、EC2インスタンス) を指定するだけで、配信するコンテンツを設定することができます。
- 統合オプション: CloudFrontは、AWSによって提供される他のサービス (例: Amazon S3、Amazon EC2、Amazon Route 53) と簡単に統合することができます。これにより、ユーザーは、完全なウェブソリューションを構築することができます。
- カスタマイズ可能なルーティングポリシー: CloudFrontは、ユーザーがカスタマイズ可能なルーティングポリシーを使用して、トラフィックのルーティング方法を設定することができます。
- 複数のプロトコル対応: CloudFrontは、HTTP および HTTPS プロトコルをサポートしています。
CloudFrontの構成
Amazon CloudFrontの構成には以下の要素が含まれます:
- Distribution: CloudFrontの配信単位です。ユーザーは、単一のオリジンサーバーまたは複数のオリジンサーバーからコンテンツを配信するために、Distributionを作成します。
- Origin: CloudFrontに配信する元となるサーバー (S3バケット、EC2インスタンスなど) です。ユーザーは、複数のオリジンを指定することができます。
- Cache Behavior: CloudFrontは、URLパターンに基づいてトラフィックをルーティングするためにCache Behaviorを使用します。Cache Behaviorは、コンテンツをキャッシュする方法や、TTL (Time-to-Live) 、フォワードクエリ文字列の設定などを設定することができます。
- Edge Location: CloudFrontは、グローバルな分散サーバー群を使用しています。Edge Locationは、CloudFrontのサーバーで、ユーザーから最も近い場所にあるサーバーを指します。
- Custom Domain Name: CloudFrontは、ユーザー自身のカスタムドメイン名を使用することができます。
- SSL Certificate: CloudFrontは、HTTPS 接続を使用するためにSSL証明書を必要とします。ユーザーは、AWS Certificate Managerまたは他のCA (Certificate Authority) からSSL証明書を取得することができます。
- Logging: CloudFrontは、配信アクティビティのログを保存することができます。このログを使用することで、ユーザーは、トラフィックパターンやエラーなどの情報を取得することができます。
CloudFrontの挙動
Amazon CloudFrontは、Webコンテンツ配信のCDN (Content Delivery Network) です。以下がCloudFrontの挙動についての説明です:
- リクエストの受信: CloudFrontは、Webブラウザからのコンテンツリクエストを受信します。
- Edge Locationの決定: CloudFrontは、ユーザーからのリクエストを最も近いEdge Locationにルーティングします。
- キャッシュ検索: Edge Locationは、リクエストされたコンテンツがキャッシュに存在するかを検索します。
- コンテンツの配信: もし、キャッシュに存在する場合は、Edge Locationからコンテンツを配信します。もし存在しない場合は、オリジンサーバーにリクエストしてコンテンツを取得し、Edge Locationにキャッシュし、ユーザーに配信します。
- コンテンツのキャッシュ: Edge Locationは、コンテンツをキャッシュします。このキャッシュは、次回同じリクエストがあったときに使用されます。
- ログの記録: CloudFrontは、配信アクティビティをログとして記録します。
これにより、ユーザーは高速かつ高品質なコンテンツ配信を実現することができます。また、ユーザーは、オリジンサーバーの負荷を減らすことができます。
Distribution設定
Amazon CloudFrontのDistributionは、Webコンテンツを配信するために使用する設定です。以下がDistributionの設定に関する一般的な項目です:
- オリジン: CloudFrontのDistributionは、Webコンテンツを配信するために使用するオリジンを定義する必要があります。このオリジンは、Amazon S3バケット、EC2インスタンス、ローカルサーバーなどが含まれます。
- Edge Location: CloudFrontは、Edge Locationを使用してWebコンテンツを配信します。Distribution設定では、Edge Locationの数や地理的な分布を指定することができます。
- キャッシュ構成: CloudFrontのDistributionは、キャッシュ構成を定義することができます。これには、キャッシュの有効期間やキャッシュ制御ヘッダーなどが含まれます。
- 配信方法: CloudFrontのDistributionは、Webコンテンツの配信方法を定義することができます。これには、HTTPS配信、暗号化、コンテンツ配信ポリシーなどが含まれます。
- トラフィック管理: CloudFrontのDistributionは、トラフィック管理を定義することができます。これには、トラフィック制限、負荷分散、アクセス制御などが含まれます。
- ログ記録: CloudFrontのDistributionは、配信アクティビティをログとして記録することができます。これには、リクエスト数、データ転送量、エラー発生状況などが含まれます。
これらの設定を適切に行うことで、ユーザーは高速かつ高品質なWebコンテンツ配信を実現することができます。
キャッシュの活用
Amazon CloudFrontは、キャッシュを使用することで、高速かつ高品質なWebコンテンツ配信を実現します。以下がキャッシュの活用に関する一般的なポイントです:
- キャッシュ効率: CloudFrontは、配信されたWebコンテンツをEdge Locationにキャッシュします。これにより、ユーザーは通常高速なレスポンスを受け取ることができます。
- キャッシュの有効期間: CloudFrontのDistribution設定では、キャッシュの有効期間を指定することができます。この有効期間が切れた場合、CloudFrontはオリジンからの最新のWebコンテンツを取得します。
- キャッシュ制御ヘッダー: CloudFrontのDistribution設定では、キャッシュ制御ヘッダーを指定することができます。このヘッダーにより、CloudFrontは、特定のWebコンテンツをキャッシュするかどうかを決定することができます。
- キャッシュのインバリッド: CloudFrontは、特定のWebコンテンツを最新のものに更新するために、キャッシュのインバリッドを使用することができます。このインバリッドにより、Webコンテンツを最新の状態に保つことができます。
これらのポイントを考慮することで、ユーザーは、高速かつ高品質なWebコンテンツ配信を実現することができます。また、適切なキャッシュ構成を行うことで、帯域幅使用量を最小限に抑えることができます。
パラメータ値の完全一致とキャッシュの無効化
ができます。
- パラメータ値の完全一致: CloudFrontは、URLのパラメータ値を使用してWebコンテンツをキャッシュすることができますが、同じURLで異なるパラメータ値を使用した場合、異なるWebコンテンツを返すことがあります。このような場合、CloudFrontは、異なるWebコンテンツを別々にキャッシュします。このため、パラメータ値を使用してWebコンテンツをキャッシュする場合は、パラメータ値の完全一致を指定することが重要です。
- キャッシュの無効化: CloudFrontは、Webコンテンツをキャッシュすることで高速なレスポンスを提供しますが、オリジンからの最新のWebコンテンツを取得する必要がある場合があります。このような場合は、キャッシュの無効化を指定することができます。キャッシュの無効化により、CloudFrontは、オリジンからの最新のWebコンテンツを取得してキャッシュするようになります。
これらのポイントを考慮することで、ユーザーは、適切なキャッシュ構成を行い、帯域幅使用量を最小限に抑えることができます。
CloudFrontの利用コスト
Amazon CloudFrontの利用コストは、次の要素によって決まります。
- Data Transfer: CloudFrontは、データ転送量に基づいて請求されます。これは、CloudFrontエッジロケーションからユーザーのWebブラウザにデータを転送するためのトラフィックです。
- リクエスト数: CloudFrontは、Webリクエスト数に基づいて請求されます。これは、CloudFrontエッジロケーションからオリジンサーバーへのWebリクエスト数です。
- ストレージ: CloudFrontは、キャッシュされたデータのストレージ使用量に基づいて請求されます。これは、CloudFrontエッジロケーションにキャッシュされたデータのストレージ使用量です。
- トラフィックマネージメント: CloudFrontは、トラフィックマネージメントサービスを利用する場合に追加料金が発生する場合があります。これには、DDOS保護サービスなどが含まれます。
また、CloudFrontは、AWS Free Tierというプログラムも提供しており、初期費用なしで利用することができる無料枠があります。詳細な料金については、AWS CloudFrontのページを参照するか、AWSの料金計算ツールを使用してください。
Gzip圧縮機能
CloudFrontでは、Gzip圧縮機能を利用することができます。これは、Webコンテンツ(HTML、CSS、JavaScript、画像など)を圧縮して転送することで、ユーザーのブラウザでの読み込み速度を向上させることができます。
Gzip圧縮は、オリジンサーバーから CloudFront に送信されるコンテンツに対して自動的に適用されます。CloudFront は、圧縮されたコンテンツをキャッシュして、要求があったときに圧縮された形式でデータをユーザーのブラウザに送信します。
Gzip圧縮は、帯域幅の削減とページの読み込み速度の向上を実現することができます。また、Gzip圧縮は、標準的なWebサーバー機能であり、多くのブラウザが圧縮されたデータを正しく処理することができます。
アクセス制限
CloudFrontでは、アクセス制限を行うことができます。これは、特定のユーザーまたはグループからのアクセスを制限することができます。アクセス制限は、以下の方法で実現することができます。
- アクセス制限ポリシー:これは、特定の IP アドレスからのアクセスを制限することができます。
- リファレンスの認証:これは、AWS Identity and Access Management (IAM) で作成されたユーザーまたはグループによってサポートされています。
- Lambda@Edge:これは、Lambda関数を使用して、リクエストとレスポンスのタイミングでアクセス制限ロジックを実行することができます。
アクセス制限は、データのセキュリティ、プライバシー、合法的なアクセスなど、様々な観点から重要な役割を果たします。CloudFront を使用することで、アクセス制限のセットアップと管理が簡単になります。
オリジンへのアクセス制限
CloudFrontでは、オリジンへのアクセス制限を設定することができます。これにより、特定の IP アドレスからのアクセスのみが許可され、その他の IP アドレスからのアクセスはブロックされます。この機能は、オリジンのセキュリティを強化し、不正なアクセスからの保護を提供することができます。オリジンへのアクセス制限を設定するには、CloudFrontのコンソールまたはAPIを使用して、特定のIPアドレスまたはIPアドレスのレンジを指定します。
キャッシュのアクセス制限
CloudFrontでは、キャッシュへのアクセス制限を行うことができます。これには、署名付き URL と署名付き Cookie の 2 つの方法があります。
- 署名付き URL: CloudFront では、特定の URL に対してアクセス制限を設定することができます。この URL は、署名付き URL と呼ばれ、一定の期間内だけ有効であり、特定のユーザーのみがアクセスできます。
- 署名付き Cookie: これは、特定の Cookie を使用してアクセス制限を設定する方法です。Cookie は、特定のユーザーまたはグループによって発行され、一定の期間内だけ有効であり、特定のユーザーのみがアクセスできます。
これらの機能を使用することで、CloudFront のキャッシュコンテンツへのアクセスを制限することができます。これは、データのセキュリティやプライバシーの観点から重要な役割を果たします。また、CloudFront のキャッシュ内容を一定期間内に限定することで、内容の更新タイミングを制御することもできます。
CloudFront地域制限
CloudFront では、分散型コンテンツデリバリーネットワーク(CDN)を使用して、コンテンツを全世界に配信することができます。しかし、特定の地域または国でのみコンテンツを配信することも可能です。これを「地域制限」と呼びます。
地域制限を設定することで、特定の国または地域に対してコンテンツを限定することができます。これにより、特定の国または地域でのアクセス制限や、特定の国または地域に対して高速なデータ転送を実現することができます。
CloudFront で地域制限を設定するには、特定の地域に対して適用する配信ポリシーを作成する必要があります。このポリシーには、特定の国コードまたは地域コードを含めることができます。地域制限が適用された配信ポリシーが設定された後、このポリシーを使用して CloudFront 配信を作成することで、地域制限が適用されます。
ELBのアクセス制限
Amazon Elastic Load Balancer(ELB)は、Web アプリケーションやサービスのトラフィックを調整するための負荷バランシングサービスです。ELB では、アクセス制限を設定することで、特定の IP アドレスまたは IP アドレスの範囲からのトラフィックのみを許可することができます。
ELB のアクセス制限は、Security Group のルールを使用して設定することができます。Security Group には、特定の IP アドレスまたは IP アドレスの範囲からのトラフィックを許可するためのルールを作成することができます。このルールは、特定のポート番号または全てのポートを対象とすることができます。
ELB のアクセス制限を設定することで、不正アクセスからアプリケーションやサービスを保護することができます。また、特定の IP アドレスからのアクセスを許可することで、アプリケーションやサービスへのアクセスを制限することができます。
暗号化
Amazon CloudFrontでは、様々な種類の暗号化を使用することができます。
- SSL/TLS 暗号化: CloudFrontは、SSL/TLS 証明書を使用して、クライアントとのすべての通信を暗号化することができます。この方法は、アプリケーションやサイトの情報を保護するための最も一般的な方法です。
- フィールドレベル暗号化: CloudFront では、フィールドレベル暗号化を使用することで、特定のフィールドを暗号化することができます。この方法は、ユーザー名やパスワードなどの機密データを保護するために使用することができます。
暗号化は、データを保護するために重要であり、アプリケーションやサイトを安全に保つために推奨されています。CloudFront の暗号化機能を使用することで、アプリケーションやサイトを保護することができます。
その他のセキュリティ機能
Amazon CloudFront には、様々なセキュリティ機能があります。
- 署名付き URL/Cookie: 署名付き URL や署名付き Cookie を使用することで、CloudFront を介して配信されるコンテンツへのアクセスを制限することができます。
- アクセス制限: CloudFront では、IP アドレスや AWS アカウント、特定のグループなどを使用して、特定のオリジンへのアクセスを制限することができます。
- デジタル署名: CloudFront では、配信されるコンテンツを数字的に署名することができます。この機能は、コンテンツの認証を検証するために使用されます。
- AWS WAF (Web Application Firewall): CloudFront では、AWS WAF を使用することで、アプリケーションのセキュリティを強化することができます。AWS WAF は、攻撃からアプリケーションを保護するための複数のセキュリティルールを提供します。
- リージョン制限: CloudFront では、特定のリージョンに配信されるコンテンツを制限することができます。この機能は、特定のリージョンからのアクセスを防止するために使用されます。
CloudFront のセキュリティ機能を使用することで、アプリケーションやサイトを保護することができます。
4.ACMの活用
Amazon Certificate Manager (ACM) は、AWS の証明書管理サービスです。ACM を使用することで、Web サイトやアプリケーションに SSL/TLS 証明書を簡単に設定し、管理することができます。
CloudFront では ACM を活用することで、Web サイトやアプリケーションのセキュリティを強化することができます。
- SSL/TLS 証明書の管理: CloudFront では ACM を使用することで、Web サイトに SSL/TLS 証明書を簡単に設定し、管理することができます。
- HTTPS 接続: ACM を使用することで、CloudFront では HTTPS 接続を簡単に設定することができます。これにより、送信されるデータを暗号化することができ、情報漏洩やデータ改ざんなどのリスクを防止することができます。
- 証明書の更新: ACM を使用することで、CloudFront での証明書の更新が簡単になります。証明書の更新は自動的に行われますので、手作業などを必要としません。
ACM は CloudFront でのセキュリティ強化に重要な役割を果たします。ACM を使用することで、Web サイトやアプリケーションのセキュリティを強化することができます。
5.AWSのファイアーウォール
AWSには、アプリケーションやインフラストラクチャのセキュリティを保護するためのファイアーウォール機能があります。主なファイアーウォールサービスには、AWS WAF(Web Application Firewall)、VPC (Virtual Private Cloud)フロントエンド仮想プライベートゲートウェイ、およびネットワークACL(アクセス制御リスト)があります。これらのサービスを使用することで、攻撃からアプリケーションやインフラストラクチャを保護し、リソースの使用状況を管理することができます。
セキュリティグループ
AWS Security Groupは、Amazon Elastic Compute Cloud (EC2) インスタンスに適用するフレームワーク内のセキュリティポリシーを管理するためのものです。セキュリティグループは、特定のインバウンドトラフィックを許可または拒否するために使用されます。各セキュリティグループは、1つ以上のルールを持つことができます。各ルールは、特定のプロトコル、ポート番号、およびソースアドレスからのトラフィックを許可または拒否することを指定します。複数のセキュリティグループを使用することで、複数のアプリケーションまたはインフラストラクチャに対する異なるセキュリティポリシーを定義することができます。
ネットワークACL
AWS Network Access Control Lists (ACLs)は、Amazon Virtual Private Cloud (VPC) 内のサブネットに適用するフレームワーク内のセキュリティポリシーを管理するためのものです。
ネットワークACLは、特定のインバウンドおよびアウトバウンドトラフィックを許可または拒否するために使用されます。各ネットワークACLは、1つ以上のエントリを持つことができます。
各エントリは、特定のプロトコル、ポート番号、およびソースアドレスからのトラフィックを許可または拒否することを指定します。複数のネットワークACLを使用することで、複数のサブネットに対する異なるセキュリティポリシーを定義することができます。
AWS Network Filewall
AWS ネットワークファイアウォールは、Amazon Virtual Private Cloud (VPC) 内のワークロードを保護するためのサービスです。このサービスを使用すると、VPC 内のインバウンドおよびアウトバウンドトラフィックを監視して、許可されたトラフィックのみを許可することができます。
このサービスは、AWS リソース、外部の IP アドレス、あるいは特定のアプリケーションプロトコルを指定してトラフィックを許可または拒否することができます。さらに、AWS ネットワークファイアウォールは、アプリケーショントラフィックの規制、ログ収集、アラート、監視などの機能を提供することもできます。
ファイヤーウォール/ファイヤーウォールポリシー/ルールグループ
ファイアウォールポリシーは、特定のトラフィックに対して許可または拒否することができるルールのセットです。ポリシーは、AWSリソース、外部のIPアドレス、特定のアプリケーションプロトコルなどを指定することにより、トラフィックを許可または拒否することができます。
ルールグループは、特定のトラフィックに対するアクションを定義するグループです。例えば、特定のポートまたはプロトコルを指定してトラフィックを許可または拒否することができます。複数のルールグループを含むポリシーを作成することにより、複雑なトラフィック制御を実現することができます。
AWS WAF
AWS WAF (Web Application Firewall)は、Webアプリケーションのセキュリティを強化するためのサービスです。このサービスを使用することで、不正なトラフィックからWebアプリケーションを保護し、脆弱なポイントを攻撃から守ることができます。AWS WAFは、アクセスポリシーを作成して、特定のトラフィックを許可または拒否することができます。
AWS Shild
AWS Shieldは、AWSにおけるDDoS (Distributed Denial of Service) 攻撃からの保護を提供するサービスです。
このサービスは、AWSアカウントに対するDDoS攻撃からの保護を提供するベーシック版と、高度なDDoS保護のためのエンタープライズ版の2つの種類があります。
AWS Shieldは、攻撃を識別して遮断することで、Webアプリケーションとサイトのアクセス可能性を保証することができます。
DNSファイアーウォール
DNS Firewallは、DNS (Domain Name System) トラフィックをフィルタリングすることにより、脅威から保護するセキュリティソリューションのことです。
このソリューションは、ルールグループを使って特定のドメインを許可または拒否することができます。
例えば、マルウェアの伝播や、不正な広告などを防ぐことができます。
ドメインリストは、DNS Firewallのルールグループで許可または拒否するドメインのリストを指します。このリストは、関連付けられたルールグループによってアクセス制限を実行することができます。
AWS Firewall Manager
AWS Firewall Managerは、AWSアカウント内で実行される多数のワークロードに対して一元的なセキュリティポリシーの管理を実施することができるサービスです。
このサービスを使用することで、一元的なセキュリティポリシーを作成し、これをAWSアカウント内の多数のワークロードに適用することができます。
また、Firewall Managerを使用することで、自動的にルールを適用することができます。このため、手作業によるルールの適用や手動のエラーを回避することができます。
というわけで、今回は以上です。
引き続きで、徐々に発信していきます。
コメントや感想を受け付けています。ちょっとした感想でもいいので嬉しいです。
それでは、以上です。