Почему и как защитить конечную точку 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 или другим незащищенным протоколам, вы подвергаете их большому риску. Пароли, секретные ключи и данные кредитной карты могут быть легко украдены, как и любой другой атака “человек посередине” или инструмент анализатора пакетов может читать их как обычный текст.

Поэтому всегда делайте 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, которые стоит посмотреть. Про-план хорош, если вы хотите получить премиум-поддержку, и будете глубоко использовать фреймворк, но, как правило, в этом нет необходимости, если ваша команда достаточно опытна..

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, доступных на рынке, будь то с открытым исходным кодом, бесплатные или коммерческие, или любая их комбинация. Не стесняйтесь исследовать больше, и если вы найдете что-то еще лучше, пожалуйста, напишите об этом в комментариях, и я буду рад включить это! ��

TAGS:

  • 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