VPCのアウトバウンド通信を制御する
ためにおさえておきたい設計ポイント
JAWS DAYS 2022 Pre Event
Takuya Takaseki
JAWS DAYS 2022 Pre Event
自己紹介
• NECの機械学習分野(自然言語処理)のリサーチエン
ジニア


• 好きなAWSサービス:CloudFormation


• 本発表は個人の活動になります
2
高関 拓也 Takaseki Takuya
@tkskey
https://github.com/takuya-takaseki
本日紹介するアーキテクチャの
CloudFormationテンプレートを公開してます
JAWS DAYS 2022 Pre Event
アウトバウンド通信を制御するモチベーション
• VPCアウトバウンドの制御 → システムの安全性を確保


• Virtual Private Cloud(VPC)を全ての外部との通信から隔離
• インターネットを通じて様々な外部
サービスと通信することが前提


• しかし、不必要な宛先とは通信できな
いようにしたい
3
踏み台なし、Systems Manager接続不可のためEC2ログイン×
Walled Garden


アプローチ


(Closed Platform)
• ネットワークベースでコンテンツやサービ
スへのユーザーアクセスを制御


• 例:AppleのApp Store


• ホワイトリスト形式で許可されたドメイン
へのアクセスのみを許可


• https://docs.aws.amazon.com/ja_jp/
Route53/latest/DeveloperGuide/
resolver-dns-
fi
rewall-overview.html
4
Jonathan Oldenbuck, CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0>, via Wikimedia Commons
JAWS DAYS 2022 Pre Event
本セッションについて
• Walled Gardenアプローチに基づき、VPCから外部へのアウトバウンド通信を事前に許可した
もののみに制限する方法について説明します。


• 主に以下のAWSサービスを扱います。


• VPCエンドポイント


• Route53 Resolver DNS ファイアウォール


• AWS Network Firewall
5
JAWS DAYS 2022 Pre Event
NAT GatewayとInternet Gatewayによるアーキ
テクチャ
• 守りたいネットワーク(Private Subnet)と外部のネットワークは疎結合になる


• インバウンド通信を許可することなく、プライベートサブネット内のインスタンスはインター
ネットに接続可能
6
JAWS DAYS 2022 Pre Event
このアーキテクチャをWalled Gardenにするうえ
での課題
• ドメインで宛先をフィルタすることができない


• セキュリティグループ、ネットワークACL、ルートテーブルはいずれもIPアドレスベースでの
制御


• しかも、NATゲートウェイではセキュリティグループは使用できない


• 自前でプロキシサーバやファイアウォールサーバを立てるのは、可用性に懸念あり
7
JAWS DAYS 2022 Pre Event
提案


• VPCエンドポイント


• Route53 Resolver DNS ファイアウォール


• AWS Network Firewall
を活用しましょう
8
JAWS DAYS 2022 Pre Event
本セッションにて


ご提案するWalled Garden
アーキテクチャ
ポイント①


VPCエンドポイントによりIGWを経由せず
に外部と通信
ポイント②


AWS Network FirewallによるIGWを経由す
るトラフィックのドメインフィルタリング
ポイント③


DNSファイアウォールによるDNSクエリの
ドメインフィルタリング
9
JAWS DAYS 2022 Pre Event
主なアウトバウンドトラフィック
• AWSサービスを利用するためのサービスエンドポイント


• セキュリティベンダーの管理サーバとの通信


• パッチ適用のためのリポジトリサーバ


• 外部サービスのAPI (Google API等)


• 等
C
VPCエンドポイント


使用可能 *
DNS Firewall &


Network Firewall


使用可能
* 対応している場合のみ
10
JAWS DAYS 2022 Pre Event
VPCエンドポイントとは
• VPCと各種サービスとの接続のための仮想デバイス
インターフェース


エンドポイント
Gateway Load Balancer


エンドポイント
ゲートウェイ


エンドポイント
• AWSサービス等にAWS PrivateLinkで接続するための


Elastic Network Interface(ENI)


• プライベートIPアドレスで通信可能に
• ゲートウェイロードバランサーにPrivateLinkで接続するためのENI


• ルートテーブルのターゲットになることができる
• S3, DynamoDBにインターネットゲートウェイ無しで接続可能


• パブリックIPアドレスでの通信
11
JAWS DAYS 2022 Pre Event
VPCエンドポイントによるアーキテクチャ
• NAT Gateway、Internet Gatewayを使用せずに外部と通信が可能
12
• NAT GWの構成にInterface/Gatewayエ
ンドポイントを追加


• Interfaceエンドポイントはプライベー
トIPを持ち、ローカルでの通信(青線)


