そんなんないかと探してみたら、見つかったもの。
SSLを使用したVPN、というと、我が家ではOpenVPNを意味する。意味するのだが、世間的には
どうも違う。クライアントソフトレス、つまりブラウザがあればOKで専用の接続ソフトが不要、というのが世の流れ……らしい。最も、ブラウザで足りるSSL-VPNはLAN間接続なんぞできんけど。
で、LAN間接続はOpenVPNで構築済みなわけだが、「一般的にいうSSL-VPN」、つまりリモートアクセスVPNでブラウザだけで……とかいうのがオープンソースソフトウェアでないかなー、と思って探してみた。
あるんだな、これが。
SSL-Explorerという。
これ、3spという企業が開発しているが、GPLライセンスでオープンソースとなっている。サポートや拡張パッケージは有料らしいが、基本パッケージ&ノンサポートで使う分には無料だ。
今回はCasper(Vine3.2)にインストールした。
1.Java実行環境(JRE)インストール
サーバ側、クライアント側双方ともJavaの実行環境(Java Runtime Environment=JRE)が必要。Linux版のバイナリパッケージをSunのダウンロードサイトから入手してインストール。これはただ突っ込めばOK。
2.SSL-Explorerのインストール
これもSourceForgeのSSL-Explorerのサイトからダウンロードして突っ込めばOK。(GUIインストールでない)通常のRPMパッケージを使用。
3.設定
コマンドラインで
# /opt/sslexplorer/setup-sslexplorerを実行すると、インストールホストのポート28080でWebベースのセットアップページが起動する。詳細は割愛するが、最低限ユーザーアカウントとプライベートCSRだけ作成すれば動作はするようだ。
また、HTTPS(443/TCP)でアクセスする関係上、デフォルトでバインドされるポートも443。しかしこれはApacheとかち合うので、適当にポートを変更した方が良かろう。ウチの場合は8443/TCP(https-alt)に変更した。
4.起動
コマンドラインで
# /opt/sslexplorer/sslexplorer-console &でサービス起動。一応service登録ができるスクリプトがあるのだが、ディストリビューションをredhatしてみても上手くいかなかった。ま、上記のコマンドで起動するからいいか。これは/etc/rc.d/rc.localにでも書いておこう。
5.アクセス
https://casper.mythril.ne.jp:8443/でフロントページにアクセスできる。最初httpでアクセスしてみたところ、ランダムな文字列がapplication/octet-streamで送られてきていて、それ以上進まなかった。この「ランダムな文字列」、8文字=8バイトの情報だが、これがHandshake Protocolなのだろうか……? httpsでアクセスしたら上手くいった。
6.外部アクセスのポートフォワード
ADSLモデム兼ブロードバンドルータに8443/TCPをCasperにフォワードする設定を仕込む。現時点ではまだやってない。
で……、使ってみた感想。
ヤバイ。これ、
便利すぎる。とりあえずウチの環境だとSambaの共有領域にブラウザからアクセスできるくらいなのだが、ちょっとしたファイルの取り出し云々ならコイツで十分。キッチリ設定すれば、Webアプリケーションの使用やWake On LANでのマシン起動なども可能のようだ。
ただ気になるのは割と「重い」こと。全通信にSSLを掛けているからだと思うが、Celeron1.2GHzなCasperでは「モッサリ感」が否めない。確かに「一般的なSSL-VPN」ってアプライアンスになってたり、SSLアクセラレータ兼用/併用だったりするからなぁ。しゃーないけど。
個人用途では十分過ぎる、がとりあえずの結論。