エフィメラル・ポートの統一使用で管理を容易にする、エフェメラル(ephemeral)は”短命な”の意味。
ネットワークはクライアントのエフィメラル・ポートからサーバーの
提供するサービス・ポートにアクセスするのが基本。
エフィメラル・ポート以外からサーバーにアクセスする事は幾つかの例外を
除いてはない、例外 FTPデータ転送、NTP、DHCP等
またサーバーは発信元のエフィメラル・ポート以外にアクセスする事はない。
セキュリティ設定の基本です。
HTTPの場合には、1セッション(1ページ)毎に1つのエフェメラル・ポートを使用する
複数のページでショッピングをする場合、ユーザーを特定する為にcookieを使う。
ftpのファイル転送の場合には、1つのファイル転送毎に1つのエフェメラル・ポートを使用する
セッションが終了すると消えてなくなる、1セッションと云う短命な存在である。
サーバーは同一クライアント(アドレス)からの接続でもポート番号が異なると、
新たな接続(セッション)とする。
クライアントはサーバーから返ってくるエフェメラル・ポートでどのセッションのものか判断する。
使用する番号は順に増えて最大値になるとスタートの番号に戻る方法と
セキュリティを考慮して範囲内でランダムな値を使用する方法がある。
エフィメラル・ポートの変更方法
Linux
/etc/sysctl.conf に記述する
net.ipv4.ip_local_port_range=49152 63000
一時的な変更の場合には
sudo sysctl -w net.ipv4.ip_local_port_range="49152 60000"
現在値の確認方法
sysctl -n net.ipv4.ip_local_port_range
WindowsもVISTAからエフィメラル・ポートの変更が可能になる。
VISTAでの変更方法
netsh int ipv4 set dynamicport tcp start=49152 num=10000
netsh int ipv4 set dynamicport udp start=49152 num=10000