ゼロ円でできるインターネットVPN
OpenVPNで手軽にVPN構築
Shin.鶴長
2008/5/2
インターネットVPNの使用例
まずはインターネットVPNをより理解するため、具体的なシーンを2つ取り上げ、紹介します。
■個人が自宅と結んで使う
自宅にある重要なファイルを出先でダウンロードしたい場合、ファイルをダウンロードできるようファイルサーバを立ち上げ、FTPやSFTPなどのサービスを使用します。
しかしこの方法では、ダウンロードの必要がない時間(実は必要な時間より圧倒的に長い)もファイルサーバを立ち上げておく必要があり、その間、サーバが攻撃の危険性にさらされます。また、ユーザー認証の方法、経路上の盗聴や改ざん、サービスに対する攻撃などへの多くの対策を行う必要があるなど、グローバルなネットに対してサービスを公開することは、大きなリスクを伴います。それが複数のサービスということになれば、苦労は甚大です。
そこでインターネットVPNを利用します。
各サービスの公開先を自宅内LANだけに限定し、グローバル側から各サービスを利用できないようアクセスコントロールリストを設けるか、ファイアウォールやルータでフィルタリングを実施します。VPNサーバを自宅LAN内で立ち上げ、ファイアウォールやルータはVPNサービスだけ透過するように設定します。VPNサーバを経由した接続については、自宅LANと同セグメントからのアクセスと同様のものとして機能し、ファイルサーバなどのサービスを出先でも利用できます。
図3 個人が自宅と結んで使う場合 |
インターネット家電のようにグローバルに公開できないサービスやサーバも、同様の手順によって外部から利用できます(注1)。
なおVPNを利用する際は、使用する場所によっては配慮が必要です。勤めている会社の中や取引先から接続する場合は、事前にネットワーク管理者に利用確認を行います。
インターネットVPN上のパケットは暗号化されているため、侵入防止システム(IPS)やファイアウォールを使っても、パケットの中身を判断できません。そのため、自宅からファイルを取り寄せるように、VPN経由で会社からファイルを送信することも可能になります。VPNが使用された証跡は残りますが、ネットワーク管理者といえど、どのファイルが送信されたのかまでは知ることができません。
勝手にVPNを利用していると、後ほど管理者から呼び出しを受け、厳しく問いただされることは避けられません。コンプライアンス違反で懲罰を受けないためにも、VPNの利用が許されるかどうかを確認のうえ、利用するようにしましょう。
注1:インターネットVPNがすべてのインターネット家電に対応しているわけではありません。またメーカーもこのように外部から利用することを禁じたり、利用できないよう対策を講じている場合があります。 |
■ネットワーク管理者がトラブルシューティングや社内VPN構築に使う
業務の一環として、機器のリモート保守にインターネットVPNを利用することもできます。従来、こうしたリモート保守には専用線や電話回線を使ったダイヤルアップ接続が利用されてきましたが、より安いコストで保守やトラブルシューティングを行えます。
図4 ネットワーク管理者がトラブルシューティングに使う |
また、自宅や出張先から、社内LANからでないと使用できないWebサーバやファイルサーバに接続する場合にも、インターネットVPNを利用します。専用ダイヤルアップ回線のような設備を利用することなく、盗聴や改ざんの危険性が高いホットスポットのような公衆無線LANからでも、安全に社内ツールにアクセスすることができます。
ただし、社内でVPNサーバを立ち上げることができるのはネットワーク管理者だけです。権限を持たない者がVPNサーバを立ち上げた場合、設定次第では外部からの侵入を許してしまい、社内情報の漏えいにつながりかねません。
通常、業務で使用するLANにはIPSが設けられ、情報漏えいや外部からの侵入への対策が講じられていますが、VPNを使用した場合、パケットの中身を知ることができないため、正常なパケットと異常パケットを見分けることができません。
一般的なIPSでは、不正アクセスで用いられるパケットをパターン化し、正常状態と比較するなどの手段が利用されています。異常状態が見分けられないと、侵入されていることが察知できず、ネットワーク管理者が気付かないところでデータの漏えいを許してしまいます。そのため一般的には、社内でのVPN利用は、サーバとしてもクライアントとしても禁止されています。
しかし、許可を得て適切なセキュリティ対策とともに利用するならば、VPNは利用者の環境を大きく広げる有用なツールとなります。そこでこの記事では、手軽に入手できるOpenVPNを用いてSSL-VPNを構築する方法を解説していきます。
多様な環境で利用できるOpenVPN
OpenVPNはSSL-VPN機能を備えたオープンソースソフトウェアです。インターネットVPNで接続される拠点のうち一方が常時OpenVPNサーバとして稼働して接続に備え、もう片方はサーバに接続するクライアントして動作します。
OpenVPNは、設定ファイルや暗号化に必要なファイルを切り替えるだけで、サーバにもクライアントにもなります。OpenVPN 2.1はLinux/FreeBSD/OpenBSD/NetBSD/MacOS X/Solaris/Windows XP/Windows Vistaなど多くのプラットフォームに対応しており、GPLライセンスで利用が可能です。http://openvpn.net/から入手することができます。
画面1 GNOMEのNetworkManagerアプレットでOpenVPNの接続/切断を制御する。設定もNetworkManagerアプレットを通して行うことができ、VPN接続が確立すると、アプレット上の鍵アイコンが点灯する |
VPNの接続/切断はコマンドラインで制御しますが、OpenVPNに対応したGUIを使用することもできます。例えば、Fedoraをはじめ多くのディストリビューションで採用されているGNOMEデスクトップ環境には、ネットワークを管理する「NetworkManager」アプレットが採用されていますが、これを用いてもOpenVPNの接続・切断を制御できます。
ルーティングとブリッジ、2つの通信方式
OpenVPNは、転送プロトコルとしてUDP/TCPどちらも用いることができます。再送処理を行わないUDPの方が高速ですが、TCPを利用することで、通信品質が悪いインフラでも確実にパケットを送受信できます。また、プロキシサーバを経由させる場合もTCPを選択します。
NATルータやファイアウォールを越えてインターネットVPNで接続するには、VPNで使用するサービスポート番号やIPアドレスに対するフィルタリングを解除し、ポート転送を実施するように再設定が必要です。しかし、HTTPで使用されるTCP 80番や443番に対しては一般的にそうした設定が完了しているため、VPNパケットをプロキシサーバ経由で転送することができます。
なお、OpenVPNによる拠点間の接続では、次の2通りの方法が可能です。
■ルーティング方式
OpenVPNサーバとクライアントには、それぞれ別セグメントのネットワークが割り当てられます。そのためクライアントへデータを転送するには、サーバ側セグメントで経路設定が必要になります。
ただし、ブロードキャストのような無駄なパケットが転送されないため、ネットワークを効率よく使用できます。またネットワークが別セグメントになるため、アクセス制御を実施しやすいという利点もあります。
図5 OpenVPNのルーティング方式 |
■ブリッジ方式
OpenVPNサーバとクライアントが同セグメントに仮想的に接続します。そのためブロードキャストパケットや、非TCP/IPパケットもクライアントへ転送されます。
ブロードキャストのようなクライアントあてではない無駄なパケットも転送されるなど非効率ですが、ルーティング方式のような特別な経路設定を行うことなく、OpenVPNクライアントと疎通が可能です。またネットワークゲームのような特殊なプロトコルや映像配信のようなマルチキャストパケットにも対応します。
図6 OpenVPNのブリッジ方式 |
2/4 |
|
||||||||
|
Linux Squareフォーラム 仮想化技術関連記事 |
連載:実践! Xenで実現するサーバ統合 有力な仮想化技術として注目を集めるようになった「Xen」。このXenを活用してサーバ統合を実践していく手順を具体的に紹介します |
|
特集:サーバの仮想化技術とビジネス展開の可能性 jailからUML/VMwareまで 1台のマシンで複数のサーバを動かす「仮想化技術」。VMwareやUMLの登場により、WebサイトだけでなくOS自体を仮想化できるようになった |
|
特集:仮想化技術のアプローチと実装 VMwareから要注目技術Xenまで 1台のサーバで複数の仮想マシンを実行する仮想化技術は、空間コストを引き下げる可能性を持つ。最新の仮想化技術を概観してみよう |
|
特集:仮想OS「User Mode Linux」活用法 技術解説からカーネルカスタマイズまで Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説 |
|
特集:仮想化技術の大本命「Xen」を使ってみよう インストール & Debian環境構築編 高いパフォーマンスで本命の1つとなった仮想マシンモニタ「Xen」。日本語による情報が少ないXenを、実際に動かしてみよう |
|
特集:仮想化技術の大本命「Xen」を使ってみよう Xen対応カスタムカーネル構築編 Xen環境およびその上で動作する仮想マシン用カーネルを自分で構築しよう。これにより、自由にカスタマイズしたカーネルを利用できる |
|
特集:IPv6、UML、セキュリティ機能の統合 全貌を現したLinuxカーネル2.6[第4章] 今回は、これまでに紹介し切れなかった機能を一気に紹介する。これを読めば、カーネル2.6の正式リリースが楽しみになるだろう |
|
Linux Squareプロダクトレビュー VMware Workstation 4 PC/AT互換機エミュレータとして不動の地位を築いたVMware。その新バージョンがリリースされた。新機能を早速試してみよう |
|
古くて新しい「サーバ仮想化技術」の行方 サーバ仮想化を実現するための技術がソフトウェア、ハードウェアの両面で出そろってきた。ハイパーバイザーのさらなる高速化に向けた動きを紹介する |
|
Linux Squareフォーラム全記事インデックス |
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|