- [ Общие сведения ] [ Требования к окружению ] [ Конфигурационные файлы ] [ Создание и развёртывание базы данных ] [ Установка и настройка ] [ Вариант 1. С развертыванием файлов дистрибутива из архива (ручная установка) ] [ Вариант 2. С развертыванием файлов из репозитория (автоматическая установка) ] [ Проверка публикации интерфейса системы на веб-сервере Nginx ] [ Действия после установки ] [ Проверка установки ]
Общие сведения
Требования к окружению
Перед выполнением развёртывания по текущей инструкции необходимо выполнение следующих условий:
В ОС должны быть установлены следующие программы:
- sudo (программа выполнения команд от имени суперпользователя)
;- psql
(CLI-клиент из состава PostgreSQL);- nginx
(веб-сервер/прокси-сервер);- openssl (программа управления сертификатами)
.При необходимости использования SAML – дополнительно установить средства проверки подписи XML по умолчанию они установлены:
xmlsec1
;xmlsec1-openssl
.
Выполнена синхронизация времени в ОС с сервером синхронизации времени.
Примечание
Установка и настройка указанных программ выходит за границы текущей инструкции и описана в справочных руководствах, идущих в комплекте с операционной системой Linux, на которой производится развёртывание.
Конфигурационные файлы
При внесении изменений в конфигурационный файл выполнение развёртывания должно производиться с учётом возможного влияния изменённых параметров в сравнении с конфигурационным файлом из дистрибутива.
Дистрибутив содержит в себе:
- конфигурационный файл, необходимый для работы серверной части, предварительно настроенный для выполнения базового развёртывания с помощью текущей инструкции,
- минимальный конфигурационный файл для сервера Nginx.
Создание и развёртывание базы данных
Создать пользователя СУБД avanpost
с паролем и базу данных idp
с помощью последовательно выполняемых команд:
sudo -u postgres psql CREATE USER avanpost WITH PASSWORD 'Passw0rd'; CREATE DATABASE idp OWNER=avanpost ENCODING=utf8; \q
CREATE USER avanpost WITH PASSWORD 'Passw0rd' | Команда SQL, выполняемая в среде psql, которая создает нового пользователя с именем avanpost и заданным паролем 'Passw0rd' |
CREATE DATABASE idp OWNER=avanpost ENCODING=utf8 | Команда SQL для создания новой базы данных с именем idp. Опции OWNER=avanpost устанавливают пользователя avanpost в качестве владельца базы данных. Опция ENCODING=utf8 устанавливает кодировку базы данных на UTF-8 |
Примечание
В файле /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 допускается следующими способами:
- ручная установка с развертывание файлов дистрибутива из архива;
- автоматическая установка с развертыванием файлов из репозитория.
Вариант 1. С развертыванием файлов дистрибутива из архива (ручная установка)
Для развёртывания дистрибутива из dep-пакета необходимо:
Установить дополнительные пакеты (если они отсутствуют) при помощи команды:
sudo apt install wget
Скачать последнюю версию deb-пакета FAM, использую команду:
гдеwget https://packages.avanpost.ru/repository/deb-hosted/pool/a/avpfam/avpfam_*.*.*_amd64.deb --no-check-certificate
*.*.*
– это номер версии пакета.Выполнить установку пакета avpfam из директории расположения файла при помощи команды:
sudo dpkg -i avpfam_*.*.*_amd64.deb
- При развертывании в диалоговых окнах необходимо указать следующие настройки:
Ввести доменное имя сервера FAM для настройки конфигурации NGINX.
Enter domain name of FAM Server for NGINX Config: Пример: idp.avanpost.local
Ввести IP-адрес сервера FAM.
Enter IP address of FAM Server for NGINX Config: Пример: 127.0.0.1
Ввеcти имя хоста или IP-адрес сервера PostgreSQL для сервера IDP.
Enter Postgresql Server host name for IDP Server: Пример: 127.0.0.1
Ввести имя БД для сервера IDP.
Enter DB name for IDP Server: Вводим BD name, которое ввели в пункте 2.
Ввести имя пользователя БД, созданного ранее.
Enter username of DB: Вводим username , которое ввели в пункте 2.
Ввести созданный ранее пароль от БД дважды.
Enter password of DB Enter password of DB (again) Вводим password, который вводили в пункте 2.
- Указать параметры само подписанного сертификата.
После установки необходимо добавить пользователя idp в группу root:
sudo usermod -aG root idp
Вариант 2. С развертыванием файлов из репозитория (автоматическая установка)
Для развёртывания дистрибутива из репозитория необходимо:
Добавить репозиторий 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
Скачать публичный ключ репозитория, используя команду:
wget -q "https://docs.avanpost.ru/certs/deb-hosted.gpg.key"
Добавить публичный ключ в Систему при помощи команды:
sudo apt-key add deb-hosted.gpg.key
Обновить список пакетов при помощи команды:
sudo apt update
Установить пакет FAM, используя команду:
sudo apt install avpfam
Внимание
Стандартные репозитории Astra Linux содержат свои пакеты fam, перед установкой необходимо закомментировать все остальные репозитории и перед вынолнением установки повторно обновить список пакетов sudo apt update
- При развертывании в диалоговых окнах необходимо указать следующие настройки:
Ввести доменное имя сервера FAM для настройки конфигурации NGINX.
Enter domain name of FAM Server for NGINX Config: Пример: idp.avanpost.local
Ввести IP-адрес сервера FAM.
Enter IP address of FAM Server for NGINX Config: Пример: 127.0.0.1
Ввеcти имя хоста или IP-адрес сервера PostgreSQL для сервера IDP.
Enter Postgresql Server host name for IDP Server: Пример: 127.0.0.1
Ввести имя БД для сервера IDP.
Enter DB name for IDP Server: Вводим BD name, которое ввели в пункте 2.
Ввести имя пользователя БД, созданного ранее.
Enter username of DB: Вводим username , которое ввели в пункте 2.
Ввести созданный ранее пароль от БД дважды.
Enter password of DB Enter password of DB (again) Вводим password, который вводили в пункте 2.
Удержать пакет FAM от обновления при выполнении команды
apt upgrade
:sudo apt-mark hold avpfam
После установки необходимо добавить пользователя idp в группу root:
sudo usermod -aG root idp
Проверка публикации интерфейса системы на веб-сервере Nginx
После установки следут проверить публикацию системы на сервере Nginx, для чего требуется:
Проверить в конце конфигурационного файла
/etc/nginx/nginx.conf
строку при помощи команды:include /etc/nginx/sites-enabled/*;
Проверить конфигурационный файл
idp.conf
на основе примера при помощи команды:sudo nano /etc/nginx/sites-available/idp.conf
Внимание
Адрес
idp.avanpost.local
должен указывать в сети на IP-адрес сервера, на котором размещается система средствами DNS.В противном случае требуется локально в конфигурации
/etc/hosts
клиентской машины, за которой работает пользователь или администратор, выполнить настройку маршрутизации с хоста на IP-адрес сервера с системой.Пример файла /etc/hosts
127.0.0.1 localhost
127.0.0.1 idp.avanpost.localПример содержимого конфигурационного файла в
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' data: https:; style-src * 'self' 'unsafe-inline'; connect-src * 'self'; script-src * 'self'"; } }
Проверить ссылку в
sites-enabled
. Если ее нет, выполнить команду:sudo ln -s /etc/nginx/sites-available/idp.conf /etc/nginx/sites-enabled/idp.conf
После внесения изменений в конфигурацию Nginx:
a. Проверить конфигурацию:sudo nginx -t # nginx: the configuration file /etc/nginx/nginx.conf syntax is ok # nginx: configuration file /etc/nginx/nginx.conf test is successful
b. Перечитать конфигурацию Nginx:
sudo systemctl reload nginx
Действия после установки
После завершения установки необходимо выполнить следующие действия:
- Проверить реквизиты базы данных (сервера БД, наименования БД, имени пользователя или пароля) в конфигурационном файле
/opt/idp/config.toml
в формате PostgreSQL Connection URI в параметрconnectionString
в секциюdatabase
. - Проверить наличие файла key.dat в /opt/idp. Если ключ отсутствует, сгенерировать ключа шифрования
key.dat
при помощи следующих команд- Перейти в директорию
/opt/idp
:cd /opt/idp
- Выполнить команду генерации ключа:
sudo ./fam_linux_amd64 -generatekey
- Перейти в директорию
- При необходимости для инициализации приложения необходимо выполнить команду инициализации в директории
/opt/idp
:sudo ./fam_linux_amd64 -init
- Для регистрации новой учетной записи необходимо выполнить следующие действия в директории
/opt/idp
:- Выполнить создание УЗ администратора с указанием логина пользователя и пароля (по умолчанию учетная запись администратора
admin:admin123
):
sudo ./fam_linux_amd64 -createuser login:password
- Выполнить создание УЗ администратора с указанием логина пользователя и пароля (по умолчанию учетная запись администратора
Назначить созданному пользователю системную роль
admin
:sudo ./fam_linux_amd64 -assignrole admin -user login
- Далее запустите сервис Avanpost FAM:
sudo systemctl start idp
Проверка установки
Проверку корректности установки и настройки выполнять следующим образом:
- Открыть в браузере страницу http://idp.avanpost.local/admin и убедиться, что открылась страница аутентификации в административную консоль Avanpost FAM.
- Ввести логин и пароль созданной учётной записи и убедиться, что получен доступ к административной консоли Avanpost FAM.
При установке из deb-пакета по умолчанию в FAM создаётся пользователь admin с паролем admin123. По окончанию настройки рекомендуется либо удалить его, либо сразу изменить пароль в целях безопасности.