📌

境界型セキュリティのベースとなっている考え方の 1 つ

2024/08/04に公開

TL;DR

  • ゼロ トラストの話をするにあたって境界型セキュリティの基本的な考え方について書いてみ隊
  • ポイントは NAT (NAPT) であり、その非対称性によって一定レベルのネットワーク セキュリティが実現される
  • エンタープライズのネットワークではこんなシンプルなことは無いかもしれないが、ほとんどのご家庭ネットワークはこの非対称性のおかげである程度安全といえる

はじめに

ゼロ トラスト ネットワーク みたいな話が浸透していくと同時に、逆に従来からのファイアウォール、IPS/IDS、WAN/DMZ/LAN などのキーワードをもつ考え方を境界型セキュリティというようになったかなと個人的に感じています。
で、じゃあその境界型セキュリティにおける基本の考え方について、書いておこうと思います。

ファイアウォールの基本的な機能

ファイアウォール、というコンポーネントがほとんどのネットワークに存在しており、UDP/TCP などのプロトコルやポート番号、IP アドレスなどを元に通信を許可/拒否する機能を持っています。
ファイアウォール、ということで「壁」的なサムシングであることから、「内側」と「外側」を区別し、その間でどのような通信が許可されるかを制御することができます。
この壁の内側のことを、LAN や Trust (壁の内側は信頼できるという考え方)、社内ネットワークのようにとらえます。
逆に、外側は WAN、Untrust (Trust の逆)、インターネット側、わるい人たちがいるかもしれない側、ということです。
こういった考え方を踏まえて、「境界型セキュリティ」と呼ばれている、と思います。

DMZ

はいったんしまっておきます。
DeMilitarized Zone の略で、軍事用語からきているようですが、ファイアウォールの外側と内側の間に設けられるセグメントのことを指します。
こういった複数の種類のネットワークの中間にファイアウォールを設置するのが境界型セキュリティの基本的な考え方です。

ファイアウォールの内側

ファイアウォールの内側は、信頼できるネットワーク、ということで、社内ネットワークとしての役割を担っています。
みなさまが会社に出社して、会社の Wi-Fi に接続して、いろいろお仕事をされていますが、その際に接続しているネットワークはほとんどの場合社内ネットワークです。
ですが、最近のお仕事のほとんどはインターネットに接続することがほとんどかと思うので、ファイアウォールの 内側 → 外側 に許可ルールを設けて、インターネット側と通信する必要があります。

ファイアウォールの外側

ファイアウォールの外側はインターネットと呼ばれるネットワークであり、有象無象、あらゆるユーザー/組織が存在します。
その中にはハッカー/クラッカーと呼ばれるようなわるい人たちも存在しており、ファイアウォールの 外側 → 内側 の拒否ルールはこのような人たちからの攻撃を防ぐ、ような機能を担っています。

プライベート IP アドレスとグローバル IP アドレス

例外もかなり多いですが、ファイアウォールの内側は 192.168.1.4/24 のようなプライベート IP アドレス、外側は 203.0.113.4/24 のようなグローバル IP アドレスを持っています。
プライベート IP アドレスは社内ネットワークなどの閉じた (= プライベートな) ネットワークで使われているために使われる IP アドレスであり、そのままインターネットに接続することはできません。
インターネット側はグローバル IP アドレスで通信され、そのグローバル IP アドレスはどの IP アドレスをどの組織が持っている/使っているかが管理されています。
ということで、みなさまがお仕事をするためにインターネットを使うためには、ファイアウォールの 内側 → 外側 でプライベート IP アドレスからグローバル IP アドレスに変える必要があります。

NAT、SNAT、NAPT

このファイアウォールの 内側 → 外側 の IP アドレス変換の仕組みを Network Address Translation (NAT) と呼びます。
場合によって Source NAT (SNAT) や Network Address Port Translation (NAPT) と呼ばれることもありますが、同じようなものです。
定義どおりの NAT は 1対1 NAT、つまり 1 つのプライベート IP アドレスに対して 1 つのグローバル IP アドレスに変換するようなものですが、実際には複数のプライベート IP アドレスを 1 つのグローバル IP アドレスに変換することが多いです。
細かいところは NAPT(IPマスカレード / PAT)とは などをご参照ください。

