Чому і як захистити кінцеву точку API?

Як ви забезпечуєте свій API?


Настав вік вибуху цифрової економіки, і через API переносяться великі навантаження даних. Бізнес, ігри, освіта, наука, мистецтво. . . Ви називаєте це, все працює на API. У світі, який принципово залежить від API, на зону безпеки на диво мало уваги.

Для розробників вистачає значень за замовчуванням їх фреймворків; або ще гірше, коли не використовуються рамки, вони думають, що вони дотримуються безпечної практики. Для системних адміністраторів те, на що вони покладаються, забезпечують безпеку за замовчуванням, яку пропонує їх інфраструктура чи постачальник послуг.

Зовсім не гарне видовище, якщо ви запитаєте мене.

Джерело: developer.ibm.com

Потрібно сказати, що тут багато чого, і це ми розуміємо лише колись воістину жахливий буває.

Але спочатку все. ��

Навіщо захищати кінцеві точки API?

Це повинно бути не мислителем, правда? Нам потрібно забезпечити кінцеві точки, тому що від цього залежить бізнес.

Хоча це досить сильний аргумент сам по собі, я хочу трохи розширити точку зору і виділити інші пов’язані, але однаково смертельні наслідки.

Втрати бізнесу

Це очевидний. Якщо комусь вдасться зіпсуватись із вашими кінцевими точками API, це призведе до того, що все вийде. Порушення безпеки також може зайняти багато часу, щоб відновитись, що означає діловий самогубство. Хоча це правда, що на більшість підприємств, мабуть, не впливатиме година або дві простою, для деяких це не допустимо.

Уявіть, що обмін валюти знижується на кілька хвилин!

Проблеми відповідності

Неправильне забезпечення ваших API може спричинити серйозні проблеми, залежно від того, з якою географією чи галуззю ви маєте справу. Наприклад, якщо ви обслуговуєте банківську індустрію (особливо в ЄС), витрати на виявлення, що обслуговуються з незахищеними API, призведуть до масових проблем з правовими нормами та дотриманням правил. Настільки, що це може навіть прописати кінець вашого бізнесу.

Втрата репутації

Зламати себе досить болісно, ​​але якщо новини з’являться у громадськості, це призведе до непоправної втрати іміджу вашого бренду. Наприклад, Sony вже кілька разів дуже сильно зламали, і в колах безпеки компанія є посміховисько сортів.

Навіть якщо фактичної втрати даних або грошей не настає, удача переконає ваших негідних клієнтів. ��

Завищені рахунки за інфраструктуру

Коли ваш API працює на інфраструктурі, він споживає ресурси (здебільшого пропускну здатність, процесор і пам’ять). Наприклад, якщо API не захищений належним чином, а злісні сторонні люди можуть взаємодіяти з ним, можливо, вони змушують API продовжувати виконувати безглузду роботу (наприклад, запуск важких запитів до бази даних), які можуть збивати ваші рахунки з причин.

На платформах, де ввімкнено автоматичне масштабування ресурсів (наприклад, AWS), результати можуть бути шокуючими (поза темою, але якщо ви коли-небудь потрапляєте в такий суп на AWS, вони цілком розуміють ситуацію і негайно відмовляються від завищений рахунок – як мінімум!).

Мораль команди

Отже, ви можете подумати, що команда, яка дозволила цим компромісам, втратить мораль над ними? Ну, не зовсім. Можливо, що компроміси були через слабку безпеку інфраструктури, що призведе до зневаги розробників або навпаки.

Якщо це станеться достатньо часу, у вас з’явиться культура на руках, яку ви будете шкодувати, що дозволили розвиватися.

Виграш конкурента

Тож скажімо, що було порушення, але фактичних втрат не було. Однак ваші конкуренти використовуватимуть цей інцидент, щоб скласти власний API та запевнити, наскільки надійніший їхній (навіть якщо це не так!). Ще раз удача намагається переконати ринок. ��

