Ръководство за сигурност на API през 2023 г

Ръководство за сигурност на API

Въведение

API са от съществено значение за увеличаване на иновациите в нашата цифрова икономика.
 
Garner, Inc прогнозира, че до 2020 г. повече от 25 милиарда нещата ще се свържат с интернет.
 
Това представлява възможност за допълнителни приходи 300 млрд. долара подхранван от API. 
 
И все пак API разкриват по-широка повърхност за атака за киберпрестъпници.
 
Това е така, защото API разкриват логиката на приложението и чувствителните данни.
 
Тази статия изследва как да защитите API.
 
Ще обсъдим REST API срещу SOAP API.
 
Ще прегледаме Топ 10 на OWASP API.
 
Освен това ще говорим за най-добрите практики за защита на вашите API.

Какво представлява икономиката на API?

Икономиката на API се появява, когато API станат част от организационен модел.
 
API са стратегически активиращи фактори за няколко онлайн бизнес модела. 
 
Amazon, например, е повече от интернет търговец на дребно, той е и популярен търговски портал.
 
Платформата на Amazon се основава на API, които позволяват лесно навлизане на нови търговци. 
 
Банките са базирали платежни инфраструктури и клирингови къщи на добре дефинирани API от десетилетия.
 
API трябва да бъдат неразделна част от вашата бизнес стратегия.

Сигурност на уеб API

Уеб API свързват клиентската страна на приложението със сървърната страна.
 
Сигурността на Web API включва, но не се ограничава до контрол на достъпа и поверителност. 
 
Атака срещу приложение може да заобиколи приложението от страна на клиента и да се фокусира върху API.
 
Микроуслугите често използват API, защото са достъпни чрез обществени мрежи.
 
API могат да бъдат чувствителни към инциденти от тип DDOS за отказ на услуга. 
 
REST API сигурност срещу SOAP API сигурност 
 
Има два основни типа реализации на API:
 
  1. REST (прехвърляне на представително състояние). 
 
      2. SOAP (прост протокол за достъп до обекти).

Сигурност на REST API

Шифроването на сигурността на транспортния слой (TLS) се поддържа чрез REST API, които комуникират през HTTP.
 
TLS криптира и проверява, за да гарантира, че трети страни не могат да прочетат изпратените данни.
 
Хакери, които се опитват да откраднат кредитната ви карта информация няма да има достъп до вашите данни. 
 
REST API използват JavaScript Object Notation (JSON). По-бързо е да използвате REST API, отколкото SOAP API. Те не трябва да съхраняват данни, което ги прави по-ефективни.

SOAP API, сигурност

