セキュリティーの一環ということで対応させておきました。
以下で手順を記述しておきます。
最初にopensslの設定です。
/etc/ssl/openssl.cnf の [usr_cert] セクションの nsCertType アイテムについて
nsCertType = server
とします。
同様に [v3_ca] セクションの nsCertType アイテムについて
nsCertType = sslCA, emailCA
とします。
これらは実際にはコメントアウトしているのを取り消すだけです。
次に鍵や証明書を作成します。
# cd /usr/lib/ssl/misc/
# ./CA.sh -newca
を実行して対話型で入力していきますが、
CA certificate filename はなし、Enter PEM pass phrase は適当なパスワード、
A challenge password と An optional company name には何も入力せず、
Enter pass phrase for ./demoCA/private/./cakey.pem には先のパスワードを入力し、
それ以外は適当に設定していきます。
なお、Common Name はサーバのホスト名(FQDN)でいいです。
続いて同じ要領で以下を実行し、生成された証明書等を以下のようにコピーします。
# ./CA.sh -newreq
# ./CA.sh -sign
# mkdir /etc/apache2/ssl
# cp newcert.pem /etc/apache2/ssl/
# cp newkey.pem /etc/apache2/ssl/
# cd /etc/apache2/ssl
また以下を実行してパスフレーズを除去します。
途中でパスフレーズを要求されますが、
先に設定したパスワードを入力すればいいです。
# cp newkey.pem newkey.pem.bak
# openssl rsa -in newkey.pem.bak -out newkey.pem
さて、最後にapacheの設定です。
まず /etc/apache2/httpd.conf にServerNameディレクティブを
ServerName <サーバのFQDN>
で設定し、
# cd /etc/apache2/sites-enabled/
# ln -s ../sites-available/default-ssl 001-default
を実行して、001-default の DocumentRoot ディレクティブを
DocumentRoot /var/www/html
SSLCertificateFile ディレクティブを
SSLCertificateFile /etc/apache2/ssl/newcert.pem
SSLCertificateKeyFile ディレクティブを
SSLCertificateKeyFile /etc/apache2/ssl/newkey.pem
になおして
# a2enmod ssl
# /etc/init.d/apache2 restart
でapacheが再起動すれば完了です。
0 件のコメント:
コメントを投稿