БAL Лаб7
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Кибербезопасности
Кафедра Защищенных систем связи
Дисциплина Безопасность Astra-Linux
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №7
Изучение инструментов шифрования и контейнеризации
(тема работы)
Направление/специальность подготовки
10.05.02 «Информационная безопасность телекоммуникационных систем»
(код и наименование направления/специальности)
Студенты:
(Ф.И.О., № группы) (подпись)
(Ф.И.О., № группы) (подпись)
Преподаватель:
ст.преп. Гельфанд А.М.
(уч. степень, уч. звание, Ф.И.О.) (подпись)
ТЕКСТ ЗАДАНИЯ
Цель лабораторной работы
Изучить особенности процесса создания и работы с Docker и шифрование файла с использованием GPG.
Задачи
Генерация ключей
Шифрование файла
Расшифровка файла
Установка Docker
Запуск контейнера
Запуск собственного приложения в контейнере
Используемое программное обеспечение
Для выполнения лабораторной работы установленный дистрибутив ОС Linux.
ХОД РАБОТЫ
1. Для шифрования файла с использованием GPG открываем терминал и вводим команду gpg --full-generate-key, следуем инструкциям для создания нового ключевого набора. С помощью команды gpg --list-keys получаем информацию о ключе (рис.1).
Рис. 1 – Вывод информации о ключе
2. Для экспорта публичного ключа вводим команду gpg --export -a "maxim" > public.key и смотрим содержимое (рис.2).
Рис. 2 – Вывод публичного ключа
3. Для шифрования файла создаем текстовый файл, вводим команду gpg --encrypt --recipient "maxim" secret.txt и появляется файл secret.txt.gpg (рис.3).
Рис. 3 – Содержимое файла secret.txt.gpg
4. Для расшифровки файла используем команду gpg --output secret_dec.txt --decrypt secret.txt.gpg и смотрим содержимое файла (рис.4)
Рис. 4 – Содержимое файла secret_dec.txt
5. Установили Docker через Synaptic, запустили службу и добавили пользователя в группу docker:
sudo systemctl start docker
sudo usermod -aG docker $USER
6. Проверили работу службы при помощи команды docker run hello-world (рис.5).
Рис. 5 – Выполнение команды docker run hello-world
7. Загружаем образ Ubuntu (рис.6).
Рис. 6 – Выполнение команды docker pull ubuntu
8. Запускаем контейнер с оболочкой (рис.7).
Рис. 7 – Выполнение команды docker run -it ubuntu
9. На хосте создаем файл script.sh с текстом:
#!/bin/bash
while true
do
echo "Success... $(date)"
sleep 2
done
10. Делаем файл исполняемым с помощью chmod +x script.sh и проверяем запуск файла (рис.8).
Рис. 8 – Проверка исполняемого файла
11. Выполняем команду docker run -it -v $(pwd):/mnt ubuntu, и запускаем скрипт внутри контейнера (рис.9).
Рис. 9 – Запуск контейнера Ubuntu с примонтированной папкой и запуск скрипта
12. Открываем новое окно терминала на хосте, вводим docker ps, копируем id контейнера и запускаем docker exec -it 30abca7b89c3 top. Как видно на скриншоте, script.sh отображается в списке процессов (рис.10).
Рис. 10 – Вывод команды top
ВЫВОДЫ
В ходе работы были освоены базовые криптографические и контейнерные инструменты. С помощью утилиты GPG выполнено создание ключевой пары, экспорт публичного ключа, шифрование и расшифровка файлов, что подтвердило возможность безопасного обмена данными. Далее была установлена и запущена платформа Docker, проверена её работа через запуск тестового контейнера. Получен практический опыт работы с образами и контейнерами Ubuntu. Внутри контейнера был запущен исполняемый bash-скрипт, продемонстрирована его работа и отображение процесса в системе.