SOAP API предоставят вграден механизъм за сигурност, наречен Защита на уеб услугите (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 удостоверяване

Стандартният механизъм за оторизация е OAuth 2.0.
 
Рамката за оторизация OAuth 2.0 позволява на трета страна да получи ограничен достъп до HTTP услуга.
 
Това работи, като позволява на приложението на трета страна да получи достъп от свое име. 
 
 В контекста на потоците за удостоверяване на OAuth има няколко различни опции.
 
Поддържаните OAuth потоци включват:
 
  • Поток на паролата за потребителско име: където програмата има директен достъп до потребителските идентификационни данни.
 
  • Поток на уеб сървър: където сървърът може да защити тайната на потребителя.
 
  • Поток на потребителски агент: използва се от приложения, които не могат да съхраняват потребителската тайна.
 
При OAuth2.0 удостоверяване потребителят ще изпрати идентификационни данни в тялото на заявката. Като основно удостоверяване, но също така въвежда токени. Токените се съхраняват от страната на сървъра. Същият токен извиква услугата произволен брой пъти, докато не изтече. Потребителите могат да обновят, за да получат новия.
 
Проблемът е, че този метод произвежда повече токени. Изтеклите токени на сървъра ще увеличат натоварването на сървъра.

3. Удостоверяване на JSON уеб токен

JWT Token е JSON обект и base64 кодиран и подписан със споделен ключ. JWT гарантира, че само определен потребител може да генерира уникален токен. JWT не са криптирани. Всеки с достъп до токена ще получи данните.

Предимства на JWT

  • Токенът съдържа цялата информация, необходима за удостоверяване на потребителя.
  • Лесно е да избегнете разчитането на централизирани сървъри и бази данни за удостоверяване.
  • Проверката включва проверка на подписа и няколко други фактора.
  •  JWT е токен със среден живот с определена дата на изтичане между няколко седмици и повече
  • Мащабируемостта на съвременния хардуер на уеб сървъра е лесна...

4. HTTP подписи

В JWT заглавката за оторизация е кодирана и подписана base64. Ако някой получи JWT токена и заявката, той може да актуализира тялото на HTTP заявката. HTTP подписите позволяват на клиента да подпише HTTP съобщението. Така че тези други могат да докоснат заявката в мрежата.

Amazon, Facebook и Google използват HTTP подписи. През 2016 г. подписването на HTTP съобщения влезе в практиката. Това е нова спецификация в процес на работа. Съгласно тази спецификация, ползата от подписването на HTTP съобщението за целите на целостта на съобщението от край до край. Клиентът може да се удостовери със същия механизъм, без да са необходими много цикли.

Разбиране на уязвимостите в сигурността на API

OWASP винаги е бил основният орган по най-често срещаните и коварни проблеми със сигурността, открити в софтуера, който използваме всеки ден, и всичко това е подкрепено с богати данни.

Ако има някаква базова линия, към която организациите трябва да се стремят, това е завладяването на това OWASP API Топ 10 за сигурност, изброени по-долу.

OWASP API SECURITY TOP 1O

API1: Разрешено разрешение на ниво обект

API2: Нарушена автентификация

API3: Прекомерно излагане на данни

API4: Липса на ограничаване на ресурси и скорост

API5: Счупено ниво на функция Auth

API6: Масово задание

API7: Неправилна конфигурация на сигурността

API8: Инжектиране

API9: Неправилно управление на активи

API10: Недостатъчно регистриране и наблюдение

НАЙ-ДОБРИТЕ ПРАКТИКИ ЗА СИГУРНОСТ НА API

Ето някои от най-често срещаните начини за подобряване на сигурността на API:

 

  1. Установете своите уязвимости. 

 

Необходимо е операционната система, мрежата и компонентите на API да се актуализират. Потърсете пропуски, които могат да позволят на нападателите да получат достъп до вашите API. Снифърите откриват проблеми със сигурността и проследяват изтичането на данни.

 

  1. Поставете квотата и дроселирането.

 

Поставете квота за това колко често се обаждат вашите API и проверете използването в историята. Злоупотребата с API обикновено се показва чрез скок в обажданията. 

 

  1. Използвайте API шлюз, за ​​да се свържете с вашия API. 

 

API шлюзовете са основната точка за прилагане на API трафика. Това ще ви позволи да контролирате и анализирате как вашите API се удостоверяват.

 

  1. Използвайте токени.

 

Създайте надеждни самоличности. Използвайте токени с тези самоличности, за да контролирате достъпа до услуги и ресурси.

 

  1. Използвайте криптиране и цифрови подписи.

 

Шифровайте вашите данни с помощта на TLS. Използвайте цифрови подписи, за да проверите дали само оторизирани лица имат достъп до и редактират данни.

 

  1. Съсредоточете се върху сигурността.

 

API никога не трябва да се считат за случайни. Организациите могат да загубят много, ако не успеят да осигурят API. В резултат на това направете сигурността приоритет и я включете във вашите API.

 

  1. Потвърдете въведеното.

 

Никога не предавайте данни към крайна точка чрез API, без първо да я проверите.

 

  1. Използвайте ограничаване на скоростта. 

 

Ограничаването на заявките може да помогне за предотвратяване на атаки за отказ на услуга.

 

  1. Използвайте стабилна система за удостоверяване и оторизация. 

 

Когато приложните програмни интерфейси (API) не налагат удостоверяване, се случва нарушено удостоверяване.

Използвайте добре установени технологии за влизане и оторизация, като OAuth2.0 и OpenID Connect.

Заключение

Прегледахме Топ 10 на уязвимостите в сигурността на OWASP API, за да защитим по-добре API.
 
Ние можем да управляваме управлението на риска, като използваме добре установени техники за удостоверяване и оторизация.
 
Например HTTP подписи, които Amazon, Facebook и Google използват всички.
 
Прегледахме други най-добри практики за API, включително използването на токени и криптиране.
 
Също така засегнахме цифровите подписи, както и важността на валидирането на въведеното.
 
Прочетете нашата статия за най-добрите практики за сигурност на API в 2022 за повече информация относно Топ 10 на сигурността на OWASP API.
Как да подправите MAC адрес

MAC адреси и MAC спуфинг: Изчерпателно ръководство

MAC адрес и MAC Spoofing: Изчерпателно ръководство Въведение От улесняване на комуникацията до активиране на сигурни връзки, MAC адресите играят основна роля при идентифицирането на устройства

Прочети повече »