Создание микросервисов с учетом безопасности

08.05.2022 От siroko07 Выкл.
Создание микросервисов с учетом безопасности

Как банковский сектор может использовать микросервисы без ущерба для кибербезопасности? Сектор Fintech предлагает ключевые решения в этой области: узнайте о них в этой статье с идеями Credemtel, компании-разработчика программного обеспечения, входящей в банковскую группу Credem.

Как изменится банковский сектор благодаря FinTech

Банковский сектор значительно развился благодаря FinTech . В этом секторе все еще ожидаются значительные изменения благодаря открытой архитектуре, микросервисам и другим инновациям. Вот некоторые из изменений, которые ожидает банковский сектор:

  • Благодаря открытой архитектуре банки могут продавать собственные и сторонние продукты и услуги . Это будет выгодно клиентам, так как они получат все необходимое в одном месте.
  • Банки смогут обнаруживать любые угрозы безопасности задолго до того, как они смогут представлять угрозу.
  • Безопасность будет повышена за счет использования таких сервисов, как OpenID. Эта децентрализованная платформа позволяет пользователям хранить свои пароли и личные данные, а это означает, что они могут удобно использовать множество паролей для своих онлайн-аккаунтов.

Банки и другие финтех-компании могут быстро вносить изменения и добавлять функции с помощью микросервисов.

Credemtel является примером этого: компания работает над открытой архитектурой для клиентов малого и среднего бизнеса , чтобы создать федерацию предприятий внутри и за пределами группы Credem и разработать инновационные услуги, которые используют данные о выставлении счетов для сверки и финансового анализа с помощью данных банковских транзакций. .

От микросервисов к dotNet 6

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

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

dotNet 6 — это самый быстрый веб-фреймворк с полным стеком , и компании, работающие в облаке, особенно сэкономят деньги с этим фреймворком.

Путь внедрения микросервисов

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

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

Предлагаемые решения с использованием архитектуры dotNet

Архитектура dotNet 6 помогает решать различные проблемы при создании приложений с помощью микросервисов. Благодаря своей новой минимальной функции API dotNet 6 упрощает множество процессов и даже делает другие ненужными. Некоторые решения, предлагаемые с архитектурой ASP.NET Core, включают:

  • Быстрое развитие
  • Облачные конфигурации
  • Кроссплатформенная поддержка

Эти преимущества особенно полезны для предприятий, которым требуется высокий уровень гибкости и масштабируемости. Также его стоит использовать, если ваш главный приоритет — быстрая разработка приложений . dotNET 6, как правило, значительно упрощает разработку микросервисов и открытой архитектуры. Хотя классическая версия этой платформы была ограничена, теперь она разработана для работы на Mac, Linux и Windows.

Реализация DevSecOps

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

DevSecOps вводит автоматизацию и другие функции в DevOps.

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

Успешно внедрив DevSecOps, вы добавите тестирование безопасности в конвейер CI/CD и на протяжении всего жизненного цикла разработки программного обеспечения. Это означает , что вы не просто будете запускать тесты ближе к концу жизненного цикла разработки.

Успешная реализация DevSecOps также возлагает ответственность за безопасность на каждого разработчика, участвующего в проекте . Это потому, что они смогут увидеть проблемы безопасности в своих собственных рабочих процессах.

Автоматизация TDD с помощью NUnit

Разработка через тестирование или TDD — отличный способ найти и устранить проблемы на ранних этапах цикла разработки вашего приложения. Если вы часто с опаской относитесь к изменению существующего кода, вам будет особенно полезен TDD. Поскольку у вас будет возможность обнаружить проблемы с кодом на ранней стадии, весь процесс разработки будет чрезвычайно гибким.

Вы можете автоматизировать TDD с помощью NUnit. После установки последней версии NUnit вы получите DLL, которую можно использовать для доступа к инфраструктуре NUnit. Вы также можете установить TestDriven.net для лучшей интеграции Visual Studios. Для запуска тестов вы можете добавить в класс атрибут [TestFixture]. Если вы хотите протестировать методы, вы можете добавить атрибут [Test]. Если вы получите неожиданное исключение или ошибочное утверждение, вы будете знать, что тест не пройден.

Анализ кода с помощью Sonarqube

Еще одним аспектом реализации DevSecOps является анализ кода . Это можно сделать с помощью Sonarqube. Этот инструмент собирает и анализирует исходные коды, после чего формирует отчеты о качестве кода. Сочетая инструменты статического и динамического анализа, Sonarqube может постоянно анализировать качество кодов.

Как разработчик, этот инструмент облегчит поиск ошибок в коде , и вы также сможете определить, что это за проблема. Например, в отчете может быть указано, что код работает некорректно из-за проблем со стилем или дублирования кода. Sonarqube также помогает разработчикам определять «запахи кода» и предлагать некоторые решения для их исправления. Этот инструмент также может выявлять наиболее распространенные уязвимости безопасности.

Sonarqube имеет несколько уровней, и вы можете выбрать один из них в зависимости от необходимого вам уровня развития. Чтобы установить Sonarqube, вы можете использовать ZIP-файл или образ докера. После установки вы можете войти на http://localhost:9000 и выполнить следующие шаги для анализа проекта:

