GH GambleHub

SSL終了とバランサ

簡単な要約

SSL/TLS終了は、アプリケーションから暗号ロードを削除し、L7ルーティング、WAF、レートリミット、mTLS、カナリアリリースへの道を開きます。主なソリューション:TLS(エッジ/入力/インサイドメッシュ)をどこで終了するか、バランスをとる方法(L4とL7)、使用する暗号プロファイル、ダウンタイムなしで証明書を更新する方法、SLOでp95のレイテンシーとエラーを維持する方法。


TLSを終了する場所

エッジ(CDN/Anycast/WAF):最小限のユーザー待ち時間、グローバル保護、キャッシュ/ボット制御。さらに-バックエンドに再暗号化します。
入力L7 (Nginx/Envoy/HAProxy/ALB): fine URI/header routing、 mTLS、 JWT検証。
エンドツーエンドのTLS(パススルーL4):エンドツーエンドのmTLSがポッド/サービスの前に必要な場合(例:厳密なコンプライアンスゾーン)。
サービスメッシュ(Envoy/Istio/Linkerd):自動化されたクラスタ内mTLS、ポリシー、テレメトリー。

練習:より頻繁に-エッジ終了→入力への再暗号化;PII/支払い-サービス前にmTLS。


L4とL7のバランシング

L4 (TCP/UDP):最小遅延、シンプルなヘルスチェック(ポート/TCP)、パススルーTLS。L7機能が不足しているTLSのgRPCに適しています。
L7 (HTTP/HTTPS/HTTP3): host/path/header/cookieルーティング、WAF、レート制限、カナリアリリース、スティッキーセッション、リトレイ/タイムアウト。


TLS: バージョン、キー、暗号

バージョン: TLS 1。3どこでも、TLS 1。2フォールバックとして。1を無効にします。0/1.1.

キー/serts: ECDSA (P-256)-RSAよりも高速。あなたは古代のためのダブルスタック(ECDSA+RSA)することができます。

ALPN: 'h2'、 'http/1。1`;HTTP/3-'h3' (QUIC/UDP)

OCSPステープリング:include;パブリックドメインのHSTS。

主要なプール: KMS/HSMで貯えられる;自動更新(ACME/trust tree)

0-RTT (TLS 1。3):ポイント(GET/idempotent)を含んで下さい、リプレイの危険を考慮に入れて下さい。

基本的な暗号プロファイル(TLS 1。2): 'ECDHE-ECDSA-AES256-GCM-SHA384: ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE E-RSA AES2556 -GCM-SHA384: ECDHE-RSA-CHACHA20-POLY1305"


TLSパフォーマンス

再開:セッションチケット/ID-ハンドシェイクコストを削減します。
ECDSA+は、モバイル/非AES-NIのヘルプをChaCha20します。
OCSPステープリング+ショートチェーンはp95を削減します。
HTTP/2/3:多重化、接続数が少ない→p95未満。
オフロード:暗号用のピンCPUコア、リユースポート、チューンソケットバッファを有効にします。


安全性について

mTLS: require client-cert for admin/API文;失効のためのCRL/OCSP。
SNI/ECH: SNI-標準;ECH (Encr。ClientHello)(エッジプロバイダがサポートしている場合)ドメインを非表示にします。
厳格な輸送セキュリティ(HSTS):生産ドメイン、開始時に慎重に。
ホップ間のTLS: DC (Zero-Trust)内部でもサービスに再暗号化します。
Rate-limit/gray-oxen: L7でbot/brute-forceからapiを保護します。


観測可能性とSLO

SLO(例)

p95 TLSハンドシェイク≤ 80-120 ms(グローバル)、p95 TTFB ≤ 200-300 ms。

TLS(ハンドシェイク/ピアベリファイ)エラー≤ 0。1%.

再開の割合≥ 70%です。

メトリクス

