Edited at

AWS VPC での Ephemeral port 設定

More than 3 years have passed since last update.

NOTE: 2年前の投稿をブログ移行のため再掲しています。

AWS VPC での Ephemeral port 設定についてまとめ


Intro

Firewall には Stateful firewall (Dynamic Packet Filtering) と Stateless firewall があり、それぞれ異なる設定が必要となる。

AWS では、Security Group (EC2, VPC 両方) は Stateful, VPC の Newwork ACL は Stateless なため、似たルールを設定するにしても、両者の違いを意識して書き分けないといけない。

そして Network ACL の様に Stateless firewall の設定をする際、Ephemeral port と呼ばれる port 番号の設定が必要となる。


Ephemeral /əˈfem(ə)rəl/ port とは


  • Stateful firewall : リクエストパケットはフィルタリングし、記憶しておいて、そのレスポンスパケットは無条件で受け付ける。


  • Stateless firewall : リクエストパケットを記憶しない。すべての通信にフィルタリングをかける。


  • Ephemeral port : クライアントがリクエストを投げるときに指定する、そのレスポンスの受付ポート。


Stateful firewall の場合、レスポンスは無条件で受け付けるため、Ephemaral port について気にする必要は無い。Stateless firewall の場合は Ephemaral port を明示的に開けておかないと、リクエストは投げれてもレスポンスを途中で遮断してしまうことになる。

Ephemaral port の番号はリクエストの送信元 OS が決定する。


Inbound

Inbound(外から内に向けての通信) 設定における Ephemaral port なので、Outbound(内から外に向けての通信) の戻りパケットの受け取り Port の設定の事。

Ephemeral port が何番かを決めるのは、リクエストの送信元なので、この場合は Firewall の内側のシステムが何番を利用するかを調査し、設定すれば良いという事になる。

番号のレンジはOSごとに異なる。

OS
Min
Max

Linux (Amazon Linux 含む)
32768
61000

Windows Vista, Windows Server 2008 以降
49152
65535

Widows XP, Windows Server 2003 など、古い Windows
1025
5000

OS の Ephemeral port 設定は変更できる。トラブルの元となるので理由がなければ変更するべきではないが、他の運用担当者や AMI 作成者が変更する可能性もある。

Linux では以下のコマンドで現在の設定を見ることができる。

$ cat /proc/sys/net/ipv4/ip_local_port_range 

リンク:



  • The Ephemeral Port Range 各種 OS のEphemeral port に関して書いている。Windows XP の数値が MS のドキュメントと違っているので注意


  • Microsoft Support Widnow Server 2008 の Ephemeral port とその設定方法について


  • Microsoft TechNet 古い Windows の Ephemeral port とその設定方法について


Outbound

Outbound では Inbound の逆、つまりクライアントからの通信の戻りパケットの設定となる。これはクライアントマシンでの設定に依存するので、public サブネットならサービスの対応 OS 、private サブネットならそのサブネットへのアクセスを受け付けているインスタンスの OS を考慮すれば良い。

この時、特別考慮が必要なのは、ELB の設定である。ELB のドキュメント によると、以下の port を設定する必要があるようだ。

1024-65535


Outro

その他忘れがちな、 DNS(53/UDP) や、NTP(123/UDP) などのポートを開けるのを忘れずに。Enjoy VPC !


References


  1. Stateful firewall - Wikipedia, the free encyclopedia

  2. Security in Your VPC - Amazon Virtual Private Cloud : Comparison of Security Groups and Network ACLs

  3. Ephemeral port - Wikipedia, the free encyclopedia

  4. Mike Gleason, "The Ephemeral Port Range,"

  5. The default dynamic port range for TCP/IP has changed in Windows Vista and in Windows Server 2008

  6. The Cable Guy - December 2005 : Windows TCP/IP Ephemeral, Reserved, and Blocked Port Behavior

  7. Listener Configurations for Elastic Load Balancing - Elastic Load Balancing

accessed Feb 23, 2014