HTTPS モードでの Web サーバーの設定
From ServersCheck Wiki
Contents |
SSLおよび必要条件について
デフォルトでは、ServersCheck WebサーバーはHTTPモードで動作し、ブラウザーとサーバー間の通信を暗号化しません。クライアントとServersCheck Webサーバー間のデータ転送を高度なセキュリティで保護するため、SSLがサポートされています。SSLプロトコルを使用すると、クライアントとWebサーバー間のすべての通信が暗号化されます。ブラウザーとサーバー間で送信されるパスワードが暗号化されます。
ServersCheckからHTTPS (SSL)モードでWebサーバーを実行するためには、以下の項目が必要です。
- ServersCheckモニタリングソフトウェア7.5以上
- OpenSSLがインストールされていること
ServersCheckモニタリングソフトウェアには、標準証明書キーおよびサーバーキーがインストールされています。高度なセキュリティ保護を行うため、独自のキーを作成するよう強くお勧めします。
OpenSSLのインストール
OpenSSLを取得する最も簡単な方法は、Shining Light ProductionsからWindows GUIインストーラーをダウンロードすることです。以下にダウンロードページが提供されています。
http://www.slproweb.com/products/Win32OpenSSL.html
ここでの使用目的には、"Light"バージョンで対応できます。インストーラーは、以下のリンクから直接ダウンロードできます。
http://www.slproweb.com/download/Win32OpenSSL_Light-0_9_8e.exe
OpenSSLの環境変数PATHを更新する必要があります。Windowsのコマンド画面を開いて、次のコマンドを入力してください。
set PATH=c:\OpenSSL\bin;%PATH%
非公開鍵の作成
ServersCheckモニタリングソフトウェアの/certsサブディレクトリに移動し、そこに存在するすべてのファイルをバックアップした後、そのディレクトリを空にします。次のコマンドを入力して、新しいサーバー非公開鍵を作成します。
openssl genrsa -des3 -out server.key 4096
キーのパスワードを入力するよう求められます。堅牢なパスワードを入力してEnterキーを押し、パスワードを確認してもう一度Enterキーを押します。パスワードは、忘れないようにしてください。
証明書署名要求(CSR)の作成
非公開鍵は、証明書機関(CA)によって署名されていなければなりません。しかし、非公開鍵が誰にも露見しないようにするため、証明書署名要求を作成します。次に、これを使用して、本人であることを保証する証明書機関によって署名された証明書を作成します。
openssl req -new -key server.key -out server.csr
まず、非公開鍵の作成時に入力したパスワードを入力するよう求められます。これは、OpenSSLがユーザーのキー(鍵)にアクセスしてCSRを作成するために必要です。パスワードを入力して、Enterキーを押してください。
次に、証明書要求に組み込む情報を入力するよう求められます。これは、ユーザーの証明書IDであり、後から変更するとはできません。したがって、入力を間違えた場合、CTRL-Cを押して最初からやり直してください。
情報の例。自分のデータで置き換えてください。
国名(2文字のコード) [AU]:BE州名または省名(フルネーム) [いずれかの-州]:ブラバント州地方自治体名(たとえば市) []:ルーバン組織名(たとえば企業) [Internet Widgits Pty Ltd]:ServersCheck組織の部門名(たとえば課) []:Web区域の共通名(たとえばユーザー名) []:serverscheck.mycompany.com Email Address []:email@mycompany.com
証明書要求と共に送信される、次の「追加」属性を入力してください。チャレンジパスワード[]: オプションの企業名[]:
ユーザーのWebサイトで、共通名と完全修飾ドメイン名が正確に一致することが重要です。一致しない場合には、ユーザーのSSL対応Webサイトの利用者にセキュリティ警告が表示され、証明書を受け入れるためにOKをクリックしなければなりません。
チャレンジパスワードとオプションの企業名フィールドを空白のままにします。
dir/wコマンドを入力すると、ディレクトリ内にserver.csrという名前の新しいファイルがあるのが分かります。
次に実行すべき作業
この時点で、独自の証明書機関を作成し、証明書署名要求(CSR)に自分で署名することも、またベリサインなど、よく知られた証明書機関にCSRを送信することも可能です。
証明書に自分で署名すると、ユーザーサイトを訪れる利用者に、証明書機関が未知であることを示す警告が表示されます。利用者は、証明書を拒否することも、現在セッションでのみ承認することも、また永久的に承認することも可能です。
この警告メッセージが発行されるとしても、検査用に自己署名の方法を知ることは有意義であり、また「本当の」証明書を取得するための費用を支払いたくない場合にも有効です。ベリサインなどの機関に証明書を送信する場合には、次のステップ2をスキップできます。
独自の証明書発行機関の作成
独自の証明書機関(CA)用に非公開鍵を生成します。
openssl genrsa -des3 -out ca.key 4096
この非公開鍵のパスワードを入力して、確認するよう求められます。 次に、この非公開鍵から証明書を作成します。
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
まず、非公開鍵にアクセスするパスワードを入力するよう求められます。次に、証明書に署名する証明書機関に組み込む情報を入力する必要があります。
国名(2文字のコード) [AU]:BE州名または省名(フルネーム) [いずれかの-州]:ブラバント州地方自治体名(たとえば市) []:ルーバン組織名(たとえば企業) [Internet Widgits Pty Ltd]:ServersCheck組織の部門名(たとえば課) []:証明書機関の共通名(たとえばユーザー名) []:ssl.mycompany.com Certficate Authority Email Address []:email@mycompany.com
この内容はすべて、前にユーザーのWebサイト証明書で行った内容に類似していますが、ここでは、共通名(CN)を、希望する任意の名前に設定できます。
証明書署名要求に自分で署名
ここで、これまでの手順で自己作成した証明書機関を使用して、自分のWebサイト証明書に署名します。 openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
注: 上記のコマンドは、全体を1行で入力する必要があります。
署名された証明書をベリサインまたはその他から取得
希望する証明書機関のWebサイトを表示して、詳細情報を取得してください。ベリサインは、高額のソリューションを提供する機関の1つです。SSL証明書の価格を比較すると、年間$19.99の低額のものも存在します。
http://www.verisign.com/ssl/buy-ssl-certificates/secure-site-ssl-certificates/index.html
重要: サーバーキーからパスワードを削除
このステップは、ServersCheck Webサーバーをサービスとして実行する場合に必須となります。この手順を行わないと、Webサーバーを実行できません。
このステップを実行すると、非公開鍵が第三者に知られた場合、暗号化された通信をすべて復号化できることに、十分注意してください。このファイルのアクセス権を変更して、第三者がダウンロードまたはその他の手段でアクセスできないことを保証してください。 openssl rsa -in server.key -out server.key.insecure move server.key server.key.secure move server.key.insecure server.key
重要: ssl.confファイルのインストール
WebサーバーをSSLモードで実行するためには、ssl.confファイルをダウンロードして、インストールする必要があります。このファイルは、以下の場所からダウンロードできます。 http://files.serverscheck.net/conf/ssl.conf
このファイルは、ServersCheckのメインディレクトリのサブディレクトリ/confにインストールする必要があります。
構成の検証
ServersCheck構成サービスが動作していないことを確認してください。コマンドプロンプトで、次のコマンドを入力してください。 s-server
次のような出力が生成されます。 C:\Program Files\ServersCheck_Monitoring>s-server
#
# ServersCheck Configuration Server
# STANDARD Edition
#
# Installed on
#
# Loading language file:
# version 7.5.0
#
#
# (c) Copyright 2003-2007 - ServersCheck BVBA
# www.serverscheck.com
#
#
#
# Sun Jul 1 12:38:19 2007 Reading conf file completed
# Env:C:\WINDOWS
# Enabling HTTPS (SSL) Server
# Configuration server ready, serving on port "1272"...
#
#
"Enabling HTTPS (SSL) Server"というメッセージが表示された場合、SSLモードがアクティブであることを意味しています。これで、https (だけ!)を通してWebサーバーに接続できます。新しいURLは、https://localhost:1272になります。