遠隔のノート PC から一つのリクエストを追うと、何かが検査できるようになる前に複数の境界を通過します。外側のトンネルは VPN プロセスで終わり、内側のパケットはインターフェースに現れ、内側の HTTPS セッションはアプリケーションまで続きます。検査ツールは、パケットが到達する地点で見えるものだけを見ます。その地点を決めずに導入すると、ログは誤った層を説明します。

一つのパケットが複数の境界を越える

VPN の終端より前、観測者には、通常は VPN ポート宛てで、アドレスとサイズは分かるが内部構造はない外側の接続が一つ見えます。終端後は、内部のアドレス、ポート、プロトコルが、それらを引き渡す処理点で利用できます。アプリケーション自身の TLS は、別の設計が終端しない限り暗号化されたままです。これらは三つの可視性の水準であり、パッケージ名はどれを買ったかを教えてくれません。

境界を印した経路を描き、次に場所が答えの一部だからこそ、問いに答えられる線上にセンサーを置きます。名前を付けられない境界は、試験できない境界です。

各地点で何が読めるかを見る

アーキテクチャのどんな説明も信じる前に、インターフェースと短いキャプチャを確認します。

ip -br link
tcpdump -ni tun0 -c 10 'tcp port 443'

リンク一覧は存在するトンネルと物理インターフェースを示し、キャプチャはそこに接続したセンサーが受け取るものを正確に示します。内部アドレスが表示されても HTTP リクエスト行がなければ、VPN の終端より後で、まだアプリケーションの TLS の外にいます。それはネットワーク検知の通常の場所であり、本文検査には不適切な場所です。外側のインターフェースでキャプチャを繰り返し、もう一方の境界が何を露出するか比較します。

パッシブ検知だけでは遮断できない

Snort の検査ドキュメントは、パッシブな観測とインライン動作を分けています。パッシブモードは、その経路上で止めずにトラフィックへ警告できます。

snort -T -c /etc/snort/snort.lua

テストモードはセンサーを実行せずに設定を検証し、配備前の正しい最初の手順です。インライン動作には、対応するパケット取得の仕組みと一致する適用設定が必要で、追加のフラグだけでは足りません。したがってログ記録はリクエストが防がれた証拠ではなく、インラインらしいオプションで起動したプロセスは、実際に転送されるフローがそこを通ることを証明しません。実装が実際にどこでパケットを引き渡すかを確認してください。

配備前に適用モードを選ぶ

両者は異なる障害時の振る舞いを持つため、要件が見やすさなのか防止なのかを決めます。停止したパッシブセンサーはトラフィックを流したままにし監視の空白を生みますが、停止したインライン機器はトラフィックを通すことも止めることもでき、その選択は意図的でなければなりません。許可する一つのフロー、拒否すべき一つのフロー、センサーが故障したときに望む振る舞いを合意します。管理用の復旧経路を検査対象の経路から分けておき、センサーの誤りがアクセスまで奪わないようにします。

次に、見えるトラフィック、処理点、適用の振る舞いを記録します。インストールされたパッケージではなく、この三つの事実が配備の実際の動作を説明します。

関連記事