サイトのVPNがどこで終わるかが、何を検査できるかを決める
サイト間トラフィックを復号する機器が、ファイアウォールがまだ検査できる範囲を決めます。まず境界を描き、そのうえでルーターかファイアウォールを選びます。
サイト間トンネルは、検査設計全体を決めるある詳細を隠しています。内側のパケットが平文で現れる、まさにその機器です。その地点より手前ではすべてESPが見え、その先ではルールが照合できる通常のIPが見えます。境界を誤った場所に置けば、高い金を払ったファイアウォールはライセンス付きのルーターになります。以下の手順では、まず線を引き、そのうえでどの機器が境界を持つべきかを問います。
パケットが暗号化されなくなる地点に線を引く
トンネルモードでは、元のパケットが暗号化され、相手ゲートウェイ宛ての新しい外側IPヘッダーで包まれます。その外側パケットはESPのプロトコル50を運ぶため、二つのゲートウェイの間にあるどの機器も、内側のアドレスを読まずに転送できます。復号する最初の機器がセキュリティ境界であり、内側のフローにポリシーを適用できる最初の機器でもあります。その地点より下流はすべて通常のルーティングです。
図に三つを記します。ESPを受け入れる外側の端点、ポリシーで名指しされた保護対象ネットワーク、そして復号されたパケットが進む次のホップです。この三つが同じ機器にないなら、設計すべき受け渡しがあり、単一の制御点ではありません。
RFC 4301は復号する機器をセキュリティゲートウェイと呼び、そのポリシーを境界の一部として扱います。これは製品カテゴリより有用な枠組みです。機器が境界になるのはポリシーを持つときであり、データシートにファイアウォールと書いてあるときではありません。
ファイアウォール終端:一台の機器、一つのポリシー点
ファイアウォールがトンネルを終端するとき、上流のルーターはESPを届けるだけで済みます。ファイアウォールは相手を認証し、復号し、その後サーバーVLANへ向かう内側パケットに通常のルールを適用します。これによりポリシーを読む場所が一つ、ログを読む場所が一つになり、監査がたいてい求めるのはそれです。
二つの許可を別々に確認してください。機器へのIKEとESPの許可は、遠隔サイトがサーバーに届くことを許可するルールとは同じではありません。トンネルを受け入れながら内側のフローを遮断するファイアウォールは、遠い側から見れば壊れたトンネルとまったく同じに見えます。
代償は、ファイアウォールがサイトのすべてのトラフィックの経路上に置かれることです。そのためスループット、セッション上限、フェイルオーバー時の挙動がトンネル自体の挙動になります。統合されたサイトのフローに合わせて容量を決めるのであって、購入理由だったかもしれないリモートアクセス用プロファイルに合わせるのではありません。
ルーター終端:検査のホップは任意になる
ルーターが復号すると、パケットはルーティングテーブルに届く時点ですでに平文です。別のファイアウォールがそのトラフィックを検査すべきなら、ルーターはそれをファイアウォール経由で送り、戻り経路も同じ道を通らなければなりません。ルーターからサーバーVLANへの直接経路は、図に残したまま、ファイアウォールを静かに経路から外します。
既存ネットワークで探すべき障害はこれです。同じプレフィックスへの二つの経路、一つはファイアウォール経由、もう一つは直接で、直接のほうがプレフィックス長やメトリックで勝つ。トンネルはトラフィックを通し続け、信じている検査は行われません。
ルートベースのトンネルはこれを可視化します。トンネルは別の機器を経由してルーティングできるインターフェースだからです。ポリシーベースのトンネルはセレクターでトラフィックを選ぶため、復号されたパケットが行き場を失ってルーターに残ることがあります。
両方の候補に同じ五つの質問をする
短いワークシートは機能表に勝ります。どの質問も図の一本の線に対応するからです。各候補に尋ねてください。
- どのIKEバージョン、どのピア認証方式とルーティングモデルをこのリリースは実際にサポートしているか。
- ESPはどこで受け入れられ、復号されたフローはどこで許可または拒否されるか。
- ローカルホストは遠隔プレフィックスをどう学び、反対側はあなたのプレフィックスをどう学ぶか。
- 実際の負荷に対して、端点はどのスループット、セッション数、フェイルオーバー挙動に耐える必要があるか。
- トンネルが壊れたものだったとき、ピアの資格情報、ポリシー、復旧経路の所有者は誰か。
pfSenseはポリシーベースとルートベースのIPsecを、別々の制約を持つ別モデルとして文書化しています。この違いは箱のラベルより重要です。実際に導入するリリースで、正確なモードと復号トラフィックの対応フィルタリングを確認してください。
候補が二番目の質問に、読めるルールで答えられないなら、それが望む境界ではありません。ほかの点がどれほど良くても同じです。はいではなくルール本文を求め、曖昧な答えは拒否とみなしてください。
経路は図ではなくキャプチャで確認する
図は意図を描き、キャプチャは挙動を描きます。どちらかを信じる前に、どのインターフェースがESPを運び、どれが内側のフローを運ぶかを確かめてください。
tcpdump -ni wan0 esp
tcpdump -ni lan0 host 10.60.4.20
ip xfrm policy list
最初のキャプチャでESPが到着し、二番目で内側のパケットがLAN側に出ていれば、復号点は思ったとおりです。内側のパケットがファイアウォールを迂回するセグメントに現れるなら、ポリシーの文面が何と言おうとルーティングが誤りです。xfrmの一覧は、どのセレクターがどの向きに導入されているかを示します。
戻り経路でも同じキャプチャを繰り返してください。サイトに二つの出口があり得る場合、非対称ルーティングはよく起きます。片方向では動き、もう片方向でタイムアウトするトンネルは、ほぼこれです。遠い側のポリシーをいくら編集しても直りません。