10.11 SecureNAT 機能を用いた権限不要のリモートアクセス
PacketiX VPN Server 2.0 および PacketiX VPN Bridge 2.0
に搭載されている「SecureNAT」機能を使用すると、従来はシステム管理者権限が必ず必要であったようなリモートアクセスについて、管理者権限を使用することなく同等の機能を実現することができるようになりました。ここでは、SecureNAT
機能を用いることによって LAN に対して遠隔地からリモートアクセスする方法について解説します。
10.11.1 SecureNAT 機能の活用による便利な利用方法
SecureNAT 機能について
SecureNAT は、「3.7.1 SecureNAT とは」 で解説されているようにユーザーモードで動作する TCP/IP スタックと仮想 NAT 機能・仮想
DHCP サーバー機能、および仮想 NAT 経由でアクセスする際に自動的にその通信内容をユーザーレベルで動作させることができる Socket
API を用いて目的のホストと通信する仕組みによって構成されている、技術的に非常に高度かつ興味深い機能です。
従来技術ではリモートアクセスすることができないような厳しいセキュリティ環境の LAN へのリモートアクセス
「10.4 一般的なリモートアクセス VPN の構築」 で解説したような方法で遠隔地から既存の LAN に対してリモートアクセスができるようにするために VPN Server
を設置する場合は、そのリモートアクセスしたい先の既存の LAN 上に VPN Server をインストールすると共に、その VPN Server
をインターネット側から見える場所に設置し、かつ VPN Server のローカルブリッジ接続機能を用いて仮想 HUB とローカルの LAN
との間を接続する必要がありました。このような設定を行うことでリモートからその既存の LAN
に対してリモートアクセスすることが可能になりますが、設定・構築においては下記のようなシステム管理者 (ネットワーク管理者)
の権限を使用しなければならないところが 2 箇所あります。
- VPN Server のローカルブリッジ接続機能を用いて仮想 HUB とローカルの LAN
との間をブリッジ接続するためには、VPN Server
をインストールするコンピュータのシステム権限またはシステム管理者権限としてサービスモードまたはユーザーモードとして vpnserver
プロセスを動作させなければなりません。
- VPN Server に対してインターネット側からアクセス可能にするためには、インターネットに接続されている固定のグローバル
IP アドレスを 1 つ使用するか、または NAT やファイアウォールなどの設定を変更してインターネット側から VPN Server
に対するポート転送を行う必要がありますが、これらの設定を行うためにはネットワーク管理者の権限が必要です。
これらの問題があり、たとえば自分が管理している装置を設置している LAN に対して、リモートから VPN 接続してその LAN
上の自分が管理している装置に遠隔アクセスして安全かつ楽に管理を行いたいというような場合でも、その接続先ネットワークにおけるシステム管理者やネットワーク管理者としての権限を使用することができない場合は、VPN
Server を用いた通常の方法でのリモートアクセス VPN サーバーの設置は行えません。
10.11.2 SecureNAT 機能を使用した驚くほど簡単で安全な権限不要のリモートアクセス
しかし SecureNAT 機能を用いると、下記のような条件をすべて満たすような LAN 環境に対しても、リモートから簡単にその LAN
に対してリモートアクセスすることができるようになります。なお、SecureNAT 機能に関する詳細は 「3.7 仮想 NAT および仮想 DHCP サーバー」 をお読みください。
- リモートアクセスしたい先の LAN
上に、システム管理者権限では使用することができないが、一般ユーザー権限としてログオンすることができる Windows / Linux /
FreeBSD / Solaris または Mac OS X の安定して稼動しているコンピュータが 1 台ある。
- そのコンピュータを含めて LAN 全体はプライベート IP アドレスの中にあり、インターネットに対しては NAT /
ファイアウォールまたはプロキシサーバーを経由してアクセスしなければならない。インターネット側からそのコンピュータの TCP/IP
ポートに対してアクセスすることは不可能である。また、ネットワーク管理者の権限も使用することができないので、NAT
やファイアウォールなどの設定を変更してインターネット側から LAN 内へのコンピュータに TCP/IP
コネクションを張ることも不可能である。
- ただし、その LAN
に対して外部からリモートアクセスすることに関しては、ネットワーク管理者およびシステム管理者に事前に説明し、承諾を得ている。
上記のような環境をすべて満たしているような、通常は外部からその LAN
へのリモートアクセスをすることが不可能であると思えるようなネットワークに対して、PacketiX VPN 2.0 固有の革新的な技術である
SecureNAT 機能を適切に使用することによって外部から自由かつ安全にリモートアクセスすることができるうよになります。
10.11.3 具体的な構成例
ネットワーク構成例
ここで解説するリモートアクセスの方法についてわかりやすくするため、下図のようなネットワーク構成例について考えます。

