「AWSアカウントセキュリティ(セキュアアカウント) 入門セミナー ~面倒な設定はクラスメソッドにお任せ!~」というタイトルで登壇しました
こんにちは!AWS事業本部カスタマーソリューション部のこーへいです。
本記事では、8月より月次(終了時期未定)で開催しているAWSアカウントセキュリティ(セキュアアカウント)入門セミナーの資料の共有と解説を行います!
本セミナーはメンバーズのお客様向けに開催しているものですが、より多くの方にセキュアアカウントサービスの魅力や始め方をお届けしたく、ブログ執筆することにしました。
資料
はじめに
セキュアアカウントご利用におすすめな環境とは
- 何かしらのAWSアカウントのセキュリティ対策が必要と考えている
- セキュリティ対策何したら良いか分からない
- コストも対応負担も最小限で効率よく始めたい
→そんな方(環境)にセキュアアカウントが刺さる!
セキュアアカウントの概要とメリット
セキュアアカウントとは
セキュアアカウントとは、AWSが推奨するセキュリティベストプラクティスな設定をAWSアカウントに適用いただけるサービスです。
クラスメソッドメンバーズご加入のお客様全てにご利用いただけ、AWSアカウントに対するセキュリティ対策をお手軽に実装できます。
具体的なサービスメリットのイメージは次の「想定インシデント」でお話しします。
想定インシデント
今回想定するインシデントのシナリオは、自社の作業者がMFA未設定のIAMユーザーアカウントを利用していた状況から始まります。
攻撃者は、作業者のIAMユーザーアカウントにMFAが登録されていないことに目をつけ、ブルートフォース攻撃(パスワード総当たり攻撃)を仕掛けました。
ブルートフォース攻撃で無事にAWSアカウントにログインした攻撃者は、次にコインマイニング用のハイスペックEC2インスタンスを何台も立てていきます。
このように攻撃者も人のお金で仮想通貨をマイニングできるため、攻撃者の笑顔が思わずこぼれます。
今回は不運なことに1ヶ月後、アカウント利用費が請求されるタイミングで不正利用の事実が発覚しました。
1ヶ月間不正利用に気づかない状況では、不正利用費が数千万以上になるケースもあります。
ちなみに実際に似たようなインシデントが発生した際の1時間あたりの被害額が約500$だった例があり、仮に1ヶ月間放置した状態だと360000$、ドル円レート約150円で計算すると5400万円の被害が発生してしまいます。
インシデントに対するセキュアアカウントの有効性
不正アクセスからのコインマイニング被害に対して、セキュアアカウントを利用した場合の有効性はいかがでしょうか。
上記の図は、先ほどの想定インシデントに対してセキュアアカウントが「事前防止」「発見」「調査」の各フェーズでの有効性を示している様子です。
一連の出来事に対して、各フェーズでセキュアアカウントが働くことで簡単に突破されない、被害が拡大し辛い仕組みとなっていることがわかります。
- 事前防止
- Security HubはIAMユーザーにMFAが登録されていないことを検知します。検知が上がったタイミングでMFAを登録すれば今回のような被害は発生しませんでした
- 発見
- GuardDutyが不正ログインやコインマイニングの挙動を検知します。このタイミングで気づくことができれば被害をもっと抑えられていました
- 調査
- 主にGuardDutyやDetectiveが活躍してくれます。攻撃者の動き(アカウント操作や構築リソースなど)を調べましょう。
- 対応
- GuardDutyで検知された脅威はこちらのAWSユーザーガイド(検出結果タイプ)に対応方法の参考情報がまとめられています
- クラスメソッドからの対応サポートも可能
全体図の紹介
セキュアアカウントではAWSアカウントに、下記の設定が施されています。
- セキュリティサービス有効化+チューニング機能のブロック
- アカウント内の脅威を検知する、セキュアアカウントの核となるサービス群
- Security Hubはアカウント内の危険設定を検知するサービス
- 例として、MFA未設定やS3バケットが外部公開されている場合に検知
- GuardDutyはアカウント内に発生した怪しい挙動を検知するサービス
- 例として、コインマイニングや、世界中からの複数の正常なAWSアカウントのログインを検出した場合(パスワードが流出し、不正アクセスを受けている可能性があるため)に検知
- Detecitiveは、GuardDutyで検知された脅威に関連するアクティビティ(通信ログや操作ログ)を分かりやすく確認できるサービス
- 発生した脅威に対する調査の手間を大幅に削減
- IAM Access Analyzerは、IAMロール等が外部リソースからアクセスできる状態になっている場合、その状態を検知するサービス
- セキュリティアラート整形、通知設定機能のブロック
- 「セキュリティサービス有効化+チューニング機能」のブロックで紹介した「Security Hub」「GuardDuty」「IAM Access Analyzer」の検知をメールやSlackに通知出来るようにするもの
- セキュアアカウントサービスを有効化後に、セキュアアカウントご利用者のメールアドレス登録作業を実施することでメール等に通知されるようになる
- アカウント内で検知が上がるだけでは発見が遅れてしまう可能性が高いため必ず設定しましょう
- 設定手順はこちら
- 「セキュリティサービス有効化+チューニング機能」のブロックで紹介した「Security Hub」「GuardDuty」「IAM Access Analyzer」の検知をメールやSlackに通知出来るようにするもの
- AWS上の証跡を管理する機能のブロック
- AWSアカウント内の各種記録を管理するサービス群
- CloudTrailはアカウント内の操作を記録するサービス
- 例として、アカウント内のリソースが意図せず削除された場合に、アカウント内で誰がどのような操作が行っていたか調べることが可能
- ConfigはAWSリソースを記録するサービス
- 例として、意図しないEC2の設定が変更された場合に、その設定変更履歴を調べることが可能
- それらの記録情報をログとしてS3バケットに暗号化した状態で保存
- アカウント内初期の危険設定の是正ブロック
- AWSアカウント初期の一部デフォルト設定をAWSが推奨する設定に是正する
- パスワードポリシー強化
- IAMユーザーのパスワードポリシーを強化
- デフォルトVPC削除
- アカウント発行時に作成されているデフォルトのVPCを削除。これはデフォルトVPCをシステム構築に利用した場合、意図していない設定によりサーバー等が外部に晒されてしまう可能性を防ぐため
- EBSのデフォルト暗号化
- EBSをデフォルトで暗号化するように設定
- デフォルトのS3公開防止
- AWSアカウントレベルでのブロックパブリックアクセスを有効化することで、デフォルト状態では外部にS3バケットが公開されないようにする
各設定の詳細は下記記事やクラスメソッドメンバーズ サービス仕様書をご参照ください。
料金について
- 前提
- 「セキュアアカウント」サービス利用においては、GuardDutyなど各種AWSサービス利用費のみ頂戴致します。
- クラスメソッドへ支払う設定手数料等の諸費用はいただきません。
- AWSサービス利用費は以下に依存
- Amazon GuardDutyとAmazon Detective
- AWS内の操作回数
- VPC内のトラフィック量
- Route53による名前解決の回数
- etc
- AWS Config と AWS Security Hub
- AWSリソースの構築や設定変更の回数
- etc
- 実際にかかる料金
- アカウント内全体利用費の数%程度の追加が目安となります
- AWSアカウントの操作や利用がほとんどない状態でも毎月$5〜$15程度発生します
セキュアアカウントの始め方
セキュアアカウントには図のように「初期導入」「設定維持」機能がございます。
初期導入機能
「初期導入」機能は、セキュリティベストプラクティスを施した状態で、新規AWSアカウント発行できる機能となります。
※初期導入機能は現在組織管理プランに対応しておりません
セキュアアカウント適用の新規AWSアカウントを発行される場合は下記手順を実施してください。
1.クラスメソッドメンバーズサービスにて新規AWSアカウントをこちらのフォームから申し込む
2.途中、アカウント情報の入力ページに辿り着くので、契約種別を「新規」にし、セキュリティ設定オプションを「セキュア」にする
セキュアアカウントとベーシックアカウントどちらを選択するべきですか?
Q.セキュアアカウントとベーシックアカウントどちらを選択するべきですか?
お客様のアカウント運用方法のご希望により、異なるタイプをおすすめしております。
・セキュアアカウント
AWSアカウントのセキュリティ対策として何を行えばよいか不明、あるいはお客様ご自身での設計・設定の工数を削減したい場合、セキュアアカウントの選択をおすすめいたたします。
AWSのベストプラクティスに沿った推奨設定を適用した状態にてAWSアカウントを発行します。
・ベーシックアカウント
AWSアカウント発行後、お客様ご自身で適用するセキュリティ対策が決まっている場合、ベーシックアカウントの選択をお勧めします。
お客様がセキュリティ対策を実施する前提の最小設定の状態にてAWSアカウントを発行します。
その他、セキュアアカウントのFAQはこちらをご確認ください(メンバーズのログインが必要になります)。
設定維持機能
「設定維持」機能は、発行済みのアカウントや、クラスメソッドメンバーズにて「初期導入」機能に対応していないプランをご利用する場合に、先ほどご紹介した「初期導入」機能を後付けで再現・維持するサービスとなります。
- 設定維持機能について
- メンバーズポータルサイトから設定可能
- 設定維持機能を有効化すると、毎週土曜日にメンテナンスが実施されAWSアカウントに内容が反映される
- 設定維持機能により、発行済みアカウントに対しても初期導入機能の設定再現が可能
- 必要な設定のみ有効化するなど、より柔軟に設定することも可能
- 初期導入機能ご利用の場合は、設定維持機能も有効化済み
既にお持ちのAWSアカウントにセキュアアカウントを適用される場合はこれから説明する手順を実施してください。
1.メンバーズポータルにアクセスし、ナビゲーションバーの「AWSアカウント」をクリック
2.設定対象のAWSアカウントを選択
3.メンバーズサービス設定をクリック
4.セキュリティ設定を選択
5.対象の設定を有効化し、保存
設定項目がたくさんありますが、例としてGuardDutyを有効化したい場合は上図の設定にて保存してください。
このように、「設定維持」機能では各種設定ごとに有効化・無効化を選択できますので、お客様の環境により柔軟にカスタマイズすることが可能です。
発行済みアカウントに完全なセキュアアカウントを適用したい場合
設定維持機能にて、初期導入機能と同等のセキュアアカウントを再現する場合は下記の設定にて保存します。
既存のAWSリソースに影響を与える可能性がございますので、クラスメソッドメンバーズ サービス仕様書にて構築されるリソースパラメータをご確認いただき、ご利用をお願いします。
セキュアアカウントを始めたら
セキュアアカウントご利用開始後、以下の作業を実施していただく必要があります。
- AWSアカウント内に存在するIAMユーザーのMFA登録作業
- 「Security Hub」「GuardDuty」「IAM Access Analyzer」の検知メールの登録作業
- Security Hubのスコアを100%にする作業
セキュアアカウントの運用について
- 事前防止
- 被害発生を防ぐためSecurity Hubのスコアは常に100%を目指す
- 危険設定が検知された際は、設定を修復します
- 検知内容に問題ない場合は、アラートを抑制します
- 被害発生を防ぐためSecurity Hubのスコアは常に100%を目指す
- 発見
- GuardDutyで脅威を発見しましょう
- 不正利用等の脅威が発生した場合にすぐ気付けるようにする
- 先ほど紹介した検知メール登録作業を行う
- 脅威が発生した際に、迅速に対応する体制を作る
- 不正利用等の脅威が発生した場合にすぐ気付けるようにする
- GuardDutyで脅威を発見しましょう
- 調査と対応
- Detective、GuardDuty、CloudTrail、Configを使用して脅威イベントの情報を収集する
- 脅威レベルを把握し、適切な対応を行いましょう
- 対応はクラスメソッドからもサポート可能です
- お問い合わせはメンバーズポータルのお問い合わせページから
- Detective、GuardDuty、CloudTrail、Configを使用して脅威イベントの情報を収集する
- まとめ
- 大事なことは、まずはSecurity Hubを駆使して、インシデントを発生させる隙を与えないこと。そして万が一発生した場合はすぐさま対応できる準備をしておくこと
- 参考
- [入門]社内勉強会で AWS Security Hubの話をしました
- Security Hubの概要が分かります
- AWS Security Hub 基礎セキュリティのベストプラクティスコントロール修復手順の記事一覧
- 設定の修復手順がまとめられています
- [2021年版]Amazon GuardDutyによるAWSセキュリティ運用を考える
- GuardDutyの概要が分かります
- 検出結果タイプ
- GuardDutyが検知する脅威がまとめられています
- [神ツール]セキュリティインシデントの調査が捗るAmazon DetectiveがGAしたのでメリットとオススメの使い方を紹介します
- Detectiveの概要が分かります
- 【実録】アクセスキー流出、攻撃者のとった行動とその対策
- 不正アクセスが発生した際の対応までの流れが分かります
- [入門]社内勉強会で AWS Security Hubの話をしました
まとめ
セキュアアカウントはクラスメソッドが長年に渡り培ってきたセキュリティベストプラクティスを詰め込んだサービスです!
AWSアカウントのセキュリティ対策にお困りの方はセキュアアカウントを導入し、様々な脅威からアカウントを保護しましょう!