パケットリピーター stone

前回まででOpenSSLを利用して秘密キーと証明書を作成しました。
では、SSL化の目玉、パケットリピーター stoneを導入しましょう。

まずはstoneの日本語公式サイトからstoneをダウンロードしてきます。

stoneを使ってWindows自宅サーバーのSSL化

stone version 2.3 for WindowsXPをダウンロードしてきましょう。
NT/2000版との違いはIPv6のサポートのみのようですので、別にダウンロードするのはそちらでもいいかもしれません。
解凍したフォルダはC:\usr\sslに置くことにします。
私の場合解凍したフォルダ名はstone23xpでした。


stoneを使ってWindows自宅サーバーのSSL化

適当なエディタで、上のように

-L C:/usr/ssl/stone23xp/error.txt
-a C:/usr/ssl/stone23xp/access.txt
-dd
-n
-z key=C:/usr/ssl/bin/server/privkey.pem
-z cert=C:/usr/ssl/bin/server/cert.pem
-z CAfile=C:/usr/ssl/bin/cacert.pem
-z CApath=C:/usr/ssl/bin
127.0.0.1:80 443/ssl
--
127.0.0.1:25 465/ssl
--
127.0.0.1:110 995/ssl
--
127.0.0.1:143 993/ssl

と書き込み保存します。意味としては
-L C:/usr/ssl/stone23xp/error.txtがstoneのエラーログを、-a C:/usr/ssl/stone23xp/access.txtがアクセスログを指定しています。
-ddはデバッグレベルを指します。
Windowsのイベントビューアにデバッグ情報が記録されますので、上手くstoneが起動できないときはここのdの数を増やし、OSに詳細なログを残して解決の糸口を探ります。
-nはこのファイルの書式設定です。あまり気にする必要もないでしょう。
-z key=C:/usr/ssl/bin/server/privkey.pem サーバーの秘密鍵です。
-z cert=C:/usr/ssl/bin/server/cert.pem サーバーの証明書です。CAに署名して発行してもらったものです。
-z CAfile=C:/usr/ssl/bin/cacert.pem  自宅認証局CAの証明書です。
-z CApath=C:/usr/ssl/bin 自宅認証局CAの証明書が存在するディレクトリです。
127.0.0.1:80 443/ssl
127.0.0.1 サーバーを示すループバックアドレスですね。
:80 サーバーでSSLから平文への複合後のポートです。
443 クライアントからSSL暗号接続するポートです。
/ssl SSL暗号化中継します、という設定です。
-- 複数のポート変換を指定するときに使います。


stoneを使ってWindows自宅サーバーのSSL化

このファイルの保存先はC:\usr\ssl\stone23xpとします。
ファイルの種類をテキストドキュメントとし、ファイル名はstone.cfgです。
stoneをサービスとしてインストールするにはまたしてもCUIを使わなければなりません。


stoneを使ってWindows自宅サーバーのSSL化

スタートメニューからファイル名を指定して実行


stoneを使ってWindows自宅サーバーのSSL化

cmdでコマンドプロンプトを呼び出します。


stoneを使ってWindows自宅サーバーのSSL化

cd C:\usr\ssl\stone23xpと打ち込んで、コマンドライン上で移動します。

次にstone -M install Service -C C:\usr\ssl\stone23xp\stone.cfgと打ち込んでEnterを押します。
Serviceの部分は、単に名前ですので適当な名前にして貰って構いません。
ちなみにここで-M install Serviceと打ち込むと、サービス名はStone Serviceとなります。
-C C:\usr\ssl\stone23xp\stone.cfgとは、stoneの設定をファイルから読み出して実行するという意味になります。
つまり先ほど作成したC:\stone.cfgの設定をstoneは読み込んでいるわけです。

service installed: Serviceでstoneがサービスとしてインストールされたのが確認できます。
早速サービスを起動しましょう。


stoneを使ってWindows自宅サーバーのSSL化

コントロールパネルの管理ツールから


stoneを使ってWindows自宅サーバーのSSL化

サービスをダブルクリックします。


stoneを使ってWindows自宅サーバーのSSL化

Stone Serviceをダブルクリックします。


stoneを使ってWindows自宅サーバーのSSL化

スタートアップの種類を自動にし、サービスの状態の下にある開始ボタンをクリックします。
OKを押してstoneの設定はすべて完了です。
スタートアップが自動になりましたので、以後パソコンを再起動させる度にstoneはバックグラウンドで自動起動します。

以上で各サーバーをSSL化することができました。
実際にhttps://mizushima.ne.jp/と自分のサイトにSSLでアクセスしてみましょう。


stoneを使ってWindows自宅サーバーのSSL化

セキュリティ警告が表示され、はいをクリックすることでSSLでHTTPサーバーにアクセスすることができます。

が。
アクセスする度にセキュリティ警告が表示されるのも不愉快です。
警告の理由は信頼する会社(ベリサインなど)から証明書が発行されていないからです。
つまり自分のパソコンに対して、この証明書が信頼できると認識させてやればこのような警告は表示されなくなるのです。

では、OpenSSLで作成したcacert.pemのところまでいきましょう。
C:\usr\ssl\bin内にありますね。
このcacert.pemの拡張子をコピーして拡張子を変更し、cacert.cerというファイルを作ります。
できましたらcacert.cerをダブルクリックしてください。


stoneを使ってWindows自宅サーバーのSSL化

証明書のインストールをクリックします。


stoneを使ってWindows自宅サーバーのSSL化

インポートウィザードに従って証明書をインポートしていきましょう。
次へをクリックします。


stoneを使ってWindows自宅サーバーのSSL化

ここもそのまま次へをクリックします。


stoneを使ってWindows自宅サーバーのSSL化

はい、これだけで完了です。
完了ですが・・・


stoneを使ってWindows自宅サーバーのSSL化

やっぱりパソコンは信用してないけども、本当に信用していいのね?と言った意味のことを聞かれます。
そのためにインストールするのですから、ここではいをクリックします。

お疲れ様でした。各サーバーのSSL化は完了です。
これでHTTPS、SMTPS、POP3S、IMAP4Sが一斉に使えるようになりました。
もうセキュリティ警告が出ることもありません。
もう一度https://mizushima.ne.jp/と、SSLからアクセスしてみましょう。