図10-11-1 ネットワーク構成 |
上記のネットワーク構成例について詳しく解説します。
まず、ファイアウォールや NAT
などで保護されているためインターネット側からのアクセスが一切不可能なセキュリティが高いネットワークがあり、そのネットワークの IP アドレスは
192.168.1.0/24 であるとします。ただし、その LAN からはファイアウォールや
NAT、プロキシサーバーなどを経由してインターネット上の Web
サイトは閲覧することができるものとします。また、そのネットワーク内のコンピュータである 192.168.1.1 というコンピュータには
Linux がインストールされており (Windows や Solaris など他のオペレーティングシステムでも構いません)、root
権限は持っていないが一般ユーザーとしてログインして使用することが許可されているものとします。また、192.168.1.10
に保守しなければならないレーザープリンタが接続されているものとします。
次に、会社内や自宅などの固定 IP アドレスを利用することができる場所に事前に VPN Server をインストールしたコンピュータを 1
台設置しており、適切なライセンスキーがすでに登録済みであると仮定します。なお、この VPN Server に対してはインターネットからたとえば
130.158.6.51 という IP アドレスでアクセス可能であると仮定します。
目標
上記のネットワーク構成例において SecureNAT を適切に活用することにより実現したい目標は次のとおりであるとします。
- 192.168.1.0/24
やその会社の管理担当者には事情を正確に説明し、事前に承諾を得ているが、費用がかかるなどの問題によってファイアウォールなどの設定の変更は困難であるので、ファイアウォールなどの設定変更は行わずに目標を達成する。
- 通常インターネット側からのアクセスがすべて遮断されている 192.168.1.0/24 のネットワーク内に設置した
192.168.1.10 のレーザープリンタに対して、外部 (インターネット)
側からリモート接続して遠隔保守を行うことができるようにする。
次に、SecureNAT 機能を活用してこれらの目標を達成して 192.168.1.10
のレーザープリンタをリモートから保守することができるようにする方法について具体的に解説します。
事前の準備
130.158.6.51 という IP アドレスで動作しているインターネット上の VPN Server
は事前に自社や自宅などで構築し設定しておいた VPN Server コンピュータです。この VPN Server に適当な名前の仮想 HUB
を作成し (デフォルトの仮想 HUB である "DEFAULT" のままでも問題ありません)、その仮想 HUB に後から VPN
Bridge で接続するためにユーザーを作成しておきます (たとえば "test"
というユーザーをパスワード認証モードで作成したと仮定します)。VPN Server の設定方法については、「第3章 PacketiX VPN Server 2.0 マニュアル」 をお読みください。
10.11.4 リモートアクセス先 LAN での VPN Bridge の起動
VPN Bridge の設置と起動
まず、最低でも 1 度はリモートアクセス先の LAN (つまり今回の例で保守対象のレーザープリンタである 192.168.1.10
が所属している LAN) に物理的にアクセスすることができる場所に足を運び、初期設定を行う必要があります。
ここで行う必要があるのは、その LAN に接続されている 192.168.1.1 という IP アドレスの Linux
コンピュータに一般ユーザーとしてログインし、PacketiX VPN Bridge 2.0 をインストールすることです。
VPN Bridge は VPN Server に接続する目的であれば無償で使用することができるソフトウェアです。VPN Bridge の
Linux 用のインストール用 tar.gz を 192.168.1.1 のコンピュータ上で展開し、通常の VPN Bridge
をインストールする際と同様に、vpnbridge という実行可能ファイルを生成します (詳しくは 「9.3.3 必要なソフトウェアおよびライブラリの確認」、「9.3.4 パッケージの解凍」
および 「9.3.5 実行可能ファイルの生成」 をお読みください)。
今回は 192.168.1.1 のコンピュータでは一般ユーザー権限しか所有していないことを仮定していますので、VPN Bridge
はユーザーモードで起動する必要があります (詳しくは 「5.2.2 ユーザーモード」 をお読みください)。具体的には、下記のように vpnbridge
に対して直接 start オプションを付けて実行します。
これにより、192.168.1.1 のコンピュータ上では VPN Bridge が起動することになります。なお、Windows
版については start オプションではなく /usermode オプションを使用して起動します。
VPN Bridge の初期設定の開始
次に、VPN サーバー管理マネージャまたは vpncmd を用いてその VPN Bridge の設定を行います。ここでは LAN 上に別に
Windows 端末がある場合を仮定して Windows における設定例について解説しますが、無い場合は vpncmd を使用して UNIX
系端末から同様の操作を行うこともできます。vpncmd の使用方法については 「第6章 コマンドライン管理ユーティリティマニュアル」 をお読みください。
まず、VPN サーバー管理マネージャを起動してください。

