Установка серверного компонента | Avanpost FAM/MFA+

4.2. Установка базового серверного компонента

[ ] [ Общие сведения ] [ Требования к окружению ] [ Создание и развёртывание базы данных ] [ Настройка конфигурационного файла ] [ Установка и настройка ] [ Шаг 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 состоит из следующих действий:

  1. Проверка настроек операционной системы на соответствие требованиям.
  2. Создание и развертывание базы данных.
  3. Настройка основного конфигурационного файла. 
  4. Установка и настройка Avanpost FAM Server  тем или иным способом в зависимости от операционной системы (ОС) и выбранного способа развертывания.
  5. Проверка корректности установки Avanpost FAM Server.

Особенности установки Avanpost FAM Server в отказоустойчивом исполнении с использование балансировки нагрузки и репликации баз данных описаны в разделе Установка FAM Server в отказоустойчивом (кластерном) исполнении.

Требования  к окружению

Перед выполнением развёртывания по текущей инструкции необходимо выполнение следующих условий:

  1. В ОС должны быть установлены следующие программы:
    - sudo (программа выполнения команд от имени суперпользователя);
    - psql (CLI-клиент из состава PostgreSQL);
    - angie/nginx (веб-сервер/прокси-сервер);
    - openssl (программа управления сертификатами).

    При необходимости использования SAML требуются средства проверки подписи XML (установлены по умолчанию в большинстве ОС):

    • xmlsec1;
    • xmlsec1-openssl.
  2. Выполнена синхронизация времени в ОС с сервером синхронизации времени.

Примечание

Установка и настройка указанных программ выходит за границы текущей инструкции и описана в справочных руководствах, идущих в комплекте с операционной системой Linux, на которой производится развёртывание.

Создание и развёртывание базы данных

Создать пользователя СУБД avanpost с паролем и базу данных idp с помощью последовательно выполняемых команд:

  1. В командной строке операционной системы запустить интерактивную оболочку PostgreSQL:
    sudo -u postgres psql
  2. Создать нового пользователя с именем avanpost и заданным паролем 'Passw0rd':
    CREATE USER avanpost WITH PASSWORD 'Passw0rd'
  3. Создать новую базу данных с именем 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
  1. Создать пользователя idp при помощи команды: 
    sudo useradd -m idp
    
  2. Задать пароль пользователя idp после ввода команды:
    sudo passwd idp
    
Astra Linux/Debian/Ubuntu
Alt и прочие

Шаг 2. Добавление пользователя в группу с повышенными привилегиями

ТипОписание действий
RedOS/RHEL/CentOS
  1. Добавить пользователя в группу с повышенными привилегиями, дающую права на выполнение команд через sudo):
    sudo usermod -aG wheel idp
Astra Linux/Debian/Ubuntu
  1. Добавить пользователя в группу с повышенными привилегиями, дающую права на выполнение команд через sudo):
    sudo usermod -aG astra-admin idp
Alt и прочие
  1. Добавить пользователя в группу с повышенными привилегиями, дающую права на выполнение команд через sudo):
    sudo usermod -aG wheel idp

Шаг 3. Проверка корректности созданного пользователя

ТипОписание действий
RedOS/RHEL/CentOS
  1. Убедиться, что пользователь добавлен в группу, дающую права на выполнение команд от суперпользователя:
    sudo groups idp
Astra Linux/Debian/Ubuntu
Alt и прочие

Шаг 4А. Развертывание файлов из дистрибутива (автоматически)

