SSLの導入

「SSLの導入」の編集履歴(バックアップ)一覧はこちら

SSLの導入」(2013/02/22 (金) 16:22:43) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

いずれの場合も必要なのは、証明書、秘密鍵、中間証明書の3点。CSRはいらない。 *SSLの更新手順 以下の3ファイルの中身を書き換えた後でhttpdを再起動するだけで、基本的にOK ただし、新規作成時と同様にどれか1つだけ古かったり記述に誤りがあると再起動に失敗しサービスが停止するので 書き換え作業は古いファイルを一旦リネームして保存してからやるのがよいだろう /etc/pki/tls/certs/ ここにある証明書と中間証明書 /etc/pki/tls/private/ ここにある秘密鍵 *SSLの導入手順 ***追加でIPアドレスを割り当てるなど、サーバーに複数のIPアドレスを用意 レンタルサーバーなら、そこに問い合わせる ***DNSの設定で、Aレコードをhttpsで使用する専用のIPアドレスを指定 お名前.comの管理画面とかで ***追加したIPアドレスをNICに割り当てる /etc/sysconfig/network-scripts/ の下にある(多くの場合)ifcfg-eth0という名前のファイルがあるので、 ifcfg-eth0:0、ifcfg-eth0:1みたいに増やして行って中身をそれに合わせて修正する ちなみに、ただコピーしただけだとネットワークの再起動に失敗してNIC自体が使えなくなるので、 ハウジングサーバーの場合はデータセンターまで行ってローカルから設定変更しなければならず その間インターネットからの接続はもちろん全て不可能 レンタルサーバーの場合は、有料で設定変更依頼をかけて管理会社にやってもらう必要が出てくるので要注意 何なら、最初からこの設定だけは向こうにやってもらう方が安全かもしれない ***httpd.confの修正 /etc/httpd/conf.d/ssl.conf の中のデフォルトSSL設定をコメントアウトしないと こっちが適用されて、目的の証明書を見に行ってくれない場合があるようだ 実際に修正するのは、そこからインクルードするconfファイルを/etc/httpd/conf.d/下に置く 設定例 <VirtualHost xxx.xxx.xxx.xxx:443> ServerName example.com:443 DocumentRoot "/home/example.com/open" CustomLog /var/log/httpd/example_com_ssl_log combined_mb env=!except-request ErrorLog /var/log/httpd/example_com_ssl_error_log SSLEngine on SSLCertificateFile /etc/pki/tls/certs/example.cert.pem SSLCertificateKeyFile /etc/pki/tls/private/example.key.pem SSLCertificateChainFile /etc/pki/tls/certs/example.inca.pem </VirtualHost> ***証明書、その他の記述 証明書(example.cert.pem) -----BEGIN CERTIFICATE-----で始まる 秘密鍵(example.key.pem) -----BEGIN RSA PRIVATE KEY-----で始まる 中間証明書(example.inca.pem) -----BEGIN CERTIFICATE-----で始まり、複数ブロックになることが多い の3ファイルを↑のconfに記述したそれぞれの場所に設置 ちなみに、更新の場合は、この3つのファイルの中身を新しいものに書き換えるだけで完了 ***httpdをリスタート 設定に誤りがあると再起動に失敗する すぐに原因が分からない場合は、SSLCertificate~ 辺りをコメントアウトしてSSLを無効にすれば とりあえず起動するはず なお、この間違いは apachectl configtest ではエラーにならない 再起動前に確認する方法は現在までに発見されていない
*SSL いずれの場合も必要なのは、証明書、秘密鍵、中間証明書の3点。CSRはいらない。 *SSLの更新手順 以下の3ファイルの中身を書き換えた後でhttpdを再起動するだけで、基本的にOK ただし、新規作成時と同様にどれか1つだけ古かったり記述に誤りがあると再起動に失敗しサービスが停止するので 書き換え作業は古いファイルを一旦リネームして保存してからやるのがよいだろう /etc/pki/tls/certs/ ここにある証明書と中間証明書 /etc/pki/tls/private/ ここにある秘密鍵 *SSLの導入手順 ***追加でIPアドレスを割り当てるなど、サーバーに複数のIPアドレスを用意 レンタルサーバーなら、そこに問い合わせる ***DNSの設定で、Aレコードをhttpsで使用する専用のIPアドレスを指定 お名前.comの管理画面とかで ***追加したIPアドレスをNICに割り当てる /etc/sysconfig/network-scripts/ の下にある(多くの場合)ifcfg-eth0という名前のファイルがあるので、 ifcfg-eth0:0、ifcfg-eth0:1みたいに増やして行って中身をそれに合わせて修正する ちなみに、ただコピーしただけだとネットワークの再起動に失敗してNIC自体が使えなくなるので、 ハウジングサーバーの場合はデータセンターまで行ってローカルから設定変更しなければならず その間インターネットからの接続はもちろん全て不可能 レンタルサーバーの場合は、有料で設定変更依頼をかけて管理会社にやってもらう必要が出てくるので要注意 何なら、最初からこの設定だけは向こうにやってもらう方が安全かもしれない ***httpd.confの修正 /etc/httpd/conf.d/ssl.conf の中のデフォルトSSL設定をコメントアウトしないと こっちが適用されて、目的の証明書を見に行ってくれない場合があるようだ 実際に修正するのは、そこからインクルードするconfファイルを/etc/httpd/conf.d/下に置く 設定例 <VirtualHost xxx.xxx.xxx.xxx:443> ServerName example.com:443 DocumentRoot "/home/example.com/open" CustomLog /var/log/httpd/example_com_ssl_log combined_mb env=!except-request ErrorLog /var/log/httpd/example_com_ssl_error_log SSLEngine on SSLCertificateFile /etc/pki/tls/certs/example.cert.pem SSLCertificateKeyFile /etc/pki/tls/private/example.key.pem SSLCertificateChainFile /etc/pki/tls/certs/example.inca.pem </VirtualHost> ***証明書、その他の記述 証明書(example.cert.pem) -----BEGIN CERTIFICATE-----で始まる 秘密鍵(example.key.pem) -----BEGIN RSA PRIVATE KEY-----で始まる 中間証明書(example.inca.pem) -----BEGIN CERTIFICATE-----で始まり、複数ブロックになることが多い の3ファイルを↑のconfに記述したそれぞれの場所に設置 ちなみに、更新の場合は、この3つのファイルの中身を新しいものに書き換えるだけで完了 ***httpdをリスタート 設定に誤りがあると再起動に失敗する すぐに原因が分からない場合は、SSLCertificate~ 辺りをコメントアウトしてSSLを無効にすれば とりあえず起動するはず なお、この間違いは apachectl configtest ではエラーにならない 再起動前に確認する方法は現在までに発見されていない

表示オプション

横に並べて表示:
変化行の前後のみ表示: