एसएसएल समाप्ति और संतुलन
संक्षिप्त सारांश
SSL/TLS समाप्ति क्रिप्टो लोड को अनुप्रयोगों से हटा देती है और L7 रूटिंग, WAF, दर-सीमा, mTLS, कैनरी रिलीज़ का रास्ता खोलती है। प्रमुख समाधान: जहां TLS (एज/इंग्रेस/इनसाइड मेष) को समाप्त करना है, कैसे (L4 बनाम L7), जो उपयोग करने के लिए सिफर प्रोफाइल, डाउनटाइम के बिना प्रमाणपत्र कैसे अपडेट करें, और SLLO O O O O।
टीएलएस कहाँ समाप्त करें
एज (CDN/Anycast/WAF): न्यूनतम उपयोगकर्ता विलंबता, वैश्विक सुरक्षा, कैश/बॉट नियंत्रण। आगे - बैकएंड में फिर से एन्क्रिप्ट करें।
Ingress L7 (Nginx/Envoy/HAProxy/ALB) पर: ठीक URI/हेडर रूटिंग, mTLS, JWT सत्यापन।
एंड-टू-एंड टीएलएस (पासथ्रू एल 4): जब पॉड/सर्विस (जैसे) से पहले एंड-टू-एंड एमटीएलएस की आवश्यकता होती है। सख्त अनुपालन क्षेत्र)।
सेवा मेश (दूत/इस्तियो/लिंकर्ड): स्वचालित इंट्रा-क्लस्टर एमटीएलएस, नीति और टेलीमेट्री।
अभ्यास: अधिक बार - किनारे को समाप्त करने के लिए फिर से एन्क्रिप्ट; पीआईआई/भुगतान के लिए - सेवा से पहले एमटीएलएस।
L4 बनाम L7 संतुलन
L4 (TCP/UDP): न्यूनतम देरी, सरल स्वास्थ्य-जांच (पोर्ट/टीसीपी), पासथ्रू टीएलएस। जब एल 7 सुविधाओं की कमी हो तो टीएलएस पर जीआरपीसी के लिए उपयुक्त।
L7 (HTTP/HTTPS/HTTP3): होस्ट/पाथ/हेडर/कुकी रूटिंग, WAF, रेट-लिमिट, कैनरी रिलीज, चिपचिपा सत्र, रिट्रे/टाइमआउट।
टीएलएस: संस्करण, कुंजी, सिफर
संस्करण: टीएलएस 1। 3 हर जगह, टीएलएस 1। गिरावट के रूप में 2। 1 अक्षम करें। 0/1. 1.
कुंजी/सर्ट: ECDSA (P-256) - RSA की तुलना में तेज; आप पुरातनता के लिए डबल-स्टैक (ECDSA + RSA) कर सकते हैं।
ALPN: 'h2' и 'http/1। 1`; HTTP/3 - 'h3' (QUIC/UDP) के लिए।
OCSP स्टेपलिंग: शामिल हैं; सार्वजनिक डोमेन पर HSTS।
कुंजी पूल: KMS/HSM में संग्रहीत; स्वचालित नवीकरण (ACME/ट्रस्ट ट्री)।
0-RTT (टीएलएस 1। 3): बिंदु (GET/idempotent) शामिल करें, रीप्ले के जोखिम को ध्यान में रखें।
बेसिक सिफर प्रोफाइल (TLS 1। 2): 'ECDHE-ECDSA-AES256-GCM-SHA384: ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE - RSS526-GCM-SHA384: ECDHE-RSA-CHACHA20-POLY1305'
टीएलएस प्रदर्शन
बहाली: सत्र टिकट/आईडी - हैंडशेक लागत को कम करें।
ECDSA + ChaCha20 मोबाइल/गैर-AES-NI पर मदद करता है।
OCSP स्टेपलिंग + शॉर्ट चेन p95 को कम करते हैं।
: मल्टीप्लेक्सिंग, कम कनेक्शन - p95 से कम।
ऑफ़ लोड: क्रिप्टो के लिए पिन सीपीयू कोर, पुन: प्रयोज्य, ट्यून सॉकेट बफ़र्स सक्षम करें।
सुरक्षा
mTLS: व्यवस्थापक/एपीआई बयानों के लिए क्लाइंट-सर्टिफिकेट की आवश्यकता होती है; निरसन के लिए सीआरएल/ओसीएसपी।
एसएनआई/ईसीएच: एसएनआई - मानक; ECH (Encr। ClientHello) डोमेन को छुपाता है (यदि एज प्रदाता इसका समर्थन करता है)।
सख्त परिवहन सुरक्षा (HSTS): उत्पादन डोमेन, शुरू में सावधानी के साथ।
हॉप्स के बीच टीएलएस: डीसी (जीरो-ट्रस्ट) के अंदर भी सेवा के लिए फिर से एन्क्रिप्ट करें।
दर-सीमा/ग्रे-बैल: L7 पर बॉट्स/ब्रूट-बल से एपी की रक्षा करें।
अवलोकन और एसएलओ
एसएलओ (उदाहरण)
p95 TLS-हैंडशेक ≤ 80-120 ms (वैश्विक), p95 TTFB ≤ 200-300 ms।
TLS (हैंडशेक/पीयर-सत्यापित) त्रुटियां ≤ 0। 1%.
दोहराव यात्राओं के लिए फिर से शुरू ≥ 70% का अनुपात।
मेट्रिक्स
'handshake _ time', 'tls _ vision', 'alpn', 'cert _ expiry _ days', 'ocsp _ staple _ station'।
L7: 'p50/p95/p99', '5xx', '429', 'अपस्ट्रीम _ rq _ time', 'रेट्री _ बजट'।
क्षमता: सक्रिय कनेक्शन, सीपीएस (कनेक्शन प्रति सेकंड), आरपीएस।
विशिष्ट कॉन्फ़िग
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 समाप्त + चिपचिपाहट + mTLS से बैकएंड)
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
दूत (ग्राहक + कैनरी से 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 ', चिपचिपाहट (कुकी)।
एनएलबी (एल 4 पासथ्रो): टीएलएस श्रोता 443, टीसीपी स्वास्थ्य-जांच, अंत-से-अंत एसएनआई पॉड करने के लिए।
CloudFort/Cloudflare: TLS edge + WAF + Bot प्रबंधन; मूल - केवल HTTPS।
डाउनटाइम के बिना प्रमाणपत्र अद्यतन किया जा रहा है
ACME (चलो एन्क्रिप्ट/प्राइवेट CA) स्वचालित अपडेट और हॉट रिबूट (Nginx 'reload', Envoy SDS) के साथ।
प्रवास के लिए दोहरे प्रमाणपत्र (ECDSA + RSA)।
चेन मॉनिटरिंग: मध्यवर्ती सीए की जाँच; रोटेशन के बाद OCSP स्टेपलिंग।
अलर्ट: 'cert _ expiry _ days <21' और 'ocsp _ state! = अच्छा'।
स्वास्थ्य-जांच और मार्ग
L4: TCP कनेक्ट, TLS हैंडशेक।
L7: HTTP 200/JSON टोकन संस्करण, gRPC स्वास्थ्य।
राजनेता: चिपचिपे के लिए असफल, भारित, विलंबता, सुसंगत-हैश (कुकी/आईपी)।
रिट्रेज ़/टाइमआउट: दृढ़ ता और डुप्लिकेट अनुरोधों के बीच संतुलन (पहचान!)।
Kubernetes-पैटर्न
इंग्रेस कंट्रोलर (Nginx/Envoy/HAProxy): DNS रिकॉर्ड के लिए Ingress समाप्ति, ACME के लिए 'सर्टिफिकेट-मैनेजर'।
गेटवे एपीआई: कैनरी के साथ घोषणात्मक TLSRoute/HTTPRoute।
सेवा मेष: स्वचालित एमटीएलएस pod↔pod, 'पीयरऑटेंशन '/' डेस्टिनेटरूल' स्तर पर नीतियां।
सुरक्षा जांच सूची
- टीएलएस 1। 3 शामिल हैं; 1. 0/1. 1 बंद हैं।
- आधुनिक सिफर्स; ECDSA सर्ट जहां समर्थन की अनुमति देता है।
- OCSP स्टेपलिंग, पूर्ण श्रृंखला, HSTS।
- प्रशासन/इंटरकनेक्ट के लिए एमटीएलएस; ग्राहक सर्ट का निरसन।
- किनारे पर दर-सीमा/बॉट फिल्टर; मंदी/ओवरसाइज़हेडर के खिलाफ सुरक्षा।
- बैकएंड्स (जीरो-ट्रस्ट) को फिर से एन्क्रिप्ट करें।
- केएमएस/एचएसएम में रहस्य/कुंजी; रोटेशन और जारी करने का ऑडिट।
अवलोकन और अलर्ट
Метрики: TLS हैंडशेक/सेकंड, विफलता दर, सत्र फिर से शुरू करने की दर, OCSP, p95/99, ओपन शंकु, CPS, RPS।
लॉग: SNI/ALPN/TLS संस्करण, सिफर, क्लाइंट प्रमाणपत्र (mTLS के लिए), अपस्ट्रीम कोड, विलंबता टूटना।
अलर्ट: वृद्धि '5xx/525', फिर से शुरू होना, 'cert _ expiry _ days', 'ocsp _ असफल', अतिरिक्त p95, स्पाइक्स '429'।
सामान्य गलतियाँ
सुरक्षा के बिना किनारे और सादे HTTP अंदर की ओर समाप्त।
अत्यधिक लंबी सीए श्रृंखलाएं - p95 हैंडशेक की वृद्धि।
कोई OCSP स्टेपलिंग - क्लाइंट/ब्राउज़र पर अवरोधक नहीं।
एक अपमानित नोड पर विफल - "चिपके" को ध्यान में रखे बिना स्टिकी सत्र।
0-RTT अनुरोधों को संशोधित करने के लिए सक्षम → पुनरुत्थान का जोखिम।
रोटेशन के दौरान हॉट-रीलोड सर्ट की कमी - दूसरी बूंदें।
IGaming/fintech के लिए विशिष्टता
चोटियों (टूर्नामेंट/मैच): टीएलएस सत्र (पूर्व-कनेक्ट), छोटी श्रृंखलाओं, फिर से शुरू होने का उच्च अनुपात, HTTP/2/3 मोर्चों के लिए।
भुगतान प्रवेश द्वार/पीएसपी: एमटीएलएस, सख्त सिफर/संस्करण, सख्त नियमों के साथ सीए, व्यक्तिगत डोमेन/एएलबी को पिन किया।
एंटीफ्राड/बॉट फिल्टर: IP/ASN/डिवाइस-फिंगरप्रिंट, कैनरी ग्रे बैले (चैलेंज/कैप्चा) द्वारा एक अलग डोमेन पर।
नियामक: एचएसटीएस, ऑडिट किए गए टीएलएस लॉग, संस्करण रिपोर्ट, घटनाओं के लिए क्लाइंट सर्ट को याद करते हैं।
मिनी प्लेबुक
L7 बैलेंसर के माध्यम से कैनरी रिलीज़
1. 5% वजन वाला 'एपी-कैनरी' क्लस्टर जोड़ें; 2) p95/त्रुटियों के लिए देखें; 3) 5→25→50→100%; 4) गिरावट के दौरान ऑटो-शॉर्टनिंग।
आपातकालीन प्रमाणपत्र घुमाव
1. नया सर्टिफिकेट/कुंजी डाउनलोड करें; 2) कनेक्शन छोड़े बिना 'पुनः लोड' (एसडीएस/हॉट स्वैप); 3) OCSP जांच; 4) डैशबोर्ड p95 हैंडशेक।
HTTP/3 पर मुड़ ना
1. UDP/443 खोलें; 2) ALPN 'h3' जोड़ें; 3) व्यक्तिगत QUIC हानि/RTT मैट्रिक्स; 4) ग्राहक शेयर द्वारा ए/बी।
परिणाम
प्रभावी एसएसएल समाप्ति एक आधुनिक टीएलएस प्रोफाइल, सही समाप्ति स्थान, स्मार्ट एल 7 रूटिंग, अवलोकन और मजबूत सुरक्षा (एमटीएलएस, एचएसटीएस, री-एन्क्रिप्ट) है। IaC में सब कुछ लॉक करें, स्वचालित घूर्णन, p95/त्रुटियों को मापें और कैनरी का उपयोग करें - इस तरह सामने की चोटियों से बच जाएगा और अनुमानित रूप से तेज और सुरक्षित होगा।