nginx+opensslを使ったTLSv1.3対応 簡易メモ
nginx最新版を落としてくる
この記事を書いた時点での最新は1.15.8だった
wget http://nginx.org/download/nginx-1.15.8.tar.gz
続いてOpenSSL最新版を落としてくる
最新版は1.1.1a
wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
OpenSSL
tar xvf openssl-1.1.1a.tar.gz
cd openssl-1.1.1a
./config –prefix=/usr/local/openssl-1.1.1 shared zlib enable-tls1_3
make depend
make
sudo make install
/usr/local/openssl-1.1.1/bin/openssl ciphers -v TLSv1.3
で確認した結果、以下になってれば完了
TLS_AES_256_GCM_SHA384 TLSv1.3 Kx=any Au=any Enc=AESGCM(256) Mac=AEAD
TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD
TLS_AES_128_GCM_SHA256 TLSv1.3 Kx=any Au=any Enc=AESGCM(128) Mac=AEAD
以下のサイトよりパッチを手に入れる
「openssl にパッチを当てる」のところ
https://blog.kteru.net/nginx-config-tls13-ciphers-by-force/
cd /usr/local/openssl-1.1.1/include/openssl
移動して適当な名前で保存
openssl.patchとか・・・
pactch < openssl.patch
して適用
Nginx
tar xvf nginx-1.15.8.tar.gz
cd nginx-1.15.8
./configure 任意のオプション ¥
–with-openssl=/usr/local/openssl-1.1.1 ¥
–with-openssl-opt=’enable-tls1_3 enable-ec_nistp_64_gcc_128 -fPIC’
make
sudo make install
終わったらnginx -Vしてみて
built with OpenSSL 1.1.1a FIPS 20 Nov 2018
TLS SNI support enabled
ってなってたらOpenSSL 1.1.1aでビルド出来てるので成功
因みにmake時に
/bin/sh: line 2: ./config: そのようなファイルやディレクトリはありません
make[1]: *** [/usr/local/openssl-1.1.1/.openssl/include/openssl/ssl.h] エラー 127
このような事を言われたら
cd auto/lib/openssl
に移動して
vi conf
confファイルを開いて
39-42行目辺りにある.opensslを削除してから
念の為再度configureしてからmakeする
nginxのconfファイルの設定
ssl_ciphers ‘TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256’;
ssl_prefer_server_ciphers on;
ssl_ecdh_curve X25519:prime256v1;
ssl_protocols TLSv1.3 TLSv1.2;
dhparams.pemも使っている場合は更新しておく
openssl dhparam -out dhparams.pem 4096
めっちゃ時間がかかるので注意
nginxを再起動する
https://www.ssllabs.com/ssltest/
でチェックしてみて
TLS 1.3 Yesってなっていれば成功!
因みにうちはOverrall Rating Aでした(A+じゃないのか・・・)
以上
しかし、WordPress5.0で初めて書いてるんだけど、慣れない?せいかやり難い・・・
