API шифрлау және қорғау: TLS, HSTS, PFS, құпияларды ротациялау
1) Қауіптер мен мақсаттардың көрінісі
MitM шабуылында API, трафикті ұстап алу, даунгрейд-шабуылдар, белгілерді қолдан жасау, кілттердің ағуы және ұзақ өмір сүретін құпияларды теріс пайдалану. Қорғау мақсаттары:- Құпиялылық және тұтастық (TLS 1. 3 + күшті шифрлар).
- Даунгрейд/стриппингтен қорғау (HSTS, тыйым салынған нұсқалар/шифрлар).
- Компромат кезінде зиянды барынша азайту (PFS, қысқа TTL, жылдам ротация).
- Клиенттің/сервистің сенімді аутентификациясы (mTLS/токендер) және трассалануы.
2) базис ретінде TLS (серверлік және сервис-к-сервисі)
Нұсқалар мен шифрлар:- Әдепкі TLS 1. 3; TLS рұқсат ету 1. 2 тек сыйысымдылық үшін. 1 дегенді өшіру. 1/1. 0.
- `TLS_AES_128_GCM_SHA256`, `TLS_AES_256_GCM_SHA384`, `TLS_CHACHA20_POLY1305_SHA256`.
- TLS үшін 1. 2: AES-GCM/ChaCha20 және ECDSA/RSA қолтаңбасы бар ECDHE ғана (мысалы, 'ECDHE-ECDSA-AES128-GCM-SHA256').
- Серверлік кілттер: ECDSA P-256/P-384 (жылдам және қысқа) немесе RSA 2048 +/3072.
- mTLS үшін клиенттік кілттер: ECDSA P-256; жеке CA немесе HSM/KMS төлем арқылы беру.
- OCSP stapling бағдарламасын Must-Staple және ALPN (HTTP/2/3) жалаушасымен қосыңыз.
- Эфемерлік алмасулармен (ECDHE) қамтамасыз етіледі - тіпті серверлік кілт ағып кетсе де, өткен сессияларды ашып көрсету мүмкін емес.
- Статикалық DH/RSA-кілт келісімін өшіріңіз.
- Егер фронт/CDN қолдайтын болса, ECH (Encrypted Client Hello) SNI жасырады.
- тек мықты шифрлары бар HTTP/2/3; қорғалмаған HTTP тыйым салады, HTTPS-ға қайта қараңыз.
3) HSTS қарсы TLS-stripping
HTTP Strict Transport Security бағдарламасын негізгі домен мен кіші домендерде қосыңыз:
Strict-Transport-Security: max-age=63072000; includeSubDomains; preloadДоменді HSTS preload тізіміне орналастырыңыз.
Жариялау алдында дұрыстығын қадағалаңыз (кері қайтару қиын).
4) Өзара аутентификация: mTLS және/немесе токендер
Микросервистер/ішкі API арасындағы mTLS: екі жақты сертификаттар, service mesh (Istio/Linkerd) немесе жеке PKI арқылы автоматты ротация.
API-клиенттер (мобильді/серіктестік интеграциялар): токендер (OAuth2/OIDC, JWT), жоғары тәуекелге арналған mTLS қосымша.
Көпшілік фронттары үшін: TLS +/DPoP құрылғысына байланыстырылған қысқа өмір сүретін OAuth2/OIDC токендер.
5) Сертификаттар мен өмірлік циклді басқару
ACME-автоматтандыру (мысалы, Let's Encrypt/ұйымдастырушылық CA) аяқталуына 30 күн қалғанда автоматты жаңартумен.
Сертификаттардың қысқа өмірі (90 күнге ≤) + мерзім мониторингі, алерта және канареялық деплой-пакеттер.
Орталықтандырылған PKI: түбірлік/аралық CA, CRL/OCSP, шығарылым және қайтарып алу аудиті.
nginx мысалы (үзік):nginx ssl_protocols TLSv1. 3 TLSv1. 2;
ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256;
ssl_prefer_server_ciphers on;
ssl_ecdh_curve X25519:P-256:P-384;
ssl_stapling on; ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;6) Құпияларды ротациялау: принциптер мен паттерндер
Ротацияның мақсаттары: жарылу радиусын шектеу, теріс пайдалану уақытын азайту, жіксіз релиздерді қамтамасыз ету.
Негізгі ережелер:- Құпияларды құпия менеджерде ғана сақтау (KMS/Vault/Cloud SM). Git/суреттерде ешқандай құпия жоқ.
- Қысқа TTL және автоматты ротация: қол қою кілттері, БД парольдері, провайдерлердің API кілттері.
- Қосарланған жарияланым (dual-key window): ескі және жаңа кілттер бір уақытта жылжыту кезеңінде белсенді.
- Нұсқалау + kid (JWT/JWKS үшін), ескі белгілерді валидациялауға арналған «grace» терезесі.
- JWT-кілттер (қолтаңба/шифрлау), HMAC-вебхуктар мен callback 'тер құпиялары, парольдер/есептеулер БД, кэш-кодтар (Redis), CI/CD токендері, Провайдерлер құпиялары (KYC/AML, төлемдер, SMS/e-mail), SSH-автоматика кілттері.
Жоспардан тыс ротацияның триггерлері: қызметкерлердің ағып кетуіне күдік, қол жетімді жұмыстан босату, жеткізушіні ауыстыру, реттеушінің талаптары.
7) JWT/JWKS: қауіпсіз баспа
Ағымдағы және болашақ кілтпен JWKS endpoint жариялаңыз ('kid' міндетті).
Ротациялау рәсімі:1. Жаңа кілтті жасау → JWKS бағдарламасына «екінші» деп қосу.
2. Қол қоюшыларды жаңарту → Жаңа кілттерді шығару.
3. TTL ескі белгілерін күту → JWKS ескі кілтін жою.
Қосымша тексерумен қысқа TTL токендерін (мысалы, 5-15 минут) + refresh-ағындарын орнатыңыз.
8) Практикадағы құпия-менеджмент
KMS + envelope encryption: HSM/KMS мастер кілті, деректер DEK «оралған» шифрланады.
Vault/Cloud Secret Manager: динамикалық БД-ға (TTL-мен есептеулер беру), кезеңдік ротация.
Kubernetes: External Secrets/Secrets Store CSI; etcd шифрлау; RBAC; құпияларды логиндеуге тыйым салу.
Рөлдер бойынша қол жеткізу: IAM/ABAC, ең аз артықшылықтар қағидаты, аппараттық шекаралар (HSM, TPM).
Толық аудит: кім, не, қашан, неге оқыды/өзгертті.
9) Периметр ішіндегі көліктік қорғау
«Ішкі желіге» сенбеңіз: барлық жерде TLS/mTLS (zero-trust).
Service mesh сертификаттарды, қайта іске қосуды және ротацияны, бақылауды (әдепкі mTLS) автоматтандырады.
TLS-терминдеуді барынша азайтыңыз: тек edge + шифрланған east-west немесе толассыз шифрлау.
10) TLS үстінен API қауіпсіздік саясаты
Rate limiting/DoS-қорғау, вебхуктардың қолтаңбасын тексеру (құпияларды ротациялаумен HMAC).
Content-Security-Policy/Referrer-Policy/X-Content-Type-Options для фронта.
mTLS критикалық endpoint's (төлемдер, әкімші), серіктестер бойынша IP allow-list.
Replay-қорғау: timestamp + nonce қол қойылған сұрауларда, терезелер 5 минуттан аспайды.
11) Мониторинг және тестілер
TLS бақылануы: метрикадағы нұсқалар/шифрлар, даунгрейд әрекеттеріне алерта, қол алысудан бас тартудың өсуі.
Сканерлер (СІ/СД және үнемі өнімділікте): қолдау көрсетілетін шифрларды, сертификаттарды, HSTS, OCSP тексеру.
Chaos/DR-жаттығулар: сертификаттың аяқталуы, құпия менеджердің құлауы, қолтаңба кілтінің бұзылуы - реакция жоспарларын тексеріңіз.
12) Ден қою рәсімдері
Кілттің компрометациясы: сертификатты дереу қайтарып алу/кілтті JWKS-тен алып тастау, резервтегіге бұру, токендерді еріксіз қалпына келтіру.
Ұзартусыз аяқталуы: уақытша тозу (тек ішкі трафик), сертификаттарды автоматты түрде қайта орнату.
Инциденттік есеп: таймлайн, қозғалған субъектілер, техникалық. түзетуші шаралар.
13) Тез тексерудің чек-парағы (prod-ready)
- Тек TLS 1. 3 (+ 1. 2 легаси үшін), шифрлардың қатаң тізімі.
- HSTS с `preload`, OCSP stapling, ALPN.
- PFS үшін ECDHE; ECDSA P-256/384 немесе RSA 3072.
- mTLS кластер ішінде/маңызды сервистер арасында.
- JWKS + kid, қысқа TTL белгілер, айналым жоспары.
- Құпиялар - тек KMS/Vault, авто-ротация БД/провайдерлерде.
- Сертификаттарды автоматты түрде жаңарту (ACME), 30 күн ішінде алерталар.
- Қауіпсіздік тақырыптары мен әлсіз шифрлардың CI/CD тексеруі.
- Құжатталған runbook 'және: ротация, шолу, оқиғалар.
Түйіндеме
Сенімді API қорғанысы - бұл TLS 1. 3 + HSTS + PFS кілттер мен құпияларды басқарудың міндетті минимумы және жетілген процестері ретінде. Сервистер арасында mTLS қосыңыз, KMS/Vault/mesh арқылы шығаруды/ротацияны автоматтандырыңыз, кілттерді ауыстырғанда қысқа TTL және «қос терезелерді» сақтаңыз - және сіз өнімнің қолжетімділігі мен жылдамдығын бұзбай, тосқауыл қою, даунгрейд және өшірілген құпияларды пайдалану қаупін азайтасыз.
