ApacheにおけるSSL証明書インストール手順

ApacheでSSL証明書をインストールする手順をまとめました。
 
下記資料を参考にしました。
NSA(National Security Agency)の『Guide to the Secure Configuration of Red Hat Enterprise Linux 5』

1)/etc/httpd/conf.d/ssl.confに設定追加


 
下記設定をします。

Listen 443

SSLRandomSeed startup file:/dev/urandom 1024
SSLRandomSeed connect file:/dev/urandom 1024

<VirtualHost site-on-certificate.com:443>
  SSLEngine On

  SSLCertificateFile /etc/pki/tls/http/servercert.pem
  SSLCertificateKeyFile /etc/pki/tls/http/serverkey.pem

  SSLProtocol All -SSLv2

  SSLCipherSuite HIGH:MEDIUM:!aNULL:+MD5
</VirtualHost>

 
●設定内容の説明
 
①SSLRandomSeed
 
擬似乱数生成器のシードとなるソースを設定
SSLRandomSeed context source [bytes]
 
context
“startup” OpenSSLの開始時
“connect” 新しいSSL接続確立時
 
②証明書ファイルと秘密鍵ファイルを指定
 
SSLCertificateFile /etc/pki/tls/http/servercert.pem
SSLCertificateKeyFile /etc/pki/tls/http/serverkey.pem
 
③使用するSSLプロトコルを指定
 
SSLProtocol All -SSLv2
 
SSLv2以外のすべて(SSLv3,TLSv1,TLSv1.1,TLSv1.2)を設定
 
④SSLハンドシェーク中のネゴシエーションに利用できる暗号を指定
 
SSLCipherSuite HIGH:MEDIUM:!aNULL:+MD5
 
 HIGH:all ciphers using Triple-DES
 MEDIUM:all ciphers with 128 bit encryption
 !aNULL:aNULL(No authentication)はリストから外す
 +MD5:MD5をこの順番に変更
 

2)/etc/httpd/conf/httpd.confに設定追加


 
SSLで保護するコンテンツがあるディレクトリに対する設定を追加します。

<Directory /var/www/html/secure>

  SSLRequireSSL
  SSLOptions +StrictRequire

  SSLRequire %{HTTP HOST} eq "site-on-certificate.com"
# ErrorDocument 403 https://site-on-certificate.com
</Directory>

 
●設定内容の説明
 
①SSLRequireSSL
 
SSLを使用していないHTTPリクエストは拒否する。
 
②SSLOptions +StrictRequire
 
・StrictRequire
“SSLRequire”または”SSLRequireSSL”でアクセス禁止が決定されれば、SatisfyがAnyでも強制的にアクセスを禁止する
 
③403エラー発生時の挙動
 
403エラーを返さずに自サーバーなどにリダイレクトする場合は設定する
# ErrorDocument 403 https://site-on-certificate.com

関連記事の目次

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください