
Contents
事前知識
●IPS (Intrusion Prevention System)
トラフィック保護。不正侵入防止(防御)システム。
●IDS(Intrusion Detection System)
ネットワークやサーバーを監視し、不正なアクセスを検知して管理者に通知する役割を担うシステム。
インスタンスまたはリバースプロキシ層に IDS/IPS エージェントを実装することで解決できる。
ネットワークACL

【ステートレス】サブネットごとのファイヤーウォール。ネットワークACLルールは低い値から高い値にかけて評価され、一致する許可/拒否ルールが設定されるとすぐに実行される。
※最も低いルール番号から順番に評価されていく
セキュリティグループ
【ステートフル】1つ以上のインスタンスのトラフィックを制御する仮想ファイアウォールとして機能する。
どのトラフィックEC2インスタンスへ、またはインスタンスから許可されるかを指定する。
・インスタンス間のトラフィックを制御するためには、セキュリティグループを利用することが適切。
・セキュリティグループは EC2 等のインスタンスのトラフィックを制御する。
| ★ステートフルの解釈 応答トラフィック。インバウンドを定義したらアウトバウンドも定義されるという認識。 |
[デフォルト(初期設定)]
- インバウンド:同じセキュリティグループからの全トラフィックを許可する。
- アウトバンド:全アドレスからのすべてのトラフィックを許可する。
WAF

【Web】(Web Application Firewall)
可用性、セキュリティ侵害など、ウェブの脆弱性を利用した一般的な攻撃やボットから、ウェブアプリケーション。SQLインジェクションやウェブエクスプロイトなどに有効。
【WAFで保護できるリソースタイプ】
以下に転送されるHTTPおよびHTTPSリクエストのみをモニタリング可能。また、コンテンツへのアクセスを制御可能にする。
・CloudFrontディストリビューション
・API Gateway REST API
・ALB
・APP Sync
・Cognito ユーザープール
※CloudFront、ALBと緊密に統合されている。
構成要素
| Web ACL 【保護対象選択】 | リクエストの処理方法(許可・ブロック)を制御し、ルールの集合体として構成される。 Web Aclに関連付けされたAWSサービスが保護対象となり、Web Aclの配下に作成したルールやルールグループが保護対象リソースのアクセス制御の評価基準となる。保護されたリソースが応答するすべての HTTP(S) ウェブリクエストをきめ細かく制御できる。 | 【下記リソースを保護】 ・CloudFront ・API Gateway ・ALB ・AppSync ・Cognito ・App Runner ・Verified Access |
| レートベースルール 【DDoS対策】 | 送信元IPアドレスごとにリクエストの数を追跡し、リクエストの数が制限を超えた時、条件に合致するトラフィックをブロックする。 ●Referer制限 直前に開いていたサイトに応じてアクセスを制限する。 | |
| ルールグループ | 複数のルールをまとめて再利用する構成。AWSマネージドルールや独自ルールのグループ化が可能。 |
Firewall Manager

【Organizations専用】Organizations配下で管理されている、アカウント内のアプリケーション全体のファイアウォールルール(AWS Network Firewall)を一元的に設定・管理。アカウントと Amazon VPC 間のトラフィックを 1 か所から制御できる。ルールベースのルーティングが可能。
●オートメーションソリューション
Organizations の全てのアカウントとリソースで ファイアウォールルールを一元的に設定、管理、監査できる。
●AWS Network Firewall
【VPC】VPC 全体に Network Firewall セキュリティをデプロイ。インターネットやVPC間とのネットワークトラフィックをきめ細かく制御するファイアウォールルールを定義。(Internet Gatewayの手前に設置されているイメージ)
・Network Firewall ルールに基づいてポリシーを構築し、それらのポリシーを仮想プライベートクラウド (VPC) とアカウント全体に一元的に適用できる。
[一元的自動デプロイ]
一元的に設定したルールのセットへの変更が、アカウントと VPC に自動的にデプロイされる。これにより、セキュリティ管理者は組織内に新しいアカウントと VPC が作成された場合でも、組織全体で一元的に義務付けられたファイアウォールルールを一貫して適用できる。

Shield

