
本書はAWSアカウントセキュリティとInfrastructure as Codeをテーマにした技術書です。実装技術にはTerraform・Serverless Framework・Go言語を採用し、サンプルコードは150以上用意しています。 本書は次のような人に向けて書かれています。 ⭐ クラウド破産の記事を見るたびにドキドキする ⭐ AWSアカウントを安心して運用できるよう、セキュリティを向上させたい ⭐ セキュリティでもInfrastructure as Codeを実践したい 本書はAWSアカウントセキュリティを題材にしていますが、Infrastructure as Codeの実践的な指南書でもあります。TerraformやServerless Frameworkがはじめてでも問題ありません。必要なことはすべて説明します。ぜひ手を動かしながら一緒に学びましょう。
書籍の構成
全VI部構成で41章あります。第I部ではNISTサイバーセキュリティフレームワークをベースに全体戦略を説明します。第II部ではAWSアカウントを取得したら、まっさきに実施すべきセキュリティ対策を実装します。 第III部ではCloudTrailやAWS Configにはじまり、GuardDuty・IAM Access Analyzer・Security Hub・Chatbotなどの主要なAWSサービスをTerraformでガンガン実装していきます。 また第IV部は自動対応がテーマです。主にServerless FrameworkでLambdaのコードを実装します。自動対応はオーソドックスな実装方法が身につくといくらでも応用が効くので、非常にコスパのいい領域です。 第V部は認証情報の管理にフォーカスします。雑にAdministratorAccess権限を付与したアクセスキーをローカル環境で使っていませんか?もし使っているなら、第V部はまさにあなたのための内容になっています。 そして最後の第VI部は少し発展的なトピックを取り上げています。重要なわりに意外と言及されることの少ないマルチリージョン対応や、AthenaのPartition Projectionのような最新機能も登場します。
目次
第I部「基礎知識」 1章 AWSセキュリティ戦略 1.1 クラウド破産 1.2 責任共有モデル 1.3 NISTサイバーセキュリティフレームワーク 1.4 NISTサイバーセキュリティフレームワークの実践 1.5 Infrastructure as Code 1.6 バージョン管理 1.7 写経のススメ 2章 AWS CLI入門 2.1 AWS CLIとは 2.2 IAMユーザーの作成 2.3 AWS CLIのインストール 2.4 AWS CLIの設定 2.5 AWS CLIの使い方 3章 Terraform入門 3.1 Terraformとは 3.2 Terraformのインストール 3.3 Terraformの実装 3.4 Terraformの使い方 3.5 Terraformの構文 4章 git-secretsの導入 4.1 git-secretsとは 4.2 git-secretsのインストール 4.3 git-secretsの使い方 第II部「AWSアカウントセキュリティ」 5章 AWSアカウント保護 5.1 Infrastructure as Code導入以前 5.2 ID管理とアクセス制御 5.3 強固なパスワードの使用 5.4 請求アラート 5.5 IAMベストプラクティス 6章 IAMグループによる権限管理 6.1 IAMとは 6.2 IAMポリシーによる権限設定 6.3 IAMグループによるIAMユーザーの管理 6.4 アクセスキーの設定 7章 パスワードポリシーの厳格化 7.1 パスワード管理のベストプラクティス 7.2 パスワードポリシーとは 7.3 パスワードポリシーの有効化 7.4 パスワードポリシーの注意点 8章 AWS Budgetsによる請求アラート 8.1 AWSの課金モデル 8.2 AWS Budgetsとは 8.3 AWS Budgetsによる請求アラートの有効化 8.4 請求アラートの確認 第III部「ガードレール」 9章 ガードレールの構築 9.1 AWSにおけるガードレール 9.2 ベースとなるサービス 9.3 ロギング 9.4 問題の検知 9.5 アラート通知 10章 S3による安全なログ管理 10.1 S3とは 10.2 ログバケットの設計 10.3 S3バケットの作成 10.4 ブロックパブリックアクセスによる公開抑止 10.5 バケットポリシーによるアクセス制御 10.6 ログバケットのモジュール化 11章 IAMロールによる権限付与 11.1 IAMロールとは 11.2 IAMロールの作成 11.3 IAMロールのモジュール化 12章 CloudTrailによる証跡管理 12.1 CloudTrailとは 12.2 CloudTrailの有効化 12.3 証跡ログの確認 13章 AWS Configによる構成管理 13.1 AWS Configとは 13.2 AWS Configの有効化 13.3 変更履歴の確認 14章 SNSによるメール通知 14.1 SNSとは 14.2 SNSトピックの設定 14.3 サブスクリプションの作成 14.4 メッセージのメール配信 15章 GuardDutyによる脅威検知 15.1 GuardDutyとは 15.2 GuardDutyの有効化 15.3 GuardDutyのアラート通知 15.4 GuardDutyの動作確認 16章 IAM Access Analyzerによる公開リソースの検出 16.1 IAM Access Analyzerとは 16.2 IAM Access Analyzerの有効化 16.3 IAM Access Analyzerのアラート通知 16.4 IAM Access Analyzerの動作確認 17章 Security Hubによる集約 17.1 Security Hubとは 17.2 Security Hubの有効化 17.3 Security Standardsの有効化 17.4 Security Hubのアラート通知 17.5 Security Hubの動作確認 17.6 Security Standardsのチューニング 18章 ChatbotによるSlack通知 18.1 Chatbotとは 18.2 Chatbotによる通知設計 18.3 Slackの設定 18.4 Chatbotの作成 18.5 Chatbotの動作確認 第IV部「インシデントレスポンス」 19章 インシデントレスポンスの自動化 19.1 環境変数の管理 19.2 Serverless FrameworkによるLambdaの実装 19.3 Slack通知のカスタマイズ 19.4 Lambdaによる自動対応 19.5 Systems Manager Automationによる自動対応 19.6 Go言語のセットアップ 20章 direnvによる環境変数の管理 20.1 direnvとは 20.2 direnvのインストール 20.3 シェルのフック設定 20.4 Gitの除外設定 20.5 direnvの使い方 21章 Serverless Framework入門 21.1 Serverless Frameworkとは 21.2 Serverless Frameworkのインストール 21.3 Serverless Frameworkの構造 21.4 Serverless Frameworkによる実装 21.5 Serverless Frameworkの使い方 21.6 本番運用を想定した設定 22章 AWS利用料金のSlack通知 22.1 利用料金通知アプリケーションの構成 22.2 Incoming Webhook URLの払い出し 22.3 Incoming Webhook URLの管理 22.4 Slackメッセージ投稿アプリケーションの実装 22.5 利用料金通知アプリケーションの実装 22.6 CloudWatch Eventsによる定期実行 23章 セキュリティイベントのSlack通知 23.1 セキュリティイベント通知アプリケーションの構成 23.2 CloudWatch Eventsの構造 23.3 セキュリティイベント通知アプリケーションの実装 23.4 通知条件のカスタマイズ 24章 Security Hubの自動復旧 24.1 Security Hub自動復旧アプリケーションの構成 24.2 AWS Config Rulesによる違反検知 24.3 Security Hub自動復旧アプリケーションの実装 25章 アクセスキーの強制無効化 25.1 アクセスキー強制無効化アプリケーションの構成 25.2 アクセスキーの無効化と削除 25.3 アクセスキー強制無効化アプリケーションの実装 26章 セキュリティグループの自動無効化 26.1 セキュリティグループ自動無効化アプリケーションの構成 26.2 Systems Manager Automationとは 26.3 AWS Config Rulesによるポート開放検知 26.4 Systems Manager Automationによるセキュリティグループの無効化 26.5 セキュリティグループ自動無効化の動作確認 第V部「認証情報の管理」 27章 アクセスキーのセキュアな運用 27.1 一時的なアクセスキーの取得 27.2 アクセスキーの暗号化 28章 AssumeRoleによる一時的な権限取得 28.1 AssumeRoleとは 28.2 AssumeRole先のIAMロール作成 28.3 AssumeRoleの実行 29章 IAMグループの権限最小化 29.1 AssumeRole前提の運用 29.2 最小権限IAMポリシー 29.3 AssumeRole元IAMグループとIAMユーザー 29.4 AssumeRole元プロファイルの設定 29.5 AssumeRoleの自動実行 30章 参照用IAMロールと管理用IAMロール 30.1 IAMロールの使い分け 30.2 参照用IAMロールの作成 30.3 管理用IAMロールの作成 30.4 プロファイル切り替えによるオペレーション 31章 AssumeRoleのMFA強制 31.1 AssumeRoleにおけるMFAの設計 31.2 AssumeRole元IAMユーザーのMFA有効化 31.3 AssumeRole先IAMロールのMFAチェック 31.4 AssumeRole用プロファイルのMFA設定 32章 AWS Vaultによるアクセスキーの暗号化 32.1 AWS Vaultとは 32.2 AWS Vaultのインストール 32.3 AWS Vaultの設定 32.4 AWS Vaultによるコマンド実行 32.5 Keychainのパスワード確認頻度の低減 32.6 AWS Vaultによるアクセスキーのローテーション 33章 パスワードレスサインイン環境の構築 33.1 AWS VaultによるAWSマネジメントコンソールへのサインイン 33.2 AWS VaultによるAWS操作の集約 33.3 AssumeRole元IAMユーザーの絞り込み 33.4 AssumeRole先IAMロールの絞り込み 33.5 パスワードレスサインイン環境の動作確認 第VI部「発展」 34章 セキュリティの高度化 34.1 CloudWatch Alarms 34.2 リージョンサービスの展開 34.3 リージョン制限 34.4 ログ検索 34.5 スケーラブルな設定管理 34.6 AWS Well-Architectedフレームワーク 35章 ルートユーザー使用のアラート通知 35.1 CloudWatch Alarmsのアラート通知設計 35.2 CloudWatch Alarmsの有効化 35.3 CloudWatch Alarmsのモジュール化 36章 CloudWatch Alarmsによるアラート通知 36.1 アラートの種類 36.2 運用中に起きてはいけないイベント 36.3 ネットワーク設定変更イベント 36.4 慎重に扱うべきリソース変更イベント 36.5 攻撃の兆候を示すイベント 36.6 重要だが発生頻度の高いイベント 36.7 オオカミ少年には要注意 37章 マルチリージョン対応 37.1 マルチリージョン対応の考え方 37.2 GuardDutyのモジュール化 37.3 Multipleプロバイダの定義 37.4 Multipleプロバイダの利用 37.5 Chatbotによる通知の集約 37.6 マルチリージョン対応の動作確認 38章 IAMポリシーによるリージョン制限 38.1 IAMポリシーの設計 38.2 リージョン制限IAMポリシーの作成 38.3 リージョン制限IAMロールの作成 38.4 リージョン制限プロファイル 38.5 無効化しているグローバルサービス 39章 Athenaによる証跡ログの検索 39.1 Athenaとは 39.2 パーティション分割 39.3 データベースの作成 39.4 CREATE TABLE文の定義 39.5 CREATE TABLE文の実行 39.6 AthenaでのSELECT文実行 40章 Systems Managerパラメータストアによる設定管理 40.1 設定管理戦略 40.2 Systems Managerパラメータストアとは 40.3 KMSによる暗号鍵の管理 40.4 AWS CLIによるSystems Managerパラメータストアの操作 40.5 Serverless FrameworkによるSystems Managerパラメータストアの参照 40.6 Systems Managerパラメータストアによる設定管理の動作確認 41章 AWS Well-Architectedフレームワークに学ぶ 41.1 AWS Well-Architectedフレームワークとは 41.2 セキュリティの設計原則 41.3 セキュリティのベストプラクティス 41.4 マルチアカウント管理への道 41.5 旅のはじまり 付録 巨人の肩の上に乗る
ファイル構成
zipファイルを解凍すると4つのファイルが出てきます。ご自身の環境にあわせて、好きなファイルをご利用ください。 ・cloud-bankruptcy-iac-ebook-1.0.0.pdf:デジタルデバイス向けのPDFです ・cloud-bankruptcy-iac-ebook-1.0.0.epub:epub版です ・cloud-bankruptcy-iac-ebook-1.0.0.mobi:Kindleで読めるmobi版です ・cloud-bankruptcy-iac-a5-1.0.0.pdf:紙版と同様のサイズのPDFです