設定に必要なファイルはこの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に脆弱性のあるものを選んでないかなど下記サイトで診断できるのでこちらも試すと良いと思います
参照
nginx:SSLサーバ証明書の設定[スタンダード]
Qualys SSL Labs の SSL脆弱性診断(SSL Server Test)について