【DDoS攻撃対策】
AWS で実行しているアプリケーションをDDoS攻撃から保護するマネージド型サービス。
| Standard | 【無料DDos対策】 すべてのAWSユーザーが自動的に利用できるサービス。インフラストラクチャ(L3、4)を標的とするDDoS攻撃から保護する。受信するトラフィックをモニタリングし、異常を検出する。 |
| Advanced | 【高度なDDos対策】 アプリケーションレイヤー(L7層)に対するDDoS攻撃から保護する。 |
Guard Duty

【セキュリティチェック】
AWS環境やAWSアカウントに対する悪意のあるアクティビティや不正な振る舞いをモニタリングおよび通知する脅威検出サービス。機械学習で分析されたログから攻撃と思われる状況を検知し、可視化と修復のための詳細なセキュリティ検出結果を提供する。
※AWS上で有効化するだけで使用可能。
●Lambda Protection 機能
Lambda 関数のコード自体をスキャンする機能だけでなく、ランタイム中の不正なアクティビティや脅威を監視。
仕組み
GuardDutyは以下のログデータを継続的に分析する。
・VPCフローログ: ネットワークトラフィックの情報を監視。
・CloudTrailログ: AWSアカウント内のAPIアクティビティを監視。
・DNSログ: DNSクエリの情報を監視。
上記ログを基に、脅威インテリジェンス(既知の悪意のあるIPアドレスやドメインのリスト)と機械学習を組み合わせて、以下のような脅威を検出する。
| 未知の脅威 | 通常とは異なる場所からのAPI呼び出し、異常なトラフィックパターン、不審なユーザー行動など |
| 既知の脅威 | 暗号通貨マイニング、既知のマルウェア感染、不正なポートスキャンなど |
[メンバー設定]
※メンバーアカウントごとに本サービスを有効にする必要がある
| (管理・メンバー) アカウントの指定 | ・管理者アカウントとメンバーアカウントを同時に持つことはできない。 ・アカウントが管理者ではない場合、他の管理者からの招待を受けてメンバーになることが可能。 ・メンバーとなったアカウントは管理者として指定されることはない。 |
| 招待によるメンバー 設定手順 | ①招待の受諾 → ②アカウントの追加 → ③招待の送信 |
IPリスト
| 信頼できるIPリスト | 役割: 安全だと分かっているIPアドレスを登録しておくリスト。 効果: このリストに入っているIPからの通信は、GuardDutyが「安全だ」と判断し、警告を出さない。これにより、誤った警告が減り、本当に重要な警告に集中できる。 |
| 脅威IPリスト | 役割: 危険だと分かっているIPアドレスを登録しておくリスト。 効果: このリストに入っているIPからの通信があると、GuardDutyが「危険な通信だ」として警告を出す。 |
連携サービス
●Organizations
AWS Organizations を使用している場合、管理アカウントから GuardDuty を一括で有効化・管理できる。管理アカウントが GuardDuty を有効化すると、組織内の他のアカウント(メンバー)に対しても自動的に GuardDuty が有効化される。
[GuardDuty の自動有効化とメンバー管理]
- 組織の管理アカウントが GuardDuty を有効化すると、組織内の新規アカウントにも自動的に GuardDuty が有効化される。
- 既存のメンバーアカウントに対しては、GuardDuty の招待と承認プロセスが必要になる場合がある。
[メンバーアカウントの追加方法]
| 方法 | 説明 |
|---|---|
| 自動追加(Type: Organization) | 管理アカウントが GuardDuty を有効化すると、組織内のアカウントが自動的にメンバーとして追加される |
| 招待による追加(Type: By Invitation) | 管理アカウントが GuardDuty に手動で招待し、メンバーが承認することで追加される |
Security Hub

【セキュリティアラート管理】
セキュリティのベストプラクティスのチェックを自動化し、セキュリティアラートを1つのダッシュボードにまとめ、すべての AWS アカウントで全体的なセキュリティの体制を把握できる。
複数のサービスにまたがって届く膨大な数のアラートをひとつひとつ確認して処理する手間を減らすことが期待できる。 (GuardDuty、Inspector、Macieなど画面にそれぞれ遷移しなくてよい)
AWS サービスのイベントは、ほぼリアルタイムで、保証に基づいて EventBridge に配信される。
・CIS Benchmarksをサポートしている
| ★CIS Benchmarksとは セキュリティ担当者がサイバーセキュリティ防御を実装および管理するのに役立つ。世界的に認められたコンセンサス主導の一連のベストプラクティス。 [参考] |
[結果をグループ化]
フィルターを変更することに加えて、選択した属性の値に基づいて結果をグループ化できる
Inspector

