POSTD PRODUCED BY NIJIBOX

POSTD PRODUCED BY NIJIBOX

ニジボックスが運営する
エンジニアに向けた
キュレーションメディア

POSTD PRODUCED BY NIJIBOX

POSTD PRODUCED BY NIJIBOX

ニジボックスが運営する
エンジニアに向けた
キュレーションメディア

FeedlyRSSTwitterFacebook
Julian Simioni

本記事は、原著者の許諾のもとに翻訳・掲載しております。


WebHTTPSWebWeb

     WebWebHTTPS

Web2HTTPS ^(1) 

Eric Mill  HTTPS HTTPS Qualys SSL Report  A+ 調

A+ score on juliansimioni.com
Nginx

1

2 Nginxciphersuite

: 使


HTTPSOpenSSL

 ^(2) 

     
mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
openssl req -new -x509 -sha256 -newkey rsa:2048 -days 365 -nodes -out /etc/nginx/ssl/nginx.pem -keyout /etc/nginx/ssl/nginx.key

基本的なSSL ^(3) 向けのNginxの設定部分も簡単です。以下の設定をnginxファイルに追加します。

server {

      # [...]

      listen 443 ssl;
      ssl_certificate      /etc/nginx/ssl/nginx.pem;
      ssl_certificate_key  /etc/nginx/ssl/nginx.key;

      # [...]
}

 Linode 1

NginxHTTPS使

OpenSSL


OpenSSL SSLTLSNginxWeb使OpenSSL  

 Heartbleed  Web Heartbleed20144Web  Web

OpenSSLWeb使
$ openssl version
OpenSSL 1.0.1k 8 Jan 2015

2048ビットおよびSHA256の署名による証明書の作成を確認


StartSSL 3,000 

使 SHA1 使 Google  Microsoft [] (https://www.schneier.com/blog/archives/2012/10/when_will_we_se.html)SHA1SHA1SHA1 SHA256 

SHA1Chrome Firefox SHA1SHA256

RSARSA2048  ^(4) 1024  SHA11024使Mozilla20149Firefox321024  

使SHA2562048RSA使
openssl x509 -in /etc/nginx/ssl/nginx.pem -text -noout | grep "Signature\|Public-Key"
# Should give the following output:
# Signature Algorithm: sha256WithRSAEncryption
# Public-Key: (2048 bit)
# Signature Algorithm: sha256WithRSAEncryption

ServerFault  

 sha1WithRSAEncryption  (1024 bit) 


HTTPSJavaScriptCSSWebHTTP

Mixed content warning in Firefox
Firefox

WebHTTPS使JavaScriptCSS  

  

Web http://  https:// HTTPS

HTTPHTTPS protocol-relative URL 





(一)CA

(二)webmaster@yourdomain.com  postmaster@yourdomain.com DNSSOA

(三)CSR


1Web使 StartSSL  Verisign  Comodo  GoDaddy 

2DNSDNSDNS

 FastMail 使FastMailFastMail使  使

12CSRCSR

使CSR
openssl req -new -sha256 -key /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/yourwebsite.com.csr

WebCSR /etc/nginx/ssl/yourwebsite.com.crt 

StartSSL使Erik Mill  

CRTNginx ^(5)  WebTLS使

WebSSL Labs

freshly-minted-certificate-test
NginxCA+Nginx


  1. 私のサーバはその間ずっと、HTTPSやポート443へのリクエストに対してレスポンスを返すことさえしませんでした。

  2. 本当に安全な通信を実現するには、次の3つが必要です。適正な機関からのメッセージであることを証明すること(認証)、対象とする受け手だけがメッセージの内容を読めるように難読化すること(暗号化)、送信中にメッセージが変更されなかったことを証明する方法(メッセージダイジェスト)です。自己署名証明書は何の認証もしていないので、ほとんど役に立ちません。 TLS に関するWikipediaのページに、機能の概要が分かりやすく説明されています。


  3. SSL  TLSSSLTLSTLSSSL 
  4. 4096ビット鍵は今のところ、認証局を除けば過剰な長さだと考えられているので、2048ビットが最適なサイズです。2048ビット鍵の安全性は1024ビット鍵の2倍ではなく、 2の1024乗 倍ということを思い出してください。ただし、処理速度は2倍遅くなります。当分の間は2048ビットで十分と言えるので、4096ビット鍵は、単に暗号化の処理を遅らせるだけです。

  5. 最初に、おそらく( このような 感じの)OCSPエラーを受け取るでしょう。これは数時間で解消します。オンライン証明書状態プロトコル(OCSP)は証明書が取り消しになっていないかを判定するシステムです。あなたの証明書は発行されたばかりなので、証明書がまだ有効かどうかを確認する情報はシステムにはありません。そのため、その情報を取得するには少し時間がかかります。次の記事でOSCPについてもっと詳しく学びます。

監修者
監修者_古川陽介
古川陽介
株式会社リクルート プロダクト統括本部 プロダクト開発統括室 グループマネジャー 株式会社ニジボックス デベロップメント室 室長 Node.js 日本ユーザーグループ代表
複合機メーカー、ゲーム会社を経て、2016年に株式会社リクルートテクノロジーズ(現リクルート)入社。 現在はAPソリューショングループのマネジャーとしてアプリ基盤の改善や運用、各種開発支援ツールの開発、またテックリードとしてエンジニアチームの支援や育成までを担う。 2019年より株式会社ニジボックスを兼務し、室長としてエンジニア育成基盤の設計、技術指南も遂行。 Node.js 日本ユーザーグループの代表を務め、Node学園祭などを主宰。