'handshake_time'、 'tls_version'、 'alpn'、 'cert_expiry_days'、' ocsp_staple_status'。
L7: 'p50/p95/p99'、 '5xx'、 '429'、 'upstream_rq_time'、 'retry_budget'。
容量:アクティブ接続、CPS (1秒あたりの接続)、RPS。


典型的な構成

Nginx (L7終端+HTTP/2+OCSPホチキス)

nginx server {
listen 443 ssl http2 reuseport;
server_name api.example.com;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:...:ECDHE-RSA-CHACHA20-POLY1305';
ssl_ecdh_curve X25519:P-256;
ssl_certificate   /etc/ssl/cert.pem;    # полная цепочка ssl_certificate_key /etc/ssl/key.pem;
ssl_stapling on; ssl_stapling_verify on;
ssl_session_cache shared:SSL:50m; ssl_session_timeout 1d;

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_pass https://upstream_pool;
}
}

upstream upstream_pool {
zone backends 64k;
server 10.0.1.10:8443 max_fails=3 fail_timeout=10s;
server 10.0.1.11:8443 max_fails=3 fail_timeout=10s;
keepalive 256;
}

HAProxy (L7 terminate+stickiness+mTLS to backend)

haproxy frontend fe_https bind:443 ssl crt /etc/haproxy/certs/ alpn h2,http/1.1 mode http http-response set-header Strict-Transport-Security max-age=31536000 default_backend be_api

backend be_api mode http balance roundrobin cookie SRV insert indirect nocache option httpchk GET /healthz server s1 10.0.1.10:8443 check ssl verify required ca-file /etc/haproxy/ca.pem server s2 10.0.1.11:8443 check ssl verify required ca-file /etc/haproxy/ca.pem

Envoy (L7終了+顧客からのmTLS+カナリア)

yaml static_resources:
listeners:
- name: https address: { socket_address: { address: 0.0.0.0, port_value: 443 } }
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager stat_prefix: ingress route_config:
virtual_hosts:
- name: api domains: ["api.example.com"]
routes:
- match: { prefix: "/" }
route:
weighted_clusters:
clusters:
- name: api-stable weight: 95
- name: api-canary weight: 5 http_filters:
- name: envoy.filters.http.router transport_socket:
name: envoy.transport_sockets.tls typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext common_tls_context:
tls_certificates:
- certificate_chain: { filename: "/etc/tls/cert.pem" }
private_key:   { filename: "/etc/tls/key.pem" }
validation_context:       # mTLS (опционально)
trusted_ca: { filename: "/etc/tls/ca.pem" }
require_client_certificate: true

AWS ALB/NLB(コンセプト)

ALB (L7終了):HTTPSリスナー443 (TLS 1。2/1.3)、ターゲットグループHTTPs:8443、健康チェック'/healthz'、粘着性(クッキー)。
NLB (L4パススルー):TLSリスナー443、 TCPヘルスチェック、エンドツーエンドのSNIからポッドへ。
CloudFront/Cloudflare: TLSエッジ+WAF+ボット管理;origin-HTTPSのみ。


ダウンタイムなしで証明書を更新する

移行のためのデュアル証明書(ECDSA+RSA)