ТипОписание действий
RedOS/RHEL/CentOS
  1. Добавить репозиторий FAM:
    1. Создать файл fam.repo (если файл уже создавался ранее, сразу перейти к следующему шагу):

      sudo touch /etc/yum.repos.d/fam.repo
    2. Открыть файл в текстовом редакторе (в данном примере используется текстовый редактор vi):

      sudo vi /etc/yum.repos.d/fam.repo
    3. В файле fam.repo добавить следующую информацию, которая описывает репозиторий FAM:
      [FAM]
      name=FAM Repository
      baseurl=https://packages.avanpost.ru/repository/rpm-hosted/FAM/CentOS/
      enabled=1
      protect=0
      gpgcheck=0
      metadata_expire=30s
      autorefresh=1
      type=rpm-md

      Структура файла fam,repo

      name

      Имя репозитория
      baseurl

      путь к основному URL репозитория FAM

      Для CentOS указывается каталог CentOS, для других ОС ALT, REDOS, ROSA соответственно

      enabledРазрешение на использование репозитория (1 - включен, 0 - отключен)
      protect

      Защита от изменений (0 - отключена)

      gpgcheckПроверка GPG-подписей пакетов (0 - отключена)
      metadata_expireВремя обновления метаданных репозитория (в секундах)
      autorefresh

      Автоматическое обновление репозитория (1 - включено)

      typeУказание типа репозитория
    4. После создания/внесения изменений в файл рекомендуется проверить синтаксис и обновить кэш при помощи команд:
      sudo yum repolist
      sudo yum makecache
  2. Обновить все установленные пакеты с помощью команды:

    sudo yum update
  3. Выполнить установку пакета avpfam:

    sudo yum install -y avpfam --downloadonly --downloaddir=/tmp/ && rpm -i /tmp/avpfam-*
  4. При развертывании rpm-пакета в диалоговом окне "Enter domain of FAM Server" ввести внешний домен сервера FAM для прописывания в файл конфигурации Ngnix:

    idp.avanpost.local

    Чтобы исключить (запретить) обновления определенных пакетов, открыть файл /etc/yum.conf (для CentOS 7 и ниже, RHEL 7 и ниже) или /etc/dnf/dnf.conf (для CentOS 8 и выше, RHEL 8 и выше) c помощью выбранного редактора:

    vi /etc/yum.conf
    # или
    vi /etc/dnf/dnf.conf
Astra Linux/Debian/Ubuntu
  1. Добавить репозиторий Avanpost FAM в основной файл конфигурации sources.list. При помощи команды sed вставить строку https://packages.avanpost.ru/repository/deb-hosted/ linux main в файл sources.list в директории /etc/apt:

    sed -i '$ a\\ndeb https://packages.avanpost.ru/repository/deb-hosted/ linux main' /etc/apt/sources.list
    
  2. Скачать публичный ключ репозитория, используя команду: 

    wget -q "https://docs.avanpost.ru/certs/deb-hosted.gpg.key"
  3. Добавить публичный ключ в FAM Server при помощи команды: 

    sudo apt-key add deb-hosted.gpg.key
  4. Обновить список пакетов при помощи команды через Advanced Packaging Tool

    sudo apt update
  5. Установить пакет FAM, используя команду:

    sudo apt install avpfam
Alt и прочиеНе используется.

Шаг 4Б. Развертывание файлов из дистрибутива (вручную)

ТипОписание действий
RedOS/RHEL/CentOSНе используется.
Astra Linux/Debian/Ubuntu
  1. Если не установлены инструменты wget (предназначены для загрузки данных через протоколы HTTP, HTTPS и FTP), установить через Advanced Packaging Tool при помощи команды:

    sudo apt install wget
  2. Скачать последнюю версию deb-пакета FAM Server, использую команду:

    wget https://packages.avanpost.ru/repository/deb-hosted/pool/a/avpfam/avpfam_*.*.*_amd64.deb --no-check-certificate
    где *.*.* – это номер версии пакета.
  3. Выполнить установку пакета avpfam из директории расположения файла при помощи команды:

    sudo dpkg -i avpfam_*.*.*_amd64.deb
Alt и прочие
  1. Создать директорию /opt/idp:

    sudo mkdir /opt/idp
  2. Изменить владельца созданной директории (включая файлы и поддиректории в ней) на пользователя idp:
    sudo chown -R idp:idp /opt/idp
  3. Переключиться на служебного пользователя idp: 

    sudo su idp
  4. Перейти в созданную директорию /opt/idp:

    cd /opt/idp
  5. В зависимости от расположения скачанного файла с архивом дистрибутива Avanpost FAM Server скопировать архив из исходной директории (заменить в команде /source-path на правильный путь с расположением архива дистрибутива Avanpost.*.tar.gz) в целевую директорию  /opt/idp:

    cp /source-path/Avanpost.*.tar.gz -t /opt/idp
  6. Распаковать файлы дистрибутива из архива, находясь в той же директории:

    tar -xvzf Avanpost.*.tar.gz
  7. После успешной распаковки удалить архив дистрибутива:

    rm Avanpost.*.tar.gz
  8. Скопировать базовый конфигурационный файл config.toml.default в config.toml:

    cp -f config.toml.default config.toml
  9. Установить переменную окружения SSO_CFG с указанием пути /opt/idp/config.toml:

    export SSO_CFG=/opt/idp/config.toml

Шаг 5. Введение параметров в диалоговых окнах

ТипОписание действий
RedOS/RHEL/CentOS