Загалом, є наслідки порушення безпеки, які виходять за рамки втрати грошей.

Кращі практики для забезпечення кінцевих точок API

На щастя, існують певні прості у здійсненні та добре зрозумілі практики, які ви можете застосувати до кінцевих точок API для їх захисту. Ось, що рекомендують більшість експертів із безпеки.

HTTPS завжди

Якщо кінцеві точки API дозволяють споживачам API спілкуватися через http або інші незахищені протоколи, ви ставите їх під великий ризик. Паролі, секретні ключі та дані кредитної картки легко можуть бути викрадені як будь-які атака людина-в-середині або інструмент sniffer пакетів може читати їх як звичайний текст.

Отже, завжди робимо доступним https єдиний варіант. Як би тривіальна кінцева точка не здавалася, підключення через http не повинно бути навіть варіантом. Сертифікат TLS не коштує дорого, його можна придбати за ціну від 20 доларів Магазин SSL.

Одностороннє хешування паролів

Паролі ніколи не повинні зберігатися як звичайний текст, оскільки у випадку порушення безпеки всі облікові записи користувачів будуть порушені. При цьому слід сильно уникати симетричного шифрування, оскільки будь-який геніальний та наполегливий нападник зможе їх зламати.

Єдиний запропонований варіант – це асиметричні (або “односторонні”) алгоритми шифрування для зберігання паролів. Таким чином, ані зловмисник, ані будь-який розробник чи системний адміністратор компанії не зможуть читати паролі клієнтів.

Сильна автентифікація

Зараз майже кожен API має форму аутентифікації, але, на мою думку, система OAuth2 працює найкраще. На відміну від інших методів аутентифікації, він ділить ваш обліковий запис на ресурси та дозволяє лише обмежений доступ до носія токена аутентифікації.

У той же час, ще одна дуже хороша практика встановити, що маркери закінчуються кожні, скажімо, 24 години, щоб їх потрібно було оновити. Таким чином, навіть ваш маркер просочується, є ймовірність, що 24-годинний термін зменшить наслідки порушення.

Застосовувати обмеження швидкості

Якщо у вас немає API, який мільйони людей використовують щохвилини, дуже корисно застосувати обмеження кількості дзвінків, які може здійснити клієнт до API в заданому часовому вікні..

Це здебільшого, щоб відмовити ботам, які можуть продовжувати надсилати сотні одночасних запитів щосекунди і змушувати ваш API з’їдати системні ресурси без поважних причин. Усі рамки веб-розробки оснащені проміжним програмним забезпеченням, що обмежує швидкість (а якщо ні, то додати його за допомогою бібліотеки досить просто). Налаштування займає лише хвилину або близько того.

Підтвердити введення даних

Це звучить як непродуманий, але ви здивуєтеся, скільки API для цього потрапляє. Перевірка введення означає не лише перевірку правильності формату вхідних даних, але й не можливі сюрпризи. Простий приклад – інжекція SQL, яка може стерти ваші бази даних, якщо ви дозволите рядкам запитів проходити з невеликою чи зовсім відсутністю перевірки.

Іншим прикладом є перевірка розміру запиту POST та повернення клієнту належного коду помилки та повідомлення. Спроба прийняти та проаналізувати смішно великі входи слугуватиме лише для того, щоб підірвати API.

Застосовуйте фільтрацію IP-адрес, якщо це можливо

Якщо ви користуєтеся послугами B2B, а ваші API використовуються підприємствами з певних місцеположень, розглядаючи можливість додавання додаткового рівня безпеки, який обмежує IP-адресу, яка може отримати доступ до вашого API. Для кожного нового місця розташування та нових клієнтів IP-адресу потрібно буде перевірити щодо вхідного запиту.

Так, це додає неприємностей на борту на борту, але кінцевий результат набагато жорсткіший, ніж можна досягти інакше.

Інструменти для підвищення захисту API

Чи є інструменти, які можуть допомогти нам сканувати вразливість, а ще краще, пропонуючи першу лінію захисту, коли справа стосується забезпечення API?

