はじめに
本記事は、"AWS Security Best Practices on AWS"(Packt Publishing, 2018)の書評・総まとめです。著者はAWS認定ソリューションアーキテクトであり、企業トレーナーとしての実績を持つ実務家です。
対象読者はCISO・ソリューションアーキテクト・セキュリティアナリストであり、前提知識としてAWSとLinuxの実務経験が求められます。クラウドセキュリティを体系的に整理したい方に適した一冊です。
本書の構成
ネットワーク → データ → サーバー → アプリケーション → 総まとめ の順に、AWSセキュリティをレイヤーごとに掘り下げる5章構成です。
第1章 AWS 仮想プライベートクラウド(VPC)
VPCはAWSアカウント専用の論理的に分離された仮想ネットワークであり、AWSセキュリティの基盤となるネットワーク層です。サブネット・セキュリティグループ・NACLなど、物理データセンターのコンポーネントをソフトウェアで実現します。
ユースケース例
- 公開Webサイトのホスティング
- 多層Webアプリケーションの構築
- ハイブリッドクラウド構成(VPN / Direct Connect)
- ディザスタリカバリ(DR)
VPCセキュリティの主要コンポーネント
| コンポーネント | 概要 |
|---|---|
| セキュリティグループ | ステートフルなインスタンスレベルのファイアウォール。許可ルールのみ定義 |
| NACL | ステートレスなサブネットレベルのフィルタリング。第2層の防御として位置付ける |
| VPCフローログ | VPC内の全トラフィックを記録。監査・異常検知に活用 |
| VPCピアリング / VPN | VPC間接続や社内ネットワークとの接続オプション |
本書は「安全でスケーラブルなアーキテクチャを実現するには、VPC設計の正確さが極めて重要」と強調しています。
第2章 AWSにおけるデータセキュリティ
データセキュリティは大きく「保存データの保護」と「転送中のデータの保護」に分類されます。
暗号化キー管理の3モデル
本書では暗号化キー管理モデルを3段階で整理しています。
| モデル | 特徴 | 運用負荷 |
|---|---|---|
| AWS完全管理 | AWSが暗号化・キー管理を完全に担う | 最小 |
| KMS管理(CMK) | 顧客マスターキーをAWS KMSで作成・管理。細かなアクセス制御が可能 | 中 |
| クライアントサイド暗号化 | アプリ側で暗号化してからAWSに送る | 最大 |
主要サービス
AWS KMS
暗号化キーの作成・管理・ローテーションを一元化するマネージドサービスです。S3・EBS・RDS・DynamoDB等と統合済みです。
AWS CloudHSM
規制要件やコンプライアンス対応のため、専有ハードウェアセキュリティモジュール(HSM)で独自キーを管理したいケースに対応します。
Amazon Macie
機械学習を活用してS3上の機密データ(個人情報・資格情報など)を自動検出・保護します。
S3においては、バージョニング・MFA Delete・リージョン間レプリケーションを組み合わせることで誤削除リスクを多層的に軽減できます。
第3章 AWSでのサーバーのセキュリティ保護(EC2)
AWSワークロードの中核を担うEC2インスタンスのセキュリティについて、ベストプラクティスを網羅的に解説しています。
EC2セキュリティのベストプラクティス
| 観点 | 内容 |
|---|---|
| 最小アクセス | 不要なポート・ユーザーは一切開放しない |
| 最小権限 | IAMロールを活用し、必要最小限の権限のみ付与 |
| 構成管理 | Systems Manager等でベースライン構成を維持・定期評価 |
| 変更管理 | AWS Configでルールに反する変更を自動検知・ロールバック |
| 監査ログ | CloudTrail・VPCフローログで全API・トラフィックを記録 |
| データ暗号化 | EBSはKMS経由で暗号化。転送はTLS/IPsec必須 |
本章で紹介されるサービス
Amazon Inspector
EC2インスタンス上のアプリに対してエージェントベースで脆弱性評価を自動実行します。ルールパッケージはAWSセキュリティチームが継続更新します。
AWS Shield
EC2・ELB・Route 53等を標的にしたDDoS攻撃に対するマネージド防御サービスです。StandardとAdvancedの2段階を提供します。
第4章 AWSでのアプリケーションのセキュリティ保護
SQLインジェクション・XSS・DDoSなどの脅威への対策を中心に解説しています。
AWS WAF(Webアプリケーションファイアウォール)
CloudFront・ALBと統合して動作し、以下の条件に基づいてリクエストを許可 / ブロック / カウントできます。
条件の種類:
- IPアドレス(単体・レンジ指定)
- ジオマッチ(地理的条件)
- SQLインジェクション文字列
- XSS文字列
- URI文字列・HTTPヘッダー
- サイズ制約
- レートベースルール(5分あたりのリクエスト数)
WAFのルールはAPIで管理可能であり、開発チームがアプリのコードと同じリポジトリでルールを記述・デプロイすることでDevSecOpsの文化を実現できます。
その他のアプリケーションセキュリティサービス
Amazon Cognito
モバイル/WebアプリのユーザーID管理・認証をマネージドで提供します。ソーシャルログインやMFAにも対応します。
Amazon API Gateway
REST/WebSocket APIの認証・スロットリング・アクセス制御を一元管理します。
APIリクエストの署名(Signature Version 4)
AWSのすべてのAPIリクエストはデジタル署名が必須です。AWS SDKやCLI経由では自動で処理されます。
第5章 AWSセキュリティのベストプラクティス総まとめ
ガートナーによると、2020年までにクラウドにおけるセキュリティ侵害の95%はクラウドプロバイダーではなく顧客のミスに起因するものになると予測されています。
この一文が本書のメッセージを端的に表しています。AWSセキュリティは**AWS・顧客双方の責任(責任共有モデル)**で成り立ちます。
責任共有モデルの整理
| 責任者 | 対象 |
|---|---|
| AWS | クラウドのセキュリティ(物理インフラ・ハイパーバイザー・マネージドサービス基盤) |
| 顧客 | クラウド内のセキュリティ(OS・アプリ・データ・IAM設定・ネットワーク設定) |
IAMセキュリティのベストプラクティス
- ルートアクセスキーの削除: ルートアカウントのアクセスキーは即刻削除し、日常業務では使用しない
- MFAの適用: 特権ユーザー全員に必ずMFAを適用する
- ユーザーよりロールを優先: IAMロールの認証情報はAWSが自動ローテーションするため漏洩リスクが低い
- Access Advisorの定期実行: 未使用権限を定期的に特定・剥奪する
Security by Design(セキュリティ・バイ・デザイン)
本書では、AWSセキュリティを継続的に担保するアプローチとして以下の4ステップを提唱しています。
- 顧客(組織)の要件を理解する
- 安全な環境を構築する
- テンプレートの使用を強制する(Infrastructure as Code)
- 検証活動を継続実行する
Cloud Adoption Framework(CAF)のセキュリティ観点
CAFでは、セキュリティを以下の4コンポーネントで捉えており、クラウド移行時のガイドラインとして活用できます。
- 予防(Preventive): 不正アクセスや設定ミスの未然防止
- 検知(Detective): 異常・侵害の早期発見
- 対応(Responsive): インシデント発生時の迅速な対処
- 指令(Directive): ポリシー・ガバナンスの整備
総評
よかった点
- VPC→データ→サーバー→アプリというレイヤー構造で体系的に整理されており、全体像を把握しやすい
- 各サービスについてメリット・ユースケース・アーキテクチャ図を交えて解説しており、実務に直結するレベル感
- 責任共有モデル・Security by Design・CAFなど、設計思想・フレームワークの観点も抑えられている
気になった点
- 2018年刊行のため、GuardDuty・Security Hubなど本書執筆後に登場した主要サービスは未収録
- コード・Terraformサンプルなどは収録されておらず、概念理解寄りの構成
こんな方にオススメ
- AWSセキュリティを体系的に学びたいアーキテクトやエンジニア
- セキュリティ要件定義やレビューを担当するポジション
- AWS認定試験(Security Specialty等)の前段として概念整理をしたい方
現在のAWSベストプラクティスと照らし合わせながら読むと、より実践的な学びが得られると思います。