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

Въведение
Какво представлява икономиката на API?
Сигурност на уеб API
- REST (прехвърляне на представително състояние).
Сигурност на REST 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 удостоверяване
- Поток на паролата за потребителско име: където програмата има директен достъп до потребителските идентификационни данни.
- Поток на уеб сървър: където сървърът може да защити тайната на потребителя.
- Поток на потребителски агент: използва се от приложения, които не могат да съхраняват потребителската тайна.
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:
- Установете своите уязвимости.
Необходимо е операционната система, мрежата и компонентите на API да се актуализират. Потърсете пропуски, които могат да позволят на нападателите да получат достъп до вашите API. Снифърите откриват проблеми със сигурността и проследяват изтичането на данни.
- Поставете квотата и дроселирането.
Поставете квота за това колко често се обаждат вашите API и проверете използването в историята. Злоупотребата с API обикновено се показва чрез скок в обажданията.
- Използвайте API шлюз, за да се свържете с вашия API.
API шлюзовете са основната точка за прилагане на API трафика. Това ще ви позволи да контролирате и анализирате как вашите API се удостоверяват.
- Използвайте токени.
Създайте надеждни самоличности. Използвайте токени с тези самоличности, за да контролирате достъпа до услуги и ресурси.
- Използвайте криптиране и цифрови подписи.
Шифровайте вашите данни с помощта на TLS. Използвайте цифрови подписи, за да проверите дали само оторизирани лица имат достъп до и редактират данни.
- Съсредоточете се върху сигурността.
API никога не трябва да се считат за случайни. Организациите могат да загубят много, ако не успеят да осигурят API. В резултат на това направете сигурността приоритет и я включете във вашите API.
- Потвърдете въведеното.
Никога не предавайте данни към крайна точка чрез API, без първо да я проверите.
- Използвайте ограничаване на скоростта.
Ограничаването на заявките може да помогне за предотвратяване на атаки за отказ на услуга.
- Използвайте стабилна система за удостоверяване и оторизация.
Когато приложните програмни интерфейси (API) не налагат удостоверяване, се случва нарушено удостоверяване.
Използвайте добре установени технологии за влизане и оторизация, като OAuth2.0 и OpenID Connect.