【脆弱性診断】
自動化されたセキュリティ評価サービス。AWS にデプロイしたアプリケーションのセキュリティとコンプライアンスを向上させる。
・EC2インスタンス/ECRのコンテナイメージ/Lambda関数の脆弱性を行うサービス。
・AWSのEC2インスタンスにおいて脆弱性診断を自動で行ってくれるサービス。
・スキャンには AWS Systems Manager (SSM) と SSM Agent を利用。
・SSM が収集した ソフトウェアインベントリ情報 をもとに、Inspector が脆弱性を検出。
・対象は、Systems Manager がサポートする OS のソフトウェア のみ。
●評価テンプレート
【評価定義】評価の実行を定義するために作成するもの。評価ターゲットを評価するためのルールパッケージ、評価実行期間、評価の実行状態と結果に関する通知の送信先である、SNSトピック、評価の実行によって生成された結果を割り当てることができる。
[Lambda関数スキャン]
Lambda関数に対して、自動的にCVEスキャンを実行する。
| Inspector Lambda 標準スキャン 【依存パッケージの脆弱性】 | デフォルトのスキャン方式。Lambda 関数およびレイヤー内のアプリケーション依存関係を対象にスキャンを実施。パッケージに脆弱性が含まれていないかを調べる。 |
| Inspector Lambda コードスキャン 【自分で書いたコードの脆弱性】 | Lambda 関数およびレイヤー内のカスタムアプリケーションコードをスキャンし、コードそのものに脆弱性がないかをチェックする。このスキャンを有効化する際には、Lambda 標準スキャンもあわせて有効化される。 |
[ECRコンテナイメージのスキャン]
ECR に保存されたコンテナイメージをスキャンして ソフトウェアの脆弱性(CVE) を検出する。
| スキャンのタイミング | ・新しいイメージがプッシュされたとき ・Inspector の CVE データベースに新しい脆弱性が追加されたとき(継続的スキャンの場合) |
| 初回スキャンの対象 | ・機能を有効化すると、過去30日間にプッシュされたイメージが対象 |
| スキャンの継続性 | ・デフォルトでは、イメージは生涯にわたって継続的にスキャンされる |
Systems Manager との関係性
| 項目 | 内容 |
|---|---|
| 目的 | セキュリティ脆弱性の検出と修正 |
| Inspector の役割 | EC2 やコンテナに対して脆弱性スキャンを実施 |
| Systems Manager の役割 | パッチ適用や設定変更などの修復アクションを実行 |
| 連携のポイント | Inspector が検出した脆弱性に対して、Systems Manager を使って自動修復やパッチ適用が可能 |
| 前提条件 | EC2 インスタンスに Systems Manager Agent がインストールされており、適切な IAM ロールが設定されていること |
Code Guru

ソースコードのレビューとアプリケーションパフォーマンスに関する推奨を行ってくれる機械学習ベースのサービス。
AWS が提供する機械学習ベースのコード分析サービスで、以下の2つの主要機能を備えている。
| CodeGuru Reviewer | ソースコードを自動レビューし、バグ、非効率な処理、セキュリティ脆弱性を検出。Java、Python、JavaScript、C# などに対応。プログラム分析と機械学習を使用して、開発者が見つけるのが難しい潜在的な欠陥を検出し、JavaおよびPythonコードを改善するための提案を提供する。 |
| CodeGuru Profiler | 本番環境のアプリケーションをプロファイリングし、CPU使用率やメモリ消費のボトルネックを特定。パフォーマンス改善の提案を行う。 |
[特徴と利点]
- 数百万件のコードレビューとオープンソースの知見を活用。
- GitHub、Bitbucket、AWS CodeCommit などと統合可能。
- IDE(Visual Studio Code、IntelliJ など)との連携も可能。
- セキュリティ機能では、誤検出を減らし、バグの自動追跡も可能。
Code Guru Security
※以前は「CodeGuru Reviewer」の一部として扱われていたが、現在は独立したセキュリティ機能として明確に位置づけられている。
アプリケーションコードの脆弱性スキャンに特化したセキュリティサービスであり、Pythonアプリケーションを含むコードの脆弱性を静的解析し、問題を検知する。また、Code Build で実行するプロジェクトを設定する際に、CodeGuru Security で脆弱性が検出された場合にエラーを発生させることで、CodePipelineのデプロイステージに進むことを明示的に止められる。
DevOps Guru

