Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[目指せ上級者] 最強にセキュアなAWSアカウントの作り方

[目指せ上級者] 最強にセキュアなAWSアカウントの作り方

DevelopersIO 2022で登壇した資料です。
https://classmethod.jp/m/developers-io/

詳細な解説はブログをご参照ください。
https://dev.classmethod.jp/articles/devio-2022-how2make-strongest-aws-secure-accounts/

cm-usuda-keisuke

July 26, 2022
Tweet

More Decks by cm-usuda-keisuke

Other Decks in Technology

Transcript

  1. 20 AWS Security Hubはベースラインの参考になる • AWS Security Hubの「AWS基礎セキュリティベ ストプラクティス」によるセキュリティチェックは 各種AWSサービスの危険な設定を発⾒し、ベストプ

    ラクティスに基づいた設定へ導いてくれる SSHポートが開放 されていないか S3バケットが公開 されていないか ルートユーザーの アクセスキーを利 用していないか ALBのログが保 存されているか CloudTrailで証跡 を保存しているか EC2にパブリック IPが付与されてい ないか GuardDutyを有 効化しているか Lambda関数が公 開されていないか
  2. 25 AWS上の証跡管理 • CloudTrail • すべての管理イベント • Config • すべてのリソース記録

    • グローバルリソース記録 • S3 • ログのライフサイクル3年 • SSE-KMSによる暗号化
  3. 31 パスワードポリシー強化 • パスワードの最⼩⻑: 8⽂字 • 少なくとも1つの⼤⽂字が必要 • 少なくとも1つの⼩⽂字が必要 •

    少なくとも1つの数字が必要 • 少なくとも1つの英数字以外の⽂字が 必要 • ユーザーにパスワードの変更を許可
  4. 32 パスワードポリシー強化のコツ • ⼀番理想はIAM Userがいないこと • Okta / OneLoginなどIdPの基盤を AWSに限らず全体で使⽤し、ID管理

    とアクセス制御を集約するとベスト • 次点として1つのAWSアカウントにだ けIAM Userを作るJumpアカウント⽅ 式も検討する • Assume Roleしないと権限がないため、万 が一不正に利用されても何もできない
  5. 37 セキュリティアラート整形 + 通知設定 • Amazon GuardDuty / AWS Security

    Hub / AWS IAM Access Analyzerからの通知を 運⽤しやすい場所(チャットな ど)に送る • ⾒やすく整形する
  6. 50 維持の仕組みも考える • 展開したら終わりではない • 継続的な更新が必要なものもある • CloudFormationでUpdateStackをするなどで 更新できるが、CFn未対応のリソースもある •

    Security Hubのコントロール設定とか • 各アカウントにIAM Roleを⽤意してスクリプトを 流し込んだり、CFnのカスタムリソースを駆使し て維持を検討する
  7. 51 Security Hubの親⼦関係 アクション 単位で親か ら管理でき ることと、 ⼦供でしか できないこ とが決まっ

    ている https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-accounts-allowed-actions.html
  8. 52 2. ベンディングマシンとアカウント運⽤のまとめ • なんでもいいからベンディングマシンを⽤意する • 自分たちの選択できる、使いやすいものを • CDKでもTerraformでもなんでもいい •

    維持する仕組みを作る • 簡単にCloudFormationで展開できない設定などに注意 する • どちらも作って終わりじゃないので継続的にブラ ッシュアップするつもりで作って使う
  9. 58 要件 • 管理スコープ • 社内のAWSアカウントすべて • 本番用もあれば検証用もある • 管理条件

    • AWS Organizationsは利用しない • 管理対象の自由度を確保 • Security Hubの集約はできる
  10. 62 コントロールの対応⽅針 コントロールに応じた3種類の対応⽅針を策定 • 是正まで追跡 • 検知項目が是正されるまで管理者が追跡する • 7日以内の修正目標 •

    通知のみ • ユーザーに通知のみ、是正するかは任せる • 通知したら抑制済みとし、セキュリティスコア対象外 • 対応しない • 対応する必要なし、抑制済みにする
  11. 64 ざっくり組み合わせ 分類 本番 本番環境以外 備考 必須サービス・ 設定 是正まで追跡 (基本的に)

    是正まで追跡 (基本的に) 実際はコントロール個別 での判断が多い 可⽤性確保 対応しない 対応しない 厳密なセキュリティ要件 ではないため管轄外 ロギング 是正まで追跡 対応しない 本番環境は⼤体のログは 必須とする 通信中の暗号化 是正まで追跡 是正まで追跡 現代のインターネットで は必須 保管時の暗号化 対応しない 対応しない ポリシーと規制要件のた めここでは管轄外
  12. 65 その他⽅針メモ • 運⽤上煩わしいものは対応しない • VPCフローログとか • WAF適⽤は本番で通知のみ • WAFが不要な対象もあるため

    • OS以上のレイヤーの脆弱性管理は管轄外 • SSMパッチコンプライアンスなど、別で管理する場合 も多いため
  13. 76 セキュリティグループが開いてるときの通知例 • 24時間以内に対応してください • 重要度: ⾼ • アタッチされているリソースに対するSSHを誰が 利⽤しているか確認してください

    • 999999999999: ap-northeast-1: test-sg • SSHのポートを特定IPのみに絞るか、閉じてくだ さい。Systems Manager Session Managerを 利⽤することでポートを閉じたままシェルを利⽤ することも可能です。<参考URL>
  14. 77 3. 最強にセキュアな運⽤まとめ • Security Hubの全体管理をするスコープ・要件を 定義する • やりすぎないように、任せるところは任せる •

    独⾃の実装と、Security Hub⾃体の機能でまかな うところの境界線を決める • ポジティブにみんな参加できる雰囲気作りを頑張 る