ACME (Let's Encrypt/Private CA)自動更新とホットリブート(Nginx 'reload'、 Envoy SDS)。
チェーン監視:中間CAをチェックします。OCSPは回転の後でステープリングします。
アラート:'cert_expiry_days <21'および'ocsp_status!=good'。


ヘルスチェックとルーティング

L4: TCP接続、TLSハンドシェイク。
L7: HTTP 200/JSONトークンのバージョン、gRPCの健全性。
政治家:粘着性のためのフェイルオーバー、重み付け、レイテンシ、一貫したハッシュ(Cookie/IP)。
リトレイ/タイムアウト:持続性と重複要求のバランス(idempotency!)。


Kubernetesパターン

入力コントローラ(Nginx/Envoy/HAProxy):入力終了、DNSレコードの'ExternalDNS'、 ACMEの'cert-manager'。
ゲートウェイAPI:宣言的TLSRoute/HTTPRouteとカナリア。
サービスメッシュ:自動mTLS pod↔pod、 'PeerAuthentication'/'DestinationRule'レベルのポリシー。


安全チェックリスト

  • TLS 1。3含まれています。1.0/1.1はオフです。
  • 現代の暗号;サポートが可能なECDSA serts。
  • OCSPのステープリング、完全な鎖、HSTS。
  • 管理者/相互接続のためのmTLS;顧客のsertsの取り消し。
  • エッジのレート制限/ボットフィルタ。slowloris/特大ヘッダーに対する保護。
  • バックエンド(Zero-Trust)に再暗号化します。
  • KMS/HSMの秘密/キー;回転および発行の監査。

観測可能性とアラート

TLSハンドシェイク/秒、故障率、セッション再開率、OCSP、 p95/99、オープンコーン、CPS、 RPS。
ログ:SNI/ALPN/TLSバージョン、暗号、クライアント証明書(mTLS用)、アップストリームコード、レイテンシの内訳。
アラート:成長'5xx/525'、秋の再開、'cert_expiry_days'、' ocsp_failed'、超過p95、スパイク'429'。


よくある間違い

保護のない端および明白なHTTPの内部で終わること。
過度に長いCAチェーン→p95ハンドシェイクの成長。
クライアント/ブラウザのOCSPステープル→ブロックなし。
劣化したノードのフェイルオーバー→「スティッキング」を考慮せずにスティッキーセッション。
リクエストを変更するための0-RTTが有効になりました→再送信のリスク。
回転中のホットリロードのserts→セカンドドロップの欠如。


iGaming/Fintechの特異性

ピーク(トーナメント/試合):TLSセッションのウォーミングアップ(事前接続)、ショートチェーン、再開の割合が高い、フロントのHTTP/2/3。
支払ゲートウェイ/PSP: mTLS、厳格な暗号/バージョン、ピン留めCA、厳格なルールを持つ個々のドメイン/ALB。
Antifraud/botフィルタ:IP/ASN/device-fingerprint、 canary gray oxen (challenge/captcha)によるL7-rate-limit。
規制:HSTS、監査済みTLSログ、バージョンレポート、インシデントのクライアントサーツのリコール。


ミニプレイブック

L7バランサーによるカナリアリリース

1.重量5%の「api-canary」クラスタを追加します。2) p95/エラーを監視します。3) 5→25→50→100%;4)分解の間の自動短縮。

緊急証明書の回転

1.新しいcert/keyをダウンロードします。2)接続をドロップせずに'リロード'(SDS/ホットスワップ);3) OCSPの点検;4)ダッシュボードp95握手。

HTTP/3をオンにする

1.UDP/443を開きます。2) ALPN 'h3'を追加します。3)個々のQUICの損失/RTTのメトリクス;4)顧客の共有によるA/B。


[結果]

効果的なSSL終了は、現代のTLSプロファイル、適切な終了位置、スマートL 7ルーティング、観測性、強力なセキュリティ(mTLS、 HSTS、再暗号化)です。すべてをIaCにロックし、回転を自動化し、p95/エラーを測定し、カナリアを使用します。これにより、フロントはピークを生き残り、予測的に高速かつ安全になります。

Contact

お問い合わせ

ご質問やサポートが必要な場合はお気軽にご連絡ください。いつでもお手伝いします!

統合を開始

Email は 必須。Telegram または WhatsApp は 任意

お名前 任意
Email 任意
件名 任意
メッセージ 任意
Telegram 任意
@
Telegram を入力いただいた場合、Email に加えてそちらにもご連絡します。
WhatsApp 任意
形式:+国番号と電話番号(例:+81XXXXXXXXX)。

ボタンを押すことで、データ処理に同意したものとみなされます。