SSL-VPNでリモートアクセス環境(1)

しばらく使っていると、外部から自宅内にある端末にアクセスしたくなります。
これは「はしか」です。誰もが感染します。はしかはやっておきましょう。

いろいろリモートアクセスの方法はありますが、ここはブラウザベースのSSL-VPNをチョイスします。SSLエージェントを使用しないタイプのほうが後腐れありません。
良いソフトウェアにSSL-Explorerがあります。
と思ったら、いつのまにかSSL-Explorerは開発が止まっているようです。
後継ソフトであるAditoを採用します。

※2009/12/06
AditoはいつのまにかOpenVPN ALSという名前に変化していました。中身は変わってないようです。
ただでさえ情報が少ないのに、OpenVPNというまぎらわしい名前で情報収集のときに面倒そうです。
勘弁してください。

AditoはHTTPS経由でVPNを張り、予め設定してあるアプリケーションを利用できます。
SSL経由のWindowsファイル共有、SSL経由のリモートデスクトップ(RDP)、SSL経由のウェブブラウズなど、機能が多いのが便利です。

英語ですが、こちらにもAditoのインストール解説があります。
installing_and_running_the_adito_server

AditoはJavaで動作します。sun-java(JDK)をインストールしておきましょう。
そしてAditoのインストールにはantを用いますので、そちらもインストールしましょう。



次にAditoをダウンロードします。
SourceForge



ダウンロードはソースとバイナリがあり、ファイル名に「bin」に含まれているほうをダウンロードします。
圧縮形式はtar.gzとzipがありますが、どちらもでかまいません。
ここではtar.gzを選択しました。

ダウンロードしたらコマンドラインから解凍します。

>su
#tar xzvfadito-0.9.1-bin.tar.gz
#mv adito-0.9.1 /opt


解凍したディレクトリは伝統的に/optに配置します。

aditoをインストールします。
#cd /opt/adito-0.9.1
#ant install

メッセージが表示されます。
内容は「ブラウザから「http://IPアドレス:28080」にアクセスして設定しろ」とあります。
コンソールをそのままに、ブラウザを立ち上げて「http://IPアドレス:28080」にアクセスすると設定画面が表示されます。

Create New Certificateを選択します。


証明書のフレーズです。なにか長い単語を設定しましょう。KeyStoreの生成鍵となるだけで、パスワードとは異なります。


次に証明書情報を入力します。その証明書がどこで生成されたものか、のメモになります。


次にユーザ情報のデータベースを選択します。Builtinを選択すればAditoに登録したユーザ情報を使用します。Linuxのユーザ認証を使用する場合はUnitとなります。AD連携する場合は、もちろんActiveDirectoryを選択します。


管理者アカウントを登録します。


サービスの待ち受けのアドレスを選択する場合です。「All Interface」が選択されていれば、全てのアドレスです。


Proxyの設定。これはAditoが外部HTTPへアクセスするときに使用するProxyです。


Finishを終えれば設定は完了です。


設定が終了すれば、次はサービスに登録します。
#ant install-service

スタートファイルをコピーします。
#ant start

起動コマンドを叩いて、起動を確認します。(というか、起動しています)
#services adito start
Starting Adito...
Adito is alreadyrunning.

ここまでの手順で順番などをミスっていると、ここで何度やってもうまく起動しない症状に陥ります。

※メモリ容量が少ないと、起動をかけてもサービスが起動してくれません。logs/wrapper.logに記述されてます。
256ではダメでした。これはJavaVMのヒープメモリの仕様(搭載メモリ1/4まで)に関わっているようです。

試しに他のPCのブラウザからアクセスしてみましょう。
アクセスはSSL経由なので、アドレスは「https://IPアドレス」です。
するとアクセスできません。(ローカルからはアクセスできるのに)
もちろんファイアーウォールが頑張っているからです。

[YaST]-[セキュリティとユーザ]-[ファイアーウォール]-[許可するサービス]でHTTPSを選択します。
が、HTTPSが一覧にありません。
しょうがないので、詳細から直接ポート番号「443」を設定します。

これで他PCからアクセスできます。

ブラウザでアクセスすると、ログイン画面が現れます。あらかじめ作成した管理者アカウントでログインします。

あとなんか不具合起こしてログインできなくなったとき、サービスの再起動ではなく「ant restart」したほうがいいようです。
そもそもなんで認証が止まるのか不明ですけどね。

なお、再起動したらAditoが自動起動するように設定しておきましょう。
#chkconfig--add adito

これで自動起動するようになりました。

Aditoの具体的な設定はこちらのページで解説します。
SSL-VPNでリモートアクセス環境(2)


追記
Windows版のSSL-Explorerの方は、インストーラタイプもあります。
Windows版SSL-Explorer
探すのにかなり苦労しますがWindowsdで構築する場合はこちらのほうが便利でしょう。





prev.gif