SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
Исследование возможности
применения технологий
автоматизации в целях повышения ИБ
в компьютерных сетях
Всегда на связи с будущим!
О докладчике
@MisterZurg
Автор:
Захаров Денис Артурович,
Почти выпускник СПбГУТ,
Security Engineer,
Google IT Support Professional Certificate
Дипломный руководитель:
Ушаков Игорь Александрович
к.т.н., доцент кафедры ЗСС
2
Цели и задачи
Исследовать возможность применения технологий
автоматизации с целью повышения ИБ
Рассмотреть:
- проблемы предшествующего года в индустрии;
- подходы к разработке ПО;
- угрозы предшествующего года;
- инструменты автоматизации;
- процессы применяемые в организациях.
Сопроводить этот материал не только теоретической, но в
практической частью.
Выступить и Защититься на отлично!
3
Relevance
Актуальность : Потери за 2021
0
20
40
60
80
100
120
140
160
Facebook 2021 Tesla 2021 Ozon 2021 Tinkoff 2021
Реальные убытки Репутационный ущерб
4
Relevance
Автоматизация технических процессов
• увеличение объёмов выпускаемой продукции;
• повышение эффективности производственного
процесса;
• повышение качества продукции;
• снижение расходов;
• повышение безопасности;
Актуальность 5
Жизненный цикл программного обеспечения 6
Источник: Студенческая Весна - 2021
S.D.A.L 7
Requirenments Design Development
Security features Threat model
Static analysis &
Secure coding
Testing Review Deployment
Security Code Review / Pentesting
3
Развертывание приложений и безопасность
Анализ вариантов развертывания с использованием
различных моделей
Создание и развертывание приложения
Continuous Integration/Continuous Deployment (CI/CD)
Сети для разработки приложений и безопасности
Безопасность приложений
8
Bare Metal
Железо
Операционная система
Хранилище RAM Приложение
9
Виртуальные машины
Железо
Гипервизор
Виртуальная машина #1
Гостевая ОС
Хранилище RAM Приложение A
Виртуальная машина #2
Гостевая ОС
Хранилище RAM Приложение B
Виртуальная машина #3
Гостевая ОС
Хранилище RAM Приложение C
Хостовая Операционная Система
Хранилище RAM
10
Инфраструктура на основе контейнеров
Железо
Контейнер #3
Приложение C
Контейнер #2
Приложение B
Контейнер #1
Приложение A
Хранилище RAM
Операционная Система
Kernel
11
Облачные вычисления: Частное Облако
Контейнер
Хранилище
Голое железо
Виртуальная машина
Внешний
пользователь
Внутренний
пользователь
Внутренняя сеть
Частное облако
VPN
Туннель
Интернет
12
Облачные вычисления: Публичное Облако
Контейнер
Хранилище
Голое железо
Виртуальная машина
Пользователь
Сеть
Публичное облако
Интернет
13
Docker
Пользователь
>_
docker run
Тип образа
>_
docker build
Существует
локальная
копия?
docker daemon
Используется
локальный образ
docker daemon
Запрос образа
из Registry
Новый образ
Существующий образ
Да
Нет
Создание
контейнера из
изображения
14
Дополнительная безопасность
Запуск небезопасного кода
Изоляция запущенных приложений
Управление контейнерами и их версиями
Производительность
Эффективность
Docker 15
CI/CD/CD
Бесперебойной работа
Интеграция с методологиями Agile
Автоматизированное развертывание
Выпуск функций с меньшими сбоями
Тестирование безопасности
Улучшенное качество
Сокращение среднего времени решения проблемы (MTTR)
Улучшенное время выхода на рынок
16
CI/CD/CD
Ускорение процесса разработки с пом. автоматизации
Уменьшение ошибок связ. с человеческим фактором
Немедленное Тестирование в том числе и Security
Интеграция с большинством технологий
Повышенная надежность деплоя
Упрощение рабочего процесса
Open Source
Jenkins Lerooooy 17
Публикация приложения для интеграции в Jenkins Pipline
18
Построение Jenkins Pipeline
devasc@labvm:~/labs/devnet-src/jenkins/sample-app$ docker pull jenkins/jenkins
Using default tag: latest
latest: Pulling from jenkins/jenkins
...
Digest: sha256:f1058caddd535b238c80f49a2a7b0a9de71a82bb58d642472eba1f40258dc189
Status: Downloaded newer image for jenkins/jenkins:latest
docker.io/jenkins/jenkins:latest
devasc@labvm:~/labs/devnet-src/jenkins/sample-app$
Установка Сервера Jenkins
19
Построение Jenkins Pipeline
Генерация API токена
20
Построение Jenkins Pipeline
# Execute shell
bash ./sample-app.sh
Код собирающей джобы
21
Построение Jenkins Pipeline
# Execute shell
if curl http://172.17.0.1:5050/ | grep "Ты заходишь на меня с 172.17.0.1"; then
exit 0
else
exit 1
fi
Код тестирующей джобы
22
Построение Jenkins Pipeline
Создание пайплайна
23
Построение Jenkins Pipeline
node {
stage('Preparation') {
catchError(buildResult: 'SUCCESS') {
sh 'docker stop samplerunning'
sh 'docker rm samplerunning'
}
}
stage('Build') {
build 'BuildAppJob'
}
stage('Results') {
build 'TestAppJob'
}
}
Скрипт описывающий пайплайн
24
Построение Jenkins Pipeline
Построение Jenkins Pipeline
Результат запуска пайплайна
25
OWASP Top Ten на 2021 год
• Broken Access Control;
• Cryptographic Failures;
• Injection;
• Insecure Design;
• Security Misconfiguration;
• Vulnerable and Outdated Components;
• Identification and Authentication Failures;
• Software and Data Integrity Failures;
• Security Logging and Monitoring Failures;
• Server-Side Request Forgery;
26
Микросервисы
Интерфейс пользователя
Бизнес логика
Интерфейс данных
API
Бизнес логика
Интерфейс данных
API
Бизнес логика
Интерфейс данных
API
БД БД БД
Микросервис
27
Что делают для нас инструменты автоматизации?
Упрощение и стандартизация;
Ускорение разработки с помощью готовых функций;
Облегчение повторного использования;
Разделение проблем;
Повышение безопасности;
Обнаружение и управление устройствами;
Сокращение расходов;
28
Материалы представлены на GitHub
29
Установка виртуальной лабораторной среды
Знакомство c Linux
Знакомство c Python
Инструменты разработки на языке Python
КВ ПО с помощью Git
Классы в Python
Unit-тестирование на Python
Парсинг различных типов данных
Rest API с помощью API Simulator и Postman
Интеграция REST API и Python приложения
Инструменты для устранения неполадок в сети
Сборка веб-приложения в Docker контейнере
Построение CI/CD с помощью Jenkins
Исследование эволюции парольных систем
Установка CSR1000v VM
Ansible для резервного копирования и настройки
устройства
Ansible для автоматизации установки Веб-сервера
Автоматизированное тестирование с помощью
pyATS и Genie
Исследование YANG моделей
NETCONF для доступа к устройству
RESTCONF для доступа к устройству
Python для управления Webex Teams
26: Лабораторные
30
Исследование простой
Исследование сетевых протоколов
Сравнение CLI и SDN контроллера управления сетью
Сравнение CLI и SDN контроллера
Ansible для backup’ов и настройки устройств 31
Ansible для backup’ов и настройки устройств
---
- name: AUTOMATIC BACKUP OF RUNNING-CONFIG
hosts: CSR1kv
gather_facts: false
connection: local
tasks:
- name: DISPLAYING THE RUNNING-CONFIG
ios_command:
commands:
- show running-config
register: config
- name: SAVE OUTPUT TO ./backups/
copy:
content: "{{ config.stdout[0] }}"
dest: "backups/show_run_{{ inventory_hostname }}.txt"
32
Ansible для backup’ов и настройки устройств 33
Ansible для backup’ов и настройки устройств
devasc@labvm:~/labs/devnet-src/ansible/ansible-csr1000v$ cat backups/show_run_CSR1kv.txt
Building configuration...
Current configuration : 3915 bytes
!
! Last configuration change at 20:54:52 UTC Mon May 9 2022
!
version 16.9
service timestamps debug datetime msec
service timestamps log datetime msec
platform qfp utilization monitor load 80
no platform punt-keepalive disable-kernel-core
platform console virtual
!
hostname CSR1kv
!
<вывод опущен>
34
Ansible для backup’ов и настройки устройств 35
Ansible для backup’ов и настройки устройств
devasc@labvm:~/labs/devnet-src/ansible/ansible-csr1000v$ cat
ios_configurations/IPv6_output_CSR1kv.txt
GigabitEthernet1 [up/up]
FE80::1:1
2001:DB8:ACAD:1::1
devasc@labvm:~/labs/ansible-csr1000v/ios_configurations$
36
5: Проектов
Формирование команды
Формирование Agile команды
Социальное программирование
Автоматизированное тестирование и
развертывание программного обеспечения
Программирование и автоматизация сети
37
Прил 3: Много Дополнительной теории
Version Control Systems and Git
Canary и Blue/Green деплои
Ansible, Puppet, Chef, pyATS примеры
Switching
Virtual LANs (VLANs)
Internetwork Layer
Сетевые устройства
NETCONF
RESTCONF
…
, не вошедшей в основную часть дипломной работы. 200+ стр
38
До 2022 года
39
2022 год
40
STUDENT SPRING — 2019 «Information security yesterday and today»;
STUDENT SPRING — 2020 «Simulation model of a delta codec for an RF signal»;
NAUCHFORUM — 2020 «Investigation of the possibility of using perceptual hash
functions to protect information»;
STUDENT SPRING — 2021 «Researching approaches to secure software
development»;
RESEARCH — 2022 «Exploring ML methods to increase the profitability of the
trading strategy»;
STUDENT SPRING — 2022 «Information Security in Automating vSphere
Infrastructure Deployment using PowerCLI»;
Bachelors Diploma — 2022 «Exploring the use of automation technologies to
improve information security in computer networks»
Итоги:
Q
:/
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Глобальный сбой в работе Facebook, Instagram и WhatsApp продолжался более 5 часов, DNS Facebook заработал / [Electronic resource] /
Рекомендации по обеспечению безопасности для цепочки поставок программного обеспечения / [Electronic resource] /Access mode :
https://docs.microsoft.com/ru-ru/nuget/concepts/security-best-practices
2021 Facebook outage // [Electronic resource]. – URL: https://en.wikipedia.org/wiki/2021_Facebook_outage
Docker Documentation [Electronic resource] https://docs.docker.com/
Jenkins User Documentation [Electronic resource] https://www.jenkins.io/doc/
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software: [Text] / / – 1 Edition. – 1994. – 395 с.
Niall Murphy, Chris Jones, Betsy Beyer, Jennifer Petoff. Site Reliability Engineering: How Google Runs Production Systems: [Text] / – 1 Edition.– 2016. – 550 с.
Jennifer Davis, Ryn Daniels. Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale: [Text] / – 1 Edition.– 2016. – 625 с.
DevOps ЗДОРОВОГО ЧЕЛОВЕКА / Все пути ведут в КУБЕРНЕТЕС / Интервью с Дмитрием Столяровым // [Electronic resource]. – URL:
https://www.youtube.com/watch?v=htm12lYKDUs&ab_channel=%D0%90 %D0%B9%D0%A2%D0%B8%D0%91%D0%BE%D1%80%D0%BE%D0 %B4%D0%B0
OWASP Top Ten [Electronic resource]. – URL: https://owasp.org/www-project-topten/
Тестируем на проде: Canary Deployment [Electronic resource]. – URL: https://habr.com/ru/company/oleg-bunin/blog/493026/
Сине-зеленый деплой // [Electronic resource]. – URL: https://habr.com/ru/post/309832/
Обеспечиваем безопасность в гибкой разработке и CI/CD https://habr.com/ru/company/southbridge/blog/525208/
Используемые источники
Denis Zakharov
Благодарю
2022
за ваше время!