При развертывании в диалоговых окнах необходимо указать следующие настройки:

  1. Ввести доменное имя сервера FAM для настройки конфигурации Angie/Nginx:

    Enter domain name of FAM Server for NGINX Config:
    Пример: idp.avanpost.local
  2. Ввести IP-адрес сервера FAM:

    Enter IP address of FAM Server for NGINX Config:
    Пример: 127.0.0.1
  3. Ввести имя хоста или IP-адрес сервера PostgreSQL для сервера IDP:

    Enter Postgresql Server host name for IDP Server:
    Пример: 127.0.0.1
  4. Ввести имя БД для сервера IDP:

    Enter DB name for IDP Server:
  5. Ввести имя пользователя БД, созданного при развертывании БД:

    Enter username of DB:
  6. Дважды ввести пароль пользователя, созданного при развертывании БД:

    Enter password of DB
    Enter password of DB (again)
Astra Linux/Debian/Ubuntu
Alt и прочиеНе выполняется.

Шаг 6. Добавление пользователя idp в группу root

ТипОписание действий
RedOS/RHEL/CentOS
  1.  Добавить пользователя idp в группу root:

    sudo usermod -aG root idp
Astra Linux/Debian/Ubuntu
  1. Удержать пакет FAM от обновления при выполнении команды apt upgrade (если использовалась автоматическая установка):

    sudo apt-mark hold avpfam
  2. После установки необходимо добавить пользователя idp в группу root:

    sudo usermod -aG root idp
Alt и прочиеНе выполняется.

Шаг 7. Генерация ключа шифрования

ТипОписание действий
RedOS/RHEL/CentOS
  1. Перейти в директорию /opt/idp:
    cd /opt/idp
  2. Выполнить команду генерации ключа:
    sudo ./fam_linux_amd64 -generatekey
Astra Linux/Debian/Ubuntu
Alt и прочие
  1. Перейти в директорию /opt/idp:
    cd /opt/idp
  2. Выполнить команду генерации ключа:
    sudo ./fam_linux_amd64 -generatekey
  3. Выполнить развёртывание БД с использованием механизма миграций в директории /opt/idp:

    Миграцию БД и последующие команды следует выполнять только после:

    1. Внесения изменённых реквизитов в параметр connectionString.
    2. Генерации ключа шифрования.
    ./fam_linux_amd64 -migratedb postgres

Более подробная информация о сертификатах и ключах шифрования – в статье Выпуск ключа шифрования и сертификата.

Шаг 8. Публикация интерфейса системы на веб-сервере Angie/Nginx