ここで重要なのは、社内ネットワークからインターネットに出る際の NAT はプライベート IP アドレスからグローバル IP アドレスへの 1対多 で、方向も 内側 → 外側 に限定されるということです。
つまり、社内ネットワークにつないでいる PC からの通信はプライベート IP アドレスからグローバル IP アドレスに変換されてインターネットに出ることはできますが、逆にその NAT 用のグローバル IP アドレスに対してインターネット側からわるい人たちが通信してきても逆の NAT は行われません。
インターネット側には悪い人たちもいますが、ファイアウォールで外側からの通信を許可していない限り、ある程度安全といえるわけです。

これは会社の社内ネットワークに限った話ではなく、家の Wi-Fi でも同じようなことが言えます。
家の Wi-Fi にスマートフォンをつないでいろいろやっていますが、Wi-Fi ルーターがこの NAT の仕組みを実装しているためにインターネットに接続できています。
一方で Wi-Fi ルーターには 外側 → 内側 に通信を許可するような設定は基本的に入っていないため、みなさまのスマートフォンもその観点では安全といえます。

VPN

家やカフェから、会社のネットワークにアクセスする際には VPN を利用する構成は従来からよく使われています。
しかし、この VPN に利用される VPN ルーター (ファイアウォールがその機能を兼ねていることも多いですが) はその性質から、グローバル IP アドレスを持っている必要があります。
グローバル IP アドレスを持っているということは、わるい人たちからの攻撃を受ける可能性がある、ということです。

VPN ルーターにグローバル IP アドレスは

必要ない、はい、それこそファイアウォールで NAT した配下に置くこともあるでしょうが、ここではめちゃくちゃシンプルな、いや愚直なアーキテクチャー、ということで。。。

内外の通信しかないから比較的安全、みたいな言い方

いきなり具体例を出しますが、Public IP アドレス (グローバル IP アドレスと同じようなものです) を付けた Azure VM と Azure Virtual Desktop (AVD) の比較、VPN Gateway と Microsoft Entra Private Access (MEPA、Microsoft の提供する ZTNA ソリューション) の比較も同様な観点で説明することができます。

  • Public IP アドレス を付けた Azure VM と Azure Virtual Desktop (AVD)

    Public IP アドレスを付けた Azure VM は、そのアクセスのためには Public IP アドレスへとインターネット側から通信を許可する必要があり、その送信元 IP アドレスを限定したとしてもリスクレベルはある程度高いと考えられます。
    一方で、AVD は RDAgent というエージェントが VNet の中から AVD のコントロールプレーンへの、つまり内側 → 外側 の通信しかないため、そのリスクレベルは比較的低いといえます。
    もちろんこの 内側 → 外側 の通信にあたっては内部的に NAT が行われています。

  • VPN Gateway と Microsoft Entra Private Access

    同様に、VPN Gateway は VPN を利用することから Public IP アドレスを持ち、そこへの通信はインターネット側から許可する必要があります。
    他方、MEPA は VNet やオンプレミス ネットワークから Secure Service Edge (SSE) への、つまり内側 → 外側 の通信しかないため、そのリスクレベルもまた比較的低いといえます。

これを、わたしはよく「内外 (うちそと) の通信しかないから比較的安全」というような言い方をしています。
逆に外内 (そとうち) の通信が必要な場合にはいわゆるポート開放、と呼ぶような作業/手順が必要であり、これはインターネットからの通信を一部許可していくこととなり、セキュリティ リスクは高まります。

まとめ

背景となる知識を全部すっ飛ばして、「VPN は外内の通信がいるから危ないけど、MEPA なら内外の HTTPS だけでいいからよりセキュアなんだよ」みたいな説明をしてしまいますが、なんで?というのが抜け落ちてしまっているかもしれないので、この記事を書きました。
NAT による通信許可の非対称性をよりどころとしたセキュリティ リスクの差から、VPN より ZTNA なんじゃないの、みたいな話に持っていく前段の話です。
こんなにシンプルな説明が可能なネットワーク構成ももはや少ないかとは思っていますが、教科書的な基礎的な内容を、ということで。。。

参考

  • NAPT(IPマスカレード / PAT)とは

https://www.infraexpert.com/study/ip11.5.html

  • 境界型セキュリティとゼロ トラスト ネットワークを比較すべきなのか

    この内容を書こうと思っていて、前提から書いてると長くなりそうなので別の記事にしたのが今お読みになられている記事です

https://zenn.dev/skmkzyk/articles/perimeter-security-and-ztna

Discussion