Contenu connexe

Similaire à Bachelors Diploma Slides Short Version

Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Vladimir Bakhov
 
Годовой отчет Cisco по информационной безопасности за 2016 год
Годовой отчет Cisco по информационной безопасности за 2016 годГодовой отчет Cisco по информационной безопасности за 2016 год
Годовой отчет Cisco по информационной безопасности за 2016 годCisco Russia
 
Пять шагов для защиты ЦОД. Почему традиционная защита может оказаться неэффек...
Пять шагов для защиты ЦОД. Почему традиционная защита может оказаться неэффек...Пять шагов для защиты ЦОД. Почему традиционная защита может оказаться неэффек...
Пять шагов для защиты ЦОД. Почему традиционная защита может оказаться неэффек...Cisco Russia
 
Cisco Security Manager 4.2
Cisco Security Manager 4.2Cisco Security Manager 4.2
Cisco Security Manager 4.2Cisco Russia
 
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...SQALab
 
Первые шаги нового CISO
Первые шаги нового CISOПервые шаги нового CISO
Первые шаги нового CISOVsevolod Shabad
 
Марат Хазиев (Астерит) - Практический подход к реализации проектов по защите ...
Марат Хазиев (Астерит) - Практический подход к реализации проектов по защите ...Марат Хазиев (Астерит) - Практический подход к реализации проектов по защите ...
Марат Хазиев (Астерит) - Практический подход к реализации проектов по защите ...Expolink
 
