Настройка системы для запуска сервиса подписания и верификации сообщений ======================================================================== Состав и содержание дистрибтутивного пакета ------------------------------------------- Состав дистрибутива Сервиса подписания и верификации сообщений: - ``/distr/notarius/notarius_server_http`` – исполняемый файл сервиса подписания и верификации сообщений; - ``csp-5.0.12000.tar.gz`` – дистрибутив КриптоПро CSP 5.0 R2; Путь ``/distr/`` указан в качестве примера. Есть возможность использовать любой другой путь, скорректировав соответствующим образом упоминаемые ниже команды. Порядок загрузки данных и программ ---------------------------------- Администратор УВ осуществляет развёртывание, запуск и настройку Сервиса подписания и верификации сообщений с помощью данного руководства. .. _notarius_pre_requisites: Предварительные операции (установка «пре-реквизитов») ----------------------------------------------------- Перед запуском Сервиса подписания и верификации сообщений необходимо выполнить от имени пользователя **root** следующие действия: 1. Создать пользователя {{user}} и группу {{user_group}}, под которым будет работать сервис подписания и верификации сообщений. 2. Установить КриптоПро CSP 5.0 R2: **Для Astra Linux** .. code-block:: bash tar xzvf csp-5.0.12000.tar.gz rm -f csp-5.0.12000.tar.gz cd csp-5.0.12000 && dpkg -i install lsb-cprocsp-base*.deb lsb-cprocsp-rdr-64-*.deb lsb-cprocsp-kc1-64-*.deb lsb-cprocsp-capilite-64-*.deb lsb-cprocsp-devel-*.deb lsb-cprocsp-kc2-64-*.deb cprocsp-curl-64-*.deb ./install.sh **Для РЕД ОС** .. code-block:: bash tar xzvf csp-5.0.12000.tar.gz rm -f csp-5.0.12000.tar.gz cd csp-5.0.12000 && yum -y localinstall lsb-cprocsp-base*.rpm lsb-cprocsp-rdr-64-*.rpm lsb-cprocsp-kc1-64-*.rpm lsb-cprocsp-capilite-64-*.rpm lsb-cprocsp-devel-*.rpm lsb-cprocsp-kc2-64-*.rpm cprocsp-curl-64-*.rpm ./install.sh **При наличии лицензионного кода КриптоПро CSP 5.0 R2** выполнить пользователем **root** команду: .. code-block:: bash /opt/cprocsp/sbin/amd64/cpconfig -license -set {{cprocsp_license}} В случае отсутствия лицензионного кода, КриптоПро CSP 5.0 R2 будет работать в режиме trial лицензии. .. attention:: Срок действия trial лицензии – 90 дней с момента установки CryptoPro CSP. Для сохранения работоспособности Агента ПОДД по окончании данного периода, вам необходимо преобрести лицензию на CryptoPro CSP и внести её в систему указанным выше способом. 3. Установить контейнер ключа КриптоПро в директорию ``/var/opt/cprocsp/keys/{{user}}/`` Пользователь {{user}} должен быть владельцем данной директории и файлов в ней. Контейнер ключа необходимо поместить в указанную директорию в распакованном виде, сохраняя структуру директорий. Итоговая структура должна выглядеть следующим образом .. code-block:: /var/opt/cprocsp/keys/{{user}}/ └── имя_ключа.000 ├── header.key ├── masks2.key ├── masks.key ├── name.key ├── primary2.key └── primary.key 5. Выложить в каталог ``/distr/notarius`` конфигурационный файл ``appConfig.json``, подготовленный согласно :ref:`set_notarius`. .. _start_notarius: Запуск Сервиса подписания и верификации сообщений ------------------------------------------------- Убедитесь, что пользователь {{user}} имеет доступ к директории, в которой установлен Сервис подписания и верификации сообщений (``/distr/notarius``). Установите для файла ``/distr/notarius/notarius_server_http`` признак "исполняемый": .. code-block:: bash chmod +x /distr/notarius/notarius_server_http Пример раздела конфигурации скрипта для запуска сервиса подписания и верификации сообщений с использованием сервиса **systemd**. Данный файл, с названием ``notarius.service``, необходимо сохранить в каталог ``/etc/systemd/system/`` .. code-block:: bash [Unit] Description="Service for notarius" After=syslog.target [Service] Type=simple WorkingDirectory=/distr/notarius # Важно! Запуск должен производиться от имени того пользователя, для которого ранее были выложены ключи КриптоПро! User={{user}} Group={{user_group}} Environment="RUST_BACKTRACE=1" Environment="RUST_TEST_NOCAPTURE=1" Environment="RUST_LOG=INFO" ExecStart=/distr/notarius/notarius_server_http appConfig.json ExecStop=kill -TERM $MAINPID [Install] WantedBy=multi-user.target Далее от имени пользователя root выполнить команду по включению, запуску сервиса и проверке его статуса: .. code-block:: bash systemctl daemon-reload systemctl enable notarius systemctl start notarius systemctl -l status notarius Дополнительные требования по работе сервиса Notarius ---------------------------------------------------- 1. Должны использоваться только сертификаты, полученные в УЦ, сертифицированных ФСБ 2. Завершение работы notarius должно производиться с помощью сигналов SIGINT или SIGTERM (поддерживается systemd). В целях безопасности не рекомендуется использовать для остановки сервиса команду ``kill -9`` (``kill -KILL``) 3. В среде функционирования программы должны отсутствовать инструменты дампа памяти работающей программы. 4. Сервис notarius запускается под отдельным системным пользователем, который имеет права для записи в журнал. Другой отдельный системный пользователь может иметь права на запись в журнал для перемещения содержимого журнала на архивные носители. Остальные системные пользователи могут иметь права лишь на чтение из журнала. 5. Должен быть обеспечен организационно-технический контроль запросов на установление соединения абонентов по протоколу TLS с использованием эфемерных ключей, исключающих возможность использования абонентом не своих атрибутов соединения. 6. Архив с сертификатами открытых ключей необходимо подвергать регулярному резервному копированию и хранить в течение всего установленного срока хранения. 7. Эксплуатация ПО notarius должна удовлетворять остальным требованиям приказа ФСБ РФ от 27 декабря 2011 г. N 796. В частности: работа в контролируемой зоне, соблюдение правил доступа к ПО и к журналам работы ПО. 8. Работа с ключами и ключевыми контейнерами должна осуществляться в соответствии с ЖТЯИ.00102-02 95 01 Правилами пользования КриптоПро CSP 5.0 R2.