SSL տերմինացիա և հավասարակշռիչներ
Ռուսական ռեզյումե
SSL/TSA տերմինացիան հեռացնում է ծպտյալ բեռը ծրագրերից և բացում է ճանապարհը դեպի L7 երթուղի, WAF, rate-limit, mTSA-ը, կանայական թողարկումներ։ Հիմնական լուծումները 'որտեղ ավարտել TFC (edge/ingress/mesh), ինչպես հավասարակշռել (L4 vs L7), ինչ ծածկագրեր օգտագործել, ինչպես նորարարել հավաստագրերը առանց dountaim և ինչպես պահել p95 լատենտ և սխալներ SLO-ում։
Որտեղ ավարտել TFC
Եզրին (CDN/Anycrim/WAF) 'օգտագործողի նվազագույն լատենտ, գլոբալ պաշտպանություն, քեշ/բոտ վերահսկողություն։ Հետո 're-encrypt մինչև backend։
Ingress L7 (Nginx/Envoy/HAProxy/ALB) 'նուրբ երթուղայնացում URI/վերնագրերում, mTSA, JWT-validation։
TFC-ի միջոցով (passthrough L4), երբ անհրաժեշտ է end-to-end mTSA-ը մինչև pod/108 (օրինակ, խիստ կոմպլանսի գոտի)։
Mesh (Envoy/Istio/Linkerd) - ավտոմատ mTSA-ը ռուսական, քաղաքականության և հեռուստացույցի ներսում։
Պրակտիկա 'ավելի հաճախ' edge terminate re-encrypt մինչև ingress; PII/վճարումների համար mTSA-ն մինչև 2019 թվականը։
L4 vs L7 հավասարակշռություն
L4 (TCP/UDP) 'նվազագույն ուշացում, պարզ health-ks (պորտ/TSR), passthrough TLS։ Հարմար է gRPC-ի համար TFC-ում L7-ֆիչի պակասի դեպքում։
L7 (HTT/HTTPS/HTTP3) 'հանրակացարան/ուղի/վերնագրեր/cookies, WAF, rate-limits, kanarech, sticky նստաշրջաններ, trai/timauta։
TFC 'վարկածներ, բանալիներ, ծածկագրեր
Տարբերակները ՝ TFC 1։ 3 ամենուր, TFC 1։ 2 որպես fallback։ Անջատեք 1։ 0/1. 1.
Բանալիները/սերթերը ՝ ECDPR (P-256) - ավելի արագ, քան RTS; կարող եք կրկնօրինակել (ECDPS + RSA) հնության համար։
ALPN: `h2` и `http/1. 1`; HTTP/3-ի համար '«h3» (QUIC/UDP)։
OCAST Stapling: Ներառել; HSTS-ը հանրային մրցույթներում։
Պուլները ՝ KFC/HSM; ավտոմատ երկարացում (ASME/վստահության ծառ)։
0-RTT (TLS 1. 3), ներառել կետային (GET/idempotent), հաշվի առնել replay ռիսկը։
Ծածկագրերի հիմնական պրոֆիլը (TFC 1։ 2): `ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305`
TOM արտադրողականությունը
Resumption: session tickets/IDs - նվազեցնում են handshake արժեքը։
ECDPS + ChaCha20 օգնում են բջջային/առանց AES-NI-ի։
OCMS Stapling + կարճ շղթաները նվազեցնում են p95։
HTTP/2/3 'բազմապատկումը, ավելի քիչ, քան p95-ից ցածր։
Syload: pin CPU միջուկը crypto-ի տակ, միացրեք reuseae, tune socket-ալյումինները։
Անվտանգություն
MT.RU 'պահանջեք client-com վերանորոգման/API օպերատորների համար; CRL/OCSA-ը հետ կանչելու համար։
MSI/ECH: SNI-2019; ECH (Encr. ClientHello) թաքցնում է տիրույթը (եթե աջակցում է edge-պրովայդերը)։
Strict Transport Transport (HSTS): prod-ալգորիթմներ, նախօրոք։
TFC-ի միջև hop-ami: re-encrypt-ը մինչև 2019 թվականը, նույնիսկ DC-ի ներսում (Zero-Trust)։
Rate-limit/հունարեն-գայլերը 'L7-ի վրա պաշտպանում են ապին բոտերից/բրուտֆորից։
Դիտարկումը և SLO
SLO (օրինակներ)
P95 TMS-handshake 3580-120 ms (գլոբալ), p95 TTFB 35200-300 մզ։
TFC սխալները (handshake/peer-verify) 240։ 1%.
Ամփոփիչների մասնաբաժինը 70 տոկոսն է կրկնվող վիզաների համար։
Մետրիկները
`handshake_time`, `tls_version`, `alpn`, `cert_expiry_days`, `ocsp_staple_status`.
L7: `p50/p95/p99`, `5xx`, `429`, `upstream_rq_time`, `retry_budget`.
Capacity: ակտիվ կոննեկտներ, CPS (connections per second), RPS։
Տիպիկ եզրեր
Nginx (L7 terminate + HTTP/2 + OCSP stapling)
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 + mTSA բեքենդին)
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 terminate + mTSA հաճախորդից + կանարեյկա)
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 terminate): HTTPS listener 443 (TLS 1. 2/1. 3), target group HTTPs:8443, health-check `/healthz`, stickiness (cookie).
NLB (L4 passthrough): TMS listener 443, TCP health-winks, MSI-ի միջոցով մինչև pod։
CloudFront/Cloudflare: TMS edge + WAF + Bot-կառավարման; origin — HTTPS only.
Հավաստագրերի նորարարություն առանց dountaima
ACFC (Let's Encrypt/մասնավոր CA) ավտոմատ թարմացումով և տաք (Nginx 'reload ", Envoy SDS)։
Կրկնակի հավաստագրեր (ECDPS + RTS) տեղադրման ժամանակ։
Շղթաների վերահսկումը 'միջանկյալ CA ստուգում; OCMS stapling-ը ռոտացիայից հետո։
Ալերտներ ՝ «cult _ expiry _ days <21» և «ocult _ status! = good»։
Health-winks և միկրոօրգանիզացիա
L4: TCP connect, TLS handshake.
L7: HTTP 200/JSON տարբերակը, gRPC health։
Քաղաքական գործիչները ՝ failover, weighted, latency, consistent-hash (cookie/IP) sticky համար։
Retrai/timaute: Հավասարակշռություն դիմումների կայունության և կրկնօրինակների միջև (idempotenty)։
Kubernetes-pattern
Ingress Systler (Nginx/Envoy/HAProxy) տերմինը Inregress, «ExternalIII» -ի համար, «cASTS» -ի համար։
Gateway AYAM: Records TLSRense/HTTPRense-ը կանարեներով։
Black Mesh: ավտոմատ mTSA pod pod, քաղաքականություն «PeerAuthent.ru »/« Destinator Rule» մակարդակում։
Անվտանգության չեկի ցուցակ
- TLS 1. 3-ը միացված է; 1. 0/1. 1 անջատված։
- Ժամանակակից ծածկագրեր; ECDTS-serts այնտեղ, որտեղ աջակցությունը թույլ է տալիս։
- OCMS stapling, ամբողջական շղթաներ, HSTS։
- mTSA վերանորոգման/ինտերկոնեկտների համար; հաճախորդների շարքերի վերականգնումը։
- Rate-limit/bot ֆիլտրեր եզրին; պաշտպանություն slowloris/oversized headers։
- Re-encrypt մինչև backends (Zero-Trust)։
- Գաղտնիքներ/բանալիներ KFC/HSM; ռոտացիան և աուդիտը։
Դիտողությունն ու ալերտները
Метрики: TLS handshakes/sec, failure rate, session resumption rate, OCSP, p95/99, open conns, CPS, RPS.
Լոգները ՝ SNI/ALPN/TSA, cipher, հաճախորդի հավաստագիր (mTSA), upstream-2019, latency breakdown։
Alerts: աճը '5xx/525 «, resumption,» cult _ expiry _ days «,» ocult _ failed «, ավելի քան p95, աճը' 429»։
Տիպիկ սխալներ
Տերմինալը եզրին և plain HTTP-ի ներսում առանց պաշտպանության։
Չափազանց երկար CA շղթաները կանխատեսում են p95 handshake աճը։
OCMS stapling-ի բացակայությունը հաճախորդների/զննարկիչների վրա։
Sticky-նստաշրջանը, առանց հաշվի առնելու failover-ը, բացատրում է «կպչումը» դեգրադային խմբագրության վրա։
0-RTT-ն ներառված է փոփոխող հարցումների համար, որոնք օգնում են նվազեցնել ռիսկը։
Hot-reload serts-ի բացակայությունը կատարվում է վայրկյան drops, երբ լուծվում է։
Հատուկ iGaming/fintech
Պիկի (մրցույթներ/խաղեր) 'տաքացնելով TRC նստաշրջանները (pre-connect), կարճ շղթաները, բարձր ռեցումբի մասը, HTTP/2/3 ճակատների համար։
Հիբրիդային դռներ/PTSA: mTSA, խիստ ciphers/վարկածներ, pinned CA, առանձին սալիկներ/ALB կոշտ կանոններով։
Անտիֆրոդ/բոտ ֆիլտրեր ՝ L7-rate-limit-IP/ASN/device-fingerprint, կանարյան հույն-գայլեր (cheleng/capcha) առանձին օրինակով։
Կարգավորիչ ՝ HSTS, TMS-2019-ի աուդիտորական ամսագրեր, տարբերակների հաշվետվություններ, հաճախորդների շարքերի վերանայումը պատահականներով։
Մինի պլեյբուկներ
Կանարյան թողարկումը L7 հավասարակշռության միջոցով
1. Ավելացրեք «api-canary» կլաստերը հինգ տոկոսով քաշով։ 2) հետևեք ռ95/սխալներին։ 3) 5→25→50→100%; 4) ավտոկանգառ, երբ քայքայվում է։
Արտակարգ միգրացիան
1. Բեռնեք նոր com/key; 2) «reload» առանց ձիերի ընկնելու (SDS/տաք փոխարինում); 3) OCSA ստուգումը; 4) dashbord p95 handshake.
WINTP/3
1. Բացեք UDP/443; 2) ավելացրեք ALPN 'h3'; 3) QUIC loss/RTT-ի առանձին մետրերը։ 4) A/B հաճախորդների մասնաբաժինը։
Արդյունքը
Արդյունավետ SSL տերմինացիան ժամանակակից TMS պրոֆիլն է, ճիշտ ավարտման տեղը, խելացի L7-միկրոօրգանիզացիան, դիտարկումը և խիստ անվտանգությունը (mTRC, HSTS, re-encrypt)։ Ամրագրեք ամեն ինչ IaC-ում, ավտոմատիզացրեք պարտատոմսերը, չափեք r95/սխալ և օգտագործեք կանարեյներ, այնպես որ ճակատը գոյատևի պիկի և կանխատեսելիորեն արագ և ապահով կլինի։