راهنمای امنیت API

معرفی
API Economy چیست؟
امنیت وب API
- REST (انتقال دولتی نمایندگی).
امنیت API REST
SOAP API، امنیت
API های SOAP یک مکانیسم امنیتی داخلی به نام امنیت خدمات وب (WS Security) ارائه می دهند. آنها احراز هویت و مجوز را بررسی می کنند. آنها از رمزگذاری XML، امضاهای XML و نشانه های SAML استفاده می کنند.
SOAP رویکرد مناسبی برای استانداردسازی و رمزگذاری خدمات وب است. SOAP جایگزین بهتری نسبت به REST است.
SOAP محدود به XML است اما REST می تواند هر قالب داده را مدیریت کند. درک JSON آسانتر از XML است. استفاده از REST برای انتقال داده باعث صرفه جویی در هزینه های زیرساخت رایانه می شود.
مدیریت API
مدیریت API به کسب و کارها کمک می کند تا منابع دیجیتالی خود را بسازند.
در زیر چند روش برای مدیریت امنیت API آورده شده است:
1. احراز هویت
HTTP Basic Authentication روشی است که کلاینت با استفاده از API Gateway احراز هویت می کند.
2. احراز هویت OAuth2.0
- نام کاربری جریان رمز عبور: جایی که برنامه دسترسی مستقیم به اطلاعات کاربری دارد.
- جریان وب سرور: جایی که سرور می تواند از راز مصرف کننده محافظت کند.
- جریان کاربر-عامل: توسط برنامه هایی استفاده می شود که نمی توانند راز مصرف کننده را ذخیره کنند.
3. JSON Web Token Authentication
یک توکن JWT یک شی JSON و base64 است که با یک کلید مشترک رمزگذاری و امضا شده است. JWT تضمین می کند که فقط یک کاربر تعریف شده می تواند یک توکن منحصر به فرد تولید کند. JWT ها رمزگذاری نشده اند. هر کسی که به توکن دسترسی داشته باشد داده ها را دریافت خواهد کرد.
مزایای JWT
- توکن شامل تمام اطلاعات لازم برای احراز هویت کاربر است.
- اجتناب از اتکا به سرورها و پایگاه داده های احراز هویت متمرکز آسان است.
- تأیید مستلزم بررسی امضا و چندین عامل دیگر است.
- JWT یک توکن با عمر متوسط با تاریخ انقضای مشخص شده بین چند هفته تا بیشتر است
- مقیاس پذیری در سخت افزار وب سرور معاصر آسان است…
4. امضاهای HTTP
در JWT، هدر مجوز دارای base64 کدگذاری و امضا شده است. اگر کسی توکن و درخواست JWT را دریافت کند، می تواند بدنه درخواست HTTP را به روز کند. امضاهای HTTP به مشتری اجازه می دهد پیام HTTP را امضا کند. بنابراین، آن دیگران می توانند درخواست را در شبکه لمس کنند.
آمازون، فیسبوک و گوگل از HTTP Signature استفاده می کنند. در سال 2016، امضای پیام های HTTP وارد عمل شد. این یک کار جدید در مشخصات مشخصات است. طبق این مشخصات، مزیت امضای پیام HTTP، به منظور یکپارچگی پیام سرتاسر. یک کلاینت می تواند با همان مکانیزم بدون نیاز به حلقه های زیاد احراز هویت کند.
آشنایی با آسیب پذیری های امنیتی API
OWASP همیشه مرجع پیشرو در مورد رایج ترین و موذی ترین مسائل امنیتی است که در نرم افزاری که ما روزانه از آن استفاده می کنیم، استفاده می کنیم و همه آنها توسط داده های غنی پشتیبان می شوند.
اگر پایهای وجود داشته باشد که سازمانها باید برای آن تلاش کنند، غلبه بر آن است OWASP API Security 10 در زیر فهرست شده است.
OWASP API SECURITY TOP 1O
API1: مجوز سطح شیء شکسته
API2: احراز هویت شکسته
API3: قرار گرفتن در معرض بیش از حد داده ها
API4: عدم محدودیت منابع و نرخ
API5: سطح عملکرد شکسته Auth
API6: تکلیف انبوه
API7: پیکربندی غلط امنیتی
API8: تزریق
API9: مدیریت نامناسب دارایی
API10: ثبت و نظارت ناکافی
بهترین شیوه های امنیت API
در اینجا برخی از رایج ترین راه ها برای بهبود امنیت API آورده شده است:
- آسیب پذیری های خود را مشخص کنید.
نیاز به به روز نگه داشتن سیستم عامل، شبکه و اجزای API وجود دارد. به دنبال نقص هایی باشید که می تواند به مهاجمان اجازه دهد به API های شما دسترسی پیدا کنند. Sniffers مسائل امنیتی را شناسایی کرده و نشت داده ها را ردیابی می کند.
- سهمیه و گاز را قرار دهید.
سهمیه ای برای تعداد دفعات تماس API های شما و بررسی میزان استفاده در سابقه تعیین کنید. استفاده نادرست از یک API معمولاً با افزایش تماس ها نشان داده می شود.
- از یک دروازه API برای اتصال به API خود استفاده کنید.
دروازه های API نقطه اجرایی اولیه برای ترافیک API هستند. به شما این امکان را می دهد تا نحوه احراز هویت API های خود را کنترل و تجزیه و تحلیل کنید.
- از توکن ها استفاده کنید
هویت های قابل اعتماد ایجاد کنید. از نشانه هایی با آن هویت ها برای کنترل دسترسی به خدمات و منابع استفاده کنید.
- از رمزگذاری و امضای دیجیتال استفاده کنید.
داده های خود را با استفاده از TLS رمزگذاری کنید. از امضای دیجیتال برای تأیید اینکه فقط افراد مجاز به داده ها دسترسی دارند و آنها را ویرایش می کنند استفاده کنید.
- روی امنیت تمرکز کنید.
API ها هرگز نباید اتفاقی در نظر گرفته شوند. سازمان ها با ناتوانی در ایمن سازی API ها، ضرر زیادی خواهند داشت. در نتیجه، امنیت را در اولویت قرار دهید و آن را در API های خود قرار دهید.
- اعتبار سنجی ورودی
هرگز داده ها را از طریق API به نقطه پایانی ارسال نکنید بدون اینکه ابتدا آن را تأیید کنید.
- از محدودیت نرخ استفاده کنید.
محدود کردن درخواستها میتواند به جلوگیری از حملات انکار سرویس کمک کند.
- از یک سیستم احراز هویت و مجوز قوی استفاده کنید.
وقتی API ها احراز هویت را اجرا نمی کنند، احراز هویت شکسته اتفاق می افتد.
از فن آوری های ورود و مجوز استفاده کنید که به خوبی تثبیت شده اند، مانند OAuth2.0 و OpenID Connect.