【AWS】統合脅威管理「Sophos UTM」を使ってVPCへSSL-VPN接続する(Android編)
はじめに
こんにちは植木和樹です。先日「【AWS】統合脅威管理「Sophos UTM」を使ってiPhoneからVPCへIPsec-VPN接続する」というエントリでSophos UTMをVPNサーバーとしたIPsec接続を行う方法を紹介しました。
Sophos UTMではIPsec-VPN以外にもSSL-VPNをサポートしています。IPsec-VPNは「拠点間VPN接続」、SSL-VPNは「リモートアクセス」に適した接続方法だそうです。本日はSSL-VPNを用いて様々な機器(Windows7, iPhone, Android)からのリモートアクセスを試してみたいと思います。長くなりそうなので機器ごとにエントリを分けたいと思います。
- 【AWS】統合脅威管理「Sophos UTM」を使ってVPCへSSL-VPN接続する(iPhone編)
- 【AWS】統合脅威管理「Sophos UTM」を使ってVPCへSSL-VPN接続する(Windows7編)
環境
システム構成図
接続先Webサーバーの用意
EC2サーバーにApacheをインストールしWebサーバーとしています。接続されるWebサーバー側は以下の項目を設定するのを忘れないようにしましょう。
- VPC Route Tableで「VPN Pool(SSL)」のルーティングをSophosサーバーに向ける。
- EC2のセキュリティグループで「VPN Pool(SSL)」アドレスレンジからの接続を許可する。
特にRoute Tableを設定し忘れると、帰りのパケットがInternet Gatewayに行ってしまい接続を確立できませんので注意してください。
なおSSL-VPNで接続したクライアントに割り当てられるIPアドレスのレンジは[ネットワーク定義]の画面で確認・変更することができます。
SSL-VPNサーバー側の設定
まずSophos側の設定を行います。
接続ユーザーの作成
Sophosの初期設定と接続ユーザーの作成はIPsec-VPNと同じです。「【AWS】統合脅威管理「Sophos UTM」を使ってiPhoneからVPCへIPsec-VPN接続する」の「リモートアクセスユーザーを作成する」までを参考にユーザーを作成しておきます。
SSL-VPN接続設定
[リモートアクセス]-[SSL]をクリックして設定画面を開きます。
プロファイル名に「my-ssl-vpn」と入力します。次にユーザーとグループのフォルダのアイコンをクリックし、画面左側に表示されるユーザー一覧からVPN接続を許可するユーザーをドラッグアンドドロップで追加します。ユーザーが複数の場合は事前にユーザーをグループに追加して、グループに対して接続許可をするのが良いでしょう。
ローカルネットワークのフォルダアイコンをクリックし、画面左側に表示されるネットワーク一覧からVPN経由のユーザーに対して接続を許可するネットワークを選択します。ユーザーと同様ドラッグアンドドロップで追加することができます。
ユーザーとネットワークの設定が終わったら「保存」をクリックします。
Android端末からの接続
Android端末は次の2機種で検証しました。VPN接続には関係ないと思いますが、キャリアはドコモです。
- Sony Ericsson Xperia arc SO-01C (バージョン 2.3.4)... VPNクライアント非対応
- SAMSUNG Galaxy Nexus (バージョン 4.2.2)... 動作OK
Android OSのバージョン 2.x はVPNクライアントソフトが動作しないためSSL-VPNで接続することができませんでした。SO-01Cの発売日は「2011年3月24日」ということです。少々古い端末からは接続できませんのでご注意ください。
Android端末へのSSL-VPNクライアントのインストール
Androidの標準ブラウザはGoogle Chromeですが、VPN設定ファイルをダウンロードする際に失敗する不具合があります。そのため作業する際はFirefoxなどのブラウザを使用してください。
Android端末でFirefoxブラウザを起動し、SophosのグローバルIP(EIP)にHTTPSで接続してユーザーポータル画面を開きます。「接続の安全性が確認できない」というメッセージがでますが「続ける」をクリックします。
ユーザーとパスワードを入力してログインします。
画面上部の「リモートアクセス」をクリックします。
画面下にiPhone/Android用の設定があります。設定をダウンロードする前に文中のリンクをクリックしてAndroid用SSL-VPNクライアントソフトをインストールします。
リンクをクリックしてPlayストアの画面を開きます。
ボタンをクリックしてインストールを行います。
アプリの権限確認が行われるので同意します。
OpenVPNのクライアントソフトがインストールできました。「開く」をクリックしてアプリを起動してください。
OpenVPNのクライアントソフトが起動できました。この画面はそのままにして、再度Firefoxの画面に戻ってください。
SSL-VPN設定のインストール
先ほどのiPhone/Android用設定の「Install」ボタンをクリックし、VPN設定をインストールします。(Chromeだとここでインストールに失敗します)
構成ファイルをダウンロードしたら画面右下のディスクアイコンをクリックして保存します。
新しいプロファイルが端末にインストールされました。
SSL-VPNでの接続
プロファイル名をタップして接続を開始します。
初回接続時はVPN接続の許可を求められるので「信頼できる」をチェックして「OK」をタップしてください。
VPNの接続画面が開きますので、ユーザーとパスワードを入力します。パスワードを入力後「OK」をタップするとVPN接続が開始されます。なおオススメはしませんが「パスワードを保存」をチェックしておくと入力したパスワードを保存しておくことができるため、次回以降入力が不要になります。
大量の接続ログが流れ始め、ちょっと驚きます。しばらくするとVPN接続が確立されます。
これでAndroid端末とVPCがVPNで接続されました。WebサーバーにプライベートIPアドレスで接続してみましょう。
成功です!画面が表示されました!
なお画面上部に鍵のアイコンが表示されていればVPN接続中ということです。
SSL-VPNの切断・再接続
VPNの切断は、Android端末の画面を上から下にスワイプして表示される通知パネルから行います。まずはOpenVPNのアプリケーションをクリックします。
表示される画面から「切断」をタップするとVPNを切断することができます。
接続時にログを表示しない設定
VPN接続のたびにログ画面が表示されないようにするためには、OpenVPN起動後の設定タブから「ログウィンドウを表示」のチェックを外してください。
まとめ
Android端末ではユーザーポータル画面からSSL-VPNのクライアントアプリも設定のインストールもできるため、とても簡単にSSL-VPNを設定することができました。ただし以下の点に注意が必要です。
- Android OS 2.x/3.x がOpenVPNアプリに非対応
- VPN設定時のブラウザはChromeでなくFirefoxを利用する
Sophos側の設定画面もわかりやすいので、おそらくSophos用EC2の起動から始めても半日もかからずSSL-VPNを設定できるかと思います。まさに早い、安い、簡単ですね。
AWSでSSL-VPNを検討されている方は、ぜひSophos UTMを試してみてください!