図10-11-2 VPN サーバー管理マネージャ |
次に、[新しい接続設定] ボタンをクリックすると表示される [新しい接続設定の作成] 画面で [ホスト名] に先ほど VPN Bridge
を動作させたコンピュータの IP アドレスである 192.168.1.1 を入力します。そして [OK] をクリックします。

図10-11-3 VPN Bridge への接続設定の作成 |
新しく作成された接続設定をダブルクリックすると、VPN Bridge への管理接続が行われ、管理画面が表示されます。なお、最初に VPN
Bridge に接続した場合はここで「管理パスワードを設定しますか?」というメッセージが表示されますので、初期パスワードを設定してください。

図10-11-4 VPN Bridge へ接続完了 |
SecureNAT 機能の有効化
PacketiX VPN Bridge の管理画面で [仮想 HUB の管理] ボタンをクリックすると、[仮想 HUB の管理 -
BRIDGE] ウインドウが表示されます。

図10-11-5 仮想 HUB の管理画面 |
ここで [仮想 NAT および仮想 DHCP サーバー機能] ボタンをクリックします。すると、[仮想 NAT および仮想 DHCP 機能
(SecureNAT) の設定] 画面が表示されます。この画面の注意書きをよくお読みいただいた後、 [SecureNAT 機能を有効にする]
ボタンをクリックします。

図10-11-6 SecureNAT 機能の有効化 |
その後 [閉じる] ボタンをクリックします。すると、[仮想 HUB の管理 - BRIDGE] ウインドウに戻ります。
インターネット上の VPN Server へのカスケード接続の設定
次に [カスケード接続の管理] ボタンをクリックして、[新規作成] ボタンをクリックします。すると、下記のような
[新しい接続設定のプロパティ] ウインドウが表示されます。

