Защо и как да обезопасите крайната точка на API?

Как осигурявате своя API?


Това е ерата на експлозията в цифровата икономика и чрез API-тата се правят огромни натоварвания от данни. Бизнес, игри, образование, наука, изкуства. , , наречете го, всичко работи на API. За свят, който в основата си разчита на API, има изненадващо малък акцент върху сигурността.

За разработчиците по подразбиране техните рамки са достатъчни; или още по-лошо, когато не се използват рамки, те смятат, че следват сигурни практики. За системните администратори защитата по подразбиране, предлагана от тяхната инфраструктура или доставчик на услуги, е това, на което разчитат.

Изобщо не е хубава гледка, ако ме питате.

Източник: developer.ibm.com

Излишно е да казвам, че има много заложени, които осъзнаваме само когато нещо наистина ужасно случва се.

Но първо първо. ��

Защо да защитете крайните точки на API?

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

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

Загуба на бизнес

Това е очевидното. Ако някой успее да се забърка с вашите крайни точки на API, това ще доведе до спиране. Нарушенията на сигурността също могат да отнемат много време, за да се възстановим, което означава бизнес самоубийство. Въпреки че е вярно, че повечето фирми вероятно няма да бъдат засегнати от час или два престой, за някои това не е допустимо.

Представете си, че обменът на валута намалява за няколко минути!

Проблеми със съответствието

Неправилното осигуряване на вашите APIs може да ви създаде сериозни проблеми, в зависимост от това с кои географии или отрасли се занимавате. Например, ако обслужвате банковата индустрия (най-вече в ЕС), разходите за откриване на услуги с несигурни API-та ще доведат до големи проблеми с правните норми и спазването. Толкова много, че дори да заклина края на вашия бизнес.

Репутация загуба

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

Дори и да не е направена реална загуба на данни или пари, късмет, опитвайки се да убеди клиентите си, които заблуждават. ��

Завишени сметки за инфраструктура

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

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

Екип на морала

Може би си мислите, че екипът, който оставя тези компромиси, ще загуби морал над тях? Е, не съвсем. Възможно е компромисите да се дължат на слаба сигурност на инфраструктурата, което ще обезсърчи разработчиците или обратното.

Ако това се случи достатъчно време, ще имате култура на ръцете си, за която ще съжалявате, че се развивате.

Печалби на конкурентите

Нека да кажем, че имаше нарушение, но нямаше реална загуба. Вашите конкуренти обаче ще използват инцидента, за да изградят собствен API и да отстояват колко по-сигурен е техният (дори и да не е!). За пореден път, късмет, опитвайки се да убеди пазара. ��

Като цяло има последствия за нарушения на сигурността, които надхвърлят загубата на пари.

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

За щастие, има някои лесни за изпълнение и добре разбрани практики, които можете да приложите към крайните точки на вашия API за осигуряването им. Ето какво препоръчват повечето експерти по сигурността.

HTTPS винаги

Ако вашите крайни точки на API позволяват на потребителите на API да говорят чрез http или други незащитени протоколи, вие ги излагате на голям риск. Паролите, секретните ключове и информацията за кредитната карта могат лесно да бъдат откраднати атака на човек в средата или пакетът sniffer tool може да ги чете като обикновен текст.

Затова винаги правете https единствената опция на разположение. Колкото и да изглежда тривиална крайна точка, свързването през http не би трябвало дори да е опция. TLS сертификатът не струва много, можете да си купите за 20 долара от SSL магазин.

Еднопосочно хеширане на парола

Паролите никога не трябва да се съхраняват като обикновен текст, тъй като в случай на нарушение на сигурността всички потребителски акаунти ще бъдат компрометирани. В същото време трябва да се избягва стриктно симетрично криптиране, тъй като всеки нападателен и достатъчно настойчив нападател ще може да ги наруши.

Единствената предложена опция са асиметрични (или „еднопосочни“) алгоритми за криптиране за съхранение на пароли. По този начин нито атакуващ, нито който и да е разработчик или sysadmin в рамките на компанията няма да могат да четат потребителски пароли.

Силно удостоверяване

Сега почти всеки 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, които си заслужават да бъдат разгледани. Про планът е чудесен, ако искате първокласна поддръжка и ще използвате рамката в дълбочина, но по принцип не е необходим, ако вашият екип има достатъчно опит.

Cloudflare

Не само CDN, но Cloudflare предлагат множество функции за защита като 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.

Trustwave

Trustwave е набор от решения, съсредоточени около сканирането и втвърдяването на сигурността. Едно от уникалните неща за тази услуга е, че тя не само извършва точно откриване на заплаха във вашия 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