астерит код иб 25.09.2014
астерит код иб 25.09.2014астерит код иб 25.09.2014
астерит код иб 25.09.2014Expolink
 
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOpsALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOpsMicrosoft
 
Организация процессов разработки – введение в Microsoft alm final
Организация процессов разработки – введение в Microsoft alm finalОрганизация процессов разработки – введение в Microsoft alm final
Организация процессов разработки – введение в Microsoft alm finalMicrosoft
 
SDN в корпоративных сетях
SDN в корпоративных сетяхSDN в корпоративных сетях
SDN в корпоративных сетяхCisco Russia
 
Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...
Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...
Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...KazHackStan
 
росатом(эвмновогопокол)
росатом(эвмновогопокол)росатом(эвмновогопокол)
росатом(эвмновогопокол)PIPoruchikov
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusCisco Russia
 
AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияКварта Технологии
 
Python tools for web development (Python meetup Almaty #ALAPY)
Python tools for web development (Python meetup Almaty #ALAPY)Python tools for web development (Python meetup Almaty #ALAPY)
Python tools for web development (Python meetup Almaty #ALAPY)aviatakz
 

Similaire à Bachelors Diploma Slides Short Version (20)

Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)
 
Годовой отчет Cisco по информационной безопасности за 2016 год
Годовой отчет Cisco по информационной безопасности за 2016 годГодовой отчет Cisco по информационной безопасности за 2016 год
Годовой отчет Cisco по информационной безопасности за 2016 год
 
Пять шагов для защиты ЦОД. Почему традиционная защита может оказаться неэффек...
Пять шагов для защиты ЦОД. Почему традиционная защита может оказаться неэффек...Пять шагов для защиты ЦОД. Почему традиционная защита может оказаться неэффек...
Пять шагов для защиты ЦОД. Почему традиционная защита может оказаться неэффек...
 
Cisco Security Manager 4.2
Cisco Security Manager 4.2Cisco Security Manager 4.2
Cisco Security Manager 4.2
 
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
 
Project under control
Project under controlProject under control
Project under control
 
Intro
IntroIntro
Intro
 
Первые шаги нового CISO
Первые шаги нового CISOПервые шаги нового CISO
Первые шаги нового CISO
 
Марат Хазиев (Астерит) - Практический подход к реализации проектов по защите ...
Марат Хазиев (Астерит) - Практический подход к реализации проектов по защите ...Марат Хазиев (Астерит) - Практический подход к реализации проектов по защите ...
Марат Хазиев (Астерит) - Практический подход к реализации проектов по защите ...
 
астерит код иб 25.09.2014
астерит код иб 25.09.2014астерит код иб 25.09.2014
астерит код иб 25.09.2014
 
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOpsALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
 
Организация процессов разработки – введение в Microsoft alm final
Организация процессов разработки – введение в Microsoft alm finalОрганизация процессов разработки – введение в Microsoft alm final
Организация процессов разработки – введение в Microsoft alm final
 
SDN в корпоративных сетях
SDN в корпоративных сетяхSDN в корпоративных сетях
SDN в корпоративных сетях
 
Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
Wgforge CI/CD
 
Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...
Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...
Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...
 
росатом(эвмновогопокол)
росатом(эвмновогопокол)росатом(эвмновогопокол)
росатом(эвмновогопокол)
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco Nexus
 
AiCare - self-organizing device management service
AiCare - self-organizing device management serviceAiCare - self-organizing device management service
AiCare - self-organizing device management service
 
AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управления
 
Python tools for web development (Python meetup Almaty #ALAPY)
Python tools for web development (Python meetup Almaty #ALAPY)Python tools for web development (Python meetup Almaty #ALAPY)
Python tools for web development (Python meetup Almaty #ALAPY)
 

Plus de Denis Zakharov

Development of a plugin for VS Code that supports ACSL language.
Development of a plugin for VS Code that supports ACSL language.Development of a plugin for VS Code that supports ACSL language.
Development of a plugin for VS Code that supports ACSL language.Denis Zakharov
 
Exploring ML methods to increase the profitability of the trading strategy
Exploring ML methods to increase the profitability of the trading strategyExploring ML methods to increase the profitability of the trading strategy
Exploring ML methods to increase the profitability of the trading strategyDenis Zakharov
 

Plus de Denis Zakharov (8)

Seniors YSC2022
Seniors YSC2022Seniors YSC2022
Seniors YSC2022
 
Student Spring 2022
Student Spring 2022Student Spring 2022
Student Spring 2022
 
Development of a plugin for VS Code that supports ACSL language.
Development of a plugin for VS Code that supports ACSL language.Development of a plugin for VS Code that supports ACSL language.
Development of a plugin for VS Code that supports ACSL language.
 
Exploring ML methods to increase the profitability of the trading strategy
Exploring ML methods to increase the profitability of the trading strategyExploring ML methods to increase the profitability of the trading strategy
Exploring ML methods to increase the profitability of the trading strategy
 
Student Spring 2020
Student Spring 2020Student Spring 2020
Student Spring 2020
 
Student Spring 2019
Student Spring 2019Student Spring 2019
Student Spring 2019
 
Student Spring 2021
Student Spring 2021Student Spring 2021
Student Spring 2021
 
DocHolder
DocHolderDocHolder
DocHolder
 

Bachelors Diploma Slides Short Version

  • 1. Исследование возможности применения технологий автоматизации в целях повышения ИБ в компьютерных сетях Всегда на связи с будущим!
  • 2. О докладчике @MisterZurg Автор: Захаров Денис Артурович, Почти выпускник СПбГУТ, Security Engineer, Google IT Support Professional Certificate Дипломный руководитель: Ушаков Игорь Александрович к.т.н., доцент кафедры ЗСС 2
  • 3. Цели и задачи Исследовать возможность применения технологий автоматизации с целью повышения ИБ Рассмотреть: - проблемы предшествующего года в индустрии; - подходы к разработке ПО; - угрозы предшествующего года; - инструменты автоматизации; - процессы применяемые в организациях. Сопроводить этот материал не только теоретической, но в практической частью. Выступить и Защититься на отлично! 3
  • 4. Relevance Актуальность : Потери за 2021 0 20 40 60 80 100 120 140 160 Facebook 2021 Tesla 2021 Ozon 2021 Tinkoff 2021 Реальные убытки Репутационный ущерб 4
  • 5. Relevance Автоматизация технических процессов • увеличение объёмов выпускаемой продукции; • повышение эффективности производственного процесса; • повышение качества продукции; • снижение расходов; • повышение безопасности; Актуальность 5
  • 7. Источник: Студенческая Весна - 2021 S.D.A.L 7 Requirenments Design Development Security features Threat model Static analysis & Secure coding Testing Review Deployment Security Code Review / Pentesting
  • 8. 3 Развертывание приложений и безопасность Анализ вариантов развертывания с использованием различных моделей Создание и развертывание приложения Continuous Integration/Continuous Deployment (CI/CD) Сети для разработки приложений и безопасности Безопасность приложений 8
  • 10. Виртуальные машины Железо Гипервизор Виртуальная машина #1 Гостевая ОС Хранилище RAM Приложение A Виртуальная машина #2 Гостевая ОС Хранилище RAM Приложение B Виртуальная машина #3 Гостевая ОС Хранилище RAM Приложение C Хостовая Операционная Система Хранилище RAM 10
  • 11. Инфраструктура на основе контейнеров Железо Контейнер #3 Приложение C Контейнер #2 Приложение B Контейнер #1 Приложение A Хранилище RAM Операционная Система Kernel 11
  • 12. Облачные вычисления: Частное Облако Контейнер Хранилище Голое железо Виртуальная машина Внешний пользователь Внутренний пользователь Внутренняя сеть Частное облако VPN Туннель Интернет 12
  • 13. Облачные вычисления: Публичное Облако Контейнер Хранилище Голое железо Виртуальная машина Пользователь Сеть Публичное облако Интернет 13
  • 14. Docker Пользователь >_ docker run Тип образа >_ docker build Существует локальная копия? docker daemon Используется локальный образ docker daemon Запрос образа из Registry Новый образ Существующий образ Да Нет Создание контейнера из изображения 14
  • 15. Дополнительная безопасность Запуск небезопасного кода Изоляция запущенных приложений Управление контейнерами и их версиями Производительность Эффективность Docker 15
  • 16. CI/CD/CD Бесперебойной работа Интеграция с методологиями Agile Автоматизированное развертывание Выпуск функций с меньшими сбоями Тестирование безопасности Улучшенное качество Сокращение среднего времени решения проблемы (MTTR) Улучшенное время выхода на рынок 16
  • 17. CI/CD/CD Ускорение процесса разработки с пом. автоматизации Уменьшение ошибок связ. с человеческим фактором Немедленное Тестирование в том числе и Security Интеграция с большинством технологий Повышенная надежность деплоя Упрощение рабочего процесса Open Source Jenkins Lerooooy 17
  • 18. Публикация приложения для интеграции в Jenkins Pipline 18 Построение Jenkins Pipeline
  • 19. devasc@labvm:~/labs/devnet-src/jenkins/sample-app$ docker pull jenkins/jenkins Using default tag: latest latest: Pulling from jenkins/jenkins ... Digest: sha256:f1058caddd535b238c80f49a2a7b0a9de71a82bb58d642472eba1f40258dc189 Status: Downloaded newer image for jenkins/jenkins:latest docker.io/jenkins/jenkins:latest devasc@labvm:~/labs/devnet-src/jenkins/sample-app$ Установка Сервера Jenkins 19 Построение Jenkins Pipeline
  • 21. # Execute shell bash ./sample-app.sh Код собирающей джобы 21 Построение Jenkins Pipeline
  • 22. # Execute shell if curl http://172.17.0.1:5050/ | grep "Ты заходишь на меня с 172.17.0.1"; then exit 0 else exit 1 fi Код тестирующей джобы 22 Построение Jenkins Pipeline
  • 24. node { stage('Preparation') { catchError(buildResult: 'SUCCESS') { sh 'docker stop samplerunning' sh 'docker rm samplerunning' } } stage('Build') { build 'BuildAppJob' } stage('Results') { build 'TestAppJob' } } Скрипт описывающий пайплайн 24 Построение Jenkins Pipeline
  • 25. Построение Jenkins Pipeline Результат запуска пайплайна 25
  • 26. OWASP Top Ten на 2021 год • Broken Access Control; • Cryptographic Failures; • Injection; • Insecure Design; • Security Misconfiguration; • Vulnerable and Outdated Components; • Identification and Authentication Failures; • Software and Data Integrity Failures; • Security Logging and Monitoring Failures; • Server-Side Request Forgery; 26
  • 27. Микросервисы Интерфейс пользователя Бизнес логика Интерфейс данных API Бизнес логика Интерфейс данных API Бизнес логика Интерфейс данных API БД БД БД Микросервис 27
  • 28. Что делают для нас инструменты автоматизации? Упрощение и стандартизация; Ускорение разработки с помощью готовых функций; Облегчение повторного использования; Разделение проблем; Повышение безопасности; Обнаружение и управление устройствами; Сокращение расходов; 28
  • 30. Установка виртуальной лабораторной среды Знакомство c Linux Знакомство c Python Инструменты разработки на языке Python КВ ПО с помощью Git Классы в Python Unit-тестирование на Python Парсинг различных типов данных Rest API с помощью API Simulator и Postman Интеграция REST API и Python приложения Инструменты для устранения неполадок в сети Сборка веб-приложения в Docker контейнере Построение CI/CD с помощью Jenkins Исследование эволюции парольных систем Установка CSR1000v VM Ansible для резервного копирования и настройки устройства Ansible для автоматизации установки Веб-сервера Автоматизированное тестирование с помощью pyATS и Genie Исследование YANG моделей NETCONF для доступа к устройству RESTCONF для доступа к устройству Python для управления Webex Teams 26: Лабораторные 30 Исследование простой Исследование сетевых протоколов Сравнение CLI и SDN контроллера управления сетью Сравнение CLI и SDN контроллера
  • 31. Ansible для backup’ов и настройки устройств 31
  • 32. Ansible для backup’ов и настройки устройств --- - name: AUTOMATIC BACKUP OF RUNNING-CONFIG hosts: CSR1kv gather_facts: false connection: local tasks: - name: DISPLAYING THE RUNNING-CONFIG ios_command: commands: - show running-config register: config - name: SAVE OUTPUT TO ./backups/ copy: content: "{{ config.stdout[0] }}" dest: "backups/show_run_{{ inventory_hostname }}.txt" 32
  • 33. Ansible для backup’ов и настройки устройств 33
  • 34. Ansible для backup’ов и настройки устройств devasc@labvm:~/labs/devnet-src/ansible/ansible-csr1000v$ cat backups/show_run_CSR1kv.txt Building configuration... Current configuration : 3915 bytes ! ! Last configuration change at 20:54:52 UTC Mon May 9 2022 ! version 16.9 service timestamps debug datetime msec service timestamps log datetime msec platform qfp utilization monitor load 80 no platform punt-keepalive disable-kernel-core platform console virtual ! hostname CSR1kv ! <вывод опущен> 34
  • 35. Ansible для backup’ов и настройки устройств 35
  • 36. Ansible для backup’ов и настройки устройств devasc@labvm:~/labs/devnet-src/ansible/ansible-csr1000v$ cat ios_configurations/IPv6_output_CSR1kv.txt GigabitEthernet1 [up/up] FE80::1:1 2001:DB8:ACAD:1::1 devasc@labvm:~/labs/ansible-csr1000v/ios_configurations$ 36
  • 37. 5: Проектов Формирование команды Формирование Agile команды Социальное программирование Автоматизированное тестирование и развертывание программного обеспечения Программирование и автоматизация сети 37
  • 38. Прил 3: Много Дополнительной теории Version Control Systems and Git Canary и Blue/Green деплои Ansible, Puppet, Chef, pyATS примеры Switching Virtual LANs (VLANs) Internetwork Layer Сетевые устройства NETCONF RESTCONF … , не вошедшей в основную часть дипломной работы. 200+ стр 38
  • 41. STUDENT SPRING — 2019 «Information security yesterday and today»; STUDENT SPRING — 2020 «Simulation model of a delta codec for an RF signal»; NAUCHFORUM — 2020 «Investigation of the possibility of using perceptual hash functions to protect information»; STUDENT SPRING — 2021 «Researching approaches to secure software development»; RESEARCH — 2022 «Exploring ML methods to increase the profitability of the trading strategy»; STUDENT SPRING — 2022 «Information Security in Automating vSphere Infrastructure Deployment using PowerCLI»; Bachelors Diploma — 2022 «Exploring the use of automation technologies to improve information security in computer networks» Итоги:
  • 43. Глобальный сбой в работе Facebook, Instagram и WhatsApp продолжался более 5 часов, DNS Facebook заработал / [Electronic resource] / Рекомендации по обеспечению безопасности для цепочки поставок программного обеспечения / [Electronic resource] /Access mode : https://docs.microsoft.com/ru-ru/nuget/concepts/security-best-practices 2021 Facebook outage // [Electronic resource]. – URL: https://en.wikipedia.org/wiki/2021_Facebook_outage Docker Documentation [Electronic resource] https://docs.docker.com/ Jenkins User Documentation [Electronic resource] https://www.jenkins.io/doc/ Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software: [Text] / / – 1 Edition. – 1994. – 395 с. Niall Murphy, Chris Jones, Betsy Beyer, Jennifer Petoff. Site Reliability Engineering: How Google Runs Production Systems: [Text] / – 1 Edition.– 2016. – 550 с. Jennifer Davis, Ryn Daniels. Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale: [Text] / – 1 Edition.– 2016. – 625 с. DevOps ЗДОРОВОГО ЧЕЛОВЕКА / Все пути ведут в КУБЕРНЕТЕС / Интервью с Дмитрием Столяровым // [Electronic resource]. – URL: https://www.youtube.com/watch?v=htm12lYKDUs&ab_channel=%D0%90 %D0%B9%D0%A2%D0%B8%D0%91%D0%BE%D1%80%D0%BE%D0 %B4%D0%B0 OWASP Top Ten [Electronic resource]. – URL: https://owasp.org/www-project-topten/ Тестируем на проде: Canary Deployment [Electronic resource]. – URL: https://habr.com/ru/company/oleg-bunin/blog/493026/ Сине-зеленый деплой // [Electronic resource]. – URL: https://habr.com/ru/post/309832/ Обеспечиваем безопасность в гибкой разработке и CI/CD https://habr.com/ru/company/southbridge/blog/525208/ Используемые источники