クライアントに VPN プロファイルを渡すことは、他人が書いた設定を渡すことであり、そのプログラムはそれをあなたのマシンで実行します。インポートすると、対象の通信がどこへ向かうか、端末がどの相手を信頼するか、一部の形式ではトンネルが上がるときにどのローカルプログラムが動くかが変わり得ます。ファイルはブックマークではなく、宣言形式で書かれた小さなプログラムです。

同じ出所から来たシェルスクリプトを読むときと同じように読んでください。

解釈するのはクライアントであり、あなたではありません

ファイル内の各フィールドは、特定のクライアントへの指示です。エンドポイントとプロトコルはトンネルの行き先を決め、認証ブロックはどんな秘密が要求されるかを決め、ルート指示は何が中に入るかを決めます。証明書や秘密鍵は、ファイルとして参照されるのではなくブロックとして埋め込まれることがあり、そのため一つのテキストファイルが時にゲートウェイに対してあなたを装うために必要なすべてを運びます。その性質こそが、気軽なファイル共有をこれほど危険にしています。

OpenVPN プロファイルは、スクリプトフック、プラグインのパス、それらのフックを実行してよいかを決めるセキュリティレベルも運べます。その組み合わせがあるため、見知らぬプロファイルはダブルクリックするのではなく一行ずつ読む価値があります。クライアントはファイルに書かれたとおりに実行し、それをあなたの権限で行います。

ルーティングの変化は一度接続すれば見えます

フルトンネルのプロファイルはすべてをゲートウェイ経由で送るルートを設定し、スプリットトンネルのプロファイルは選択したプレフィックスだけを送ります。DNS サーバーを押し込むプロファイルもあり、それはあなたの問い合わせを誰が見るかを静かに変えます。どれもそれ自体が悪意なわけではなく、どれもファイル名からは明らかではありません。

最初の接続の前後でルーティングテーブルを比べれば、意図は一目で分かります。一つの社内アプリへのアクセスとして宣伝されながら、より広い既定ルートを設定するプロファイルは、作り手について何かを語っています。

本当の重みを担うのは信頼の材料とフックです

プロファイルは VPN クライアントに信頼情報を渡せますし、プラットフォームの構成パッケージはさらに進んで証明書やルートをシステムストアに導入できます。これらは範囲が異なり、結果も異なります。クライアント範囲の場合は一つのアプリの検証に影響し、システム全体の場合はプラットフォームの信頼ストアを使うすべてに影響します。

スクリプトフックとプラグインはもう半分です。接続時にコマンドを走らせる指示や、クライアントのプロセスに読み込まれたプラグインは、あなたの権限を持ち、クライアントの隔離は一切持ちません。求めていないプロファイルにそうしたものが含まれていたら、それは送った人への質問です。

どちらの分類も自動的に敵意あるものではありません。企業の配備では両方を使います。要点は、どちらもあなたが確かめられる説明を必要とするということです。

出所を確かめてから、秘密を入力する

ファイルを誰が発行したのかを、届いたメッセージ経由ではなく、すでに信頼している経路で確かめてください。エンドポイントと証明書の詳細は、事業者が公開している文書と突き合わせます。求めていないプロファイルが届いた場合は、渡された写しを直すのではなく、事業者から直接新しいものを入手してください。事業者が対応するクライアントの版も尋ねてください、同じファイルでも別のクライアントでは違う解釈になり得るからです。

grep -nE '^(remote|proto|auth-user-pass|redirect-gateway|route|route-nopull)' office.ovpn
grep -nE '^(up|down|plugin|script-security|setenv)' office.ovpn
openssl x509 -in embedded-ca.crt -noout -subject -issuer -dates

動くかどうかを見るために説明のないフィールドにパスワードを入れてはいけませんし、インポートを終えるためだけに見慣れない権限の要求を受け入れてはいけません。接続に成功したことは、エンドポイントが応答したことの証明であり、それ以上ではありません。

ダウンロードではなく、インポートした写しを消す

クライアントはプロファイルを自分の保存領域に複製するので、ダウンロードしたファイルを消してもインポート済みの接続は有効なままです。クライアント自身の画面から削除し、インポート時に追加された証明書も消えたか確認してください。そのうえで、設定されたルートも消えたことを確かめます。

証明書がシステム範囲で導入されたなら、プロファイルを消すだけでは足りません。その後始末はプラットフォームの信頼管理に属し、次の再起動が何とかしてくれると期待するより、意図して行う価値があります。

関連記事