SSL/TLS (Secure Sockets Layer / Transport Layer Security)

メール & セキュリティ
Web サーバーとブラウザ間の通信を暗号化する暗号プロトコル。HTTPS とパドロックアイコンで示されます。
← 用語集に戻る

SSL/TLSとは?

SSL(Secure Sockets Layer)とTLS(Transport Layer Security)は、ネットワーク上の通信を保護する暗号化プロトコルです。 TLS は SSL の近代的な後継者ですが、「SSL」は両方を参照するために一般的に使われています。 これらのプロトコルは HTTPS を有効にし、ブラウザーとサーバー間でデータを暗号化します。

SSLとTLS:短い歴史

バージョン年間行事ステータス
SSL の 1.01994年(平成6年)決して解放されなかった(違法)
SSL 2.0の1995年(1995年)非推奨(無担保)
SSL の 3.01996年(平成8年)廃止(POODLE脆弱性)
TLS 1.0の特長1999年(平成11年)免責事項
TLS 1.1の特長2006年(平成18年)免責事項
TLS 1.2の特長2008年10月20日現在の標準
TLS 1.3の特長2018年12月18日最新, おすすめ

現代のシステムは、TLS 1.2 または TLS 1.3 のみを使用する必要があります。

TLSの仕組み

TLSハンドシェイク

1. クライアントこんにちは: ブラウザは、サポートされているTLSバージョンと暗号スイートを送信

2. サーバーこんにちは: サーバは TLS バージョンと暗号スイートを選択します。

3. 証明書:サーバーはSSL証明書を送信します

4. 鍵交換:セキュアキー交換(暗号スイートによる変動)

5. 終了しました: 暗号化されたセッションが確立されました

Client                          Server

|-- Client Hello -------------->|

|<-- Server Hello --------------|

|<-- Certificate ---------------|

|<-- Key Exchange --------------|

|-- Key Exchange -------------->|

|-- Finished ------------------>|

|<-- Finished ------------------|

|<======= Encrypted Session ===>|

TLS 1.3はこれを単一の往復に減らします、性能を改善します。

SSL/TLS 証明書

証明書とは何ですか?

証明書の種類

ドメイン検証済み(DV): ドメインの所有権を約束する 組織検証(OV): 組織のアイデンティティを検証 拡張検証(EV): 最も高い検証レベル

証明書の適用範囲

単一ドメイン: 1つのドメイン(example.com)をカバー ワイルドカード:すべてのサブドメイン(*.example.com)をカバー マルチドメイン(SAN): 複数の特定のドメインをカバー

SSL/TLSの実装

Let's Encryptによる無料の証明書

# Using Certbot

sudo certbot --nginx -d example.com -d www.example.com

# Auto-renewal

sudo certbot renew --dry-run

クラウドプロバイダー証明書

ほとんどのクラウドプラットフォームは、無料の自動更新証明書を提供します。

-AWS:証明書マネージャ(ACM)

-Google Cloud:管理されたSSL証明書

証明書の検証

ブラウザは証明書を認証します:

1。 証明書チェーンを信頼できるルートCAにチェックする

2. 証明書の有効期限が切れていないことを確認する

3. ドメインマッチの確認

4. 取消状況の確認(CRL/OCSP)

SSL/TLSベストプラクティス

サーバー構成

TLS 1.2+ を使用して下さい: 無効なSSL 3.0、TLS 1.0、TLS 1.1
ssl_protocols TLSv1.2 TLSv1.3;
Strong Cipher Suites : 近代的な、安全な暗号を優先して下さい
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
HSTS:強制HTTPS(HSTS用語集エントリを参照)

証明書管理

SSL/TLSの確認

DomScanの使用:
curl "https://domscan.net/v1/health?domain=example.com"

# Returns SSL validity, issuer, expiration

OpenSSLの使用:
openssl s_client -connect example.com:443 -servername example.com
オンラインツール: SSL Labs(ssllabs.com/ssltest)は、包括的な分析を提供します。

一般的なSSLの問題

ミックスコンテンツ:HTTPリソースをロードするHTTPSページ(ブラウザによってブロック) 証明書 Mismatch: 証明書はドメインに一致しません 有効な証明書:証明書の有効期間が終了 不完全な鎖:中間の証明書を欠くこと

SSL/TLS はオプションではありません。すべてのウェブサイトは HTTPS を使用してセキュリティと SEO の利点を使用する必要があります。

この知識を実践する

DomScan の API を使用してドメインの可用性、状態などを確認します。