15.4. Безопасность средства контейнеризации
Настройка функций безопасности средства контейнеризации поставляется в пакете docker_security
.
Для установки выполните команду:
$ sudo dnf install docker_security
В процессе установки пакета осуществляется остановка и запрет общесистемного демона Docker, работающего с правами root
, удаляется его сокет.
Работа общесистемного демона Docker противоречит требованиям безопасности функционирования Docker в непривилегированном (rootless) режиме, поэтому администратору запрещается выполнять следующие команды:
$ sudo systemctl enable docker.service docker.socket
$ sudo systemctl start docker.service
15.4.1. Настройка программного комплекса
Для настройки уведомлений посредством корпоративной электронной почты
требуется заполнить файл настроек параметров: /etc/docker_security/mail/send_mail_settings.json
.
С этой целью необходимо открыть в редакторе файл send_mail_settings.json
и
заполнить данные сервера электронной почты отправителя, почтовый адрес отправителя,
почтовый адрес получателя (подразумевается администратор системы),
почтовый адрес получателя копии письма (подразумевается пользователь системы) и т.д.
Пример содержимого файла send_mail_settings.json
сразу после установки программного комплекса:
"smtp_server_type": "",
"smtp_server_type_comment": "Сетевой протокол сервера: smtps или smtp",
"smtp_server": "",
"smtp_server_comment": "Имя сервера отправки почты или IP-адрес. Пример: smtp.mail.ru",
"smtp_port": 465,
"smtp_port_comment": "Порт сервера отправки почты. Пример: 465",
"smtp_user": "",
"smtp_user_comment": "Имя пользователя на сервере отправки почты. Пример: name_sender@mail.ru",
"smtp_pass": "",
"smtp_pass_comment": "Пароль пользователя на сервере отправки почты. Пример: xxx123",
"sender": "",
"sender_comment": "Почтовый адрес отправителя письма. Пример: name_sender@mail.ru",
"recipient": "",
"recipient_comment": "Почтовый адрес получателя письма. Пример: name_recipient@mail.ru",
"recipient_copy": "",
"recipient_copy_comment": "Почтовый адрес получателя письма (копия письма). Пример: name_recipient_copy@mail.ru",
"authentification": "1",
"authentification_comment": "нужна ли аутентификация для отправки: 1 — нужна, 0 — не нужна"
Примечание
Некоторые SMTP-серверы ожидают совпадающих параметров smtp_user
и sender
.
Далее следует выполнить команду запуска скрипта подсистемы инициализации программного комплекса /etc/sbin/docker_s
:
$ sudo docker_s
В процессе выполнения скрипта, администратору системы
выводится на экран содержимое файла /etc/docker_security/mail/send_mail_settings.json
и запрашивается подтверждение правильности заполнения.
Нажмите
y
и клавишу «Ввод» для подтверждения правильности заполнения файлаsend_mail_settings.json
и продолжения выполнения скриптаdocker_s
.Нажмите
n
и клавишу «Ввод» для прерывания выполнения скриптаdocker_s
. После чего заново заполните файлsend_mail_settings.json
.
После подтверждения правильности заполнения файла настроек send_mail_settings.json
скрипт docker_s
производит следующие действия:
копирует файл
daemon.json
в каталоги всех пользователей системы. Если файл уже существует, то он будет перезаписан;выполняет настройку дополнительных правил аудита (формирует файл
/etc/audit/rules.d/docker_users.rules
и перезапускает сервисauditd
);запускает необходимые сервисы.
Примечание
Скрипт docker_s
должен завершить свою работу в штатном режиме, без ошибок.
После успешного завершения процесса настройки, администратор должен выполнить перезагрузку компьютера. После перезагрузки, пользователи системы могут переходить к этапу персональной настройки демона Docker, описанной в руководстве пользователя системы.
Примечание
Настройку пакета необходимо производить до того, как в операционной системе будут созданы пользователи.
15.4.2. Остановка программного комплекса
Для полной остановки утилиты выполнить команду:
$ sudo docker_s –u
Примечание
Скрипт осуществит запрет и остановку только сервисов программного комплекса. Все настройки программного комплекса, системные и пользовательские настройки, пользовательские образы, контейнеры и сервисы Docker удалены и изменены не будут.
Для выборочной остановки подсистем утилиты выполните команды:
$ sudo systemctl disable <Имя сервиса программного комплекса>
$ sudo systemctl stop <Имя сервиса программного комплекса>
15.4.3. Запуск программного комплекса
Примечание
Запуск программного комплекса происходит в автоматическом режиме при загрузке компьютера. Процесс запуска описан для случая, когда программный комплекс был остановлен администратором системы в ручном режиме полностью или частично.
Для полного запуска программного комплекса выполните команду:
$ sudo docker_s -s
Примечание
Скрипт осуществит запуск всех сервисов программного комплекса. Все пользовательские файлы настроек, образы и контейнеры Docker изменениям не подвергнутся.
Для выборочного запуска подсистем программного комплекса выполните команды:
$ sudo systemctl enable <Имя сервиса программного комплекса>
$ sudo systemctl start <Имя сервиса программного комплекса>
15.4.4. Удаление программного комплекса
Для удаления программного комплекса выполните команду:
$ sudo dnf remove docker_security-VERSION.noarch.rpm
Будут удалены все файлы, которые были установлены в процессе установки программного комплекса.
Примечание
Все пользовательские настройки, образы и контейнеры Docker удалены не будут. Работоспособность пользовательских образов и контейнеров Docker сохранится. В случае запуска общесистемного демона Docker, работающего с правами суперпользователя root
, вероятно нарушение безопасности при работе с Docker.