• Gatewayエンドポイントは、サービス
へのトラフィックをエンドポイントに
転送するようルーティング設定を追加
(赤線)
JAWS DAYS 2022 Pre Event
DNS Firewall & Network Firewall
Route53 Resolver


DNSファイアウォール
AWS Network Firewall
• DNSトラフィックのドメインフィルタリン
グ


• ネットワーク層のステートレス/ステートフルな
フィルタリング


• アプリケーション層(HTTP/HTTPS)トラフィック
のステートフルなドメインフィルタリング
13
どちらもドメインフィルタが可能だが、保護するレイヤーが異なるので両方使用するのが⃝ (多層防御)
JAWS DAYS 2022 Pre Event
DNS Firewallによるドメインフィルタリング
• ドメインリストとルールグループを作成し、
ルールグループをVPCに関連付ける


• VPCのDNSリゾルバーへのリクエストはDNS
ファイアウォールに転送される


• ブロック時のアクションはNODATA/
NODOMAIN/OVERRIDEから選択可能
14
JAWS DAYS 2022 Pre Event
Network Firewallによるドメインフィルタリング
• ファイアウォール用のサブネットを作成


• サブネットを指定してファイアウォールを
作成すると、サブネット上にエンドポイン
トが作成される


• エンドポイントにトラフィックをルーティ
ングすると、ファイアウォールに転送され
検査が行われる


• 注意:デフォルトでは戻りトラフィックは
IGW→NAT GWとなるため、Ingress Route
Tableでエンドポイントへ転送させる
15
JAWS DAYS 2022 Pre Event
VPCエンドポイントとDNS/NW Firewallの組み
合わせ
16
アウトバウンド通信のPass or Drop
DNS FWとVPC EP or NW FWによる二重の保護
JAWS DAYS 2022 Pre Event
最後に:なぜVPCエンドポイントを使うのか?
• VPCエンドポイントポリシーを設定することで、より細かいアクセス制御が可能


• NW FWのドメインフィルタリングの場合、IPアドレスを直接指定した通信は許可されてしまう


• VPCエンドポイントの方が安い
17
⃝ 宛先をVPCエンドポイントがサポートしている場合はVPCエンドポイントの使用を検討する
JAWS DAYS 2022 Pre Event
ご清聴ありがとうございました
See you at JAWS DAYS 2022 Satellites!

