Общая информация
В данном разделе приводится инструкция по установке серверной части Avanpost PKI. В инструкции выполняется установка на Астра линукс 1.8. Предполагается, что перед началом установки системы подготовлено:
- Физический или виртуальный сервер, отвечающий системным требованиям Avanpost PKI необходимой конфигурации;
- Операционная система Linux, версия которой соответствует системным требованиям Avanpost PKI;
- Учетная запись, обладающая правами sudo user на подготовленном сервере;
- Доменная технологическая учетная запись для работы Avanpost PKI с доменом MS Active Directory (в случае использования домена MS Active Directory в качестве домена аутентификации). С правами Domain Users;
Установка и настройка СУБД
PostgreSQL
В данной иструкции установка выполняется на Астра линукс 1.8. В её репозитории postgresql 15 версии. При необходимости установки другой версии на официальном сайте postgresql есть инструкция по подключению их репозитория.
- Выполнить команду в терминале:
sudo apt install -y postgresql
- Далее нужно отредактировать файл pg_hba.conf чтобы можно было подключаться удаленно к СУБД. Чтобы найти дайнный файл введите команды:Чтобы вернуться обратно в пользователя системы введите (в примере пользователь - avanpost):
sudo su postgres psql SHOW hba_file;
exitsu avanpost
Нужно в конце файла добавить:host all all 0.0.0.0/0 md5
- Так же нужно задать пароль для системного пользователя СУБД postgres. Для этого введите команы ("новый_пароль" замените на нужный вампароль):
sudo su postgres psql ALTER USER postgres WITH PASSWORD 'новый_пароль'
- Поставить management tool на свой ПК чтобы можно было подключаться к СУБД, например, pgAdmin.
Установка и настройка RabbitMQ
- Введите команду в терминале:
sudo apt install -y rabbitmq-server
- Выполниьт команду:
sudo rabbitmq-plugins enable rabbitmq_management
- Перезапустите rabbitmq:
sudo systemctl restart rabbitmq-server
- Настроить rabbitmq, для этого нужно сделать:
- Перейти на страницу администрирования rabbitmq http://localhost:15672/
- Зайти под пользователем "guest" и паролем "guest"
- Создать пользователя "admin" и паролем "Avanp0st"
- Создать virtual host с новым именем, например, "pki7"
- Перейти в созданный ранее virtual host и нажать set permition для пользователя "admin"
- Если на сервере нет графического интерфейса выполните команды в терминале для создания первого пользователя:После этого можно будет им зайти им в браузере и создать virtual host и выдать права.
sudo rabbitmqctl add_user <имя_пользователя> <пароль> sudo rabbitmqctl set_user_tags <имя_пользователя> administrator
Установка КрипоПро CSP
Установка КриптоПро CSP описана в отдельной статье "Установка КриптоПро CSP и настройка Гаммы на Linux". Скачивать и устанавливать версию КриптоПро CSP 5.0 R3.
Установка .Net6
Для Астра линукс 1.8 выполнить команду в терминале:
sudo apt install dotnet-sdk-6.0 dotnet-runtime-6.0 aspnetcore-runtime-6.0
Установка Wkhtmltopdf
Нужно скачать установщик с официального сайта и установить. Для астра линукс 1.8 нужно подлючить репозиторий 1.7 версии чтобы поставить зависимости для wkhtmltopdf 0.12.5 (нужна именно эта версия).
Для подключения репозитория нужно зайти в Synaptic → Настройки → Репозитории. Там создать новый репозиторий и указать:
deb URL - https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main/ Дистрибутив - 1.7_x86-64 Раздел(ы) - contrib non-free main
Файл который нужно указать в файлах конфигурации pki можно найти командой:
sudo find / -name "wkhtmltopdf"
Далее нужно установить пакет "libgdiplus" и после перезапустить сервер.
sudo apt install libgdiplus
Установка основных серверных компонент Avanpost PKI
Подготовка к установке
- Создать папку для компонентов PKI, например, /opt/ap
- Подготовить PFX файлы для:
- Шифрования ПИН-кодов. Для того, что Avanpost PKI мог защитить ПИН-коды и иную критичную информацию перед ее размещением в базе данных. Avanpost PKI поддерживает как RSA, так и ГОСТ-сертификаты.
- Проверки подписи JWT-токена. Проверки подписи JWT-токена необходимы для того, что Avanpost PKI мог обеспечить внутренние технологические нужды в части аутентификации методов WEB API. Avanpost PKI поддерживает только RSA-сертификаты проверки подписи JWT-токена.
Установка Avanpost PKI Server
- Распакуйте содержимое zip-архива Avanpost.PKI.Server.v7.x.y.zip в папку /opt/ap/pki.server.
- Скопируйте файл лицензии Avanpost.Pki.plic в папку /opt/ap/pki.server.
- Отредактируйте основной конфигурационный файл демона Avanpost PKI Server - appsettings.json
- Секция <ConnectionStrings> отвечает за настройку подключения к базе данных. Отредактируйте параметры - "ConnectionString, DatabaseProvider, Password" в соответсвии с СУБД и параметрами подключения.
- А так же отредактируете остальные параметры:
- Выполните первоначальную инициализацию и развертывание базы данных Avanpost PKI. Для этого запустите терминал, перейдите в директорию Avanpost PKI Server и выполните команду:
dotnet Avanpost.Pki.Server.dll migrations dbinit
- Для наполнения БД первичными данными выполните команду:
dotnet Avanpost.Pki.Server.dll migrations fill
- Для создания технологического (системного) пользователя выполните команду:
dotnet Avanpost.Pki.Server.dll migrations addsystemuser -login pkiadmin
Вместо "pkiadmin" нужно указать логин системного пользователя PKI - Выполните установку демона Avanpost PKI Server в ОС линукс:
sudo dotnet Avanpost.Pki.Server.dll service install -user avanpost
Вместо "avanpost" укажите имя учетной записи от которой будет запускаться демон - Отредактируйте конфигурационный файл подсистемы логирования службы Avanpost PKI Server - NLog.config - раскомментируйте строку:И укажите путь к папке с логами.
<!--<variable name="basedir" value="/opt/AP/AvanpostLogs"/>-->
- Проверить коррекстно ли установлен демон и запущен ли он можно командой:
sudo systemctl status avanpost-pkiserver
- Конфигурационный файл демона находится по пути:
/etc/systemd/system/avanpost-pkiserver.service
Установка Avanpost PKI Web
- Распакуйте содержимое zip-архива Avanpost.PKI.Web.v7.x.y.zip в папку /opt/ap/pki.web
- Отредактируйте основной конфигурационный файл демона Avanpost PKI Web- appsettings.json
- Секция <ConnectionStrings> отвечает за настройку подключения к базе данных. Отредактируйте параметры - "ConnectionString, DatabaseProvider, Password" в соответсвии с СУБД и параметрами подключения.
- А так же отредактируете остальные параметры
- Откройте терминал и перейдите в папку веб приложения командой cd.
- Выполните cli-комманду для создания демона веб приложения:Вместо "avanpost" укажите имя учетной записи от которой будет запускаться демон
sudo dotnet Avanpost.Pki.Web.dll service install -user avanpost
- Отредактируйте конфигурационный файл подсистемы логирования службы Avanpost PKI Web - NLog.config - раскомментируйте строку:И укажите путь к папке с логами.
<!--<variable name="basedir" value="/opt/AP/AvanpostLogs"/>-->
- Проверить коррекстно ли установлен и запущен ли демон можно командой:
sudo systemctl status avanpost-pkiweb
- Конфигурационный файл демона находится по пути:
/etc/systemd/system/avanpost-pkiweb.service
- По умолчанию веб запускается по адресу "127.0.0.1:5000". Чтобы изменить адрес надо в конфигурационном файле добавить, например, "--urls http://10.10.10.10:5000". Как в примере:
[Unit] Description=Avanpost PKI Web 7 [Service] Type=notify WorkingDirectory=/opt/ap/pki.web ExecStart=/usr/bin/dotnet /opt/ap/pki.web/Avanpost.Pki.Web.dll --urls http://10.10.10.10:5000 SyslogIdentifier=Avanpost.Pki.Web_7 User=avanpost [Install] WantedBy=multi-user.target
- Далее надо ввести команды в терминале:
sudo systemctl daemon-reload sudo systemctl restart avanpost-pkiweb
Установка Avanpost PKI ExternalApi
- Распакуйте содержимое zip-архива Avanpost.PKI.Web.ExternalRestApi.v7.x.y.zip в папку /opt/ap/pki.extapi
- Отредактируйте основной конфигурационный файл демона Avanpost PKI Web External Rest Api - appsettings.json
- Секция <ConnectionStrings> отвечает за настройку подключения к базе данных. Отредактируйте параметры - "ConnectionString, DatabaseProvider, Password" в соответсвии с СУБД и параметрами подключения.
- А так же отредактируете остальные параметры:
- Откройте терминал и перейдите в папку веб приложения командой cd.
- Выполните cli-комманду для создания демона веб приложения:Вместо "avanpost" укажите имя учетной записи от которой будет запускаться демон
sudo dotnet Avanpost.Pki.Web.ExternalRestApi.dll service install -user avanpost
- Отредактируйте конфигурационный файл подсистемы логирования службы Avanpost PKI Web - NLog.config - раскомментируйте строку:И укажите путь к папке с логами.
<!--<variable name="basedir" value="/opt/AP/AvanpostLogs"/>-->
- Проверить коррекстно ли установлен и запущен ли демон можно командой:
sudo systemctl status avanpost-pkiwebexternalrestapi
- Конфигурационный файл демона находится по пути:
/etc/systemd/system/avanpost-pkiwebexternalrestapi.service
- По умолчанию веб запускается по адресу "127.0.0.1:5000" и чтобы зайти в веб внешнего api надо перейти по адресу "http://127.0.0.1:5000/swagger". Чтобы изменить адрес надо в конфигурационном файле добавить, например, "--urls http://10.10.10.10:5001". Как в примере:
[Unit] Description=Avanpost PKI Web ExternalRestApi 7 [Service] Type=notify WorkingDirectory=/opt/ap/pki.extapi ExecStart=/usr/bin/dotnet /opt/ap/pki.extapi/Avanpost.Pki.Web.ExternalRestApi.dll --urls http://10.10.10.10:5001 SyslogIdentifier=Avanpost.Pki.Web.ExternalRestApi_7 User=avanpost [Install] WantedBy=multi-user.target
- Далее надо ввести команды в терминале:
sudo systemctl daemon-reload sudo systemctl restart avanpost-pkiwebexternalrestapi
Установка Avanpost PKI Siem Log Service
- Распакуйте содержимое zip-архива Avanpost.PKI.Siem.LogService.v7.x.y.zip в папку /opt/ap/pki.logservice
- Отредактируйте основной конфигурационный файл демона Avanpost PKI Siem Log Service - appsettings.json
- Секция <ConnectionStrings> отвечает за настройку подключения к базе данных. Отредактируйте параметры - "ConnectionString, DatabaseProvider, Password" в соответсвии с СУБД и параметрами подключения.
- А так же отредактируете остальные параметры:
- Создайте конфигурационный файл демона, например, командой:И заполните его как указано в примере:
sudo vim /etc/systemd/system/avanpost-pkiweblogservice.service
[Unit] Description=Avanpost Pki Siem LogService 7 [Service] Type=notify WorkingDirectory=/opt/ap/pki.extapi ExecStart=/usr/bin/dotnet /opt/ap/pki.logservice/Avanpost.Pki.Siem.LogService.dll SyslogIdentifier=Avanpost.Pki.Siem.LogService_7 User=avanpost [Install] WantedBy=multi-user.target
- Далее выполните команды:
sudo systemctl daemon-reload sudo systemctl enable avanpost-pkiweblogservice sudo systemctl ыефке avanpost-pkiweblogservice
- Проверить коррекстно ли установлен и запущен ли демон можно командой:
sudo systemctl status avanpost-pkiweblogservice