Logo GH

امنیت API و درخواست فیلتر کردن

1) چرا شما به آن نیاز دارید

API - مرز پلت فرم خارجی و داخلی. هر گونه خطا در احراز هویت، مجوز، اعتبار سنجی یا عادی سازی درخواست ها به بهره برداری از آسیب پذیری ها تبدیل می شود (BOLA/IDOR، تزریق، SSRF، شمارش عظیم، خستگی منابع). هدف: ایجاد دفاع در عمق از محیط به قوانین کسب و کار، با SLO قابل اندازه گیری و کنترل ریسک.

2) API موجودی و طبقه بندی

دایرکتوری API: ثبت نام از تمام خدمات/نقاط پایانی, صاحبان, نسخه های, انواع مشتری (وب, سیار, همکاران), حالت (عمومی/شریک/داخلی), PII/داده های مالی.
انتقاد: بالا (معاملات مالی/مجوز)، متوسط (خواندن مشخصات)، پایین (دایرکتوری های عمومی).
سطح حمله: REST، GraphQL، gRPC، WebSocket، webhooks.
وضعیت: prod/staging/experimental, سیاست مستهلک, token/key lifetime.
سایه/رها API: تشخیص از طریق ورود سیاهههای مربوط، eBPF/مش سرویس تله متری، مقایسه با یک دایرکتوری.

3) مدل تهدید (کوتاه)

شناسایی: نشانه ربودن، جلسه مرتکب، MitM، پخش.
مجوز: BOLA/IDOR، افزایش افقی/عمودی.
ورودی: تزریق (SQL/NoSQL/LDAP)، قالب/سریال سازی، پیمایش مسیر، هدر ها.
ترافیک: سیل های DDoS/L7، درخواست های آهسته، بازخورد فانتوم.
یکپارچگی: وب سایت های ناامن، SSRF از طریق پارامترهای URL، بارگیری فایل/اسکن.
منطق: سوء استفاده از پاداش، مسابقه، ناسازگاری idempointence.

4) استاندارد ایمنی پایه (حداقل)

1. TLS 1. 2 + در همه جا HSTS ؛ رمزهای ضعیف غیرفعال میشوند.
2. احراز هویت: OAuth2/OIDC برای مشتریان، mTLS/یا HMAC - سرویس به سرویس.
3. مجوز: PDP متمرکز (RBAC/ABAC)، بازرسی سطح شیء (BOLA).
4. اعتبار سنجی: طرح سختگیرانه (OpenAPI/JSON Schema/Protobuf)، شکست با زمینه های اضافی.
5. محدودیت ها: نرخ/سهمیه + پشت سر هم، در هر مشتری/در هر IP/در هر رمز.
6. Idemotence در عملیات نوشتن، حفاظت در برابر تکرار/نژادها.
7. WAF/دروازه فیلتر: مسیر/نرمال هدر، لیست انکار، محموله ضد الگوهای بلوک.
8. اسرار: KMS/خرک، چرخش کلید/گواهی، کنترل نشت.
9. قابلیت مشاهده: ردیابی، گزارش های حسابرسی امنیتی (چه کسی/چه/چه زمانی/نتیجه)، هشدارها.
10. روش ها: حوادث playbook، موارد آزمون و pentests به طور منظم/DAST.

5) احراز هویت و مدیریت نشانه

OAuth2/OIDC: نشانه های دسترسی کوتاه مدت، تازه کردن به شدت با توجه به OIDC ؛ audience/issuer/exp در دروازه بررسی می شود.
JWT: RS256/ES256 ؛ حداقل مجموعه ای از صدف ؛ 'nbf/exp/aud' مورد نیاز است ؛ ممنوعیت ذخیره سازی PII. چرخش کلید از طریق JWKS.
DPoP/PoP: نشانه را به کلید مشتری متصل کنید تا خطر پخش/ربودن را کاهش دهد.
mTLS برای سیستم های داخلی و شرکای مورد اعتماد (صلاحیت CN/SAN، CRL/OCSP).
HMAC (امضا): کانونیکالیزاسیون قطعی (روش + مسیر + برچسب زمانی + nonce + بدن هش) ؛ پنجره زمان معتبر (± 30s).
جلسات مرورگر: SameSite = strict/lax، HttpOnly، Secure ؛ حفاظت CSRF (دو ارسال/نشانه دولت).
ذخیره سازی مشتری: در ذخیره سازی امن تلفن همراه (Keychain/Keystore)، حفاظت از اشکال زدایی، گواهینامه های پین کردن.