Нажмите «Выбрать новый проект».

  • Укажите, что вы хотите создать проект вручную
  • Добавьте ключ проекта и отображаемое имя, затем нажмите «Настроить».
  • Затем вы можете сгенерировать токен и выбрать основной язык вашего проекта.
  • Затем вы можете следовать указанным инструкциям, чтобы выполнить анализ вашего проекта.

Вы также должны загрузить и запустить сканер вашего кода.

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

Sonarqube — ключевой инструмент для анализа кода.

Dataops: как использовать RedGate

Вы можете перейти к настоящим операциям с данными с помощью инструмента SQL Source Control RedGate. Основная причина включения вашей базы данных в стратегию DevOps — ускорить доставку изменений базы данных . Это также помогает повысить надежность этих изменений и сводит к минимуму сбои развертывания. При использовании Redgate Deploy вам сначала придется начать с известной версии базы данных в системе управления версиями. Вы сможете создать любую версию базы данных в системе управления версиями по мере подготовки к выпуску

Конвейер Azure DevOps автоматически создает и тестирует проекты кода. Он сочетает в себе непрерывную интеграцию (CI) и непрерывную доставку (CD) для тестирования, сборки и доставки кода.

Уровень пользовательского интерфейса с Angular

Angular — лучший интерфейсный фреймворк для приложений с открытой архитектурой. При разработке вашего приложения Fintech вам будет полезно создать слой пользовательского интерфейса с помощью Angular . По мере роста сообщества Angular в этот фреймворк было включено множество библиотек пользовательского интерфейса. Таким образом, использование Angular значительно упростит процесс веб-разработки.

Как реализовать RabbitMq с MassTransit

RabbitMQ — это брокер сообщений, то есть он принимает, сохраняет и передает сообщения из одного приложения в другое. С помощью этого инструмента вы сможете создавать развязывающие и производительные приложения. С другой стороны, MassTransit — это бесплатная платформа распределенных приложений с открытым исходным кодом для приложений dotNet 6. Это позволяет ретранслировать сообщения с помощью RabbitMQ.

Чтобы реализовать Rabbit MQ с помощью MassTransit , вам сначала нужно развернуть сервер RabbitMQ с помощью Docker. Затем вы можете определить класс или интерфейс dotNet и создать проект.

После этого вы можете создать производителя с помощью MassTransit, и это должно быть реализовано как веб-API ASP.NET Core. Затем вы должны настроить MassTransit для использования RabbitMQ в файле program.cs. На последнем шаге вы должны вызвать AddMassTransitHostedService, и это автоматически обработает движение автобуса.

Затем вам нужно создать класс OrderDTo, который должен работать как параметр для метода конечной точки. После определения DTO следует приступить к созданию контроллера API, который будет создавать событие или сообщение . Для этого ему придется использовать интерфейс OrderCreated. Вам также необходимо внедрить IPublishEndpoint в контроллер, чтобы опубликовать событие.

Как только все будет сделано, вы можете вернуть OkResult.

Следующим шагом является создание потребителя с помощью консольного приложения dotNet. Когда он настроен на получение сообщений, вам нужно будет запустить шину. Вы можете сделать это, вызвав StartAsync в buscontrol. Чтобы остановить buscontrol, вы можете вызвать StopAsync.

Зачем использовать OpenID для протокола аутентификации

OpenID — это децентрализованный протокол аутентификации, который может помочь ускорить процесс регистрации на веб-сайтах и ​​в приложениях Fintech. С этим протоколом пользователям не нужно будет выполнять множество шагов, чтобы получить доступ к своим учетным записям. Процесс может быть завершен одним щелчком мыши. Также стоит отметить, что у людей есть несколько учетных записей в Интернете, и этот инструмент может помочь им отслеживать пароли, которые они используют для разных платформ. Такие данные, как дата вашего рождения, также хранятся на платформе и могут автоматически заполняться при входе на сайт.

Распределенная наблюдаемость и мониторинг

Мониторинг и наблюдаемость в микросервисах могут помочь получить представление о состоянии системы.

Мониторинг и наблюдаемость в микросервисах могут помочь получить представление о состоянии системы.

Мониторинг относится к практике наблюдения за состоянием приложения с использованием заранее определенных показателей. Хотя это важно, реализовать это в распределенной системе, такой как микросервисы, может быть сложно. В таких системах наблюдаемость может быть очень полезной для понимания внутреннего состояния системы . Наблюдаемость позволяет разработчикам задавать произвольные вопросы о поведении системы, и это может дать им представление о поведении системы.

Распространение CorrelationId для распределенной трассировки

CorrelationID — это идентификатор, который прикрепляется к сообщениям и запросам. Как только данные будут собраны в централизованной системе, идентификатор корреляции поможет вам увидеть поток сообщения.

Мониторинг через Prometheus и Grafana

Prometheus — это система мониторинга, которая хранит данные временных рядов и использует современный подход к оповещению. С другой стороны, Grafana позволяет разработчикам визуализировать хранимую информацию.