LoginSignup
3
3

More than 5 years have passed since last update.

Qualys SSL LabsでスコアAがとれるnginxのTLS/SSLの設定方法

Last updated at Posted at 2015-04-09

この記事は
http://mkuma.hatenablog.com/entry/2015/04/07/142649
のコピペです。

この記事は

この記事は、2015/4/7現在、Qualys SSL LabsでスコアAがとれる、nginxのTLS/SSLの設定方法について説明するものです。

TLS/SSLと書いていますが、後述しますがSSLは使用しません。

また、TLS/SSLとはなにか、といった話題については触れません。細かい解説もしません。細かい解説は参考文献を参照してください。

具体的なconfファイルの記述例

server {
  listen 443 ssl;

  #実際の設定方法に合わせる
  server_name localhost;

  #nginxのバージョンを表示しないようにする
  server_tokens off;

  ssl on;

  #中間証明書とbindingしたものを指定する
  ssl_certificate /path/to/server.crt;

  #openssl req -nodes -newkey rsa:2048 -keyout YOURDOMAIN.key -out YOURDOMAIN.csr こんなかんじでkeyとcsrを作成した
  ssl_certificate_key /path/to/server.key;

  #SSLセッションを10分保持する
  ssl_session_cache builtin:1000 shared:SSL:10m;

  #もうSSLはv3も含めて使わない
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

  #古いcipherは使わない
  ssl_ciphers 'kEECDH+ECDSA+AES128 kEECDH+ECDSA+AES256 kEECDH+AES128 kEECDH+AES256 kEDH+AES128 kEDH+AES256 DES-CBC3-SHA +SHA !aNULL !eNULL !LOW !kECDH !DSS !MD5 !EXP !PSK !SRP !CAMELLIA !SEED';

  #ブラウザ側にcipherを選ばせないようにする
  ssl_prefer_server_ciphers on;

  #2048bitで生成したPFS cipherを使用する
  ssl_dhparam /path/to/pfs2048.pem;

  location / {
    #書きたいことを書く
  }
}

注意

上記設定を行うと、IE6とJava1.6に影響が出ます。出ますが…古いしきっと誰も使っていないでしょう。

次のステップ

HSTSを有効にすべき

add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains;'

それ用のヘッダを差し込むようにすればできる。
これでスコアA+を獲得することが可能。

参考文献

[https://www.ssllabs.com/projects/best-practices/index.html]

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3