図10-11-7 インターネット上の VPN Server へのカスケード接続の設定 |
[新しい接続設定のプロパティ] ウインドウでは、下記のように必要項目を入力します。
-
[接続設定名] 項目
適当な任意の名称を指定します。たとえば "ブリッジ" などと入力します。
-
[ホスト名] 項目
事前にインターネット上に設置しておいた VPN Server コンピュータの IP アドレス (この例の場合は
130.158.6.51) と入力します。
-
[ポート番号] 項目
事前にインターネット上に設置しておいた VPN Server コンピュータのリスナーポートのうちの 1
つを指定します。多くのファイアウォールやプロキシサーバーを経由したい場合は、443 番を使用することを推奨します。
-
[仮想 HUB 名] 項目
事前にインターネット上に設置しておいた VPN Server に作成してある仮想 HUB 名を指定します。
-
経由するプロキシサーバーに関する項目
192.168.1.0/24 のネットワークからインターネットにアクセスする際に HTTP プロキシサーバーまたは SOCKS
プロキシサーバーを経由しなければならない場合には、「4.4.1 適切な接続方法の選択」 を参考にしながら経由するプロキシサーバーに関する情報を設定します。
-
[認証の種類]
事前にインターネット上に設置しておいた VPN Server の仮想 HUB に登録してあるユーザー (この例では "test" ユーザー)
の認証方法を指定します。通常は "標準パスワード認証" を使用すれば良いでしょう。
-
[ユーザー名]
VPN Server の仮想 HUB に登録されているユーザーのユーザー名 (この例では "test" ユーザー) を正確に入力します。
-
[パスワード]
VPN Server の仮想 HUB に登録されているそのユーザーのユーザー認証に必要なパスワード (事前登録しておいたもの) を正確に入力します。
すべての項目を正しく入力したら、[OK] ボタンをクリックします。すると、[BRIDGE 上のカスケード接続]
ウインドウに戻ります。また、カスケード接続一覧に現在作成した新しい接続設定が増えています。
インターネット上の VPN Server へのカスケード接続の開始
次に、先ほど作成した新しい接続設定をクリックして [オンライン] ボタンをクリックしてください。しばらくして接続設定の状態が [オンライン (接続済み)]
になった場合は、インターネット上に事前に用意しておいた VPN Server の仮想 HUB
への接続に成功しています。もし何らかのエラーが発生した場合は、表示されるエラーの内容を参考にしながら問題を解決してください。
すべての設定が完了しカスケード接続が接続状態になったら、VPN サーバー管理マネージャを終了します。
この状態で、リモートアクセス先の LAN (192.168.1.0/24) における必要な設定はすべて完了していることになります。
10.11.5 リモートアクセスの実施
ここまでの設定が完了していれば、インターネット上のどこにいても先ほど設定した VPN Bridge
が動作しているコンピュータを経由して物理的なネットワークとの間で通信を行うことが可能です。
インターネットに接続されているコンピュータに VPN Client をインストールし、VPN Client から VPN Server (例では
130.158.6.51) の仮想 HUB に接続すると、その仮想 HUB には 先ほど設定した VPN Bridge (192.168.1.1)
によって動作している SecureNAT の仮想 NAT 機能と仮想 DHCP サーバー機能が同一セグメントとして接続しています。
したがって、この仮想 HUB に接続した VPN Client の仮想 LAN カードは自動的に 192.168.30.0/24 の仮想 HUB
内部でのみ通用するプライベート IP アドレスの割り当てを仮想 DHCP
サーバーから受け取ると共に、デフォルトゲートウェイも自動的に設定されます。これにより、VPN Bridge で動作している SecureNAT
機能を経由してその VPN Bridge が動作しているコンピュータが所属しているネットワークに対して TCP/IP パケットを送受信することが可能になります。

図10-11-8 SecureNAT 経由でのリモートアクセスの実現 |
VPN Client が VPN Server に接続し、VPN Bridge 上で動作している SecureNAT 機能による IP
アドレスの割り当てが完了したことを確認したら、目標であった 192.168.1.10 のレーザープリンタに接続し、まるでリモートアクセス先の LAN
に直接コンピュータを接続しているのと同様に自由に通信ができることを体験してください。この通信はすべて VPN Bridge 内で動作している仮想 NAT
機能を経由して、ユーザーモード TCP/IP スタックが自動的にすべてのアクセスをストリーム化し、Socket API
を使用してユーザーモード権限だけで物理的なネットワーク上のホストと通信した結果を受け取っているのです。
なお、VPN クライアントコンピュータにおいてVPN Bridge が提供する仮想 NAT
側がデフォルトゲートウェイになっているため、リモートアクセスのための VPN
の接続が完了している状態でインターネットへアクセスすると、直接インターネットに対して通信を行わずに、すべての通信がリモートアクセス先の LAN
を経由したものになってしまいますのでご注意ください (特にリモートアクセス先の LAN が他社の LAN
である場合は、インターネットとの間の通信内容を第三者に読み取られたり、改ざんされたりする可能性が高いです)。

