JAWS DAYS 2021 で話しさせていただいた資料です。 #jawsdays2021_D #jawsdays2021
© SAISON INFORMATION SYSTEMS CO.,LTD. 2021株式会社セゾン情報システムズ小杉 隼人2021/3/20AWS Security Hub を活用してマルチアカウントのセキュリティを強化した話
View Slide
2© SAISON INFORMATION SYSTEMS CO.,LTD. 2021自己紹介◼小杉 隼人⚫ 所属⚫ 株式会社セゾン情報システムズ⚫ テクノベーションセンター⚫ 先端技術部 バイモーダル推進チーム⚫ 業務⚫ AWS に関連する事業部支援と技術教育⚫ 2019/2020 APN AWS Top Engineers⚫ AWS Community Builder
© SAISON INFORMATION SYSTEMS CO.,LTD. 2021 3会社概要◇ 社 名 株式会社セゾン情報システムズ SAISON INFORMATION SYSTEMS CO.,LTD.◇ 設 立 年 月 日 1970 年 9月 1日◇ 代 表 取 締 役 社 長 内 田 和 弘◇ 資 本 金 1,367百万円◇ 事 業 内 容 フィナンシャル IT サービスビジネス 流通 IT サービスビジネス リンケージビジネス HULFTビジネス◇ 年 間 売 上 高 23,560百万円(2020年 3月期 連結)◇ 社 員 数 749名(2020年 9月末現在 連結)◇ 上 場 市 場 東京証券取引所JASDAQスタンダード市場 (証券コード 9640 / 1993年 11月公開)◇ 主 要 株 主 ( 上 位 3社 ) 株式会社クレディセゾン イーシーエム エムエフ イーシーエム マスターフアンド エスピーブイワン◇ グ ル ー プ 会 社 世存信息技術(上海)有限公司 HULFT Pte. Ltd. HULFT, Inc.◇ 認 定 ・ 届 出 総務省 電気通信事業者届出◇ 品質・セキュリティへ の 取 り 組 みプライバシーマーク付与 認定取得 登録番号 【11820059】JISQ27001:2014(ISO/IEC27001:2013)認証取得 登録番号 【JMAQA-S030】
4© SAISON INFORMATION SYSTEMS CO.,LTD. 2021本日お話させていただく内容◼AWS Security Hub 導入について⚫ 導入前の課題⚫ 制度導入までのながれ◼AWS Security Hub 導入後の運用⚫ 準拠状況のモニタリング⚫ 社内規約に準拠したアカウント作成の自動化
© SAISON INFORMATION SYSTEMS CO.,LTD. 2021AWS Security Hub の導入について
6© SAISON INFORMATION SYSTEMS CO.,LTD. 2021導入前の課題◼ AWS アカウントの管理は各部門ごとに実施• 問題発生時の影響が大きいにも関わらず会社としてのアカウント管理基準がなかった• どのような AWS アカウントがあるか組織的に管理できていなかった• 対応は現場まかせ、属人化、そもそも対応していなかったケースも• 対応していたとしてもそれが第3者的に表現できていなかった◼ セキュリティインシデントの発生• セキュリティグループが適切に設定されていない• ログが取得されていないなどの基本的な知識不足によるもの既に各部門で多様な運用が行われている環境で新たなルールを落とし込んで行くには?
7© SAISON INFORMATION SYSTEMS CO.,LTD. 2021対策として必要だったことIAM の管理基準ガバナンス組織的な体制の構築各種ログの取得インシデント発生時のフォレンジックログがないと何が起きたか全くわからない変更の通知意図しない設定変更の把握
8© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ CIS Benchmarks™米国の非営利団体である CIS® (Center for Internet Security, Inc. )が公開している各種 OS、サーバー、クラウド環境などのセキュリティを強化するためのガイドライン140 以上の CIS Benchmark が発行されており、PCI DSS などのコンプライアンス要件で業界で認められているシステム強化標準などの記載があった場合にも参照される◼ CIS AWS Foundations Benchmark基本的、テスト可能、アーキテクチャに依存しない設定に重点が置かれたAWSサービスのセキュリティオプションを設定するためのガイダンスを提供◼ Security Hub で準拠状況を自動的かつ継続的に確認可能CIS AWS Foundations Benchmark を採用
9© SAISON INFORMATION SYSTEMS CO.,LTD. 2021CIS AWS Foundations Benchmark がカバーする領域IAM(22項目)Monitoring(14項目)Networking(4項目)アカウント内のログ取得と管理方法に関する推奨事項VPCのセキュリティに関する推奨事項アカウントアクティビティのモニタリングに関する推奨事項Logging(9項目)アカウントやユーザーIDのアクセス管理に関する推奨事項※ v1.2.0 時点。 v1.3.0 では Storage が追加
10© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ セキュリティアラートの一元的な表示および管理を行い、チェックを自動化するAWS Security Hub とはhttps://aws.amazon.com/jp/security-hub/ より引用
11© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ 一連のルールに対し自動的・継続的なチェックを実行、準拠状況のスコアを提供する• CIS AWS Foundations Benchmark v1.2.0• AWS 基礎セキュリティのベストプラクティス v1.0.0• PCI DSS v3.2.1◼ Security Hub で自動チェックできない項目1.15 秘密の質問が AWS アカウントに登録されていることを確認する1.17 現在の連絡先を最新の状態に維持する1.18 セキュリティ連絡先情報が登録されていることを確認する1.19 インスタンスからの AWS リソースアクセスに IAM インスタンスロールが使用されていることを確認する1.21コンソールパスワードを持つIAMユーザーの初期セットアップ中にアクセスキーを設定しない4.4 VPCピアリングのルーティングテーブルが「最小アクセス」であることを確認するSecurity Hub のセキュリティ標準機能
12© SAISON INFORMATION SYSTEMS CO.,LTD. 2021Security Hub よるチェックを社内規約化AWS Security HubAccountAdministratorsEmailCompliance statuscheck processAWS Security HubAWS Security HubAccountFindingsFindingsFindingsSecurity Tooling Account AccountAWS Security HubAccount
13© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ 当社が契約、管理するアカウントすべて• サプライチェーンの観点で、各製造工程においてもセキュリティを考慮する必要があるため開発、検証、デモ環境、研修環境等も含む• 個社向け環境については、セキュリティ要件の取り決めが定義されており、管理プロセスが確立している場合は事業部長および品質管理部門が協議の上で対象外とすることもできる◼ 適合基準は以下の 2 項目を除き、全て満たすこと• CIS 1.9 IAM パスワードポリシーは 14 文字以上の長さが必要です• CIS 1.10 IAM パスワードポリシーはパスワードの再使用を禁止しています除外理由: MFA の使用を必須とし、パスワードに対する総当たり攻撃への対策が取られているため適用範囲
14© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ アカウント管理者• AWS アカウント毎に正副の管理者を設定• 非準拠が発生した場合の是正設定を行う• セキュリティインシデント発生時の対応◼ 品質管理部門• 当社でアカウント保有するアカウントおよびその管理者を把握• アカウント管理者との組織的な体制の構築および維持• 基準を満たさないアカウントの管理者に対し注意喚起を行う◼ 技術支援部門• 技術的な問題が発生した場合の支援を行う体制アカウントA アカウントB…管理者 管理者技術支援部門 品質管理部門アカウント・管理者の把握モニタリングの実施
15© SAISON INFORMATION SYSTEMS CO.,LTD. 2021制度導入までの流れ2019/6 2019/7 2019/8 2019/9 2019/10 2019/11 2019/12 2020/1 2020/2 2020/3管理者へのヒアリング制度案の作成パイロット運用社内規定化 リリース在宅勤務開始移行期間
16© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ 制度案の説明や現在の運用状況を個別にヒアリング (2019/6~2019/8)• 時間をかけて全アカウント管理者に対し実施• 一部アカウントではルートや共有ユーザー使用、CloudTrail 未設定などの状況も判明• 会社としての基準ができる点においては賛同を得られた◼ ヒアリングで出た懸念や課題の例• そもそも設定の仕方がわからない• 開発アカウントは機密情報を含んでいないので対策が不要だと思いこんでいる• 各種設定追加によるコスト増加の懸念 など既存アカウント管理者へのヒアリング
17© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ 制度案の作成、パイロット運用 (2019/9~2019/11)• ヒアリングで得た課題から必要な対策をまとめ、ルール案を作成• 一部アカウントとリージョンに絞ってパイロット運用を実施• 設定による既存運用アカウントへの影響やコストを確認するため◼ 社内規定化とリリース(2019/12)• 同時期に勉強会を実施し、既存アカウント管理者への対応内容を案内• 新規アカウント発行はワークフローを整備• 準拠設定済みのアカウント払い出しを自動化パイロット運用の実施、制度化
18© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ Security Hub の有効化 (~2020/1)• 監査用アカウントへの接続• CloudTrail / Config / CloudWatch など前提サービスの設定• アカウント管理者に手順および CloudFormation テンプレートを提供◼ Security Hub のチェックにより非準拠となった項目の是正(~2020/3)• コントロールごとの修正手順を展開• リモートでの設定支援や移行期間の確保により大きな問題は発生しなかった移行期間を3ヶ月確保
19© SAISON INFORMATION SYSTEMS CO.,LTD. 2021注力した点◼ すでに個別の運用が確立してる環境にどう浸透を図っていくかアカウント管理者へのヒアリング困っていること、課題に感じていることを制度案に反映させるなぜ実施するのか、利用者にどんなメリットが有るのかを伝えるアカウント管理者の知識の底上げ専用 Slack チャンネルでの問い合わせ対応、非準拠発生時のサポートCloudFormation テンプレートの提供
20© SAISON INFORMATION SYSTEMS CO.,LTD. 2021CIS Benchmark と Security Hub 導入によって得られたもの◼ “アカウント” 観点で Foundational な設定を統一、維持◼ チェック対象としているリソースの準拠率は 99 % 以上◼ 準拠状況を可視化し、継続的にモニタリングできる仕組み◼ 管理者の意識、スキルの向上
21© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼月にもよるが、全請求額の 1~2 % 程度参考: Security Hub の支払い料金https://aws.amazon.com/jp/security-hub/pricing/ より引用
© SAISON INFORMATION SYSTEMS CO.,LTD. 2021AWS Security Hub 導入後の運用
23© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ 全リージョンが対象• すべてのリージョンで 100% を目指しているわけではない• 一部の項目は単一リージョンのみに設定されていれば OK としている◼ Logging の CloudTrail 関連の設定• マルチリージョン証跡(単一リージョンですべてのリージョンの証跡)を設定するため• CIS 2.2, 2.3, 2.6◼ Monitoring の CloudWatch アラーム• CloudTrailの アクティビティからメール通知を行うため、複数リージョンの設定は不要• CIS 3.1~3.14 および 1.1 ( 3.3 に規定されている監査手順でチェックを行うため)準拠状況のモニタリング
24© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ 組織内のルールに応じて特定のコントロールを無効化できる• マスターアカウントで無効化した場合、メンバーアカウントの結果は確認できなくなり、個々のメンバーアカウントでは引き続きチェックが行われる• メンバーアカウントで無効化した場合、マスターアカウントの結果一覧から除外される個々のコントロールの無効化機能無効化した日付や理由を残すことが可能Security Hub はセキュリティチェックの回数で課金されるため、コスト最適化にもつながる
25© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ 特定のグループ化条件とフィルタでリソースや環境毎にデータを集約• マスターアカウントでは AWS アカウントごとに検出結果を集約できる• e.g., AWS アカウントごとの 非準拠リソース数カスタムインサイトアカウントID をクリックして、リージョン内の非準拠リソースを即座に確認できる
26© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ 非準拠状態が続く場合、管理者にメールで通知する• 連続7日以上→アカウント管理者に通知• 連続21日以上→アカウント管理者の上長を含め通知◼ 違反状態の定義をバッチ側で吸収• 全リージョンで PASSED であるべき項目• 何れかのリージョンで PASSED であればよい項目• 特定アカウントの除外項目など◼ 現状、違反項目の自動修正までは行ってない準拠状況をモニタリングするバッチ処理
27© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ AWS Security Blog で公開されているサンプル実装• カスタムインサイトで Findings をサマリし、結果を Email で送信する参考: How to set up a recurring Security Hub summary emailアラートはセキュリティチームに集約されるが、実際の調査・修正は多くの場合、実務担当者が行うため、メールやチャットツールでの通知は有用https://aws.amazon.com/jp/blogs/security/how-to-set-up-a-recurring-security-hub-summary-email/ より引用
28© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ AWS Solution Library に公開されているアドオンソリューション※1• CIS AWS Foundations Benchmark v1.2.0 の一部の推奨事項について自動修正を行うことが可能• マスターアカウントの Service Catalog にリージョン毎にデプロイする必要がある• 特定のメンバーアカウントのみに実装したい場合は、AWS Blog ポスト※2 の内容を検討参考: Automated Response and Remediation※1 https://aws.amazon.com/jp/solutions/implementations/aws-security-hub-automated-response-and-remediation/※2 https://aws.amazon.com/jp/blogs/news/automated-response-and-remediation-with-aws-security-hub/ より引用デフォルトでは Security Hub のカスタムアクションを使用してプレイブックを手動起動設定により、リアルタイム検知とプレイブックの自動実行が可能
29© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ AWS Landing Zone の Account Vending Machine をカスタマイズ• 申請情報元に AWS Service Catalog へ登録済みのアカウント作成処理を起動• 実体は CloudFormation テンプレート & Lambda 関数ルールに準拠したアカウント作成の自動化https://aws.amazon.com/jp/solutions/implementations/aws-landing-zone/IAM ユーザーにAWS Organizations 等の操作権限は不要Service Catalog 製品の起動自体が CLI/SDK から自動化可能ワークフローから以下の情報を受け取る• アカウント名• アカウントメールアドレス• アラート通知先メールアドレス
30© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ Security Hub の設定• マスターアカウントからの招待• メンバーアカウントでの有効化および招待の承認• 特定コントロールの無効化◼ 各種サービスの設定• CloudTrail 証跡設定• CloudWatchモニタリング設定• IAM: パスワードポリシー、サービスロールの作成• Config 有効化• デフォルト VPC の削除• アカウントレベル S3 パブリックアクセスブロック主なカスタマイズ内容実装当時は eu-north-1 で StackSets が使用できなかったため全リージョンに設定が必要な設定は API 経由としたCloudFormation に対応していないリソースも API で操作
31© SAISON INFORMATION SYSTEMS CO.,LTD. 2021アカウント作成と Security Hub 有効化の流れAWS OrganizationsLambda functionOrganizationAccountAccessRoleAWS Security HubMasterSecurity AccountNew AccountManagement AccountAWS Security HubMember1. アカウント作成2. メンバーの作成と招待4. 招待の承認3. サービス有効化AWS Service Catalog
32© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ 同一組織内でサポートされる機能• 組織の管理アカウントから Security Hub の管理者アカウントを委任• 招待&承認のプロセスが不要に• 新規アカウントをメンバーアカウントとして自動的に追加• メンバーアカウント自身での関連付けの解除を防止参考: AWS Organizations との統合機能 (New 2020/11/23)管理者アカウントの指定はリージョン毎に設定する指定するアカウントは同一でなければならない
33© SAISON INFORMATION SYSTEMS CO.,LTD. 2021◼ 大阪リージョンはオプトインではなく、デフォルトで有効• 追加で CIS Benchmark の準拠対応を行う必要がある• Security Hub は 2021/3/20 時点で 大阪リージョンに未対応• 準拠作業は進めつつ、大阪リージョン対応後は AWS Organizations 統合で自動有効化したい大阪リージョン正式リリースの対応EC2 の DescribeRegions API で有効なリージョンのリストを取得していたため、無慈悲にも処理がエラーにAWS Organizations 統合に移行すれば今後同様の事象は回避できそう
34© SAISON INFORMATION SYSTEMS CO.,LTD. 2021運用時に苦労した点◼ 主に AWS 側のサービス仕様Security Hub API の Rate Limitアカウントセットアップ時、Too Many Requests が頻繁に発生AWS SDK 側で適切にリトライするように設定する必要があるCloudFormation と API 操作の挙動が一致しない場合がある例: CFn で Security Hub を有効化した際に、同時に有効になるセキュリティ標準CIS のみ → どれも有効化されない → CIS/AWS基礎 (現在) と数ヶ月の間に変化アナウンス無しで変更されており、サポート問い合わせで判明
35© SAISON INFORMATION SYSTEMS CO.,LTD. 2021まとめ◼ 既存運用環境への導入においては、ヒアリングと移行期間の確保に注力• 管理者が感じていた課題や不安を軽減できた◼ アカウント発行時の初期セットアップ• アカウント管理者が設定する項目は必要最小限に◼ 全リージョンの状況をモニタリングするには工夫が必要だった• Security Hub はリージョナルサービス• リージョンによってチェック項目数を変更• アカウント全体での監視条件を定義し、バッチ処理でチェック
36© SAISON INFORMATION SYSTEMS CO.,LTD. 2021参考リンク◼ CIS AWS Foundations Benchmark v1.3.0 の変更点https://qiita.com/hayao_k/items/fed7c07c9f05c445ce1f◼ Boto3 に追加されたリトライ処理モードを利用するhttps://qiita.com/hayao_k/items/1f20df24927a9a7776ca◼ AWS Security Hubで特定のコンプライアンスチェック項目を無効化するhttps://qiita.com/hayao_k/items/a186c461dbc7bd523b5a◼ AWSアカウント作成時にSecurity Hubのマルチアカウント設定を行うhttps://qiita.com/hayao_k/items/a06c53c542dd1fd1ee5e◼ kube-benchの実行結果をAWS Security Hubに連携して管理するhttps://qiita.com/hayao_k/items/510c038efce81a1abeca