OpenVPN&セキュリティ情報
2013-02-18
OpenVPN 認証方法についてのまとめ - 後編
前回から、OpenVPNで使用できる認証方法について取り上げています。前回は静的鍵(Static Key)と証明書認証の2つの方法を取り上げました。今回は残る2つ、ID/パスワード認証と二要素認証(PKCS#12)を取り上げましょう。ID/パスワード認証
OpenVPNでは証明書認証に次いでよく使用される認証方式です。ユーザーが接続時にID/パスワードを入力し、両者が正しかった場合にVPN接続が開始されることになります。
OpenVPNでは、ID/パスワード認証はプラグイン方式になっています。認証の仕組みはプラグインとして実装しておき、それを呼び出すことで認証を実行します。プラグインの作成も比較的容易です。
OpenVPNでは、ID/パスワード認証はプラグイン方式になっています。認証の仕組みはプラグインとして実装しておき、それを呼び出すことで認証を実行します。プラグインの作成も比較的容易です。
利点
ユーザーにとってわかりやすいこと、証明書などのファイル管理が不要なことなどは、管理者にとって大きなメリットです。
また、認証処理自体はプラグイン方式になっているため、さまざまな認証方法(ユーザー情報データベースからの検索や、LDAP認証、ワンタイムパスワードなど)を柔軟に使用できるというメリットもあります。
また、認証処理自体はプラグイン方式になっているため、さまざまな認証方法(ユーザー情報データベースからの検索や、LDAP認証、ワンタイムパスワードなど)を柔軟に使用できるというメリットもあります。
欠点
手軽であることの裏返しとして、セキュリティ面での安全性は証明書認証にはかないません。ID/パスワードが流出すれば、第三者がVPNに接続できてしまうというリスクが伴います。
また、認証プラグインの導入が必要になります。セットアップは初回導入時だけとはいえ、やや手間がかかるのは避けられません。LDAPを認証に使うopenvpn-auth-ldapなどが公開されていますが、使用できるプラットフォームが限定されていたりと、手軽に使える認証プラグインがまだあまり存在していないというのも事実です。
また、認証プラグインの導入が必要になります。セットアップは初回導入時だけとはいえ、やや手間がかかるのは避けられません。LDAPを認証に使うopenvpn-auth-ldapなどが公開されていますが、使用できるプラットフォームが限定されていたりと、手軽に使える認証プラグインがまだあまり存在していないというのも事実です。
二要素認証(PKCS#12)
PKCS#12の機構を利用して、セキュリティトークンなどを使った二要素認証にも対応できます。利点
安全性の高さはトップクラスと言えます。
欠点
とにかく、セットアップが非常に難しいのが最大の問題です。ユーザーに配布するセキュリティトークンの導入などに伴うコストも他の認証方式にはない問題です。
というわけで、ざっとまとめるとこんな感じでしょうか。
方式 | 安全性 | 拡張性 | 管理の簡単さ |
---|---|---|---|
静的鍵 | ★★☆☆☆ | ★☆☆☆☆ | ★★★★★ |
証明書認証 | ★★★★☆ | ★★★★★ | ★★★☆☆ |
ID/パスワード認証 | ★★★☆☆ | ★★★★☆ | ★★★★☆ |
二要素認証(PKCS#12) | ★★★★★ | ★★★★☆ | ★☆☆☆☆ |
では、どれを選択すべきか...
ユーザー数が少ない場合、安全性を特に重要視する場合は、証明書認証が第一候補になります。認証用プラグインも不要ですので、追加のソフトウェアもインストールせずにすぐに使えます。ユーザー数がある程度多くなってくると判断に迷うところですが、流用したいユーザーデータベースなどが存在していないのであれば、安全性の面からは証明書認証から検討するのが望ましいと思います。初回の導入はちょっと面倒でもいいから、今後の管理の手間を削減したい、ということであればID/パスワード認証が有力でしょう。
既にActive Directoryなどで大規模なユーザーデータベースが存在している場合は、ID/パスワード認証を使って既存のデータベースを参照するのが最善でしょう。もしセキュリティをさらに高めたければ、データベース内のパスワードをそのまま使わず、そのパスワードをベースにしたワンタイムパスワードを使うという方法もあります(時刻ベースのワンタイムパスワード(TOTP)の仕組みについてはこちらを参照してください)。
Profile
- 山崎 太郎 (Taro Yamazaki)
- プラムシステムズ株式会社所属。 主にVPN(OpenVPN)やセキュリティ関連技術、Webアプリケーションを手がけています。
Page Views
Popular Posts
-
「VPNっていろいろあるけど、OpenVPNのメリットって何?」 という疑問は多くの方が持たれますよね。この点は公式サイトなどにもいろいろ書かれているのですが、実際に使ってきたユーザー側としてメリットと思う部分をまとめてみました。
-
現在ダウンロードできるOpenVPNでは、今まで認証局の構築で使用していたeasy-rsaが含まれなくなっています。 OpenVPN.netのダウンロードページ にも Note that easy-rsa is no longer bundled with OpenVPN...
-
Jan Just Keijser氏の記事「 Optimizing performance on gigabit networks 」については こちら でも概要を取り上げましたが、記事全体にいろいろなヒントが含まれていますので、全文の日本語訳を掲載しています。意訳している部分も...
-
OpenVPNでは、接続してきたクライアントのVPNアドレスは動的に割り振られます(その際に割り振られる際のアドレス範囲はOpenVPNサーバー側設定ファイルに基づきます)。特定のVPNクライアントに特定のVPNアドレスを割り振りたい場合、OpenVPNでは以下の2つの方法で設定...
-
では、いよいよiPhone構成ユーティリティでVoDの設定をしてみましょう。あ、 前の記事 での準備はきちんとやっておいてくださいね!
-
前回 は2つのワンタイムパスワードの生成方法について取り上げました。今回はいよいよ実際の生成アルゴリズムを取り上げましょう。TOTPをベースに説明します(ただ、前回も解説したように、基本的なロジックはTOTPとHOTPで同じです)。 参考としてpythonのコードも併記してみま...
-
現時点においてはマニュアルやHowToにも記載されていない(ChangeLogにちょっとだけ出てきます)あまり知られていない機能なのですが、「設定ファイルで鍵ファイルや証明書ファイルのパスを記載する」という通常の方法とは別に、「鍵ファイルや証明書ファイル内のデータをそのまま設定フ...
-
OpenVPNはLinuxをはじめとした幅広いプラットフォームで動作実績があるのが特徴の一つです。 今回は、最近の電子工作ブームでも話題のシングルボードPC 3機種をOpenVPNサーバーとしてセットアップし、OpenVPNのVPNパフォーマンスを測定してみましょう。 ...
-
前回 はワンタイムパスワードの基本的な仕組みについて説明しました。サーバー側とクライアント側で、それぞれ共通のルールに基づいてパスワードを生成させる必要があることを取り上げましたが、今回は OATH が規定しているその生成ルールについて具体的に説明します。 ワンタ...
-
OpenVPNを使用している方ならよくご存知だと思いますが、通常OpenVPNでは証明書認証を使用します。証明書認証はID/パスワード認証に比較すると安全性が高いとされます(もちろん、秘密鍵の管理方法に大きく依存します)が、証明書認証の概念を理解しにくいユーザーが秘密鍵や証明...
© yamata::memo 2013 . Powered by Bootstrap , WebLyb