図10-11-9 SecureNAT 経由でのインターネットへのアクセス時のパケットの流れ |
10.11.6 SecureNAT 機能使用時のセキュリティについて
今回の例のような形で SecureNAT 機能と VPN Bridge を組み合わせて使用したリモートアクセスは、次のような点において非常に安全です。
- SecureNAT 機能は内部でユーザーモード TCP/IP
スタックを持つなど非常に複雑な処理を行っていますが、これらの処理はすべてユーザー権限で実行することが可能です。したがって、今回の例のように VPN
Bridge を一般ユーザー権限で起動しておくことにより、システム権限で起動する場合と比べて、もし VPN Bridge や SecureNAT
機能のプログラムコードにバッファオーバーランなどの不具合などがあった場合でもそのユーザーの権限で実行することができる処理しか実行できないため、SecureNAT
を実行しているシステム全体の完全性が保護されます。
- 今回の例のように SecureNAT を有効にした VPN Bridge と VPN Server を組み合わせた形態のリモートアクセス VPN
を構築する場合でも、PacketiX VPN プロトコルが流れるすべての部分ではデフォルトで SSL
による暗号化が行われるため、インターネット上を流しても第三者がその通信内容を解読したり改ざんしたりすることはほぼ不可能です。なお、より安全を期すためには
VPN Server にカスケードする際にサーバー証明書認証 (詳しくは 「3.4.12 カスケード接続におけるサーバー認証」 をお読みください) を使用してください。
- 今回の例では、リモートアクセス先のネットワークのファイアウォールや NAT
などの設定を一切変更することなくリモートアクセスを実現することができました。一般的にファイアウォールや NAT
などの設定を変更して特定のポートのみ通過させるような設定作業はコストがかかる上にセキュリティ上のリスクが発生するため、やむを得ない場合を除いては推奨されません。今回のようにネットワーク管理者やシステム管理者から承諾を得ることができたが、コストやセキュリティ上の問題からファイアウォールや
NAT などの設定を変更することが困難な場合は、SecureNAT と VPN Bridge
を活用した簡易的なリモートアクセスの構築は非常に有益な方法です。
- SecureNAT を経由したすべての通信は、SecureNAT を動作させている VPN Bridge (または VPN Server)
の仮想 HUB のセキュリティログに確実に記録されます。
10.11.7 SecureNAT 機能の濫用時の危険性の説明
上記で解説したように、SecureNAT 機能と VPN Bridge および VPN Server
を組み合わせることにより、インターネットに何らかの形でアクセスすることができる LAN
であれば事前に適切なソフトウェアを起動しておくことにより、いつでもインターネット側からリモートアクセスすることが可能であることがわかります。特に
SecureNAT 機能を使用した仮想 HUB 側から物理的なネットワーク側への通信の仕組みは従来の技術では困難であったものであり、PacketiX VPN
2.0 が実用上初めて可能にした画期的な技術です。
ただし、SecureNAT
機能は使用方法を誤ると大きなセキュリティホールとなる可能性がありますので、その使用にあたっては十分ご注意ください。特に今回のネットワーク構成例で説明しているように、VPN
技術を用いてリモートアクセスする際はそのアクセスにかかわるネットワークやシステムの管理者に対して事前に詳細を説明した上で承諾を得てください。また、SecureNAT
機能の動作原理や具体的な使用方法についての知識、その他 TCP/IP や NAT などに関する知識をお持ちでない場合は、絶対に SecureNAT
機能を使用しないでください。
セキュリティ上の問題が発生する危険性がありますので、SecureNAT 機能を特に下記のような用途には絶対に使用しないでください。
- ネットワーク管理者から許可を得る前に、一般ユーザー権限で勝手に特定の LAN
を外部からリモートアクセス可能にするような使用方法。
- 他人が管理するコンピュータ (特に会社・大学やインターネットカフェ、官公庁、空港などの公共の場所にあるコンピュータなど)
に事前の許可を得ることなく SecureNAT 機能を有効にした VPN Bridge
をインストール・設定してきておいて、後で自宅などからそのコンピュータを経由してインターネットにアクセスすることによって、そのコンピュータを踏み台などに使用するような使用方法。
- 社内ネットワークに外部から後で侵入することを目的に、SecureNAT 機能を有効にした VPN Bridge
をインストール・設定するような悪質かつ違法性の高い使用方法。
- その他、ネットワーク管理者やシステム管理者など、コンピュータやネットワークの管理権限を有する者による事前の許可を得ない使用。
なお上記のような使用方法は、PacketiX VPN 2.0
ソフトウェア使用権許諾契約書の「禁止事項」として明確に禁止されている他、実行した場合は法律に違反する可能性があります。 |

図10-11-10 禁止されている SecureNAT の使用方法 |
|