Nginxに証明書と中間証明書を設定する

設定に必要なファイルはこの3つ

  • 証明書 : example.com.cer
  • 中間証明書 : GSID_SHA-2.pem
  • 秘密鍵 : example.com.key

証明書作成

nginxで設定できる様に証明書と中間証明書を合わせたファイルを作ります この時、 証明書 中間証明書の順 になる様にします

cat example.com.cer GSID_SHA-2.pem > example.com.crt

証明書/秘密鍵の配置

ファイルをこんな感じで置く(その時すでにあるファイルと被って上書きしてしまわない様に注意)

/etc/pki/tls/example.com.crt
/etc/pki/tls/private/example.com.key

パーミッションを400に設定

sudo chmod 400 /etc/pki/tls/example.com.crt
sudo chmod 400 /etc/pki/tls/private/example.com.key

Nginxの設定

こんな感じで設定します

server {
    listen       443;
    server_name  example.com;
    root         /usr/share/nginx/html;

    ssl                  on;
    ssl_certificate      /etc/pki/tls/example.com.crt;
    ssl_certificate_key  /etc/pki/tls/private/example.com.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!EXPORT:!3DES:!DES:!MD5:!PSK:!RC4:@STRENGTH";
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;

    location / {
    }
}

確認

下記サイト(どれでも同じ)でちゃんと設定できているか確認します

Certificate is installed correctly の様に出ていればokです

SSL脆弱性診断

証明書の設定をした後、CipherSuiteに脆弱性のあるものを選んでないかなど下記サイトで診断できるのでこちらも試すと良いと思います

SSL脆弱性診断

参照

nginx:SSLサーバ証明書の設定[スタンダード]
Qualys SSL Labs の SSL脆弱性診断(SSL Server Test)について