先日の SSH に続いて今日は SSL でちょっとだけ困ったので、メモっておくよ。
ちなみに、随分前に IIS でやった時には問題がなかった。
Apache HTTP Server にて、StartSSL を使って HTTPS 接続の設定を行う。
ちなみに、すでに StartSSL の登録は済んで、証明書発行済みとする。
まず、SSL 証明書を置くディレクトリへ移動。
cd /etc/pki/tls/certs
発行してもらった公開鍵と秘密鍵を設置する。
sudo vim startssl.crt sudo vim startssl.key
次に、StartSSL の証明書を設置する。
sudo wget https://startssl.com/certs/ca.pem sudo wget https://startssl.com/certs/sub.class1.server.ca.pem
パーミッションを設定。
sudo chmod 400 startssl.crt sudo chmod 400 startssl.key sudo chmod 400 ca.pem sudo chmod 400 sub.class1.server.ca.pem
次に、 /etc/httpd/conf.d/ssl.conf
を編集。
sudo vim /etc/httpd/conf.d/ssl.conf
設定は下のようにしておく。 100 行目辺り
SSLCertificateFile /etc/pki/tls/certs/startssl.crt
110 行目辺り
SSLCertificateKeyFile /etc/pki/tls/certs/startssl.key
120 行目辺り
SSLCertificateChainFile /etc/pki/tls/certs/sub.class1.server.ca.pem
130 行目辺り
SSLCACertificateFile /etc/pki/tls/certs/ca.pem
このへんは一例なので、ファイル名とかは適宜読み替える。
これで一応の設定は完了。
次は、QUALYS SSL LABS の評価を A ランクまで上げてみるよ。
ちなみにこのままだと C ランク
まず、文句言われてる POODLE 対策をする。
/etc/httpd/conf.d/ssl.conf
を開いて、95 行目あたりを下のように変更。
SSLProtocol all -SSLv2 -SSLv3
次は弱い暗号化スイートを無効にしておく。
Mozilla の推奨している設定を使用しています。
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
これだけ設定しておくと、A ランクが取れる
ただ、コレでもちょっと気になる部分が。
SHA1 でやってるよと警告が出てる。
そこで、配布してるところに SHA2 のがあったので、証明書をいれる。
sudo wgeth https://startssl.com/certs/class1/sha2/pem/sub.class1.server.sha2.ca.pem
これで行けると思ったら、解決はしない。
んで Google で探してみると、解決法が見つかった。
StartSSL で取得した証明書が sha1 で認証されてしまう - Qiitaqiita.com
どうやら配布してるものがなにかちがうっぽい。
上の証明書を入れると、ちゃんと警告がでなくなる。
以上、メモ終了ー