2013-02-15

OpenVPN 認証方法についてのまとめ - 前編

By Taro Yamazaki  |  22:00

OpenVPNでは、いくつかの認証方法が利用できます。How Toでも一通り説明されていますが、やや難しいので、ここらでちょっとまとめてみたいと思います。

OpenVPNで使用できる認証方法は、 (1) 静的鍵(Static Key)、(2) 証明書認証、(3) ID/パスワード認証、(4) 二要素認証(PKCS#12)の4つになります。今回はそのうちの2つを取り上げましょう。




静的鍵(Static Key)

サーバーとクライアントで同じファイル(静的鍵ファイル)を保持しておいて、その両者が一致することで接続を許可する仕組みになります。ある意味では、このファイルがパスワードの役割を果たしているとも言えます。さらに、この静的鍵ファイルはデータを暗号化する際の鍵としても使用されます。

利点

とにかくセットアップが簡単なことです。サーバー側で鍵を生成し、それをクライアントにコピーしておくだけで使えます。OpenVPN設定ファイルもいくつかの基本的な設定だけでつなぐことができます。
いかに設定が簡単なのかはこちらのページでもお分かりいただけるでしょう。

欠点

最大の難点は1対1の接続しかできないことです。拡張性はゼロと言っていいでしょう。
また、セキュリティ面のリスクとして、PFSが保たれていないことが挙げられます。実際にこれが問題になるかどうかは別として、理論上は弱点とされます。

証明書認証

OpenVPNではスタンダードと言ってもいい方法です。認証機関を自前で設置(easy-rsaなどを使用)し、証明書と秘密鍵で認証する方法で、サーバーごと、クライアントごとに個別の秘密鍵、証明書を生成します。

利点

手間はかかりますが、拡張性、安全性が高く、バランスの取れた方法と言えるでしょう。さらに、秘密鍵にパスワードを付加すれば、万が一秘密鍵が流出してもVPNに接続されることを防止することもできます。

欠点

証明書認証の欠点は、管理者の負担がとにかく大きいことです。
まず、手始めに認証機関のセットアップが必要なことが挙げられます。これは手順さえ理解すればそれほど面倒なことではありません(個人的には、easy-rsaがOpenVPNのパッケージに含まれなくなったのはさらに面倒になった気がしますが...)。
次に、サーバーごと、クライアントごとに、秘密鍵、証明書を生成、管理する必要があります。証明書には有効期限もあるため、期限が切れる頃には更新処理も必要です。サーバー数やクライアント数が多い場合には、これはかなり頭の痛い問題になります。
さらに、「証明書認証という概念は、ユーザーにとってわかりにくい」という事実が管理者の負担に拍車をかけます。「ファイルで認証する」というのは一般のユーザーにとっては非常に分かりにくいものです。VPNの規模が大きい場合、セットアップ中のユーザーからの問い合わせや、「秘密鍵や証明書を紛失してしまった」という連絡に追われる可能性もあります(いくら「大切なファイルですよ!」と念押ししても、消されちゃったりするんです...)。その際の証明書の再発行、失効手続きなども管理者にとっては手間のかかる作業です。

残る2つの認証方法については次回

Author: Taro Yamazaki

© 2015 yamata::memo | Distributed By My Blogger Themes | Created By BloggerTheme9
TOP