На щастя, так. Можна скористатися декількома інструментами, але попередити їх, що наприкінці дня жодна стратегія безпеки не є ідеальною. Сказавши це, ці інструменти можуть багаторазово підвищити безпеку вашого API, тому їх рекомендують.

Metasploit

Metasploit є надзвичайно популярною рамкою з відкритим кодом для проникнення веб-додатків та API. Він може сканувати ваш API за декількома різними параметрами та робити вичерпний аудит безпеки на наявність різних рівнів вразливості.

Наприклад, сканування безпеки, проведене Metasploit, може повідомити вам, чи підписи API надають базові технології та операційну систему; приховування цього часто є половиною битви, виграної в безпеці API.

Незважаючи на те, що основний каркас з відкритим кодом, як правило, достатньо, на Metasploit створені чудові платні продукти, які варто переглянути. Професійний план чудовий, якщо ви хочете отримати преміальну підтримку і будете використовувати рамки глибоко, але, як правило, це не потрібно, якщо ваша команда має достатній досвід.

Хмара

Не тільки CDN, але Хмара пропонуємо безліч функцій безпеки, таких як WAF, обмеження швидкості, захист DDoS, що буде важливо для захисту вашого API від онлайн-загроз.

Netsparker

Netsparker поставляється з USP “сканування на основі доказів”. Простіше кажучи, часто можливо, що нерегулярні мережеві умови або деякі менш відомі поведінки API розглядаються як лазівки безпеки, які згодом виявляються помилковими..

Це витрачає ресурси, оскільки всі повідомлення про вразливі місця потребують повторного сканування вручну, щоб підтвердити, що вони не є помилковими. Netsparker каже, що інструмент може надати вам достатньо вагомий доказ концепції для звітів, усуваючи сумніви щодо знайдених слабких посилань.

З такими компаніями, як Sony, Religare, Coca-Cola, Huawei тощо, у своєму списку клієнтів, ви можете бути впевнені, що ці люди роблять щось правильно. �� До речі, вони теж неймовірні блог веб-безпеки що вам слід слідувати.

SoapUI Pro

Створено SmartBear, SoapUI Pro це інтуїтивний та простий спосіб створення тестів API та отримання точних, керованих даними звітів про них. Він також чітко інтегрується з вашим конвеєром CI / CD, переконуючись, що ніякі нові доповнення коду не ставлять під загрозу безпеку вашого API.

SoapUI може працювати з Swagger, OAS та іншими популярними стандартами API, значно скорочуючи час для початку роботи. З такими клієнтами, як Microsoft, Cisco, MasterCard, Oracle тощо, і планують починати від $ 659 в рік, це гідний інструмент для більш безпечних API.

Довірча хвиля

Довірча хвиля це набір рішень, орієнтованих на сканування та зміцнення безпеки. Однією з унікальних речей цього сервісу є те, що він не тільки виконує точне виявлення загроз у вашому API, але й допомагає зрозуміти, як їх виправити..

Trustwave виконує те, що викликає сканування з урахуванням контексту, що означає, що після виявлення базової операційної системи або інфраструктури сервіс виконує серію відповідних перевірок, щоб переконатися, що неприємні отвори в безпеці, пов’язані з цією платформою, відсутні.

Вони також можуть похвалитися сильною командою дослідників з безпеки, які постійно оновлюють можливості обслуговування. Якщо ви дотримуєтесь правил, Trustwave – це гарне рішення.

Якщо ви живете за номерами і хочете користуватися такими функціями, як відповідь на загрозу, повторне виконання тестів після виправлень одним клацанням миші та інше, не шукайте більше!

Є не бракує інструментів безпеки API, доступних на ринку, незалежно від того, відкритим він є, безкоштовним чи комерційним, або будь-якою з них. Сміливо вивчайте більше, і якщо ви знайдете щось ще краще, напишіть це у коментарях, і я з радістю включу це! ��

МЕТИ:

  • API

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map