SSL化対応-証明書をWEBサーバに埋め込む
2018/03/19
2019/12/23
タグ: SSL化, WEBサーバ, 設置, 証明書
色々なWEBサーバにより指定方法が異なりますが一般的であるApache Webサーバを例にとって説明していきたいと思います。
現在Linuxサーバで使われているApacheのバージョンは概ね2種類の系統がありバージョン2.2系とバージョン2.4系になりますが、バージョンにより設定が若干異なります。
サーバ証明書とサーバーキー(秘密鍵)の設定
まず最初にApache2.2系での設定を見ていこう。
Apache2.2 ssl.confで重要なディレクティブ)
NameVirtualhost *:443
LoadModule ssl_module modules/mod_ssl.so
Listen 443
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSV1
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLCertificateFile SSL証明書発行局から頂いているサーバ証明書ファイルのパス
SSLCertificateKeyFile SSL証明書を発行局に申請するCSRファイルを生成する段階で使った秘密鍵ファイル
SSLCertificateChainFile SSL証明書発行局から頂いている中間証明書
LoadModule ssl_module modules/mod_ssl.so
Listen 443
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSV1
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLCertificateFile SSL証明書発行局から頂いているサーバ証明書ファイルのパス
SSLCertificateKeyFile SSL証明書を発行局に申請するCSRファイルを生成する段階で使った秘密鍵ファイル
SSLCertificateChainFile SSL証明書発行局から頂いている中間証明書
Apache2.4 ssl.confで重要なディレクティブ)
Apache2.4からNameVirtualHostは必要でなくなりました。
LoadModule ssl_module modules/mod_ssl.so
Listen 443
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSV1
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLCertificateFile
SSLCertificateFile SSL証明書発行局から頂いているサーバ証明書ファイルのパス
SSLCertificateKeyFile SSL証明書を発行局に申請するCSRファイルを生成する段階で使った秘密鍵ファイル
Listen 443
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSV1
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLCertificateFile
SSLCertificateFile SSL証明書発行局から頂いているサーバ証明書ファイルのパス
SSLCertificateKeyFile SSL証明書を発行局に申請するCSRファイルを生成する段階で使った秘密鍵ファイル
Apache 2.4.8以降をご利用の方
Apache 2.4.8 から中間CA証明書を指定するSSLCertificateChainFile ディレクティブが廃止されたので設定ファイルはコメントのままにしておきましょう。
中間CA証明書、クロスルート証明書の類はサーバ証明書とその他の証明書ファイルマージしてください。そのうえでSSLCertificateFileディレクティブにそのファイルを指定してください。
<<マージの例>>
1 |
# cat server.crt ca-bundle.ca internal-cert.ca > server-hostname.key #これをSSLCertificateFileの箇所に指定する。 |