Водич за безбедност на API во 2023 година
Вовед
Што е API Economy?
Безбедност на веб API
- REST (Препрезентативен државен трансфер).
REST API безбедност
SOAP API, безбедност
SOAP API-те обезбедуваат вграден безбедносен механизам наречен Безбедност на веб услуги (WS Security). Тие ја проверуваат автентикацијата и овластувањето. Тие користат XML шифрирање, XML потписи и SAML токени.
SOAP е вистинскиот пристап за стандардизирање и шифрирање на веб-услугите. САПУН е подобра алтернатива од ОСТАНОК.
SOAP се ограничува на XML, но REST може да управува со кој било формат на податоци. JSON е полесен за разбирање од XML. Употребата на REST за транспорт на податоци заштедува пари на трошоците за компјутерска инфраструктура.
Управување со API
Управувањето со API им помага на бизнисите да ги направат своите дигитални ресурси.
Подолу се дадени неколку начини за управување со безбедноста на API:
1. Автентикација
Основната автентикација на HTTP е метод за автентикација на клиентот со API Gateway.
2. Автентикација на OAuth2.0
- Тек на лозинка за корисничко име: каде што програмата има директен пристап до корисничките ингеренции.
- Тек на веб-серверот: каде што серверот може да ја заштити тајната на потрошувачот.
- Проток на кориснички агент: се користи од апликации кои не можат да ја складираат тајната на потрошувачите.
3. JSON Web Token Authentication
JWT Token е JSON објект и base64 кодиран и потпишан со споделен клуч. JWT гарантира дека само дефиниран корисник може да генерира единствен токен. JWT не се шифрирани. Секој што има пристап до токенот ќе ги добие податоците.
Придобивки од JWT
- Токенот ги содржи сите информации потребни за автентикација на корисникот.
- Лесно е да се избегне потпирање на централизирани сервери за автентикација и бази на податоци.
- Верификацијата повлекува испитување на потписот и неколку други фактори.
- JWT е токен со среден животен век со датум на истекување наведен од неколку недели до подолг
- Приспособливоста на современиот хардвер на веб-серверот е лесна…
4. HTTP потписи
Во JWT, заглавието за овластување е кодирано и потпишано со base64. Ако некој го добие JWT токенот и барањето, може да го ажурира телото за барање HTTP. HTTP Signatures му овозможува на клиентот да ја потпише HTTP пораката. Значи, тие други можат да го допрат барањето на мрежата.
Amazon, Facebook и Google користат HTTP Signatures. Во 2016 година, потпишувањето HTTP пораки стапи во пракса. Тоа е нова спецификација за работа во тек. Според оваа спецификација, придобивките од потпишувањето на HTTP пораката, за целите на интегритетот на пораката од крај до крај. Клиентот може да се автентицира со истиот механизам без потреба од многу циклуси.
Разбирање на безбедносните пропусти на API
OWASP отсекогаш бил главен авторитет за најчестите и подмолни безбедносни проблеми кои се наоѓаат во софтверот што го користиме секојдневно, и сето тоа е поткрепено со богати податоци.
Ако постои некоја основна линија за која треба да се стремат организациите, тоа е освојување на ова Топ 10 за безбедност на OWASP API наведени подолу.
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.