VPCのアウトバウンド通信を制御するためにおさえておきたい設計ポイント

  • 1.
  • 2.
    JAWS DAYS 2022Pre Event 自己紹介 • NECの機械学習分野(自然言語処理)のリサーチエン ジニア • 好きなAWSサービス:CloudFormation • 本発表は個人の活動になります 2 高関 拓也 Takaseki Takuya @tkskey https://github.com/takuya-takaseki 本日紹介するアーキテクチャの CloudFormationテンプレートを公開してます
  • 3.
    JAWS DAYS 2022Pre Event アウトバウンド通信を制御するモチベーション • VPCアウトバウンドの制御 → システムの安全性を確保 • Virtual Private Cloud(VPC)を全ての外部との通信から隔離 • インターネットを通じて様々な外部 サービスと通信することが前提 • しかし、不必要な宛先とは通信できな いようにしたい 3 踏み台なし、Systems Manager接続不可のためEC2ログイン×
  • 4.
    Walled Garden 
 アプローチ (Closed Platform) •ネットワークベースでコンテンツやサービ スへのユーザーアクセスを制御 • 例:AppleのApp Store • ホワイトリスト形式で許可されたドメイン へのアクセスのみを許可 • https://docs.aws.amazon.com/ja_jp/ Route53/latest/DeveloperGuide/ resolver-dns- fi rewall-overview.html 4 Jonathan Oldenbuck, CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0>, via Wikimedia Commons
  • 5.
    JAWS DAYS 2022Pre Event 本セッションについて • Walled Gardenアプローチに基づき、VPCから外部へのアウトバウンド通信を事前に許可した もののみに制限する方法について説明します。 • 主に以下のAWSサービスを扱います。 • VPCエンドポイント • Route53 Resolver DNS ファイアウォール • AWS Network Firewall 5
  • 6.
    JAWS DAYS 2022Pre Event NAT GatewayとInternet Gatewayによるアーキ テクチャ • 守りたいネットワーク(Private Subnet)と外部のネットワークは疎結合になる • インバウンド通信を許可することなく、プライベートサブネット内のインスタンスはインター ネットに接続可能 6
  • 7.
    JAWS DAYS 2022Pre Event このアーキテクチャをWalled Gardenにするうえ での課題 • ドメインで宛先をフィルタすることができない • セキュリティグループ、ネットワークACL、ルートテーブルはいずれもIPアドレスベースでの 制御 • しかも、NATゲートウェイではセキュリティグループは使用できない • 自前でプロキシサーバやファイアウォールサーバを立てるのは、可用性に懸念あり 7
  • 8.
    JAWS DAYS 2022Pre Event 提案 • VPCエンドポイント • Route53 Resolver DNS ファイアウォール • AWS Network Firewall を活用しましょう 8
  • 9.
    JAWS DAYS 2022Pre Event 本セッションにて ご提案するWalled Garden アーキテクチャ ポイント① VPCエンドポイントによりIGWを経由せず に外部と通信 ポイント② AWS Network FirewallによるIGWを経由す るトラフィックのドメインフィルタリング ポイント③ DNSファイアウォールによるDNSクエリの ドメインフィルタリング 9
  • 10.
    JAWS DAYS 2022Pre Event 主なアウトバウンドトラフィック • AWSサービスを利用するためのサービスエンドポイント • セキュリティベンダーの管理サーバとの通信 • パッチ適用のためのリポジトリサーバ • 外部サービスのAPI (Google API等) • 等 C VPCエンドポイント 使用可能 * DNS Firewall & Network Firewall 使用可能 * 対応している場合のみ 10
  • 11.
    JAWS DAYS 2022Pre Event VPCエンドポイントとは • VPCと各種サービスとの接続のための仮想デバイス インターフェース エンドポイント Gateway Load Balancer エンドポイント ゲートウェイ エンドポイント • AWSサービス等にAWS PrivateLinkで接続するための 
 Elastic Network Interface(ENI) • プライベートIPアドレスで通信可能に • ゲートウェイロードバランサーにPrivateLinkで接続するためのENI • ルートテーブルのターゲットになることができる • S3, DynamoDBにインターネットゲートウェイ無しで接続可能 • パブリックIPアドレスでの通信 11
  • 12.
    JAWS DAYS 2022Pre Event VPCエンドポイントによるアーキテクチャ • NAT Gateway、Internet Gatewayを使用せずに外部と通信が可能 12 • NAT GWの構成にInterface/Gatewayエ ンドポイントを追加 • Interfaceエンドポイントはプライベー トIPを持ち、ローカルでの通信(青線) • Gatewayエンドポイントは、サービス へのトラフィックをエンドポイントに 転送するようルーティング設定を追加 (赤線)
  • 13.
    JAWS DAYS 2022Pre Event DNS Firewall & Network Firewall Route53 Resolver DNSファイアウォール AWS Network Firewall • DNSトラフィックのドメインフィルタリン グ • ネットワーク層のステートレス/ステートフルな フィルタリング • アプリケーション層(HTTP/HTTPS)トラフィック のステートフルなドメインフィルタリング 13 どちらもドメインフィルタが可能だが、保護するレイヤーが異なるので両方使用するのが⃝ (多層防御)
  • 14.
    JAWS DAYS 2022Pre Event DNS Firewallによるドメインフィルタリング • ドメインリストとルールグループを作成し、 ルールグループをVPCに関連付ける • VPCのDNSリゾルバーへのリクエストはDNS ファイアウォールに転送される • ブロック時のアクションはNODATA/ NODOMAIN/OVERRIDEから選択可能 14
  • 15.
    JAWS DAYS 2022Pre Event Network Firewallによるドメインフィルタリング • ファイアウォール用のサブネットを作成 • サブネットを指定してファイアウォールを 作成すると、サブネット上にエンドポイン トが作成される • エンドポイントにトラフィックをルーティ ングすると、ファイアウォールに転送され 検査が行われる • 注意:デフォルトでは戻りトラフィックは IGW→NAT GWとなるため、Ingress Route Tableでエンドポイントへ転送させる 15
  • 16.
    JAWS DAYS 2022Pre Event VPCエンドポイントとDNS/NW Firewallの組み 合わせ 16 アウトバウンド通信のPass or Drop DNS FWとVPC EP or NW FWによる二重の保護
  • 17.
    JAWS DAYS 2022Pre Event 最後に:なぜVPCエンドポイントを使うのか? • VPCエンドポイントポリシーを設定することで、より細かいアクセス制御が可能 • NW FWのドメインフィルタリングの場合、IPアドレスを直接指定した通信は許可されてしまう • VPCエンドポイントの方が安い 17 ⃝ 宛先をVPCエンドポイントがサポートしている場合はVPCエンドポイントの使用を検討する
  • 18.
    JAWS DAYS 2022Pre Event ご清聴ありがとうございました See you at JAWS DAYS 2022 Satellites!