ssl:3.サーバでの作業
created 2005-01-07 modified 2011-11-14
Fedora14 用の openssl パッケージに入ってた Makefile を利用した。
下準備:root になって、
mkdir ~/ssl cd ~/ssl ln -s /etc/pki/tls/certs/Makefile .
(1)秘密鍵ファイルを作成
make server.key(実際に実行されるコマンドは下記)
umask 77 ;/usr/bin/openssl genrsa -aes128 2048 > server.keyパスフレーズを聞かれるので入力。
(2)秘密鍵ファイルのパスフレーズを取り除く
パスフレーズがあると安全性は高いが、Apacheの起動時にパスフレーズを聞かれる。利便性を優先してパスフレーズを取り除いた。
openssl rsa -in server.key -out server.key(旧)パスフレーズを聞かれるので入力。これでパスフレーズが空になった。
(3)サイトサーバ証明書の発行を依頼するCSRファイルを作成
make server.csr(実際に実行されるコマンドは下記)
umask 77 ;/usr/bin/openssl req -utf8 -new -key server.key -out server.csrいろいろ聞かれるが
欄 | 入力内容 | 備考 |
---|---|---|
国 | JP | |
州or県 | Kanagawa | |
都市 | Yokohama | |
会社名 | flat7th | 会社じゃないけどまぁよし |
課 | admin | |
ホスト名 | *.flat7th.org | クライアントが指定するサーバホスト名 |
管理者メールアドレス | root@flat7th.org | |
チャレンジパスワード | (空リターン) | |
オプション会社名 | (空リターン) |
ここで入力するホスト名についてメモ:
ホスト名は、クライアントソフト側で指定するサーバホスト名を入力するようだ。
サイトによっては、www.ドメイン名 と mail.ドメイン名 が実は同じホストであったりすると思う。あるいは内側では別でも外からは同じホストに見えるとか。
ひとつのサーバ機にいくつも鍵ファイルと証明書ファイルがあると管理が面倒、という場合、メールサーバでも同じ鍵ファイルを流用することもできるのだけど、その場合メールクライアントソフトで mail.ドメイン名 と指定するとホスト名が違うよ、と警告されてしまう。もちろんメールソフトで www.ドメイン名 と指定すれば回避できるけど、カッコ悪い。
mail.ドメイン名 と指定するためには鍵ファイル&証明書ファイルは別にする...か、
証明書のホスト名をワイルドカード *.flat7th.org にすると、www.ドメイン名 も mail.ドメイン名 も1個でいけます。
(4)サイトサーバ証明書を作成
make server.crt(実際に実行されるコマンドは下記)
umask 77 ;/usr/bin/openssl req -utf8 -new -key server.key -x509 -days 365 -out server.crt -set_serial 0CSR作成時と同じ内容を入力する。
(5)各デーモンの設定ファイルで指定
(略)httpd, postfix, dovecot それぞれで上記ファイルを参照するよう設定する。
apache用には mod_ssl のインストールが必要。
yum install -y mod_ssl