رمزگذاری و حفاظت API: TLS، HSTS، PFS، چرخش مخفی
1) تصویر تهدید و اهداف
API های تحت حمله MitM، رهگیری ترافیک، حملات downgrade، جعل نشانه، نشت کلید و سوء استفاده از اسرار طولانی مدت. اهداف حفاظت:- محرمانه بودن و یکپارچگی (TLS 1) 3 + رمزهای قوی).
- حفاظت در برابر کاهش/سلب کردن (HSTS، نسخه های ممنوع/رمزنگاری).
- به حداقل رساندن آسیب سازش (PFS، TTL کوتاه، چرخش سریع).
- احراز هویت مشتری/سرویس قابل اعتماد (mTLS/tokens) و قابلیت ردیابی.
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: فقط ECDHE با امضای AES-GCM/ChaCha20 و ECDSA/RSA (به عنوان مثال 'ECDHE-ECDSA-AES128-GCM-SHA256').
- کلیدهای سرور: P-256/P-384 ECDSA (سریعتر و کوتاهتر) یا RSA 2048 +/3072.
- کلیدهای مشتری برای mTLS: P-256 ECDSA ؛ صدور از طریق CA خود و یا پرداخت HSM/KMS.
- مهر و موم OCSP را فعال کنید، ترجیحا با پرچم Must-Staple و ALPN (HTTP/2/3).
- ارائه شده توسط مبادلات کوتاه مدت (ECDHE) - حتی اگر کلید سرور نشت کرده باشد، جلسات گذشته نمی توانند رمزگشایی شوند.
- یک قرارداد کلید DH/RSA استاتیک را اعمال کنید.
- ECH (Encrypted Client Hello)، اگر توسط front/CDN پشتیبانی شود، SNI را پنهان می کند.
- HTTP/2/3 فقط با رمزهای قوی ؛ ممنوعیت HTTP محافظت نشده، تغییر مسیر به HTTPS.
3) HSTS در مقابل TLS سلب کردن
فعال کردن HTTP Strict Transport Security در دامنه ریشه و زیر دامنه ها:
سخت حمل و نقل-امنیت: حداکثر سن = 63072000 ؛ includeSubDomains ؛ پیش بارگذاریدامنه را در لیست پیش بارگذاری HSTS قرار دهید.
قبل از انتشار مراقب صحت باشید (برگشت دشوار است).
4) احراز هویت متقابل: mTLS و/یا نشانه
mTLS بین میکروسرویس ها/API های داخلی: گواهینامه های دو طرفه، چرخش خودکار از طریق مش سرویس (Istio/Linkerd) یا PKI اختصاصی.
مشتریان API (ادغام موبایل/شریک): نشانه ها (OAuth2/OIDC، JWT)، mTLS اختیاری برای ریسک بالا.
برای جبهه های عمومی: نشانه های OAuth2/OIDC کوتاه مدت TLS + با اتصال دستگاه/DPoP.
5) گواهی و مدیریت چرخه عمر
اتوماسیون ACME (به عنوان مثال، Let's Encrypt/Organizational 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 در مورد ؛
ssl_ecdh_curve X25519:P-256:P-384 ؛
ssl_stapling در مورد ؛ ssl_stapling_verify در مورد ؛
add_header سخت حمل و نقل-امنیت "حداکثر سن = 63072000; includeSubDomains ؛ پیش بارگذاری" همیشه ؛6) چرخش مخفی: اصول و الگوها
اهداف چرخش: محدود کردن «شعاع انفجاری» نشت، کاهش زمان سوء استفاده، و اطمینان از انتشار بدون درز.
قوانین اساسی:- ذخیره اسرار فقط در مدیر مخفی (KMS/Vault/Cloud SM). هیچ رازی در Git/تصاویر وجود ندارد.
- TTL کوتاه و چرخش خودکار: کلیدهای امضا، رمزهای عبور پایگاه داده، کلیدهای API ارائه دهنده.
- پنجره دو کلیدی: کلیدهای قدیمی و جدید به طور همزمان برای دوره رول فعال هستند.
- نسخه + بچه (برای JWT/JWKS)، پنجره «فضل» برای اعتبار سنجی نشانه های قدیمی.
- کلید JWT (امضا/رمزگذاری), اسرار HMAC از webhooks و مخاطبین, کلمه عبور/حساب های پایگاه داده, کش (REDIS), نشانه CI/CD, اسرار ارائه دهنده (KYC/AML, پرداخت, SMS/ایمیل), SSH - کلید اتوماسیون.
محرک های چرخش برنامه ریزی نشده: سوء ظن نشت، اخراج کارکنان با دسترسی، تغییر تامین کننده، الزامات تنظیم کننده.
7) JWT/JWKS: پوشش ایمن نقش
انتشار نقطه پایانی JWKS با کلید فعلی و آینده ('بچه' مورد نیاز).
روش چرخش:1. یک کلید جدید ایجاد کنید و آن را به عنوان کلید دوم به JWKS اضافه کنید.
2. به روز رسانی امضا کنندگان → صدور نشانه های جدید با یک کلید جدید.
3. منتظر TTL نشانه های قدیمی → حذف کلید قدیمی از JWKS.
نصب نشانه TTL کوتاه (به عنوان مثال، 5-15 دقیقه) + تازه کردن جریان با تایید اضافی.
8) مدیریت مخفی در عمل
رمزگذاری پاکت KMS +: کلید اصلی در HSM/KMS، داده ها با DEK «پیچیده» رمزگذاری می شوند.
Vault/Cloud Secret Manager: اعتبار پویا به پایگاه داده (صدور سوابق با TTL)، چرخش دوره ای.
Kubernetes: اسرار خارجی/اسرار فروشگاه CSI ؛ رمزگذاری etcd ؛ RBAC ؛ ممنوعیت ورود اسرار.
دسترسی نقش: IAM/ABAC، اصل حداقل امتیازات، مرزهای سخت افزاری (HSM، TPM).
ممیزی کامل: چه کسی، چه چیزی، چه زمانی، چرا خوانده شده/تغییر کرده است.
9) حفاظت از حمل و نقل در داخل محیط
به «شبکه داخلی» اعتماد نکنید: در همه جا TLS/mTLS (اعتماد صفر).
مش سرویس خودکار گواهینامه ها، راه اندازی مجدد و چرخش، مشاهده پذیری (mTLS به طور پیش فرض).
به حداقل رساندن TLS ختم: یا لبه + رمزگذاری شرق به غرب تنها, یا پایان به پایان رمزگذاری.
10) API بیش از سیاست های امنیتی TLS
محدود کردن نرخ/حفاظت از DoS، تأیید امضاهای وب هوک (HMAC با چرخش مخفی).
Content-Security-Policy/Referrer-Policy/X-Content-Type-Options для фронта.
mTLS برای نقاط پایانی بحرانی (پرداخت، پنل مدیریت)، IP اجازه لیست توسط شرکای.
حفاظت از پخش: زمان بندی + nonce در درخواست های امضا شده، پنجره ها بیش از 5 دقیقه.
11) نظارت و آزمایش
قابلیت مشاهده TLS: نسخهها/رمزها در معیارها، هشدارهایی برای تلاشهای نزولی، افزایش شکستهای دست دادن.
اسکنرها (در CI/CD و به طور منظم در فروش): چک کردن رمزهای پشتیبانی شده، گواهینامه ها، HSTS، OCSP.
هرج و مرج/تمرین DR: انقضای گواهی, افت مدیر مخفی, سازش کلید امضا - بررسی برنامه های واکنش.
12) روش های پاسخ
سازش کلیدی: لغو فوری گواهی/حذف کلید از JWKS، بازگشت به پشتیبان، بازسازی نشانه اجباری.
انقضا بدون تجدید: تخریب موقت (فقط ترافیک داخلی)، نصب مجدد خودکار گواهینامه ها.
گزارش حادثه: جدول زمانی، موضوعات آسیب دیده، فناوری. قطعات، اقدامات اصلاحی.
13) چک لیست سریع (تولید آماده)
- فقط TLS 1. 3 (+ 1. 2 برای legasi)، یک لیست دقیق از رمزهای.
- HSTS с 'preload'، مهر و موم OCSP، ALPN.
- ECDHE برای PFS ؛ ECDSA P-256/384 یا RSA 3072
- mTLS در خوشه/بین خدمات بحرانی.
- JWKS + بچه، نشانه TTL کوتاه، برنامه چرخش.
- اسرار - فقط در KMS/Vault، چرخش خودکار پایگاه داده ها/ارائه دهندگان.
- خودکار تجدید گواهی (ACME)، هشدار در 30 روز.
- بررسی CI/CD از هدر های امنیتی و رمزهای آسیب پذیر.
- مستند runbook 'و: چرخش، یادآوری، حوادث.
خلاصه رزومه
حفاظت API قابل اعتماد ترکیبی از TLS 1 است. 3 + HSTS + PFS به عنوان حداقل اجباری و بالغ فرآیندهای مدیریت کلید و راز. mTLS را بین سرویس ها اضافه کنید، انتشار/چرخش را از طریق KMS/Vault/mesh به صورت خودکار انجام دهید، TTL ها و پنجره های دوتایی را هنگام تغییر کلیدها نگه دارید - و خطرات رهگیری، تنزل و سوء استفاده از اسرار فاش شده را بدون شکستن در دسترس بودن و سرعت محصول به حداقل می رسانید.
