Аннотация
ВВЕДЕНИЕ 4
1 Исследование и формализация процесса разработки 6
1.1 Что такое доступ 6
1.2 Сетевой тип доступа 7
1.3 Software-тип доступа 9
1.4 Типы работ на оборудовании 11
1.4.1 Запланированная работа 12
1.4.2 Внеплановая работа 13
1.4.3 Работа вне СКУД 14
1.5 Анализ функциональных требований 14
1.6 Анализ нефункциональных требований 16
Основные нефункциональные требования к СКУД: 16
1.7 Анализ СКУД v1 18
1.8 Первичное проектирование СКУД v2 28
1.9 Обзор предметной области 29
2 Проектирование и развертывание инфраструктуры СКУД 32
2.1.1 Выбор СУБД 32
2.1.2 Celery и Redis 32
2.1.3 Terraform и Ansible 33
2.1.4 Redis Sentinel 34
2.1.5 Экспортеры метрик 36
2.1.6 Docker 38
2.1.7 Gitlab CI 38
2.1.8 Kubernetes 39
2.1.9 Алертинг 39
3 Проектирование логики работы СКУД 41
3.1 Компоненты приложения 41
3.2 Создание и выполнение запланированной работы 43
3.3 Создание и выполнение внеплановых работ 47
3.4 Проектирование интерфейса взаимодействия с ботом 49
3.5 Отчет по входам на оборудование 52
3.5.1 Техническая реализация отчета 55
ЗАКЛЮЧЕНИЕ 61
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 62
В современном информационном обществе, где цифровые технологии занимают все большую часть нашей деятельности и используются повсеместно, а также возлагается все больше ответственности на сетевое оборудование и серверы для обеспечения бесперебойной работы организаций, недостаточный контроль использования информационных ресурсов может вызвать серьезные последствия для организаций и их клиентов. Такая зависимость от технологий увеличивает риски и вызывает необходимость предотвращать возможные сбои и проблемы, связанные с человеческим фактором, ведь именно он часто становится причиной снижения качества работы IT-систем .
Ограничение доступа к сетевому оборудованию и серверам является неотъемлемой частью безопасности и надежности систем, помогая уменьшить негативное влияние человеческого фактора, и тем самым снизить количество сбоев в работе. Этого можно достигнуть с помощью более точечного контроля над данными и ресурсами организации: определение различных уровней доступа и привилегий позволяет предоставлять различные права в соответствии с ролями, квалификацией и обязанностями сотрудников, что точно определяет, кто имеет доступ к каким частям инфраструктуры.
Для предотвращения негативных ситуаций и повышения уровня прозрачности в проводимых работах актуальна разработка системы контроля и управления доступом (СКУД).
В компании уже существовала СКУД (далее будем называть ее СКУД v1), однако она не справлялась с возложенными на нее задачами. Целью данной выпускной квалификационной работы - спроектировать СКУД новой версии (далее это СКУД v2), которая позволит снизить влияние человеческого фактора на продуктивный контур IT-систем, и повысить уровень прозрачности проводимых на системах работ. С использованием современных методологий и технологий разработки, будут проработаны архитектура и функциональные возможности СКУД v2, включая управление правами доступа и ведение журналов событий.
Использование разработанной СКУД позволит организациям, заинтересованным в улучшении безопасности и эффективности работ их IT- систем, снизить риск случаев нелегитимного доступа, минимизировать ошибки и недостатки, связанные с воздействием человека на IT-системы, и повысить прозрачность проводимых работ.
Для реализации данной цели были выделены следующие задачи:
1. Проанализировать предыдущую версию СКУД. Сформировать требования к новой версии.
2. Формализовать логику выдачи и контроля доступов до оборудования.
3. Выбрать стек технологий и создать тестовый и промышленный стенды приложения.
4. Повысить прозрачность хода выполнения работ путем создания автоматической отчетности.
Спроектирована архитектура СКУД новой версии, которая в текущем ограничивает доступ персональных УЗ инженеров эксплуатации к узлам продуктивного сегмента до строго необходимого:
1. По времени.
2. По набору оборудования/устройств/серверов.
3. По набору разрешений/привилегий.
Развернуты тестовое и промышленное окружение с использованием принципа «Infrastructure as Code».
Несколько отделов департамента переведены на использование новой системы. Также поступили предложения о внедрении данного продукта в другие департаменты.
Отчеты о входах автоматически генерируются и отправляются СТО и руководителям отделов. На основе отчета уже были написаны часть дополнительных автоматизаций, чтобы исключить ручное выполнение рутинных задач. Кроме того, эти отчеты дополняют данные SOC по мониторингу входов на сетевое оборудование и сервер.
Стоит отметить момент, что СКУД не предотвращает полностью нелегитимные манипуляции на оборудовании, но сильно снижает в растущей компании влияние инженера до строго необходимого и дает прозрачность при работах на оборудовании, чтобы в будущем влиять на уровень предоставления услуг на основе новых метрик, которые будут включать в себя текущую аналитику о входах.
1. Новиков Ф. Моделирование на UML / Ф. Новиков, Д. Иванов -
[Б. м.], 2013. - URL: http://book.uml3.ru/sec_2_2 (дата обращения:
14.02.2024).
2. Фактор автобуса. // Википедия. Свободная энциклопедия. - [Б. м.], 2023. - URL: Ы^://ш.’№1к1реШа.огд/’№1к1/Фактор_автобуса (дата обращения: 19.02.2024)
3. Ченцов С. Обеспечение устойчивости информационных систем с
учетом человеческого фактора / С. Ченцов, И. Краснов, А. Сидарас - [Научный журнал : Фундаментальные исследования], 2017. - URL:
https://fundamental-research.ru/ru/article/view?id=41913 - С.140-144 - (дата обращения: 16.02.2024).
4. API // [Сайт] - [MDN Web Docs], 2023. - URL:
https://developer. mozilla. org/ru/docs/Glossary/API (дата обращения:
26.02.2024).
5. Brikman E. Terraform: Up and Running: Writing Infrastructure as Code / E. Brikman - USA : O'Reilly Media, 2022. - P. 10-97.
6. Docker Documentation // Docker — [Б. м.], 2024. — URL:
https://docs.docker.com/ (дата обращения: 05.03.2024).
7. GitLab CI/CD // GitLab. — [Б. м.], 2024. — URL:
https://docs.gitlab.com/ee/ci/ (дата обращения: 15.02.2024).
8. Mahdi U. Разбираемся с Redis / U. Mahdi - [Habr], 2022. - URL: https://habr.com/ru/companies/wunderfund/articles/685894/ (дата обращения:
14.02.2024).
9. Moore J. Kubernetes: The Complete Guide To Master Kubernetes / J. Moore - [Independently Published], 2019. - P. 45-250.
10. Morris K. Infrastructure as Code: Managing Servers in the Cloud / K.
Morris - USA : O'Reilly Media, 2016. - P. 53-141.
11. Patawari A. Ansible 2 Cloud Automation Cookbook: Write Ansible playbooks for cloud, network, security, and infrastructure-as-code automation / A. Patawari, Aggarwal V. - UK : Packt Publishing, 2018 - P. 121-220.
12. Redis Documentation // Redis - [Б. м.], 2024. - URL:
https://redis.io/documentation (дата обращения: 16.03.2024).
13. Ristic Veljko How to Send HTML Emails in Python using SMTP and email API / Veljko Ristic // Mailtrap - [Б. м.], 2024. - URL: https://mailtrap.io/blog/python-send-html-email/ (дата обращения: 02.03.2024).
14. Smith L. Чем PostgreSQL лучше других SQL баз данных с открытым исходным кодом. Часть 1. / L. Smith - [Habr], 2016. - URL: https://habr.com/ru/articles/282764/ (дата обращения: 19.02.2024).
15. Sridharan S. Distributed System Observaility / S. Sridharan - USA : O'Reilly Media, 2018. - P. 23-167.
16. Timeweb Что такое PromQL и как с ним работать - [Б.м.], 2023. - URL: https://timeweb.com/ru/community/articles/chto-takoe-promql-i-kak-s-nim- rabotat (дата обращения: 25.03.2024).