OpenVPN&セキュリティ情報
2013-04-02
チュートリアル:iOSでVPN on Demand (VoD) を設定してみよう! 【Windows編】
さて、いよいよWindows版iPhone構成ユーティリティでの設定です。MacOS版と同様、事前準備編で説明している準備は事前に終えておいてください。Windowsで設定する場合には、iPhone構成ユーティリティで設定を始める前に、もう一つ作業が必要です。
Windows証明書ストアへのインポート
Windowsで設定する場合には、iOSで使用するOpenVPNの証明書と秘密鍵(.p12ファイル)をいったんWindows証明書ストアにインポートする必要があります(MacOS版とは異なり、iPhone構成ユーティリティから直接.p12ファイルを指定することができません)。では、まずはこの作業から始めましょう。
まず、事前準備編で作成したPKCS#12ファイル(拡張子は.p12)をWindows PCにコピーしておいてください。そのファイルで右クリックし、コンテキストメニューから[PFXのインストール]を選択します。
すると、証明書のインポートウィザードが開始されます。順番に進めていきましょう。
[次へ]をクリックして先に進みます。
選択された.p12ファイルを確認して[次へ]をクリック。
作成時に指定した、秘密鍵のパスワードを入力します。また、この後の手順でエクスポートすることになりますので、[このキーをエクスポート可能にする]に必ずチェックしてください。[次へ]で次に進みます。
次に、格納する証明書ストアを選択します。自動でも問題ありませんが、念のため、「個人」証明書ストアに格納しておきます。
[完了]をクリックすると、証明書がインポートされます。
証明書が無事にインポートされました。
Internet Explorerから証明書ストアを表示してみると、無事にインポートされていることが確認できます。これで、iPhone構成ユーティリティで設定するための準備が整いました。
iPhone構成ユーティリティを起動する
この後の作業は基本的にMacOSのときと同様です(証明書の指定方法のみが異なります)。設定したいiPhoneやiPadをUSBで接続して、iPhone構成ユーティリティを起動します。
構成プロファイルを作成する
左側のツリーで「構成プロファイル」を選択し、上部ツールバーの[新規]ボタンを押すと、新しく構成プロファイルを作成できます。まずは「一般」の項目を設定していきましょう。
名前
プロファイルの名前です。インストール時や、デバイスの[設定]-[一般]-[プロファイル]で表示されるもので、自由に設定できます。
識別子
プロファイルの識別子で、デバイス上でユニークである必要があります。Javaのパッケージ名などと同様、ドメイン名を逆順につないだもの(リバースDNSフォーマット)を使用します。
ここでの設定は以上です。MacOS版と同様、「VPN」の設定に進む前に、先に「資格情報」の設定に進んでください。
資格情報を設定する
ここで設定するのは、VoDで自動的にOpenVPN接続するときに使用する秘密鍵と証明書です。
「資格情報」を選択すると、右側のペインに「資格情報を構成」という画面が表示されます。ここにある[構成]ボタンをクリックします。
「資格情報」を選択すると、右側のペインに「資格情報を構成」という画面が表示されます。ここにある[構成]ボタンをクリックします。
ここでWindows証明書ストアに格納された証明書がリストされます。この中から先ほどインポートした証明書を選択します...が困ったことに、表示される証明書の数がものすごく多いのです。何も信頼済みの証明機関の証明書まで表示してもらわなくてもいいし、このユーザーインターフェイスはどうにかならないのかと思ってしまいますが、文句を言っても仕方ありません。見つかるまでひたすら探してください...。(スクロールバーで言うと、半分からちょっと下あたりがポイントになりそうです)
無事に見つかったら、[OK]で次に進んでください。続いて、エクスポート用のパスワードを入力します。
これで無事に資格情報が設定できました。
パスワード
ここで、PKCS#12を作成したときに設定したエクスポート用パスワードを設定することもできます。設定しておくと、デバイス側でプロファイルをインポートする際にパスワードを入力する必要がなくなります。今回は直接デバイスを接続してプロファイルをインストールするので入力しておいても問題ありませんが、他の方法でプロファイルを配布するような場合は、万が一プロファイルが第三者に渡った時の安全性を考慮すると、ここは空欄にしておいて、インストールのたびに手動で入力するようにしたほうが安全ですね。
VPNを設定する
ここまででだいぶお腹いっぱいかと思いますが、やっとVPN設定です。「VPN」を選択し、設定を入力していきます。
接続名
VPN設定の名前です。自由に設定できるので、接続先のネットワークの名前など、わかりやすい名前にしておきましょう。
接続のタイプ
「カスタムSSL」を選択します。この選択によって以降の設定項目が変化します。
識別子
接続のタイプで「カスタムSSL」を選択した場合に、使用するVPNの種別を識別するための識別子を入力する必要があります。OpenVPNの場合はここに「net.openvpn.OpenVPN-Connect.vpnplugin」と入力します。
サーバ
接続先のDNSサーバーを指定しますが、OpenVPNの場合は接続先は別項目で設定しますので、ここは「DEFAULT」にしてください。
アカウント
指定しません。
カスタムデータ
VoD設定の最大のハードルがやってきました。OpenVPN設定を1つずつ追加していきます。OpenVPN設定ファイルで記述するディレクティブを1つずつ設定していくようなイメージですね。「キー」がディレクティブ、「値」が設定値ですね。最低限必要なのは「remote」と「ca」です。[+]ボタンをクリックして項目を追加し、1つずつ入力していきます。正直面倒ですが、コツコツとやっていきましょう。
remote
接続先のVPNサーバーのアドレスです。FAQにもあるように、複数設定したい場合は、キーを「remote.1」「remote.2」というように末尾に連番を付加して記述します。
ca
CA証明書のデータ(テキスト)を記述します。残念ながらカスタムデータの値の欄には複数行のデータは入れられないので、次のように細工して、1行のテキストデータとして入れてください。
- 改行は「\n」に置換
- 「\」は「\\」に置換
その他
接続先のVPNサーバーの設定に合わせて、必要なディレクティブを追加してください。「comp-lzo」のように値のないディレクティブの場合は、「値」の欄には「NOARGS」を設定します。
カスタムデータの設定が終われば、あとは簡単です。
ユーザー認証
認証タイプとして「証明書」を選択します。
資格情報
先ほど、資格情報に登録したPKCS#12の秘密鍵/証明書がリストされていますので、その資格情報を選択します。
オンデマンドVPNを有効にする
チェックボックスをチェックします。その下に、自動的にVPNに接続するアクセス先を指定していきます。「該当するドメインまたはホスト名」の欄では、以下のようなフォーマットが使用できます。
- internal.example.com
- *.example.com
- 172.16.1.80
これで設定は完了です。いよいよデバイスへのインストールです。
デバイスへのインストール
作成された構成プロファイルをデバイスにインストールします。
接続されたデバイスが左側のツリーの下側にある「デバイス」の下に表示されているはずですので、そのデバイスを選択します。
「構成プロファイル」タブを選択すると、デバイスに既にインストールされた構成プロファイルと、iPhone構成ユーティリティ上で作成された構成プロファイルがリストされています。作成した構成プロファイルの右側にある[インストール]ボタンをクリックすると、あとはデバイス側でインストール操作を行います。あ、[インストール]ボタンを押す前にデバイスのロックを解除しておいてくださいね!
デバイス側でのインストール手順
iPhone構成ユーティリティからインストールを開始すると、デバイスの画面が自動的にプロファイルインストール画面に切り替わります。
[インストール]ボタンを押してインストールを開始します。
警告メッセージが表示されますので[インストール]を押します。
プロファイルのインストールにはデバイスのパスコードを入力する必要があります。さらに、資格情報の登録時にPKCS#12のエクスポート用パスワードを設定しなかった場合は、ここでパスワードを聞かれますので、入力してください。
この画面が表示されればインストールは完了です。
インストールしたプロファイルがリストされていますね。
Windowsでの設定では、特に証明書の設定がちょっとややこしいですね。MacOS版と同様に.p12ファイルをそのまま選択できるだけでも少し楽になるのですが、現在のiPhone構成ユーティリティの仕様上はこの手間はやむを得ないようです。OpenVPNの開発者としても今後もっと簡単にVoDを設定できるようにしたい、とのことですなので、ぜひ期待しましょう。
登録:
コメントの投稿
(
Atom
)
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
0 件のコメント :
コメントを投稿