NginxでTLS 1.2を有効にする方法は?


17

Ubuntu 12.04サーバーでSSL接続のTLS 1.1および1.2を有効にするにはどうすればよいですか?私は次のバージョンのnginxとopensslライブラリを使用しています。

$ ./nginx -v
nginx version: nginx/1.2.3

$ openssl version -a
OpenSSL 1.0.1 14 Mar 2012
built on: Tue Jun  4 07:26:06 UTC 2013
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx) 
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"

まだ何か見つけた?
BigSack

これを解決しましたか?使用しているnginxバージョンは非常に古いものです。このArs Technicaの記事でSSL構成が役立つ場合があります。
ポール

回答:


14

まず、以下でSSL / TLSを有効にする必要がありますnginx.conf

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name example.org;

    ssl_certificate /etc/ssl/example.org.crt;
    ssl_certificate_key /etc/ssl/private/example.org.key;

2 listen行は、IPv4およびIPv6接続でSSLを有効にします。IPv6がない場合は、2 listen行目を省略できます。

サーバー証明書がにあると仮定します/etc/ssl。別のパスを使用する場合は、最後の2行を変更します。

ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

これにより、さまざまなTLSバージョンが有効になります。現在のブラウザはすべてTLS1.2を使用できます。古いブラウザについては、安全な設定を有効にする小さなハウツーを書きました。

ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA;
ssl_prefer_server_ciphers on;

最初の行は、nignxが使用する暗号を設定します。2行目は、サーバー(クライアントではなく)側の暗号スイートを優先します。そのため、強力な(er)暗号を使用できます。

完了したら、nginxはTLS1.2を使用する必要があります。必要に応じて、サイトをTLS1.2の殿堂に追加して、誇りに思うことができます。;)

ただし、設定を改善する方法はいくつかあります。安全なnginx設定については、このドイツ語のガイドに従ってください


Ubuntu 12は、相互運用性の理由でTLS 1.1およびTLS 1.2を無効にします。彼らは最近TLS 1.1を有効にしたと思いますが、TLS 1.2にはまだ欠けていると思います。OpenSSLダウンレベルバージョンは1.0.0で、TLS 1.2をサポートしていないをご覧ください。

1

nginxの後続のバージョンで対処されたセキュリティ勧告が多数あります。この状況がまだ続く場合(6か月前の投稿ですか?)、アップグレードを真剣に検討してください。Webサーバー自体が安全でない場合、TLS設定は重要ではありません。詳細については、http://nginx.org/en/security_advisories.htmlを参照してください。

何らかの理由でこのバージョンのnginxを実行する必要がある場合、nginx(またはApache)で強力な暗号スイートを有効にするために利用できる情報はおそらく役立つでしょう:https : //community.qualys.com/blogs/securitylabs/2013/08/ 05 / configuring-apache-nginx-and-openssl-for-forward-secrecy


0

Ubuntu 12.04サーバーでSSL接続のTLS 1.1および1.2を有効にするにはどうすればよいですか?

3つの選択肢があると思います。

まず、何もせずに、Ubuntu 12のOpenSSLバージョンを使用します。TLS 1.1は現在サポートされていると思いますが、TLS 1.2はまだありません。

第二に、独自のPPAを構築して維持します。カスタムパッケージを使用したディストリビューションパッケージのオーバーライドには、いくつかの手順がありますか完全を期すために、完全なプロトコルを提供するUbuntuおよびOpenSSL用の既存の個人パッケージアーカイブはありません。

3つ目は、Ubuntu 14などのUbuntuの新しいバージョンへのアップグレードです。現在、Ubuntu 14でそれらがすべて有効になっているかどうかを確認しようとしています。Ubuntu 14、OpenSSL、およびTLSプロトコルを参照してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.