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

閉域要件におけるEC2のアクセス制御 ~SaaS・PrivateLinkの罠とNetwork Firewallの活用~

閉域要件におけるEC2のアクセス制御 ~SaaS・PrivateLinkの罠とNetwork Firewallの活用~

Security-JAWS第25回での登壇資料です。
イベントURL:https://s-jaws.doorkeeper.jp/events/137234
登壇動画URL:https://youtu.be/QFIadED_R_o?t=7596

More Decks by みずほリサーチ&テクノロジーズ株式会社 先端技術研究部

Other Decks in Technology

Transcript

  1. 閉域要件におけるEC2のアクセス制御
    ~SaaS・Private Link の罠と Network Firewall の活用~
    2022.5.30
    Security-JAWS 第25回
    Copyright (c) Mizuho Research & Technologies, Ltd. All Rights Reserved.
    (免責事項)
    当資料は情報提供のみを目的として作成されたものであり、商品の勧誘を目的としたものではありません。
    本資料は、当社が信頼できると判断した各種データに基づき作成されておりますが、その正確性、確実性を
    保証するものではありません。また、本資料に記載された内容は予告なしに変更されることもあります。

    View Slide

  2. 自己紹介
     氏名:松尾 優成(まつお ゆうせい)
     所属:みずほ RT 先端技術研究部 兼 プロジェクト推進部
     役割:
     AWS社内案件の設計・構築サポート
     みずほグループ横断コミュニティ ”コクリエ” の運営

    View Slide

  3. みずほのAWS利用状況
     重要情報を扱うシステムの場合、閉域網とすることが主流
     AWS と自社設備のハイブリッド・クラウド構成となることが多い
     ベストプラクティスに沿って、マルチアカウント構成が主流

    View Slide

  4. 前回は、閉域構成での S3 関連ポリシーを紹介
    #secjaws23

    View Slide

  5. 本日話すこと
     SaaS・Private Link の罠と Network Firewall の活用
     閉域構成での EC2 アクセス制御(Session Manager 利用)
     IAM ポリシー
     IAM ロールの信頼ポリシー
     VPC エンドポイントポリシー

    View Slide

  6. 本日話すこと(前半戦)
     SaaS・Private Link の罠と Network Firewall の活用
     閉域構成でのEC2アクセス制御(Session Manager利用)
     IAMロールの信頼ポリシー
     VPCエンドポイントポリシー
     IAMポリシー

    View Slide

  7. AWS Network Firewall とは・・・
     URL フィルタリングなど N/W 保護の
    機能をもつマネージドサービス
     専用の Firewall Endpoint を
    サブネットに設置して利用
     柔軟にルールを設定でき、
    様々な通信を監査可能
    https://aws.amazon.com/jp/blogs/news/networking-and-
    content-delivery-deployment-models-for-aws-network-firewall/

    View Slide

  8. Network Firewall を活用した
    構成例を紹介

    View Slide

  9. 構成概要
    VPC
    Corporate
    data
    center
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Direct
    Connect
    Anti-virus Agent

    View Slide

  10. 構成概要
    VPC
    Corporate
    data
    center
    ENI
    EC2
    VPC
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Anti-virus Agent
     オンプレミスから渡された機微情報を EC2 で分析して還元するシステム
    (インターネットからのインバウンドアクセスなし)
    Direct
    Connect
    Transit
    Gateway

    View Slide

  11. 構成概要
     EC2 にウィルス対策ソフトのエージェントを導入。
     エージェントは定義ファイルの更新など、マネージャーサーバーとの通信が必須。
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Corporate
    data
    center
    Direct
    Connect

    View Slide

  12. 構成概要
     エージェントは Firewall Endpoint を経由して、
    インターネット上のマネージャーサーバーと通信。
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Corporate
    data
    center
    Direct
    Connect
    Anti-virus Agent

    View Slide

  13. 構成概要
     ステートフルドメインリストフィルタで、宛先ドメインを制限。
     リストにないドメインに対しては、アクセス拒否。(ホワイトリスト形式)
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Anti-virus Agent
    Corporate
    data
    center
    Direct
    Connect

    View Slide

  14. Network Firewall に
    辿り着いた経緯を振り返る

    View Slide

  15. 当初想定していた構成 ※オンプレ部分は割愛
    VPC
    SaaS
    VPCe
    EC2
    VPC
    Transit
    Gateway
    SaaS
    Manager
    Server
    VPC
    VPC
    Anti-virus Agent
    PrivateLink
    North Virginia Region
    Tokyo Region
    VPC
    Peering
    Private Hosted zone

    View Slide

  16. 当初想定していた構成
    VPC
    SaaS
    VPCe
    EC2
    VPC
    Transit
    Gateway
    SaaS
    Manager
    Server
    VPC
    VPC
    Anti-virus Agent
    PrivateLink
    North Virginia Region
    Tokyo Region
    VPC
    Peering
    Private Hosted zone
     マネージャーサーバーとの閉域接続を実現するため、Private Link を利用。

    View Slide

  17. 当初想定していた構成
    VPC
    SaaS
    VPCe
    EC2
    VPC
    Transit
    Gateway
    SaaS
    Manager
    Server
    VPC
    VPC
    Anti-virus Agent
    PrivateLink
    North Virginia Region
    Tokyo Region
    VPC
    Peering
    Private Hosted zone
     マネージャーサーバーとの通信用に、バージニア北部リージョンで
    サービス側が VPC エンドポイントを提供。

    View Slide

  18. 当初想定していた構成
    VPC
    SaaS
    VPCe
    EC2
    VPC
    Transit
    Gateway
    SaaS
    Manager
    Server
    VPC
    VPC
    Anti-virus Agent
    PrivateLink
    North Virginia Region
    Tokyo Region
    VPC
    Peering
    Private Hosted zone
     本来は国内リージョンのみを利用したかったものの、
    SaaS Private Linkの制約により、やむなく海外リージョンも利用。

    View Slide

  19. 当初想定していた構成
    VPC
    SaaS
    VPCe
    EC2
    VPC
    Transit
    Gateway
    SaaS
    Manager
    Server
    VPC
    VPC
    Anti-virus Agent
    PrivateLink
    North Virginia Region
    Tokyo Region
    VPC
    Peering
    Private Hosted zone
     リージョン間接続は、VPC Peering を採用。

    View Slide

  20. 当初想定していた構成
    VPC
    SaaS
    VPCe
    EC2
    VPC
    Transit
    Gateway
    SaaS
    Manager
    Server
    VPC
    VPC
    Anti-virus Agent
    PrivateLink
    North Virginia Region
    Tokyo Region
    VPC
    Peering
    Private Hosted zone
     Transit Gateway のクロスリージョン接続も検討したものの、
    僅かにコストが嵩むため、 断念。(ペストプラクティスでない実感はあった・・・)

    View Slide

  21. 当初想定していた構成
    VPC
    SaaS
    VPCe
    EC2
    VPC
    Transit
    Gateway
    SaaS
    Manager
    Server
    VPC
    VPC
    Anti-virus Agent
    PrivateLink
    North Virginia Region
    Tokyo Region
    VPC
    Peering
    Private Hosted zone
     上記構成で検証し、問題なく利用できることを確認!

    View Slide

  22. 時は流れ、半年後・・・
    構築フェーズが終わっているはずの時期だった

    View Slide

  23. Private Link 経由で
    ウィルス対策ソフト を利用できなくなった・・・

    View Slide

  24. SaaS の仕様変更が発生していた
     マネージャーサーバーのエンドポイント URL が変更。
     新 URL は Private Link に未対応※で、インターネット経路が必須。
    検証済みと油断していたため、気づくのが遅れた・・・
    ※2021年4月時点
    SaaS
    Manager
    Server
    PrivateLink

    URL

    URL
    Internet
    Gateway
    必須!

    View Slide

  25. マネージャーサーバーを自前でホストするには
    遅すぎたため、代替案を模索・・・
    プロキシサーバーを
    置きたくないし、
    マネージドサービス
    使いたい…

    View Slide

  26. そんな中、こんなアップデートが・・・

    View Slide

  27. https://aws.amazon.com/jp/about-aws/whats-new/2021/03/

    View Slide

  28. https://aws.amazon.com/jp/about-aws/whats-new/2021/03/
    Network Firewall で解決できそう!
    (ついでに東京リージョンへ集約できるかも…?)

    View Slide

  29. DevelopersIO や aws-samples を
    参考にさせていただき、素早く検証・構築!
    (当時は Blackbelt の公開前だった)

    View Slide

  30. 構成概要(再掲)
    無事に構築できました!
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Corporate
    data
    center
    Direct
    Connect

    View Slide

  31. 構成概要(再掲)
    無事に構築できました!
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    構成変更について、
    担当者が良い感じに
    社内説明してくれました!
    Corporate
    data
    center
    Direct
    Connect

    View Slide

  32. Network Firewall を導入して
    嬉しかった点を紹介!

    View Slide

  33. Network Firewall 導入の嬉しい点①
    基本構成が東京リージョンのみで完結した!※バックアップのみ大阪を利用
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Tokyo Region
    Corporate
    data
    center
    Direct
    Connect

    View Slide

  34. Network Firewall 導入の嬉しい点②
    アウトバウンドが集約され、ハブ & スポーク型の N/W 構成になった!
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Tokyo Region
    Corporate
    data
    center
    Direct
    Connect

    View Slide

  35. Network Firewall 導入の嬉しい点③
    運用課題だった閉域要件の OS パッチ適用が、楽になった!
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Tokyo Region
    Corporate
    data
    center
    Direct
    Connect

    View Slide

  36. 悩んだこと・・・
    AWS 宛の VPC エンドポイントも一部廃止して
    Network Firewall 経由にしておけば良かった?
    VPC
    VPCe (I/F型)
    EC2
    com.amazonaws.ap-northeast-1.ec2,
    com.amazonaws.ap-northeast-1.ssm,
    etc...

    View Slide

  37. AWS API のアクセスも Network Firewall 経由?
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    Rule
    Allowed URLs
    Tokyo Region
    VPCe


    ? ?
    Corporate
    data
    center
    Direct
    Connect

    View Slide

  38. AWS API のアクセスも Network Firewall 経由?
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    Rule
    Allowed URLs
    Tokyo Region
    VPCe


    ? ?
    Corporate
    data
    center
    Direct
    Connect
    S3 など通信量が大きくなる場合は
    VPCe 経由がお得

    View Slide

  39. AWS API のアクセスも Network Firewall 経由?
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    Rule
    Allowed URLs
    Tokyo Region
    VPCe


    ? ?
    Corporate
    data
    center
    Direct
    Connect
    通信量が少なければ
    Network Firewall
    経由にする?

    View Slide

  40. AWS API のアクセスも Network Firewall 経由?
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    Rule
    Allowed URLs
    Tokyo Region
    VPCe


    ? ?
    {
    "Effect": "Deny",
    "Principal": {"AWS": "*"},
    "Action": "*",
    "Resource": "*",
    "Condition": {
    "StringNotEquals": {
    "aws:PrincipalAccount": "アカウントA-ID"
    }
    }
    },
    {
    "Effect": "Allow",
    "Principal": "*", "Action": "*", "Resource": "*"
    }
    #secjaws23
    VPCe ポリシー例
    Corporate
    data
    center
    Direct
    Connect

    View Slide

  41. AWS API のアクセスも Network Firewall 経由?
    VPC エンドポイントポリシーでアクセス先 AWS アカウントを制限
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    Rule
    Allowed URLs
    Tokyo Region
    VPCe


    ? ?
    {
    "Effect": "Deny",
    "Principal": {"AWS": "*"},
    "Action": "*",
    "Resource": "*",
    "Condition": {
    "StringNotEquals": {
    "aws:PrincipalAccount": "アカウントA-ID"
    }
    }
    },
    {
    "Effect": "Allow",
    "Principal": "*", "Action": "*", "Resource": "*"
    }
    #secjaws23
    VPCe ポリシー例
    Corporate
    data
    center
    Direct
    Connect
    利用アカウントを自社アカウントのみに制限

    View Slide

  42. AWS API のアクセスも Network Firewall 経由?
    社外クレデンシャルを持ち込まれた場合、
    社外アカウントへのデータ流出リスクあり
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    Rule
    Allowed URLs
    Tokyo Region
    社外アカウント
    流出!
    社外 Credential
    Corporate
    data
    center
    Direct
    Connect
    Firehose

    View Slide

  43. AWS API のアクセスも Network Firewall 経由?
    クレデンシャル持ち込みの防止手段として
    VPC エンドポイントの利用を継続
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    Rule
    Allowed URLs
    Tokyo Region
    VPCe
    Keep
    Corporate
    data
    center
    Direct
    Connect
    AWSサービスの
    宛先は未許可

    View Slide

  44. 本日話すこと(後半戦)
     SaaS・Private Link の罠と Network Firewall の活用Network
     閉域構成での EC2 アクセス制御(Session Manager 利用)
     IAM ポリシー
     IAM ロールの信頼ポリシー
     VPC エンドポイントポリシー

    View Slide

  45. SaaS 利用の問題が解消し、一件落着!
    と思われたが・・・

    View Slide

  46. 社内で新規導入予定の CloudHub で
    予期せぬ事態が発生した
    ※CloudHub・・・マルチクラウドの閉域接続サービス
    (CloudHub はサードパーティで、AWS サービスとは別)
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Corporate
    data
    center
    Direct
    Connect
    Cloud
    Hub

    View Slide

  47. 開発者 社内 N/W 担当者
    Direct Connect と Transit G/W の接続用に
    Transit VIF の提供をお願いします。

    View Slide

  48. 開発者
    Direct Connect と Transit G/W の接続用に
    Transit VIF の提供をお願いします。
    https://d1.awsstatic.com/webinars/jp/pdf/services/
    20210209-AWS-Blackbelt-DirectConnect.pdf
    社内 N/W 担当者

    View Slide

  49. 開発者
    Direct Connect と Transit G/W の接続用に
    Transit VIF の提供をお願いします。
    Transit VIF は単一であり、
    個別案件に払い出せません!
    社内 N/W 担当者

    View Slide

  50. 開発者
    Direct Connect と Transit G/W の接続用に
    Transit VIF の提供をお願いします。
    Transit VIF は単一であり、
    個別案件に払い出せません!
    https://d1.awsstatic.com/webinars/jp/pdf/services/
    20210209-AWS-Blackbelt-DirectConnect.pdf
    社内 N/W 担当者

    View Slide

  51. 開発者
    Direct Connect と Transit G/W の接続用に
    Transit VIF の提供をお願いします。
    Transit VIF は単一であり、
    個別案件に払い出せません!
    ST 直前で急いでいるのですが・・・
    なんとかなりませんか??
    社内 N/W 担当者

    View Slide

  52. 開発者
    Direct Connect と Transit G/W の接続用に
    Transit VIF の提供をお願いします。
    Transit VIF は単一であり、
    個別案件に払い出せません!
    残念ですが、新規の社内共通基盤に
    VIF を払い出す予定ですので・・・
    ST 直前で急いでいるのですが・・・
    なんとかなりませんか??
    社内 N/W 担当者

    View Slide

  53. 開発者
    Direct Connect と Transit G/W の接続用に
    Transit VIF の提供をお願いします。
    Transit VIF は単一であり、
    個別案件に払い出せません!
    残念ですが、新規の社内共通基盤に
    VIF を払い出す予定ですので・・・
    えっと・・・(詰んだ?)
    ST 直前で急いでいるのですが・・・
    なんとかなりませんか??
    社内 N/W 担当者

    View Slide

  54. Direct Connect Gatewayと
    Transit Gatewayが接続できないため、代替案を模索
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Corporate
    data
    center
    Direct
    Connect
    Cloud
    Hub

    View Slide

  55. 【代替案①】 VPC を挟む?
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Corporate
    data
    center
    Direct
    Connect
    Cloud
    Hub
    VPC
    直接経路伝播できず、
    EC2・NLBなどが必要

    View Slide

  56. VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Corporate
    data
    center
    Direct
    Connect
    Cloud
    Hub
    VPC
    直接経路伝播できず、
    EC2・NLBなどが必要
    運用負担になる踏み台リソースを置きたくなかったので、不採用
    【代替案①】 VPC を挟む?

    View Slide

  57. 【代替案②】 Direct Connect GW を各 VPC に繋ぐ?
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Corporate
    data
    center
    Direct
    Connect
    Cloud
    Hub
    VGW
    各 VPC では
    VGW の追加・
    ルート変更が必要

    View Slide

  58. 【代替案②】 Direct Connect GW を各 VPC に繋ぐ?
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus Agent
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Corporate
    data
    center
    Direct
    Connect
    Cloud
    Hub
    各 VPC では
    VGW の追加・
    ルート変更が必要
    VGW
    ネットワーク変更が大きく、ハブ & スポーク型でなくなるため、不採用

    View Slide

  59. 試行錯誤した結果・・・

    View Slide

  60. Session Manager 案を採用!
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus
    Agent
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Corporate
    Cloud
    Hub
    VPC
    VPCe Session
    Manager
    閉域用 Direct
    Connect
    ネットワーク変更が少なく
    踏み台リソースも不要!

    View Slide

  61. 詳細な図を用いて
    Session Manager での閉域構成を紹介

    View Slide

  62. アカウント A
    Session Manager の利用イメージ
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role

    View Slide

  63. アカウント A
    Session Manager の利用イメージ
    ① 運用者が閉域端末から、アクセス先アカウントの IAM ロール「ssm-role」を引き受け
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    aws sts assume-role --role-arn “arn:aws:iam::[アカウントB]:role/ssm-role” …
    ssm-role

    View Slide

  64. アカウント A
    Session Manager の利用イメージ
    ② 閉域端末で引き受けたロールのクレデンシャルを使い、ポートフォワーディングを実行
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    aws ssm start-session --document-name AWS-StartPortForwardingSession
    --target [instance-id] --parameters portNumber=“22",localPortNumber=“10022"…
    ssm-role

    View Slide

  65. アカウント A
    Session Manager 閉域利用の注意点①
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role
    VPC エンドポイント
    ・ssm
    ・ssmmessages
    ・ec2messages
    ・ ...

    View Slide

  66. アカウント A
    Session Manager 閉域利用の注意点①
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role
    VPC エンドポイント
    ・ssm
    ・ssmmessages
    ・ec2messages
    ・ ...
    VPC エンドポイント
    ・ssm
    ・ssmmessages
    ・(ec2messages)
    ・sts ...
    リクエスト元にも
    複数の VPCe が必要!→

    View Slide

  67. アカウント A
    Session Manager 閉域利用の注意点②
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role
    Network ACL を制御している場合、
    Port 443 のインバウンドアクセス開放が必要
    (Security Group の Port 22 は開放不要)

    View Slide

  68. 疑問・・・
    Session Manager の
    閉域利用は本当に安全?

    View Slide

  69. アカウント A
    Session Manager では、きちんと対策しないと・・・
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role

    View Slide

  70. アカウント A
    Session Manager では、きちんと対策しないと・・・
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    アカウントC(社外)
    流出!
    C
    データ流出リスクがある!→
    EC2
    VPC
    Session
    Manager
    VPCe
    STS
    C ssm-role

    View Slide

  71. アカウント A
    Session Manager では、きちんと対策しないと・・・(その②)
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role

    View Slide

  72. アカウント A
    Session Manager では、きちんと対策しないと・・・(その②)
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    社外からのアクセスリスクがある!→
    ssm-role

    View Slide

  73. どのようにポリシーを組み合わせて
    Session Manager の利用を閉域に制限する?

    View Slide

  74. アカウント A
    Session Manager の利用で着目するポリシーは 4 つ
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI



    Ⅰ. アクセスキーの
    IAMポリシー
    Ⅱ. VPC エンドポイント
    ポリシー
    Ⅲ. IAM ロールの
    信頼ポリシー
    Ⅳ. IAM ロールの
    IAM ポリシー

    ssm-role

    View Slide

  75. アカウント A
    Ⅰ. アクセスキーの IAM ポリシー ※実態は、IAM グループに紐づくポリシー
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    Ⅰ ssm-role

    View Slide

  76. アカウント A
    Ⅰ. アクセスキーの IAM ポリシー ※実態は、IAM グループに紐づくポリシー
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    Ⅰ ssm-role
    {
    "Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource": "arn:aws:iam::${AccountB-ID}:role/ssm-role"
    }

    View Slide

  77. アカウント A
    Ⅰ. アクセスキーの IAM ポリシー ※実態は、IAM グループに紐づくポリシー
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI

    {
    "Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource": "arn:aws:iam::${AccountB-ID}:role/ssm-role"
    }
    ssm-role
    スイッチ先を自社内に制限する
    ため、最小権限を設定!
    (キー漏えい時の影響も抑えたい)

    View Slide

  78. アカウント A
    Ⅱ. VPC エンドポイントポリシー
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI

    ssm-role

    View Slide

  79. アカウント A
    Ⅱ. VPC エンドポイントポリシー
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI

    ssm-role
    {
    "Effect": "Deny",
    "Principal": {"AWS": "*"},
    "Action": "*",
    "Resource": "*",
    "Condition": {
    "StringNotEquals": {
    "aws:PrincipalAccount": "AccountIDs"
    }
    }
    },
    {
    "Effect": "Allow",
    "Principal": "*",
    "Action": "*",
    "Resource": "*"
    }

    View Slide

  80. アカウント A
    Ⅱ. VPC エンドポイントポリシー
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI

    ssm-role
    {
    "Effect": "Deny",
    "Principal": {"AWS": "*"},
    "Action": "*",
    "Resource": "*",
    "Condition": {
    "StringNotEquals": {
    "aws:PrincipalAccount": "AccountIDs"
    }
    }
    },
    {
    "Effect": "Allow",
    "Principal": "*",
    "Action": "*",
    "Resource": "*"
    }
    アカウントC
    (社外)
    C
    C
    社外アカウントのクレデンシャルを持ち込み、
    社外 EC2 へのアクセスを試みる
    EC2

    View Slide

  81. アカウント A
    Ⅱ. VPC エンドポイントポリシー
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI

    ssm-role
    {
    "Effect": "Deny",
    "Principal": {"AWS": "*"},
    "Action": "*",
    "Resource": "*",
    "Condition": {
    "StringNotEquals": {
    "aws:PrincipalAccount": "AccountIDs"
    }
    }
    },
    {
    "Effect": "Allow",
    "Principal": "*",
    "Action": "*",
    "Resource": "*"
    }
    aws:PrincipalAccount で
    クレデンシャル持ち込みを禁止!
    C
    アカウントC
    (社外)
    C
    EC2

    View Slide

  82. アカウント A
    Ⅲ. IAM ロールの信頼ポリシー
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role

    View Slide

  83. アカウント A
    Ⅲ. IAM ロールの信頼ポリシー
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role

    {
    "Effect": "Allow",
    "Principal": {
    "AWS": "arn:aws:iam::${UserAccount}:root"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
    "StringEquals": {
    "aws:SourceVPCe": "${STS-VPCe-ID}"
    },
    "Bool": {
    "aws:MultiFactorAuthPresent": "true"
    },
    "StringLike": {
    "sts:RoleSessionName": "${aws:username}"
    }
    }
    }

    View Slide

  84. アカウント A
    Ⅲ. IAM ロールの信頼ポリシー
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role

    {
    "Effect": "Allow",
    "Principal": {
    "AWS": "arn:aws:iam::${UserAccount}:root"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
    "StringEquals": {
    "aws:SourceVPCe": "${STS-VPCe-ID}"
    },
    "Bool": {
    "aws:MultiFactorAuthPresent": "true"
    },
    "StringLike": {
    "sts:RoleSessionName": "${aws:username}"
    }
    }
    }
    流出したアクセスキー
    社外から
    スイッチロールを試みる

    View Slide

  85. アカウント A
    Ⅲ. IAM ロールの信頼ポリシー
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role

    {
    "Effect": "Allow",
    "Principal": {
    "AWS": "arn:aws:iam::${UserAccount}:root"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
    "StringEquals": {
    "aws:SourceVPCe": "${STS-VPCe-ID}"
    },
    "Bool": {
    "aws:MultiFactorAuthPresent": "true"
    },
    "StringLike": {
    "sts:RoleSessionName": "${aws:username}"
    }
    }
    }
    aws:SourceVPCe で
    社外からのスイッチロールを禁止!
    流出したアクセスキー

    View Slide

  86. アカウント A
    Ⅲ. IAM ロールの信頼ポリシー
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role

    {
    "Effect": "Allow",
    "Principal": {
    "AWS": "arn:aws:iam::${UserAccount}:root"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
    "StringEquals": {
    "aws:SourceVPCe": "${STS-VPCe-ID}"
    },
    "Bool": {
    "aws:MultiFactorAuthPresent": "true"
    },
    "StringLike": {
    "sts:RoleSessionName": "${aws:username}"
    }
    }
    }
    ← MFA を強制

    View Slide

  87. アカウント A
    Ⅲ. IAM ロールの信頼ポリシー
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role

    {
    "Effect": "Allow",
    "Principal": {
    "AWS": "arn:aws:iam::${UserAccount}:root"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
    "StringEquals": {
    "aws:SourceVPCe": "${STS-VPCe-ID}"
    },
    "Bool": {
    "aws:MultiFactorAuthPresent": "true"
    },
    "StringLike": {
    "sts:RoleSessionName": "${aws:username}"
    }
    }
    }
    ← CloudTrail でロール使用者を追跡するため
    STS のセッション名を IAM ユーザー名と
    一致させるように強制

    View Slide

  88. アカウント A
    Ⅳ. IAM ロールの IAM ポリシー(スイッチロール後の話)
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role

    View Slide

  89. アカウント A
    Ⅳ. IAM ロールの IAM ポリシー(スイッチロール後の話)
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role

    {
    "Effect": "Allow",
    "Action": "ssm:StartSession",
    "Resource": [
    "arn:aws:ec2:${Region}:${AccountId}:instance/*",
    "arn:aws:ssm:::document/AWS-StartPortForwardingSession"
    ],
    "Condition": {
    "BoolIfExists": {
    "ssm:SessionDocumentAccessCheck": "true"
    },
    "StringEquals": {
    "aws:SourceVPCe": "${SSM-VPCe-ID}"
    }
    }
    }, …

    View Slide

  90. アカウント A
    Ⅳ. IAM ロールの IAM ポリシー(スイッチロール後の話)
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role

    {
    "Effect": "Allow",
    "Action": "ssm:StartSession",
    "Resource": [
    "arn:aws:ec2:${Region}:${AccountId}:instance/*",
    "arn:aws:ssm:::document/AWS-StartPortForwardingSession"
    ],
    "Condition": {
    "BoolIfExists": {
    "ssm:SessionDocumentAccessCheck": "true"
    },
    "StringEquals": {
    "aws:SourceVPCe": "${SSM-VPCe-ID}"
    }
    }
    }, …
    流出した ssm-role の
    一時クレデンシャル (スイッチロール後)
    社外から Session
    Manager 経由で
    EC2 へ侵入を試みる

    View Slide

  91. アカウント A
    Ⅳ. IAM ロールの IAM ポリシー(スイッチロール後の話)
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI
    ssm-role

    {
    "Effect": "Allow",
    "Action": "ssm:StartSession",
    "Resource": [
    "arn:aws:ec2:${Region}:${AccountId}:instance/*",
    "arn:aws:ssm:::document/AWS-StartPortForwardingSession"
    ],
    "Condition": {
    "BoolIfExists": {
    "ssm:SessionDocumentAccessCheck": "true"
    },
    "StringEquals": {
    "aws:SourceVPCe": "${SSM-VPCe-ID}"
    }
    }
    }, …
    aws:SourceVPCe で
    社外からの
    Session Manager を禁止!
    流出した ssm-role の
    一時クレデンシャル (スイッチロール後)

    View Slide

  92. アカウント A
    ポリシー関連をまとめてみる
    VPC
    Corporate
    data center
    Direct
    Connect
    VPCe
    閉域用 EC2
    運用者
    Cloud
    Hub
    Direct
    Connect
    Gateway
    VPC
    アカウント B
    Session
    Manager
    VPCe
    Transit
    Gateway
    ENI



    Ⅰ. アクセスキーの
    IAMポリシー:
    最小権限に制限
    (スイッチ先を絞る)
    Ⅱ. VPC エンドポイント
    ポリシー:
    aws:PrincipalAccount で
    クレデンシャルの持込を Deny
    Ⅲ. IAM ロールの信頼ポリシー
    Ⅳ. IAMポリシー:
    aws:sourceVpce (sts, ssm)で
    社外からのアクセスを Deny

    ssm-role

    View Slide

  93. ちなみに・・・
    本アプローチは「データ境界」と呼ばれる
    ガードレール かもしれない

    View Slide

  94. #secjaws23 の発表翌日
    Security Roadshow の
    大トリセッションにて →

    View Slide

  95. #secjaws23 の発表翌日
    Security Roadshow の
    大トリセッションにて →
    あまりにも嬉しいお言葉に驚き
    急いで確認しました!

    View Slide

  96. オンデマンド配信で「データ境界」を知る
    AWS 環境で重要データを保護するセキュリティモデル:データ境界 (Data Perimeter) を学ぶ
    https://www.awssecevents.com/ja/ondemandtracks/tech_track_5/

    View Slide

  97. オンデマンド配信で「データ境界」を知る
    AWS 環境で重要データを保護するセキュリティモデル:データ境界 (Data Perimeter) を学ぶ
    https://www.awssecevents.com/ja/ondemandtracks/tech_track_5/
    今回のポリシー設計も
    データ境界のはず・・・?

    View Slide

  98. (再掲!)Network Firewall 導入しました
    VPC
    ENI
    EC2
    VPC
    Transit
    Gateway
    Direct Connect
    Gateway
    ENI
    Network
    Firewall
    NAT
    Gateway
    Firewall
    Endpoint
    Internet
    Gateway
    Anti-virus
    Agent
    SaaS
    Manager
    Server
    Security
    Patches
    Rule
    Allowed URLs
    Corporate
    Cloud
    Hub
    VPC
    VPCe Session
    Manager
    閉域用 Direct
    Connect

    View Slide

  99. まとめ
     プロジェクトリスクとして、SaaS の仕様変更を想定しよう
     Network Firewall と VPCe の併用で緻密なアウトバウンド制御可
     閉域で Session Manager 利用時の注意点は・・・
    • 最小権限を遵守しているか
    • クレデンシャルの持込を対策できているか
    • 社外からのアクセスを防いでいるか

    View Slide