6) مجوز (BOLA اول)

Object-level: هر عملیات حق دسترسی به یک منبع خاص (مالک منبع/دامنه/ویژگی ها) را بررسی می کند.

RBAC/ABAC: نقش ها + ویژگی ها (کشور، بخش، محدودیت خطر، سطح KYC)

سیاست ها: انکار به طور پیش فرض ؛ صریح اجازه می دهد ؛ تست های نسخه بندی سیاست برای موارد منفی.
کش تصمیم گیری: سازگاری TTL + ناتوانی در تغییر نقش/بخش.

7) فیلتر کردن و عادی سازی درخواست ها (در دروازه/WAF)

عادی سازی: فشرده سازی برش های مکرر، ممنوعیت '../'، رمزگشایی یک بار، برش فضاهای/صفر بایت.
هدر: اجازه لیست («میزبان»، «محتوا نوع»، «پذیرش»، «مجوز»، «تاریخ»، «Idempotency-Key»، هدر ردیابی لازم).
روش ها: «GET/HEAD» بدون بدن ؛ 'POST/PUT/PATCH' - با نوع 'application/json' یا به شدت مجاز است.
ابعاد: حداکثر بدن، حداکثر هدر، حداکثر مسیر ؛ در اوایل رد 413/431.
فایل ها: اعتبار سنج MIME، آنتی ویروس/sandbox، ممنوعیت محتوای فعال، بازیافت تصویر/ضدعفونی کردن.
URL تغییر مسیر/fetchi: بلوک SSRF (انکار محدوده های خصوصی/ابرداده IP، طرح فقط https، اجازه لیست دامنه).
الگوهای SQL/NoSQL: امضاهای تزریق از طریق مجموعه قوانین WAF + پارامتری سرور پرس و جوها.

سیاست هدر مثال (قالب شبه)


deny_headers: ["X-Forwarded-Proto","X-Original-URL","Proxy-Connection","Destination"]
require_headers: ["Authorization" (для protected), "Content-Type" (для write)]
strip_duplicates: true max_header_count: 32 max_header_size: 16KB

8) محدودیت ها، سهمیه ها و حفاظت ضد ربات

محدود کردن نرخ: سطل نشانه/سطل نشتی ؛ سطوح - در هر IP، در هر کلید API، در هر کاربر، در هر سازمان.
سهمیه: روزانه/ماهانه، جداگانه برای نوشتن/روش های گسترده.
سازگاری: سفت شدن پویا تحت ناهنجاری ها (انفجار ناگهانی/چاشنی اعتبار).
Slow-loris/slow-POST: خواندن/زنده نگه داشتن زمان، محدودیت اتصال همزمان.
Antibot: اثر انگشت دستگاه، علائم رفتاری، اثبات کار/captcha برای افزایش خطر، لیست شبکه های torus/proxy.
کنترل IP: فیلترهای geo/ASN، لیست های زیر شبکه های «کثیف» را رد می کنند، لیست ها را برای پانل های شرکا/مدیریت اجازه می دهند.

9) اعتبار سنجی داده ها و مدارهای ورودی

Fail-closed: هر چیزی که این طرح را با شکست مواجه کند 400 است. زمینه های اضافی - رد.
انواع/محدوده: اعداد، تاریخ (UTC/ISO-8601)، مقادیر enum، طول خط، regexps.
JSON-quality: حداکثر لانه سازی، ممنوعیت آرایه های بزرگ/کلید، نظم کانونی (اختیاری).
اعتبار کسب و کار: idempotency با توجه به 'Idempotency-Key' ؛ قوانین ضد تقلب (محدودیت فرکانس عملیات، کلاه مقدار).
GraphQL: محدودیت عمق/پیچیدگی، نمایش داده شد اجازه ذکر شده، مجوز در هر زمینه.
gRPC: طرحهای Protobuf سختگیرانه، فیلدهای اجباری، محدودیت اندازه پیام.

