 |
 |
 |
OpenVPN理解のために
OpenVPNはSSL-VPNソリューションの全ての特徴を備えております。
即ち、リモートアクセス、ホーム/オフィス/キャンパスのテレコミュニケーションアクセス、
WiFiセキュリティ、セキュアな拠点事務所接続そして、ロードバランシング、フェイルオーバー、
そしてファイングレインドアクセスコントロールを伴ったエンタープライズ規模リモートアクセスソリューションを含む
幅広いコンフィギュレーションを適用できる特徴です。
OpenVPNへの最適な理論上の入門書はJames Yonans氏がLinux Fest Northwest 2004で発表したプログラムノート―
― ユーザスペースVPNとOpenVPN 歴史、概念の基礎と実践から見たユーザスペースVPN−
をご覧ください。
OpenVPNはオープンソースプロジェクトの一つであり、GPLのライセンス下にあります。
OpenVPNは次のOS上で動きます:
Linux,Windows2000/XP及びそれ以上,OpenBSD,FreeBSD,NetBSD,MacOS X,及び Solaris
OpenVPNで次のことができます:
・シングルUDP又はTCPポート上で如何なるIPサブネットワーク又は仮想イーサネットアダプタがトンネルできること
・接続してくるVPNクライエントから数千の動的コネクションを扱うことができる一台か又はそれ以上の
台数のマシンを使用する冗長性のあるロードバランスされたVPNサーバファームを設定できること(OpenVPN
2.0)
・OpenSSLライブラリの暗号化、認証、証明のすべての特徴、それはプライベートネットワークトラフィックが
インターネットを通過する時にそのトラフィックを守るための特徴を用いることができること
・OpenSSLライブラリによってサポートされたどのような暗号、キーサイズ、
又はHMACダイジェスト(データグラム認証用)を使用できること
・静的鍵ベースのconventional encryption又は証明書ベースの公開鍵暗号化を選択できること
・静的に事前共有鍵又はTLSベースの動的鍵交換を使うことができること
・リンク帯域幅の活用を管理するためリアルタイム適応リンク圧縮(real-time adaptive link compression)
とトラフィックシェーピング(traffic-shaping)が使えること
・公衆ネットワークエンドポイントがDHCPやダイヤルイン・クライアントように動的である様なネットワークを
トンネル化できること
・明白なファイアウォールのルールを使用する必要もなく接続が方向づけられたステイトフルなファイアウォールを通して
ネットワークをトンネルできること
・NAT越えネットワークをトンネル化できること、そして
・仮想TAPデバイスを用いたセキュアなイーサネットブリッジを作り出せること
OpenVPNと他のVPNパッケージとは何が違うのでしょう。
・OpenVPNの主要な長所は周知のコンピューター分野の殆どにまたがるクロスプラットフォームポータビリティ、
卓越した安定性、数百数千のクライアントへの冗長性、比較的容易な設定があり、そして動的IPアドレスと
NATに対するサポートがあります。
・OpenVPNはサイトの特定カスタマイゼーションを易しくするためにデザインされた拡張可能なVPNフレームワークを
提供します。例えば、クライアントへカスタマイズされた設定パッケージを配布する能力を供給したり、
又はOpenVPNのプラグインモジュールインターフェースを 介して代わりの認証方法をサポートするといった様な
ものです。
(例えばopenvpn-auth-pamモジュールはOpenVPNにどのようなPAM認証方法を用いているクライアントを
認証することを許します。
このような方法は排他的に用いられるか、又はX509証明書ベース認証と組み合させられます。)
・OpenVPNはOpenVPNデーモンをリモートでコントロールしたり又は中央で管理するために使用できる
管理インターフェースを提供します。その管理インターフェースはGUI又はOpenVPN用のウェブベースフロントエンド
アプリケーションを開発するためにも用いることができます。
・Windows上でOpenVPNはWindowsCryptoAPLをサポートしているスマートカードからの証明書と
プライベート鍵を読むことができます。
・OpenVPNは待ち伏せ及び積極的的両アタックに対して保護するように設計されたインダストリアル強化
セキュリティモデルを使用します。OpenVPNセキュリティモデルはセッション認証にSSL/TLSを、
そしてUDPオーバーセキュアートンネルトランスポート用IPSecESPプロトコルを用いることに基礎を置いています。
OpenVPNはセッション認証にX509PKI(公開鍵基盤)を鍵交換にはTLSプロトコルを、
トンネルデータを暗号化するためのOpenSSL暗号―独立EVPインターフェースを、
そしてトンネルデータを認証するためのHMAC-SHA1アルゴリズムをサポートしています。
・OpenVPNはポータビリティのためにつくられました。これを書いている時点では
OpenVPNはLinux、Solaris,OpenBSD,FreeBSD、NetBSD、Mac OS
X及びWindowa2000/XP上で動作しております。
OpenVPNはカーネルモジュール又はIPレイヤへの複雑な改造と言うよりはユーザースペースデーモンとして
書かれていますので、そのポーティング成果は驚くほど単純になっています。
・OpenVPNは使用するに簡単です。一般にトンネルはシングルコマンドで作り出せますし設定できます
(そして設定ファイルはまったくいりません)。
OpenVPNのドキュメンテーションには使い方の易しさをイラストで表した例題が載っています。
・OpenVPNは信頼のないネットワーク上で堅牢に働くよう厳格に設計されテストされてきました。
OpenVPNの一つの主要な設計ゴールはIP層オーバートンネリングをする基礎的なIP層と同じ様に通常の操作と
エラー復旧との両条件下でよく反応できるべきであると言うことです。その意味はもしIP層が5分間落ちた場合、
そして復帰した際、その供給停止がその時間の間に予定されていた動的鍵交換を例え邪魔していたとしても、
トンネルトラフィックが直ちに再開されることです。
・OpenVPNは強固なモジュールでデザインされ組み立てられています。全てのcrypt(暗号)はOpenSSLライブラリで
取り扱われており、そのIPトンネリングの機能の全てはTUN/TAP仮想ネットワークドライブを通じて提供されます。
このモジュール方式の利益は次のよう方法に見ることができます。OpenVPNはOpenSSLの新バージョンに
動的にリンクが可能ですし、新たなリリースで提供される如何なる新しい機能に直ちにアクセスが可能です。
例えば、OpenVPNが最新バージョンのOpenSSL(0.9.7)で組み立てられているとすると、それはAES-256
(先進の暗号化標準で256ビット鍵付)の様な新しい暗号に、そして暗号化、復号化、認証パフォーマンスを
最適化する為の特別目的のハードウェアアクセラレータを有効利用できるようなOpenSSLの暗号化エンジン能力に
自動的にアクセスされます。
同じようにOpenVPNのユーザースペースデザインではTUN/TAP仮想ネットワークドライブを含むどのようなOSにも
ストレートフォワードポーティングが行えます。
・OpenVPNは俊足です。PentiumII266MHzマシン上でRedhat7.2、TLSベースセッション認証、Blowfish暗号、
トンネルデータ用SHA1認証を走らせ、FTPセッションで大きな、予備圧縮ファイルを伴ったものをトンネル化すると、
OpenVPN は送受信転送レートの1.455メガバイト/CPU時間の時間(Kernelとユーザータイムの併合)を達成しました。
・OpenVPNはVPNトンネルのセキュリティパラメータを制御するために多くのオプションを提供する一方、サーバそれ自体の
セキュリティ例えばOpenVPNデーモンがアクセスしてきたファイルシステムの一部を制限するための--chroot
とか初期化後にデーモンの特権を格下げにするための--userと--groupとか又は、
鍵素材及びトンネルデータがそれが後になって復活されるかも知れないディスクへは決して呼び出されないことを確実にするための
--mlockを保護するためのオプションも兼ね備えています。
なぜTLSをOpenVPNの基礎的な認証及び鍵ネゴシエーションプロトコルとして選んだか
TLSはNetscape社が彼らの最初のセキュアWebブラウザとして独創的に開発したSSLプロトコルファミリの
最新の進化したものです。
TLSとそのSSLの前身は長年にわたってウェブ上で広く使われているのが見かけられましたし、
脆弱性に対し大規模に分析されてきました。
翻ってこの分析は、今日SSL/TLSが手に入るなかでもっとも強固でもっとも成熟したセキュアプロトコルであると
考えられる位にそのプロトコルを十分に強固なものへ導きました。そういうものとしてTLSはVPNプロダクトの
認証及び鍵交換メカニズムにとっては最良の選択であると信じております。
OpenVPNはIPsecをサポートするか
今日広く使われているものでVPN実行の二つの主要なファミリがあります:SSLとIPsec.
OpenVPNは一つのSSL-VPNでありIPsecと共存できるものではありません。
IPsecプロトコルはカーネルスペース内のIPスタックの一つの修正として実行されるように設計されていますし、
それ故各々のオペレーティングシステムはそれらIPsecの独自の独立した実行を要求します。
対照的にOpenVPNのユーザスペース実行はオペレーティングシステム及びプロセサアーキテクチャを跨ぐ軽便性、
ファイアウォールとNATのフレンドリな操作、動的アドレスサポート及びプロトコルブリッジングを含む
複合的なプロトコルサポートを提供します。
二つのアプローチには有利と不利とがあります。
OpenVPNアプローチの主要な有利性は軽便性、容易な設定、NATと動的アドレスとの共存性です。
OpenVPNのインストールや使用のための学習カーブはsshの様な他のセキュリティ関連デーモンソフトウェアのものと比べて劣りません。
歴史的にみて、IPsecの有利性の一つは多数のベンダーのサポートができあがっていることです。
そのことはOpenVPNサポートが特定目的用のハードウエアーデバイス上に現れ始めるに従い変わり始めていますが。
OpenVPNはスタンダード・コンプライアントでしょうか
一つのユーザスペースVPNデーモンとして、OpenVPNはSSL/TLS,RSA認証及びX509PKI、NAT、DHCP、
そしてTUN/TAP仮想デバイスと共存できます。
OpenVPNはIPsec, IKE, 又は、特定目的用ハードウェアVPNとは共存できません。
TCPコネクションオーバーOpenVPNトンネルは可能ですか
バージョン1.5以降可能です。
ウェブブラウザをOpenVPNクライアントとして使うことができますか。
ノーです。OpenVPNはSSL/TLSをセキュリティのために使いますが、OpenVPNはウェブアプリケーションではありません。
それはOSIレイヤ2または3フルメッシュインターネットワークトンネリングソリューションであり
OpenVPNはクライアント及びサーバ両方にインストールする必要があります。
OpenVPNの構築
OpenVPNはLinux及びBSDファミリのためのソースから簡単に構築できます。OpenVPNをWindows用に構築するにはもっと複雑になります。
従い、予備構築インストールツールがOpenVPNダウンロードサイト上でWindows用に手に入ります。
OpenVPNは構築できます。
・OpenSSL暗号とSSLライブラリ(バージョン0.9.6又はそれ以上であること)と両方でもって、
証明書ベース認証、開鍵暗号、そしてTLSベース動的鍵交換を提供
・OpenSSL暗号ライブラリのみでは、静的鍵ベースの伝統的な暗号及び認証を提供 又は、
・スタンドアロン、非暗号化UDPトンネルためのサポートをともなって。
OpenVPNはLZOリアルタイム圧縮ライブラリにリンクすることもができます。
OpenVPNは適応性のある圧縮をサポートします。つまりそれはトンネルデーターの流れが
圧縮可能と判断した時のみリンク圧縮を可能にすると言う意味です。
OpenVPNは完全にユーザスペース内で動きWindows、Linux、そしてBSDファミリ用で手にはいる
TUN/TAP仮想ネットワークドライバ以外の何ら特別なカーネルコンポーネントは必要でありません。
OpenVPNプロジェクトへの寄付
OpenVPNプロジェクトへの寄付をお願いします。Open VPNはGPLの下、完全にコミュニティーサポートの
努力の成果であり貴方様の寄付がOpenVPNの継続した開発、それにはセキュリティー課題のトップに留まり、
厳しいテストプログラムを維持し、新しい特徴を追加し、ドキュメンテーションを改善し、そしてテクニカルサポートを
提供することが含まれておりますが、これらの開発を確かなものにすることに向かっての長いみちのりを進んでゆくことができます。
OpenVPN本家サイト
戻る |
 |
|
|
 |
 |
| Copyright(C)
2004 TTM Engineering Co., Ltd. All Rights Reserved. |
|
|