ネットワークアドレス変換 (NAT)
ネットワークアドレス変換 (NAT) とは何ですか?
ネットワークアドレス変換 (NAT)ルーターがパケット通過時に IP アドレスとポートを書き換える技術で、多数の内部ホストが少数の公開アドレスを共有できるようにする。
NAT(ネットワークアドレス変換)は、ネットワーク内部のプライベート IP アドレスをインターネット上の公開アドレスへ対応付け、戻りも同様に変換します。従来型の NAT とその用語は RFC 3022 および RFC 2663 に記述されています。最も一般的な変種である PAT(NAT オーバーロードとも呼ばれる)は、送信元ポートも書き換えて 5 タプルをキーとする変換テーブルを保持し、数千台の内部ホストを単一の公開アドレスの後ろに多重化します。NAT は主に IPv4 アドレス枯渇を遅らせるために導入されましたが、内部トポロジを隠蔽し、要求のない着信トラフィックを既定で遮断する効果もあり、弱いながらも有用な不透明性を提供します。
NAT はそれ単体ではセキュリティ境界にはなりません。アドレスをペイロードに埋め込むプロトコル(SIP・FTP・IPsec)では扱いが難しくなるため、ルーターはそれらのペイロードを書き換える Application Level Gateways (ALGs) を搭載しています。Samy Kamkar による 2020 年の NAT Slipstreaming 攻撃(CVE-2020-28041)はまさにこれを悪用しました。Web ページ上の悪意ある JavaScript が被害者のブラウザを欺いて細工したパケットを送信させ、ルーターの SIP ALG がそれを誤読することで、任意の内部ポートへの着信ピンホールを開いてしまいます。Chrome(v87.0.4280.141)と Firefox(v85)は悪用されたポートを遮断するパッチを配布し、その後 Armis の研究者が v2.0 のバイパスを公開しました。
防御策:不要な ALGs を無効化し、NAT を本物のステートフルファイアウォールと組み合わせること。そして、すべてのホストがグローバルにルーティング可能なアドレスを持てる IPv6 では NAT が薄れつつあることを念頭に置くことです。
flowchart LR
subgraph LAN [Private network]
H1[192.168.1.10:51000]
H2[192.168.1.11:51001]
end
H1 --> N[NAT router<br/>translation table]
H2 --> N
N -->|src 203.0.113.5:40001| I[Internet]
N -->|src 203.0.113.5:40002| I● 例
- 01
家庭用ルーターが 192.168.1.0/24 のクライアントを、ISP から割り当てられた 1 つの IPv4 に変換する。
- 02
キャリアグレード NAT(CGN)が 1 つの公開 IPv4 を数百のモバイル加入者で共有する。
● よくある質問
ネットワークアドレス変換 (NAT) とは何ですか?
ルーターがパケット通過時に IP アドレスとポートを書き換える技術で、多数の内部ホストが少数の公開アドレスを共有できるようにする。 サイバーセキュリティの ネットワークセキュリティ カテゴリに属します。
ネットワークアドレス変換 (NAT) とはどういう意味ですか?
ルーターがパケット通過時に IP アドレスとポートを書き換える技術で、多数の内部ホストが少数の公開アドレスを共有できるようにする。
ネットワークアドレス変換 (NAT) からどのように防御しますか?
ネットワークアドレス変換 (NAT) に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
ネットワークアドレス変換 (NAT) の別名は何ですか?
一般的な別名: NAT, PAT, NAT オーバーロード。