10) وب سایت ها و تماس های خارجی

امضا: HMAC با برچسب زمان/nonce ؛ تأیید قبل از پردازش ؛ پنجره +/- 5 دقیقه.

تحویل: Retrai با مکث نمایشی و لرزش ؛ حداکثر تلاش ؛ شناسه رویداد

فروشنده IP اجازه می دهد لیست زیر دامنه جداگانه/مسیر ؛ حداقل پشته میزبانی.
پاسخ: 2xx تنها پس از ضبط داخلی موفق ؛ در غیر این صورت 4xx/5xx با کد روشن.
خروجی کنترل SSRF: هنگامی که URL پاسخ به تماس - اجازه لیست, انکار آدرس های خصوصی.

11) رمزگذاری و مدیریت مخفی

در کانال: TLS 1. 2+/1. 3، پینینگ، سیاست رمزنگاری دقیق.
تنها: رمزگذاری ذخیره سازی DB/object، کلیدهای جداگانه برای PII/داده های مالی.
KMS/Vault: ذخیره سازی متمرکز اسرار، TTL کوتاه، چرخش خودکار.
کلید ها و گواهینامه ها: جداگانه برای محیط ؛ بررسی مسائل ؛ ممنوعیت خروجی به سیاهههای مربوط.
Token-introspection: لیست های لغو آفلاین، کوتاه «exp».

12) مشاهده، حسابرسی و پاسخ

سیاهههای مربوط به امنیت: تلاش های احراز هویت/موفقیت، شکست مجوز، رویدادهای محدود کننده نرخ، تغییرات نقش/محدودیت.

ردیابی: همبستگی-شناسه پایان به پایان ؛ ردیابی تماس خارجی

معیارها: RPS، تأخیر P95/P99، نرخ خطا توسط کد، سهم 401/403/429، محدودیت نرخ ضربه، ناهنجاری ها.
هشدارها: خوشه های 401/403/429، رشد 5xx، درگیری های مکرر idempointency، انحرافات شدید نمودار پیچیدگی QL.
Playbooks: مسدود کردن کلید/نشانه، به سرعت نورد به عقب قوانین، گرم کردن لیست انکار، اطلاع صاحبان خدمات.
پزشکی قانونی: حفظ محموله بحث برانگیز (با ویرایش PII امن)، پخش در یک موضع جدا شده است.

13) خطاها و پاسخ به مشتری

فرمت خطای یکنواخت (کد، پیام، ردیابی شناسه، دسته).

بدون نشت: SQL، نام جدول، idies داخلی را فاش نکنید. 403 به جای «چرا که نه»

کدهای: 400 (اعتبار سنجی)، 401 (بدون احراز هویت)، 403 (بدون حقوق)، 404 (وجود ماسک)، 405/406، 413/429، 500/503.
نکات مجدد: для 429 - «Retry-After» ؛ برای idemotency - مشاوره در تکرار با همان کلید.

14) الگوهای معماری

Zero-Trust: mTLS، مجوز صریح بین تمام خدمات، حداقل امتیازات.
دروازه API + WAF + مش سرویس: جدایی از وظایف - محیط، سیاست های L7، احراز هویت داخلی.
Canary/Blue-Green: قوانین فیلتراسیون جدید را در مراحل با نظارت اجرا کنید.
Fail-closed: برای نوشتن بحرانی، بهتر است با خیال راحت از انجام عملیات نادرست خودداری کنید.
فشار پشتی: صف/بافر، قطع کننده مدار، زمان بندی/بودجه.

15) نمونه هایی از قوانین عملی (شبه پیکربندی)

15. 1 محدود کردن مسیرها و روش ها


/api/v1/payments:
allow_methods: [POST, GET]
auth: oauth2_required body:
content_type: application/json max_size: 256KB

15. 2 عدم توانایی


require_header: Idempotency-Key (UUIDv4)
store: redis:ttl=24h on_duplicate: return_previous_result

15. 3 امضای درخواست (HMAC)


