鍵の生成

最初に、cdコマンドを実行して/etc/httpd/confディレクトリに移動します。次の2つのコマンドを実行して、インストール時に生成された鍵と証明書を削除します。

rm ssl.key/server.key
rm ssl.crt/server.crt

次に、自分自身のランダム鍵を作成します。次のコマンドを入力します。

make genkey

次のようなメッセージが表示されます。

umask 77 ; \
/usr/bin/openssl genrsa -des3 1024 > /etc/httpd/conf/ssl.key/server.key
Generating RSA private key, 1024 bit long modulus
.......++++++
................................................................++++++
e is 65537 (0x10001)
Enter PEM pass phrase:

ここでパスワードを入力します。安全のため、パスワードは8文字以上で、数字や句読点が含まれている必要があります。また、辞書にある単語は使用しないでください。

注意メモ
 

パスワードでは大文字と小文字が区別されることに注意してください。セキュアWebサーバーを起動するたびにこのパスワードを入力する必要があります。パスワードは忘れないでください。

パスワードが正しいことを確認するために、再入力する必要があります。正しく入力すると、server.keyというファイルが作成され、ここに鍵が含まれています。

セキュアWebサーバーを起動するたびにパスワードを入力しないようにするには、鍵を作成する場合にmake genkeyではなく次の2つのコマンドを使用します。これらのコマンドは、いずれもすべて1行で入力してください。

コマンドを次のとおり実行します。

/usr/bin/openssl genrsa 1024 > /etc/httpd/conf/ssl.key/server.key

鍵が作成されます。次のコマンドを実行します。

chmod go-rwx /etc/httpd/conf/ssl.key/server.key

鍵に対する権限が正しく設定されたことを確認します。

上記のコマンドを使用して鍵を作成した場合は、セキュアWebサーバーを起動するときにパスワードを入力する必要はありません。

注意注意
 

セキュアWebサーバーのパスワード機能を無効にすると、セキュリティ上のリスクが発生します。セキュアWebサーバーのパスワード機能を無効にすることはお勧めしません。

パスワードを使用しない場合に発生する問題は、直接ホストマシンのセキュリティに影響します。たとえば、悪意のある人物がホストマシンの通常のUNIXセキュリティを突破した場合、その人物はシステムの秘密鍵(server.keyファイルの内容)を入手できるでしょう。この鍵を使用すれば、Webページを偽造して、本来の所有者のサイトから送信されたかのように見せかけることもできます。

ホストコンピュータでUNIXセキュリティに関する作法が厳密に守られていれば(オペレーティングシステムのすべてのパッチとアップデートを公開と同時にインストールし、不要なサービスあるいは危険度が高いサービスは実行しない、など)、セキュアWebサーバーのパスワードは不要であるようにも思えます。ただし、セキュアWebサーバーは頻繁に再起動するものではないので、ほとんどの場合はパスワードを入力することによって得られる安全性に価値があるはずです。

server.keyファイルの所有者はシステムのrootユーザーとし、ほかのユーザーはアクセスできないようにしてください。このファイルのバックアップコピーを作成し、安全な場所に保存してください。バックアップコピーが必要となるのは、証明書の要求を作成するためにserver.keyファイルを使用した後、このファイルが失われると、証明書が無効になり、CAの支援を受けられなくなるためです。バックアップコピーがなければ、新しい証明書を要求(支払いも)するほかに選択肢はありません。

CAから証明書を購入する場合は、証明書要求の作成とCAへの送付に進みます。自己署名証明書を作成する場合は、自己署名証明書の作成に進みます。