ТипОписание действий
RedOS/RHEL/CentOS
  1. Проверить в конце конфигурационного файла /etc/nginx/nginx.conf строку:

    include /etc/nginx/sites-enabled/*;
  2. Проверить конфигурационный файл idp.conf на основе примера (в указанном примере качестве текстового редактора используется vi):

    sudo vi /etc/nginx/sites-available/idp.conf

    Внимание

    Адрес idp.avanpost.local должен указывать в сети на IP-адрес сервера, на котором размещается система средствами DNS.

    В противном случае требуется локально в конфигурации /etc/hosts клиентской машины, за которой работает пользователь или администратор, выполнить настройку маршрутизации с хоста на IP-адрес сервера с системой.

  3. Содержимое конфигурационного файла в idp.conf должно соответствовать:

    server {
        listen        80;
        server_name   idp.avanpost.local;
        location / {
            proxy_pass       http://127.0.0.1:4008;
            proxy_set_header X-Real-IP $remote_addr;
    		proxy_set_header Host $host;
    		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            add_header Content-Security-Policy "default-src 'self'; img-src 'self' https: data:; connect-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'self';" always;
    
      
                }
    }
  4. Проверить ссылку в sites-enabled. Если ее нет, выполнить:

    sudo ln -s /etc/nginx/sites-available/idp.conf /etc/nginx/sites-enabled/idp.conf
  5. Для внесения изменений в конфигурацию Nginx:
    1. Проверить конфигурацию:
sudo nginx -t
# nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
# nginx: configuration file /etc/nginx/nginx.conf test is successful
    1. . Перечитать конфигурацию Nginx:
sudo systemctl reload nginx
    1. При необходимости (если появляется ошибка 502) ввести команду для изменения булевого значения httpd_can_network_connect. Она позволит веб-серверу httpd устанавливать сетевые соединения, делая это разрешенным и постоянным.
setsebool httpd_can_network_connect on -P
Astra Linux/Debian/Ubuntu
Alt и прочие
  1. Создать конфигурационный файл idp.conf на основе примера:

    для Nginx
    sudo vi /etc/nginx/conf.d/idp.conf
    для Angie
    sudo vi /etc/angie/http.d/idp.conf

    Внимание

    Адрес idp.avanpost.local должен указывать в сети на IP-адрес сервера, на котором размещается система средствами DNS.

    В противном случае требуется локально в конфигурации /etc/hosts клиентской машины, за которой работает пользователь или администратор, выполнить настройку маршрутизации с хоста на IP-адрес сервера с Системой.

    Пример:

    127.0.0.1   localhost

    127.0.0.1   idp.avanpost.local

  2. Перед выполнением дальнейших действий должен быть сгенерирован сертификат (см. статью 4.1.2. Выпуск ключа шифрования и сертификата) и создана директория для ключей. Далее следует скопировать содержимое конфигурационного файла в idp.conf:

    server {
        listen        80;
        server_name   idp.avanpost.local;
        location / {
            proxy_pass       http://127.0.0.1:4008;
            proxy_set_header X-Real-IP $remote_addr;
    		proxy_set_header Host $host;
    		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            add_header Content-Security-Policy "default-src 'self'; img-src 'self' https: data:; connect-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'self';" always;
    
        }
    
     }
  3. Проверить конфигурацию:

    sudo nginx -t
    # nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    # nginx: configuration file /etc/nginx/nginx.conf test is successful
  4. Перезапустить Nginx:

    sudo systemctl restart nginx


Шаг 9. Проверка корректности данных 

ТипОписание действий
RedOS/RHEL/CentOS
  1. Проверить реквизиты базы данных (сервера БД, наименования БД, имени пользователя или пароля) в конфигурационном файле /opt/idp/config.toml в формате PostgreSQL Connection URI в параметр connectionString в секцию database
  2. Проверить наличие файла key.dat в /opt/idp. Если ключ отсутствует, сгенерировать ключ шифрования key.dat.
Astra Linux/Debian/Ubuntu
Alt и прочие

Шаг 10. Настройка FAM в редакции Cloud (при необходимости)

Данная настройка выполняется только в том случае, если требуется запуск Avanpost FAM в редакции Cloud. Конфигурация Cloud требует настройки промежуточных сервисов (Bridge-компоненты), связывающих внешние системы (например, LDAP-серверы или RADIUS-серверы) с Avanpost FAM в облачной архитектуре. Если выполняется стандартная настройка Avanpost FAM, данный шаг следует пропустить.

ТипОписание действий
RedOS/RHEL/CentOS
  1. Установить переменную окружения SSO_CLOUD_IDP_ENABLED:
    export env SSO_CLOUD_IDP_ENABLED=true
  2. Задать параметры в конфигурационном файле FAM Server в секции настройки взаимодействия с Bridge-компонентами для по аналогии:
    [cloud]
    [cloud.bridge]
    grpcServerAddress = 'localhost:50052'
    httpServerAddress = 'localhost:8082'
    token = "bridgeToken12345678"
    ПараметрЗначение

    grpcServerAddress

     Адрес и порт, по которому FAM Server будет принимать gRPC-запросы от Bridge-компонентов.

    httpServerAddress

    Адрес и порт, по которому FAM будет принимать HTTP-запросы от Bridge-компонентов. 

    token

    Секретный токен, который должен совпадать с указанным в конфигурации Bridge-компонентов (LDAP Link, RADIUS Bridge и т.п.).

  3. Настроить Bridge-компоненты (LDAP Link и Radius Bridge Component) согласно иснтрукции.
Astra Linux/Debian/Ubuntu
Alt и прочие

Шаг 11. Инициализация сервиса (для первого запуска)

Начиная с версии 1.16, инициализация выполняется автоматически и не требует отдельных действий. Тем не менее, выполнение инициализации вручную допускается с целью осуществления контроля корректности установки компонента.  

ТипОписание действий
RedOS/RHEL/CentOS
  1. Перейти в директорию /opt/idp (если пользователь не находился в данной директории):

    cd /opt/idp
  2. Запустить команду инициализации:
    ./fam_linux_amd64 -init
Astra Linux/Debian/Ubuntu
Alt и прочие

Шаг 12. Регистрация учетной записи администратора

ТипОписание действий
RedOS/RHEL/CentOS
  1. 1. Перейти в директорию /opt/idp (если пользователь не находился в данной директории):
    cd /opt/idp
  2. Создать учетную запись администратора с указанием логина и пароля (в данной инструкции в качестве примера использован admin:admin123):
    sudo ./createadmin_linux_amd64 -login admin -pwd admin123 -mcp -conn 'postgres://avanpost:Passw0rd@127.0.0.1:5432/idp?sslmode=disable&search_path=public'
    где используются следующие параметры:
    • -login — логин создаваемого пользователя;
    • -pwd — пароль создаваемого пользователя;
    • -conn — строка подключения к базе данных (используется значение параметра connectionString из конфигурационного файла config.toml).

      Начиная с версии FAM 1.16.0, команды -createuser и -assignrole утилиты fam_linux_amd64 не поддерживаются. Для создания учетной записи администратора используется отдельная утилита createadmin_linux_amd64.

Astra Linux/Debian/Ubuntu
Alt и прочие

Шаг 13. Запуск сервиса

ТипОписание действий
RedOS/RHEL/CentOS
  1. Запустить службу idp:
sudo systemctl start idp
Astra Linux/Debian/Ubuntu
Alt и прочие
  1. Создать конфигурационный файл сервиса при помощи команды (на базе примера):
    sudo vi /etc/systemd/system/idp.service
    Пример конфигурационного файла
    [Unit]
    Description=IDP
    
    [Service]
    WorkingDirectory=/opt/idp
    ExecStart=/opt/idp/fam_linux_amd64
    Restart=always
    RestartSec=10
    SyslogIdentifier=idp
    User=idp
    Environment="SSO_CFG=/opt/idp/config.toml"
    Environment="http_proxy=127.0.0.1:9090"
    Environment="https_proxy=127.0.0.1:9090"
    Environment="SSO_API_SERVICE_WITH_NO_PROXY=0"
    Environment="SSO_PUSH_SERVICE_WITH_NO_PROXY=0"
    TimeoutStopSec=5
    
    [Install]
    WantedBy=multi-user.target
    ПараметрЗначение
    [Unit]
    DescriptionОписание сервиса для отображения администратору.
    [Service]
    WorkingDirectory Рабочая директория, в которой запускается процесс.
    ExecStartКоманда для запуска сервиса, в которой указывается расположение исполняемого файла Avanpost FAM Server.
    RestartПараметр настройки автоматического перезапуска сервиса.
    RestartSecВремя ожидания (в секундах) перед перезапуском сервиса после его остановки.
    SyslogIdentifierИмя, под которым логи сервиса записываются в системный журнал.
    UserИмя пользователя, от имени которого запускается процесс
    Environment

    Переменные окружения:

    • SSO_CFGиспользуется для определения местоположения конфигурационного файла FAM Server;
    • http_proxyАдрес прокси-сервера для нешифрованного трафика;
    • https_proxy - Адрес прокси-сервера для шифрованного трафика;
    • SSO_API_SERVICE_WITH_NO_PROXY - Выключение обхода прокси-сервера для внутренних API-запросов (1 - функция no_proxy включена; 0 - функция no_proxy выключена и все запросы выполняются через прокси);
    • SSO_PUSH_SERVICE_WITH_NO_PROXY - Выключение обхода прокси-сервера для PUSH-запросов (1 - функция no_proxy включена; 0 - функция no_proxy выключена и все запросы выполняются через прокси).
    TimeoutStopSec

     Время ожидания (в секундах), в течение которого systemd ждёт завершения процесса idp после отправки сигнала завершения.

    [Install]
    WantedByПараметр, указывающий, когда должен быть запущен сервис (по умолчанию multi-user.target – сервис будет запускаться автоматически при загрузке системы).
  2. Перезагрузить конфигурацию systemd:
    sudo systemctl daemon-reload
  3. Настроить на автоматический запуск при старте системы:
    sudo systemctl enable idp
  4. Запустить службу idp:
    sudo systemctl start idp

Шаг 14 Проверка корректности установки

ТипОписание действий
RedOS/RHEL/CentOS

Проверка корректности установки и настройки Avanpost FAM выполняется следующим образом:

  1. Открыть в браузере страницу http://idp.avanpost.local/admin. 
  2. Убедиться, что открылась страница аутентификации в административную консоль Avanpost FAM. 
  3. Ввести логин и пароль созданной учётной записи администратора:
    1.  – логин: admin;
    2.  – пароль: admin123.
  4. Убедиться, что получен доступ к административной консоли 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]

host

Хост Avanpost FAM Server, к которому будет осуществляться подключение.

port

Порт Avanpost FAM Server, к которому будет осуществляться подключение.

network

Тип сети.

useTls

Флаг, указывающий, следует ли использовать TLS для защищенного соединения.

certPath

Путь к сертификату, необходимому для установки TLS-соединения.

keyPath

Путь к файлу закрытого ключа для установки TLS-соединения.

[cproCsp]

binDir

Директория, в которой расположены программные компоненты КриптоПро 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 в соответствии со следующими параметрами:

ПараметрОписание

host

Хост, на котором развернут Signer.

port

Порт, на котором развернут Signer.

useTls

Флаг, указывающий, следует ли использовать TLS для защищенного соединения.

caCertPath

Путь к сертификату удостоверяющего центра, необходимому для установки 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




Обсуждение