signature:
scheme: "HMAC-SHA256"
required_headers: ["X-Signature","X-Timestamp","X-Nonce"]
allowed_drift: 300s string_to_sign: METHOD + "\n" + PATH + "\n" + SHA256(body) + "\n" + X-Timestamp + "\n" + X-Nonce

15. 4 حفاظت SSRF


outbound_http:
allowlist_domains: ["kyc. partner. com","psp. example. net"]
block_private_ip: true require_https: true

15. 5 حد GraphQL


graphql:
max_depth: 8 max_complexity: 500 allowlisted_operations_only: true

16) ویژگی های iGaming/امور مالی

محدودیت های بخش: بسته به مشخصات CCM/کشور/خطر.
پنجره زمان: قوانین فرکانس سپرده/برداشت، «خنک کردن» بین معاملات.
پاداش ضد سوء استفاده: قفل سازگار در حساب/دستگاه/IP/ابزار پرداخت.
حسابرسی از الزامات قانونی: ذخیره سازی سیاهههای مربوط از اقدامات و تصمیمات (KYC/AML)، دوره نگهداری، سیاهههای مربوط بدون تغییر.

17) تولید لیست آماده

  • دایرکتوری API کامل و داده ها نقشه جریان (PII/financials برچسب).
  • طرحوارههای OpenAPI/Protobuf، آزمونهای اعتبارسنجی و قراردادها در CI.
  • mTLS/HMAC/OAuth2 پیکربندی شده ؛ نشانه های TTL کوتاه ؛ چرخش کلید
  • آزمایش BOLA و موارد مجوز منفی ؛ PDP متمرکز شده است.
  • محدودیت/سهمیه/ضد ربات، حفاظت در برابر آهسته loris ؛ فیلترهای IP
  • قوانین عادی سازی WAF/دروازه، امضاهای ضد تزریق.
  • Idempotency عملیات نوشتن ؛ محافظت در برابر replay
  • امضای Webhook و اجازه لیست ؛ نقاط پایانی جدا شده
  • اسرار در KMS/طاق ؛ ذخیره سازی رمزگذاری شده ؛ هشدار به ناهنجاریها
  • داشبورد، هشدار، سیاهههای مربوط به ممیزی ؛ حوادث playbooks کار می کرد.
  • به طور منظم pentest/DAST/SAST، آهنگ آسیب پذیری و دانلود پچ.

18) ضد آفات (که امکان پذیر نیست)

اعتماد «X-Forwarded» بدون TLS سفت و سخت در محیط آن است.
طرح های JSON دلخواه «Content-Type» و «soft» را بپذیرید.
JWT های طولانی مدت بدون یادآوری/چرخش.
نقش ها و قوانین کسب و کار را در کد بدون سیاست های متمرکز ترکیب کنید.
سیاهههای مربوط با اسرار/PII ؛ جزئیات 500 پیام به بیرون.
«موقت» نقطه پایان باز بدون محدودیت و مجوز.

19) نسخه و deprekate

نسخه ها در مسیر/هدر ؛ سیاست پشتیبانی (به عنوان مثال،. N-2)

اطلاعیه ها: مهلت برای مستهلک, نظارت بر استفاده از نسخه های قدیمی, خاموش کردن کنترل.
سازگاری: قراردادهای مشتری/شریک و ماتریس تست.

20) تست ایمنی

تست قرارداد طرح/سیاست، fuzzing ورودی، auth منفی.
پروفایل های عملکرد با محدودیت/سهمیه، آزمون حفاظت (ترافیک هرج و مرج).
Red-team/bug-bounty: اسکریپت های BOLA، SSRF، امضا/تکرار، پیچیدگی GraphQL.

TL ؛ دکتر متخصص

1. دایرکتوری API + طرح های سخت.
2. OAuth2/OIDC برای مشتریان، mTLS/HMAC در داخل.
3. محیط BOLA در هر منبع (ABAC/RBAC).
4. فیلتر کردن: عادی سازی مسیرها/هدر ها، محدودیت ها، قوانین WAF.
5. Idempotence، امضا، پخش/حفاظت SSRF.
6. KMS/خرک و چرخش مخفی.
7. قابلیت مشاهده، هشدارها، کتابهای بازی.

Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.