Микросервисы И Безопасность



Общие шаблоны безопасности, используемые в большинстве архитектур API.

Для будущих студентов курса «Микросервисная архитектура» подготовил традиционный перевод материала.

Также приглашаем всех на открытый вебинар по теме «Распределенные очереди сообщений на примере Kafka».



Микросервисы и безопасность






Что такое микросервисы?

Микросервис — это структурная единица, в которой все данные и функции, относящиеся к одной конкретной бизнес-цели, объединены в один сервис.

Ну, это довольно общее понимание микросервиса, но что мы на самом деле под этим подразумеваем? Для примера можно взять конструктор Лего, да, вы не ослышались, Лего.

Возможно, вы помните, что когда мы играем с Лего, мы начинаем строить конструкцию из одного отдельного кубика Лего.

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

Здесь мы можем провести четкую параллель между микросервисом и кубиком Lego.

Микросервисы и безопасность

Отдельный микросервис

Микросервисы и безопасность

Полное приложение (содержащее несколько слабосвязанных микросервисов)

Преимущества использования микросервисной архитектуры

  • Изоляция
  • Масштабируемость
  • Производительность
  • Гибкость
  • Ускоренная разработка проекта
  • Эволеспособность
У микросервисов есть еще много преимуществ и возможностей, но мы оставим их на другой раз.

В этой статье мы обсудим шаблоны безопасности микросервисов.



Шаблоны безопасности микросервисов



Многоуровневая защита

В мире микросервисов очень широко используется термин «архитектура на основе API».

Архитектура на основе API означает, что мы разбиваем все наше приложение на разные уровни API в зависимости от их объема функциональности.

Вот мы и пришли к понятию многоуровневая защита .

Вводя в приложение разные уровни, мы также вводим API-шлюзы (API-шлюзы) для каждого уровня.

Наличие нескольких шлюзов API затрудняет проникновение в глубь системы потенциальному хакеру из-за различного набора АвторизацияN И АвторизацияZ политики для каждого уровня.



Микросервисы и безопасность



Использование токенов доступа и идентификации

Маркер доступа — это объект, который инкапсулирует идентификатор безопасности процесса или потока.

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

OAuth И OpenID — конкретные реализации этой концепции.



Микросервисы и безопасность



Наиболее широко используемые токены



SAML (язык разметки утверждений безопасности)

SAML — это открытый стандарт, который позволяет поставщикам удостоверений передавать учетные данные авторизации поставщикам услуг.

С помощью SAML вы можете использовать один набор учетных данных для входа на множество разных сайтов.

Управлять одним логином для каждого пользователя намного проще, чем управлять отдельными логинами для каждой вашей учетной записи.



JWT (JSON Web Token) и семейство стандартов JOSE

JWT — это открытый стандарт, определяющий компактный и автономный способ безопасной передачи информации между сторонами в форме JSON-объект .

Эту информацию можно проверить и ей можно доверять, поскольку она имеет цифровую подпись.

JWT можно подписать с использованием секрета (с помощью алгоритма HMAC) или пары открытого/закрытого ключей с использованием RSA.

Микросервисы и безопасность



PASETO (Platform Agnostic SEcurity TOken — независимый от платформы токен безопасности)

ПАСЕТО — это криптографически безопасное, компактное и URL-безопасное представление объявленных значений, предназначенное для сред с ограниченным пространством, таких как файлы cookie HTTP, заголовки авторизации HTTP и параметры запроса URI. PASETO кодирует объявленные значения, которые должны быть переданы в объекте JSON, и либо симметрично шифруются, либо подписываются с использованием открытого ключа.

Ключевое различие между PASETO и семейством стандартов JOSE заключается в том, что JOSE позволяет разработчикам и пользователям смешивать и сопоставлять криптографические алгоритмы по своему выбору (обозначаемые заголовком «alg» в JWT), тогда как PASETO имеет четко определенные версии протокола для предотвращения возможность выбора небезопасных конфигураций.



Микросервисы и безопасность



Безопасность с помощью кода

Здесь мы обсудим базовый стиль/стандарты кодирования API. Каждый API должен быть закодирован таким образом, чтобы автоматически избегать всех возможных уязвимостей.

Если избежать уязвимостей невозможно, то ваш API должен, по крайней мере, избегать 10 основных представленных уязвимостей.

ОВАСП .



Микросервисы и безопасность



Сканирование зависимостей

Поскольку большинство современных API используют контейнерный подход для упаковки и развертывания API в облаке, важно сканировать все зависимости, которые будут использоваться для поддержки операций API. Обнаружены уязвимости в образах Docker Hub:

Микросервисы и безопасность



Использование HTTPS

SSL — это протокол для безопасных соединений трафика.

Используя SSL, HTTPS предотвращает доступ злоумышленников и перехватчиков к службам веб-приложений.

HTTPS — это, по сути, HTTP через SSL. SSL устанавливает зашифрованное соединение с использованием сертификата SSL, который также известен как цифровой сертификат.

Микросервисы и безопасность




Узнайте больше о курсе «Микросервисная архитектура».

Посмотреть открытый вебинар на тему «Распределенные очереди сообщений на примере Kafka».

Теги: #api #Microservices #архитектура микросервисов #jwt #архитектура микросервисов #безопасность микросервисов #токены безопасности #saml
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.