525.76K

Защита микросервисных приложений, распределенных в среде виртуализации

1.

МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение
высшего образования
Костромской государственный университет
(КГУ)
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
(БАКАЛАВРСКАЯ РАБОТА)
по направлению 10.03.01 – Информационная безопасность
на тему: «ЗАЩИТА МИКРОСЕРВИСНЫХ ПРИЛОЖЕНИЙ, РАСПРЕДЕЛЕННЫХ В СРЕДЕ
ВИРТУАЛИЗАЦИИ, ОТ DDOS АТАК»
Студент группы 18-Иббо-6:
Бобков Александр Юрьевич
Руководитель работы:
к.т.н. доц. Волков Антон Андреевич
Кострома 2022

2.

2
Цель и задачи выпускной квалификационной работы
Цель исследования – разработать рекомендации для обеспечения доступности и отказоустойчивости микросервисного
приложения в среде контейнеризации Docker при высоких нагрузках
Исходя из цели исследования были сформулированы следующие задачи:
1. Изучить технологий виртуализации и контейнеризации
2. Проанализировать основные направленности и средства DDOS атак
3. Выявить текущие проблемы уязвимости приложения
4. Реализовать меры защиты от атак путем создания единой точки входа (на примере прокси-сервера Nginx)
5. Масштабирование распределенного приложения в зависимости от уровня нагрузки
6. Провести анализ работоспособности приложения с принятыми мерами защиты
Объект исследования – информационная безопасность в микросервисном приложении
Предмет исследования – система защиты от DDOS атак путем создания единой точки входа в приложение

3.

3
Гостевая ОС
Гостевая ОС
VS
К
К
Приложение
Гостевая ОС
Контейнеры
К
К
Приложение
Приложение
К
Приложение
Приложение
Приложение
Приложение
К
Приложение
Виртуальные машины
ВМ
ВМ
ВМ
Приложение
Почему не виртуальные машины?
Гипервизор
ПО для управления контейнерами
Хостовая ОС
Хостовая ОС с ядром виртуализации
Инфраструктура
Инфраструктура
Полная изоляция гостевой ОС от
хостовой и других ВМ, однако требует
больше ресурсов
Сложность обновлений и изменений,
особенно при большом количестве ВМ
Минимум зависимостей ОС,
необходимый для запуска приложений,
требует меньше ресурсов
Ядро ОС контейнера зависит от
хостовой ОС
Для обновления/изменения необходимо
пересобрать и перезапустить контейнер

4.

4
Какую среду использовать?
Решение проблемы зависимостей и
рабочего окружения
Изоляция и безопасность
Ускорение и автоматизация
развертывания приложений и
масштабируемость
Docker compose: один файл -
множество контейнеров

5.

5
Каким инструментом проверять?
Легкая отладка тестовых кейсов;
Умение гибко взаимодействовать
с различными браузерами и ОС;
Простой поиск багов на
начальном этапе
программирования;
Подача отчетов в графических
таблицах;

6.

6
Первый эксперимент
Профиль нагрузки:
● rampUserPerSecond (0) to 200
during
120
постепенное
увеличение количества запросов
от 0 до 200 в секунду (rps) в
течении 120 секунд;
● constantUserPerSec (200) during
180 - постоянная величина
количества
отправляемых
запросов в течении 180 секунд.
Типы запросов:
● GET - для получения данных
● POST to CRUD - для вставки
данных
● POST to Orchestrator - для
обработки и вставки данных

7.

7
Результат нагрузочного тестирования
1.
2.
3.
Экспоненциальный рост
времени ответа в самом
начале теста
Длительный
промежуток
недоступности
приложения (16 тысяч
неотвеченных запросов)
Нестабильная работа
приложения оставшуюся
часть теста

8.

8
Второй эксперимент
Конфигурация nginx:
● worker_connection
=
512
количество
одновременных
подключений ограничено 512;
● server 10.7.0.11:4443 weight = 4;
server 10.7.0.12:4443 weight = 4;
server 10.7.0.13:4443 weight = 2;
распределение нагрузки между
копиями компонента
Профиль нагрузки: без изменений
Типы запросов: без изменений

9.

9
Результат нагрузочного тестирования
1.
2.
3.
Равномерный плавный рост
времени ответа
Ограничение одновременно
активных пользователей на
уровне ~510
Новые запросы при
максимальном количестве
пользователей
блокируются с ошибкой
“500” до конца обработки
активных запросов

10.

10
Заключение
1.
2.
3.
4.
5.
Разработано два экспериментальных стенда с защищенным и незащищенным микросервисным
приложением.
Разработан профиль нагрузочного тестирования и сценарий симуляции средствами программного
продукта Gatling.
Проанализированы уязвимости и проблемы производительности микросервисного приложения без
системы защиты во время DOS атаки
На основе полученных результатов предложены и реализованы меры защиты этого приложения от
последующих атак
Проанализировано состояние защищенности, доступности и стабильности приложения с
примененной системой защиты

11.

Благодарю за
внимание!

12.

МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение
высшего образования
Костромской государственный университет
(КГУ)
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
(БАКАЛАВРСКАЯ РАБОТА)
по направлению 10.03.01 – Информационная безопасность
на тему: «РАЗРАБОТКА ПОДСИСТЕМЫ УДАЛЕННОГО КОНТРОЛЯ ДЕЙСТВИЙ
ПОЛЬЗОВАТЕЛЯ В СЕТИ ИНТЕРНЕТ»
Студент группы 18-Иббо-6:
Бобков Александр Юрьевич
Руководитель работы:
к.т.н. доц. Волков Антон Андреевич
Кострома 2022
English     Русский Правила