運用データの異常を検出するためのサービス
Macie

【機密データの検出や保護】(メイシ―)
監視対象となる(暗号化されていない)S3バケットに保管された個人識別情報などの機密サービスを機械学習とパターンマッチングを適用し、自動的に発見しする。
※S3に保存されている個人データの検出と保護のみ
通知や発見したデータセキュリティリスクに対する自動保護を可能にする。
[コスト最適化方法]
- 「最終変更」基準を使用してオブジェクトを含める
分類可能な S3 でホストされているオブジェクトが変更される頻度を認識していて、特定の時点で変更されたリソースをスキャンしたい場合は、スコープに「最終変更」基準を使用して特定の日付または時刻に変更されたオブジェクト。 - CloudTrail ログをスキャンしない
CloudTrail ログを含む S3 バケット プレフィックスを特定し、スキャンから除外する。
Detective

【セキュリティイベント調査効率化】
AWS上で発生したセキュリティイベントの背景や関連リソースの動きを視覚的に分析・調査できるサービス。調査プロセスを簡素化し、セキュリティチームがより迅速かつ効果的な調査を実施できるようにする。
主な機能
| アラート分析 (グラフ理論と機械学習で相関分析) | GuardDutyなどで検出されたアラートを視覚的に調査。関連するIP、IAMユーザー、リソースの履歴を確認。 |
| インシデント調査 (セキュリティインシデントの根本原因を特定) | 不審な操作や通信の履歴を時系列で追跡し、影響範囲を特定 |
| スレットハンティング | 明確なアラートがなくても、異常な挙動をもとに潜在的な脅威を探索 |
| 検出結果グループ | 複数の関連アクティビティをまとめて分析し、攻撃の流れを把握 |
| ログデータを自動収集 (最大1年間の履歴データにアクセス可能) | CloudTrail、VPC Flow Logs、GuardDutyの検出結果など |
・事前に構築されたデータの集計、要約、コンテキストによって、起こりうるセキュリティ問題の性質と範囲を迅速に分析および判断するのに役立つ。
導入の流れ
①GuardDutyを有効化(48時間以上)
②Detectiveをコンソールから有効化
③IAMポリシーを設定
④メンバーアカウントを招待
⑤データ抽出とグラフ生成を確認
Policy Generator
【ポリシー作成簡素化】
SQS,S3,SNS,IAMのポリシードキュメントを作成するプロセスを簡素化するサービス。
監査対応に向けたサービス
【AWSアカウントのアーキテクチャとアーティファクトを調査】
一般的に読み取り専用アクセスを必要とする。そのため、読み取り専用アクセスをもつIAMユーザーを作成する。
Artifact

【コンプライアンスレポート】
AWSが提供するコンプライアンスレポートと契約書類のサービス。
・監査を行う際に、AWS Artifactから該当のレポートをダウンロードして監査人に提供できる。
・Payment Card Industry Data Security Standard (PCI DSS) 準拠に関する情報が含まれている。
Service Organization Control
【第三者報告書】※略称:SOC
オペレーションとコンプライアンスをサポートするよう確立された AWS 統制を、ユーザーおよびユーザーの監査人が容易に把握できるようにする目的がある。
独立した第三者(ユーザーおよびユーザー監査人)がAWS社に対して、「重要な準拠統制および目標をAWSがどのように達成したか」を評価する審査報告書。
[4種類のSOCレポート]
・AWS SOC 1 レポート
・AWS SOC 2: セキュリティおよび可用性レポート
・AWS SOC 2: 機密性レポート
・AWS SOC 3: セキュリティおよび可用性レポート
[監査に備えてのベストプラクティス]
・IT運用管理の証拠収集
・第三者(サードパーティー)の監査済みAWSコンプライアンスレポート(報告書と証明書)
・侵入テスト実行




