仮想的な専用線という言葉にだまされた残念な技術者
例によってパワハラを受けた研修先で最初に受けたパワハラが、 リモートアクセスのSSL-VPNに関する技術的な質問をした時のことだった。
研修先の会社ではJuniper社(現PulseSecure社)のSSL-VPN製品を導入しており、 クライアントPC側にはNetwork Connectというソフトウェアをインストールしていた。
これはL2フォワーディング方式のSSL-VPNで、起動するとネットワークアダプタに仮想NICが追加される。 仮想NIC経由で通信することで外部からでも社内LANに接続できる。
研修先企業では外出時にSSL-VPNの接続を義務付けている、という話になったときのことだった。
パワハラ上司(自称ITエンジニア)「外出先のホテルなどでは社内システムにアクセスしない時も絶対にVPNで接続してからインターネットに接続しろ。」
私「なぜですか?」
パワハラ上司「同じネットワークにいるコンピュータから盗聴や攻撃をされるだろ!」
私「HTTPSでないHTTPは確かに盗聴されますが、SSL-VPNで接続したところで攻撃は受けるのではないですか?」
パワハラ上司「VPNは仮想的に専用線を張るんだ!」
私「仮想的に専用線を張ったところで物理的には元のネットワークにいますよね?」
パワハラ上司「専用線で接続したら攻撃されない。だから仮想的に専用線を張ってるんだから攻撃されない!」
私「(喩え話じゃなくてちゃんと技術的な回答がほしいんだが…)」
パワハラ上司「ちょっとは調べてから質問しろ」
パワハラ上司「俺の時間もタダじゃねえんだぞ!」
パワハラ上司「間違ったら『はい、すみません』でいいんだ。ほれ、早く言え!」
私「はい、すみません。」
とまあ、これが今思い返すと調子に乗らせる原因だったかもしれない。 研修先の自称ITエンジニアの技術力に疑念を持った最初の出来事だった。
Network Connect起動時に作成される仮想NICがメトリックで優先されるように設定されるので、 VPN接続後のクライアント発の通信はすべて仮想NIC経由となる。
ただ私が疑念に抱いたのは、同じ物理ネットワークの他の端末から通信が来た場合は、元の物理NICから応答するのではないか、という点だ。
具体例としては、クライアントPCでファイル共有を有効にしていた場合、 SSL-VPNで接続していても同じネットワークにいる端末から共有しているファイルが見えてしまうのではないか。
技術者なら実際に試してみるべき、ということで、実験してみた。
- クライアントOS: Windows 7 64bit
- クライアントPC: ファイル共有ON
- 物理ネットワーク環境: 来客用Wi-Fi(普通の家庭用Wi-Fiルータと同じ環境)
- SSL-VPNクライアント: Pulse Secure 5.2 (Network Connectの後継のJunos Pulseの後継)
- SSL-VPNアライアンス: MAG2600
という環境でSSL-VPNを接続した後、 同じ物理ネットワークの他のPCから共有されたファイルが見えるかどうかを確かめてみた。
結果: 見えた NetBIOS名でもアクセス可能
物理NICに割り当てられたIPアドレスを使ってもアクセスできたが、NetBIOSによる名前解決もできた。 ということはUDPのブロードキャストにも物理NICから応答する、ということが分かった。
物理NICが普通の通信が出来ないとカプセル化したパケットの通信もできない、というのは 普通に考えればわかると思うのだが、残念ながらパワハラエンジニアの知識レベルはその程度だった、ということか。
結論としては、下記の通り。
- L2フォワーディング方式のSSL-VPNで守れるのは通信経路での盗聴や改ざんだけで、端末自体を攻撃から守れるわけではない。
- 同じネットワークに悪意のある攻撃者がいた場合、VPNで接続してようがしてまいが関係ない。
- 社外でクライアントPCを攻撃者から守るには、不要なサービスを停止する、ポートを塞ぐなど、 SSL-VPNがなくとも外からの通信に無駄に応答しないように設定する必要がある。
- パワハラ上司(自称ITエンジニア)の言っていた「仮想的に専用線を張るから攻撃されない」というのは嘘だった。