[ ] [ Общие сведения ] [ Требования к окружению ] [ Создание и развёртывание базы данных ] [ Настройка конфигурационного файла ] [ Установка и настройка ] [ Шаг 1. Создание служебного пользователя idp ] [ Шаг 2. Добавление пользователя в группу с повышенными привилегиями ] [ Шаг 3. Проверка корректности созданного пользователя ] [ Шаг 4А. Развертывание файлов из дистрибутива (автоматически) ] [ Шаг 4Б. Развертывание файлов из дистрибутива (вручную) ] [ Шаг 5. Введение параметров в диалоговых окнах ] [ Шаг 6. Добавление пользователя idp в группу root ] [ Шаг 7. Генерация ключа шифрования ] [ Шаг 8. Публикация интерфейса системы на веб-сервере Angie/Nginx ] [ Шаг 9. Проверка корректности данных ] [ Шаг 10. Настройка FAM в редакции Cloud (при необходимости) ] [ Шаг 11. Инициализация сервиса (для первого запуска) ] [ Шаг 12. Регистрация учетной записи администратора ] [ Шаг 13. Запуск сервиса ] [ Шаг 14 Проверка корректности установки ] [ Настройка утилиты Signer ] [ Шаг 1. Настройка конфигурационного файла Signer ] [ Шаг 2. Настройка конфигурационного файла Avanpost FAM Server ] [ Управление сертификатами КриптоПро CSP ]
Общие сведения
Данная статья содержит обобщенные сведения по установке основного серверного компонента Avanpost FAM Server, который предоставляет потребителям услуги аутентификации, набор веб-сервисов и API для других компонентов системы.
Для удобства пользователю доступны отдельные статьи для каждого из способов установки компонента:
Avanpost FAM Server рекомендуется устанавливать следующими способами:
| Тип операционной системы | Способ установки |
|---|---|
| RedOS/RHEL/CentOS | Из rpm-пакета |
| Astra Linux/Debian/Ubuntu | Из deb-пакета (вручную и автоматически) |
| Аlt и прочие ОС семейства Linux | Из tar.gz-архива |
Порядок установки Avanpost FAM Server состоит из следующих действий:
- Проверка настроек операционной системы на соответствие требованиям.
- Создание и развертывание базы данных.
- Настройка основного конфигурационного файла.
- Установка и настройка Avanpost FAM Server тем или иным способом в зависимости от операционной системы (ОС) и выбранного способа развертывания.
- Проверка корректности установки Avanpost FAM Server.
Особенности установки Avanpost FAM Server в отказоустойчивом исполнении с использование балансировки нагрузки и репликации баз данных описаны в разделе Установка FAM Server в отказоустойчивом (кластерном) исполнении.
Требования к окружению
Перед выполнением развёртывания по текущей инструкции необходимо выполнение следующих условий:
В ОС должны быть установлены следующие программы:
- sudo(программа выполнения команд от имени суперпользователя);- psql(CLI-клиент из состава PostgreSQL);- angie/nginx(веб-сервер/прокси-сервер);- openssl(программа управления сертификатами).При необходимости использования SAML требуются средства проверки подписи XML (установлены по умолчанию в большинстве ОС):
xmlsec1;xmlsec1-openssl.
- Выполнена синхронизация времени в ОС с сервером синхронизации времени.
Примечание
Установка и настройка указанных программ выходит за границы текущей инструкции и описана в справочных руководствах, идущих в комплекте с операционной системой Linux, на которой производится развёртывание.
Создание и развёртывание базы данных
Создать пользователя СУБД avanpost с паролем и базу данных idp с помощью последовательно выполняемых команд:
- В командной строке операционной системы запустить интерактивную оболочку PostgreSQL:
sudo -u postgres psql
- Создать нового пользователя с именем avanpost и заданным паролем 'Passw0rd':
CREATE USER avanpost WITH PASSWORD 'Passw0rd'
- Создать новую базу данных с именем idp (опция OWNER=avanpost устанавливает пользователя avanpost в качестве владельца базы данных; опция ENCODING=utf8 устанавливает кодировку базы данных на UTF-8) и выйти из консоли PostgreSQL:
CREATE DATABASE idp OWNER=avanpost ENCODING=utf8 \q
Имя/пароль пользователя и имя базы данных указываются в параметре connectionString конфигурационного файла:
connectionString = 'postgres://avanpost:Passw0rd@localhost/idp?sslmode=disable'
Примечание
В файле /var/lib/pgsql/версия/data/pg_hba.conf – изменить метод аутентификации на md5 для IPv4 (host all all 127.0.0.1/32) и IPv6 (host all all ::1/128) подключений:
После внесения изменений в pg_hba.conf перезапустить PostgreSQL.
Путь к файлу pg_hba.conf для разных ОС и версий ОС может отличаться. Например, для Ubuntu файл хранится по пути: /etc/postgresql/pg_hba.conf.
Для поиска необходимого файла рекомендуется воспользоваться командой find / -name 'pg_hba.conf'.
Настройка конфигурационного файла
Тонкая настройка Avanpost FAM Server выполняется в основном конфигурационном файле config.toml.default, расположенном по пути /opt/idp/config.toml. Рекомендации и пример конфигурационного файла даны в разделе Спецификация конфигурационного файла config.toml.default компонента Avanpost FAM Server. При внесении изменений в конфигурационный файл выполнение развёртывания должно производиться с учётом возможного влияния изменённых параметров.
Поставка Avanpost FAM Server содержит в себе следующие конфигурационные файлы:
- конфигурационный файл, необходимый для работы серверной части, предварительно настроенный для выполнения базового развёртывания с помощью текущей инструкции,
- минимальный конфигурационный файл для сервера Angie/Nginx.
Настройку конфигурационного файла веб-сервера Angie следует выполнять в соответствии с документацией на продукт.
Настройку конфигурационного файла веб-сервера Nginx следует выполнять в соответствии с документацией на продукт.
Для FAM Server версии 1.15+ использует встроенный внутренний NATS-сервер для работы с базой данных и внутреннего программного взаимодействия. Поэтому при настройке конфигурационного файла обязательно настроить внутренний встроенный NATS-сервер, задав его параметры в секции [nats]. Данный NATS-сервер предназначен исключительно для подключения развернутого экземпляра FAM Server и не нуждается в дополнительной кластеризации. В целях повышения отказоустойчивости не рекомендуется использование единого экземпляра внутреннего NATS-сервера для нескольких узлов FAM Server (когда NATS-сервер разворачивается на одном из узлов, а остальные узлы подключаются к нему как клиенты). NATS-сервер, настроенный в конфигурационном файле, будет запущен автоматически с FAM Server.
В процессе настройки основного конфигурационного файла config.toml стоит обратить на то, что для использования защищенного соединения (https) параметру secure (секция cookie) необходимо присвоить значение true.
Установка и настройка
Шаг 1. Создание служебного пользователя idp
| Тип | Описание действий |
|---|---|
| RedOS/RHEL/CentOS |
|
| Astra Linux/Debian/Ubuntu | |
| Alt и прочие |
Шаг 2. Добавление пользователя в группу с повышенными привилегиями
| Тип | Описание действий |
|---|---|
| RedOS/RHEL/CentOS |
|
| Astra Linux/Debian/Ubuntu |
|
| Alt и прочие |
|
Шаг 3. Проверка корректности созданного пользователя
| Тип | Описание действий |
|---|---|
| RedOS/RHEL/CentOS |
|
| Astra Linux/Debian/Ubuntu | |
| Alt и прочие |
Шаг 4А. Развертывание файлов из дистрибутива (автоматически)
| Тип | Описание действий | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RedOS/RHEL/CentOS |
| ||||||||||||||||
| Astra Linux/Debian/Ubuntu |
| ||||||||||||||||
| Alt и прочие | Не используется. |
Шаг 4Б. Развертывание файлов из дистрибутива (вручную)
| Тип | Описание действий |
|---|---|
| RedOS/RHEL/CentOS | Не используется. |
| Astra Linux/Debian/Ubuntu |
|
| Alt и прочие |
|
Шаг 5. Введение параметров в диалоговых окнах
| Тип | Описание действий |
|---|---|
| RedOS/RHEL/CentOS | При развертывании в диалоговых окнах необходимо указать следующие настройки:
|
| Astra Linux/Debian/Ubuntu | |
| Alt и прочие | Не выполняется. |
Шаг 6. Добавление пользователя idp в группу root
| Тип | Описание действий |
|---|---|
| RedOS/RHEL/CentOS |
|
| Astra Linux/Debian/Ubuntu |
|
| Alt и прочие | Не выполняется. |
Шаг 7. Генерация ключа шифрования
| Тип | Описание действий |
|---|---|
| RedOS/RHEL/CentOS |
|
| Astra Linux/Debian/Ubuntu | |
| Alt и прочие |
Более подробная информация о сертификатах и ключах шифрования – в статье Выпуск ключа шифрования и сертификата. |
Шаг 8. Публикация интерфейса системы на веб-сервере Angie/Nginx
| Тип | Описание действий |
|---|---|
| RedOS/RHEL/CentOS |
sudo nginx -t # nginx: the configuration file /etc/nginx/nginx.conf syntax is ok # nginx: configuration file /etc/nginx/nginx.conf test is successful
sudo systemctl reload nginx
setsebool httpd_can_network_connect on -P |
| Astra Linux/Debian/Ubuntu | |
| Alt и прочие |
|
Шаг 9. Проверка корректности данных
| Тип | Описание действий |
|---|---|
| RedOS/RHEL/CentOS |
|
| Astra Linux/Debian/Ubuntu | |
| Alt и прочие |
Шаг 10. Настройка FAM в редакции Cloud (при необходимости)
Данная настройка выполняется только в том случае, если требуется запуск Avanpost FAM в редакции Cloud. Конфигурация Cloud требует настройки промежуточных сервисов (Bridge-компоненты), связывающих внешние системы (например, LDAP-серверы или RADIUS-серверы) с Avanpost FAM в облачной архитектуре. Если выполняется стандартная настройка Avanpost FAM, данный шаг следует пропустить.
| Тип | Описание действий | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| RedOS/RHEL/CentOS |
| ||||||||
| Astra Linux/Debian/Ubuntu | |||||||||
| Alt и прочие |
Шаг 11. Инициализация сервиса (для первого запуска)
Данный шаг требуется выполнять для Avanpost FAM версии ниже 1.16. Начиная с версии 1.16, инициализация выполняется автоматически и не требует отдельных действий.
| Тип | Описание действий |
|---|---|
| RedOS/RHEL/CentOS |
|
| Astra Linux/Debian/Ubuntu | |
| Alt и прочие |
Шаг 12. Регистрация учетной записи администратора
| Тип | Описание действий |
|---|---|
| RedOS/RHEL/CentOS |
|
| Astra Linux/Debian/Ubuntu | |
| Alt и прочие |
Шаг 13. Запуск сервиса
| Тип | Описание действий | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RedOS/RHEL/CentOS |
sudo systemctl start idp | ||||||||||||||||||||||||||||
| Astra Linux/Debian/Ubuntu | |||||||||||||||||||||||||||||
| Alt и прочие |
| ||||||||||||||||||||||||||||
Шаг 14 Проверка корректности установки
| Тип | Описание действий |
|---|---|
| RedOS/RHEL/CentOS | Проверка корректности установки и настройки Avanpost FAM выполняется следующим образом:
После авторизации в Avanpost FAM следует сменить пароль пользователя admin на более безопасный. |
| Astra Linux/Debian/Ubuntu | |
| Alt и прочие |
Настройка утилиты Signer
Signer - утилита в составе основного серверного компонента Avanpost FAM Server, предназначенная для централизованной подписи сообщений, отправляемых FAM Server, и проверки подписей сообщений, получаемых FAM Server.
Утилита устанавливается на машине с Avanpost FAM Server и лицензией КриптоПро CSP, позволяя отказаться от отдельной установки утилиты КриптоПро CSP на каждый экземпляр Avanpost FAM Server. Для упрощенных конфигураций Avanpost FAM, состоящих из одного экземпляра Avanpost FAM Server, утилита Signer является встроенной. Утилита Signer поставляется в архиве Avanpost FAM Server.
Signer представляет собой отдельный gRPC-сервис, работающий со следующими процедурами:
- Sign – Подпись сообщения;
- Verify – Проверка подписи сообщения.
Утилита Signer используется для подписи/проверки сообщений, отправляемых посредством механизмов:
- Avanpost FAM;
- ЕСИА.
Поддерживаются следующие реализации компонента КриптоПро CSP для работы с CMS (Cryptographic Message Syntax):
- dummy (возвращает всегда одну и ту же подпись, верифицирует любую подпись);
- cprocsp_cms (Крипто ПРО, требует значения параметров:
certPath, sha1Thumbprint, containerPIN); - cprocsp_raw (Крипто ПРО, требует значения параметров:
certPath, containerName, containerPIN).
Список крипто-провайдеров может быть расширен посредством добавления новых реализаций при помощи интерфейса `signer.cryptoProvider`.
Шаг 1. Настройка конфигурационного файла Signer
Перед началом работы утилиты Signer на машине, где установлена лицензионная утилита КриптоПро CSP, следует корректно настроить конфигурационный файл config.signer.sample.toml (расположен в директории /signer):
| Параметр | Описание |
|---|---|
[grpc] | |
| Хост Avanpost FAM Server, к которому будет осуществляться подключение. |
| Порт Avanpost FAM Server, к которому будет осуществляться подключение. |
| Тип сети. |
| Флаг, указывающий, следует ли использовать TLS для защищенного соединения. |
| Путь к сертификату, необходимому для установки TLS-соединения. |
| Путь к файлу закрытого ключа для установки TLS-соединения. |
[cproCsp] | |
| Директория, в которой расположены программные компоненты КриптоПро CSP. |
Пример конфигурационного файла config.signer.sample.toml:
[grpc] host = 'localhost' port = 9017 network = 'tcp' useTls = false certPath = '/cert.pem' keyPath = '/key.pem' [cproCsp] binDir = '/opt/cryptoPro/bin'
Шаг 2. Настройка конфигурационного файла Avanpost FAM Server
Для корректной работы утилиты Signer требуется осуществить дополнительную настройку конфигурационного файла Avanpost FAM Server config.toml в соответствии со следующими параметрами:
| Параметр | Описание |
|---|---|
| Хост, на котором развернут Signer. |
| Порт, на котором развернут Signer. |
| Флаг, указывающий, следует ли использовать TLS для защищенного соединения. |
| Путь к сертификату удостоверяющего центра, необходимому для установки TLS-соединения. |
Пример настройки конфигурационного файла:
json
"signer": {
"host": "0.0.0.0",
"port": 9017,
"useTls": true,
"caCertPath": "путь к сертификату/develop-ca-cert.pem"
},
Управление сертификатами КриптоПро CSP
Для управления сертификатами следует пользоваться нижеприведенными командами.
Пример команды генерации сертификата электронной подписи (ЭП) с помощью КриптоПро CSP:
/opt/cprocsp/bin/amd64/cryptcp -createcert -provtype 80 -hashalg 1.2.643.7.1.1.2.2 -rdn 'CN=esiacert' -exprt -cont '\\.\HDIMAGE\esiacert'
Команда просмотр списка сертификатов в хранилище сертификатов КриптоПро CSP:
/opt/cprocsp/bin/amd64/certmgr -list
Пример команды экспорта сертификата из хранилища сертификатов КриптоПро CSP:
/opt/cprocsp/bin/amd64/certmgr -export -dest devcert.cer -thumbprint db9de1fb52bec8336c534f7edaa53156059e2050
