Создание служебного пользователя
Перед началом установки сопутствующих компонентов и распаковкой дистрибутива создайте специального пользователя smartpam, от имени которого будет происходить дальнейшая работа с системой.
1. Создайте служебного пользователя smartpam (параметр -m необходим для создания домашнего каталога, параметр -d назначает домашнюю папку, параметр -s задаёт оболочку пользователя) и задайте пароль новому пользователю:
sudo useradd -s /bin/bash -d /home/smartpam/ -m -G sudo smartpam sudo passwd smartpam
2. Создайте каталог /opt/smartpam:
sudo mkdir /opt/smartpam sudo chown -R smartpam:smartpam /opt/smartpam
3. Если иное не указано явно, дальнейшие описываемые в настоящем документе операции выполняйте под служебным пользователем smartpam():
sudo su smartpam cd /opt/smartpam
Установка сопутствующего ПО
Если вы устанавливаете Avanpost SmartPAM на Astra Linux, пропустите этот раздел и перейдите к разделу «Установка Avanpost SmartPAM на Astra Linux». После его выполнения перейдите к разделу «Установка Avanpost SmartPAM из архива» и продолжайте установку по инструкции.
Установка nginx/Angie
Установите nginx (Angie) в соответствии с рекомендациями производителя. Ниже см. пример установки Nginx в Ubuntu 24.04: 1. Установите необходимые компоненты:
sudo apt install curl gnupg2 ca-certificates -y
2. Установите Nginx, выполнив следующие команды:
sudo apt update sudo apt install nginx
3. Для автоматического запуска Nginx при загрузке системы выполните команду:
sudo systemctl enable nginx
4. Запустите службу Nginx:
sudo systemctl start nginx
Устновка и настройка NATS
1. Загрузите NATS-сервер и распакуйте архив:
cd ~ curl -L https://github.com/nats-io/nats-server/releases/download/v2.10.22/nats-server-v2.10.22-linux-amd64.zip -o nats-server.zip
2. Распакуйте архив:
unzip nats-server.zip
3. Скопируйте папку, которая была распакована, в системный каталог /usr/bin:
sudo cp nats-server-v2.10.22-linux-amd64/nats-server /usr/bin
4. Создайте конфигурационный файл сервера NATS:
sudo nano /etc/nats-server.conf
5. Добавьте в созданный файл следующие настройки:
# NATS Server Configuration with Simple Authentication
server_name: "My_Secure_NATS_Server"
# Client connections port
listen: 127.0.0.1:4222
# Simple authentication with one user
authorization {
# Timeout for authentication (in seconds)
timeout: 2
# Single user with full permissions
user: nats_login
password: "nats_password"
}
6. Создайте и отредактируйте файл службы systemd:
sudo nano /etc/systemd/system/nats.service
7. Добавьте следующее содержимое:
[Unit] Description=NATS Server After=network-online.target ntp.service [Service] PrivateTmp=true Type=simple ExecStart=/usr/bin/nats-server -c /etc/nats-server.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s SIGINT $MAINPID User=smartpam Group=smartpam # The nats-server uses SIGUSR2 to trigger using Lame Duck Mode (LDM) shutdown KillSignal=SIGUSR2 # You might want to adjust TimeoutStopSec too. [Install] WantedBy=multi-user.target
-
Сохраните файл и выйдите.
9. Предоставьте пользователю права на чтение и исполнение файла /usr/bin/nats-server:
sudo chmod +rx /usr/bin/nats-server
10. Перезагрузите конфигурацию systemd:
sudo systemctl daemon-reload
11. Для автоматического запуска NATS при загрузке системы выполните команду:
sudo systemctl enable nats
12. Запустите сервер NATS:
sudo systemctl start nats
Развертывание PostgreSQL
Пример установки Postgres 17 в Ubuntu 24.04
Добавление репозитория PostgreSQL
1. Обновите список пакетов:
sudo apt update
2. Добавьте репозиторий PostgreSQL:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
3. Импортируйте ключ подписи репозитория:
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
4. Обновите список пакетов:
sudo apt update
Установка PostgreSQL
1. Установите PostgreSQL и дополнительные модули:
sudo apt install postgresql-17
2. Запустите и включите службу PostgreSQL:
sudo systemctl start postgresql sudo systemctl enable postgresql
3. Проверьте установленную версию PostgreSQL:
psql --version
4. Вы должны увидеть вывод, аналогичный следующему:
psql (PostgreSQL) 17.0 (Ubuntu 17.0-1.pgdg24.04+1)
5. Перезапустите PostgreSQL, чтобы применить изменения:
sudo systemctl restart postgresql
Создание и развертывание базы данных
1. Создайте пользователя СУБД с паролем и базу данных pam:
sudo -u postgres psql CREATE USER pam WITH PASSWORD 'Passw0rd'; CREATE DATABASE pam OWNER=pam ENCODING=utf8; \q
-
Для изменения реквизитов базы данных (сервера, наименования, имени пользователя или пароля) впишите корректные значения в конфигурационные файлы
config.yaml, находящиеся в каталогах служб SmartPam (службыadmin-console, event-processor, pam-manager, pam-vault, session-processor, session-recorder, user-console, uba), в формате PostgreSQL Connection URI в секциюdb.connection_string.
Настройка PostgreSQL
По умолчанию PostgreSQL принимает подключения только с локального интерфейса (listen_addresses = 'localhost'). Чтобы была возможность подключаться к базе данных PostgreSQL по сети, а не только локально, необходимо изменить конфигурацию.
1. Измените файл postgresql.conf, чтобы разрешить удаленные подключения, изменив параметр listen_addresses на *:
sudo nano /etc/postgresql/17/main/postgresql.conf listen_addresses = '*'
2. Перезапустите PostgreSQL, чтобы применить изменения:
sudo systemctl restart postgresql
3. При необходимости, разрешите доступ к порту PostgreSQL через брандмауэр. Например, в случае использования UFW, выполните следующую команду:
sudo ufw allow 5432/tcp
Настройка s3 хранилища MinIO
Подготовка и установка
1. Создайте каталог для хранения объектов:
mkdir -p /opt/smartpam/minio/
2. Создайте каталог для хранения записей и назначьте права пользователю:
sudo mkdir -p /var/minio/replays sudo chown -R smartpam:smartpam /var/minio/
3. Скачайте пакет MinIO (рекомендуется выбрать наиболее актуальную версию для Linux на архитектуре AMD64), см. https://dl.min.io/server/minio/release/
cd ~ wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio_20250524170830.0.0_amd64.deb -O minio.deb
4. Установите скачанный пакет:
sudo dpkg -i minio.deb
5. Создайте файл с переменными окружения для MinIO:
sudo nano /etc/default/minio
6. Добавьте в файл с переменными окружения следующие параметры:
MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=minioadmin MINIO_VOLUMES="/var/minio" MINIO_OPTS="--address :9000 --console-address :9001"
-
Измените логин, пароль и порты, если это необходимо. По умолчанию MinIO использует порт 9000 для S3 API и порт 9001 для консоли MinIO (веб-интерфейс). При изменении параметров приведите в соответствие с изменениями файлы конфигурации служб: Admin API (
/opt/smartpam/admin-console/config.yaml) и session-processor/opt/smartpam/session-processor/config.yaml)
Настройка службы Systemd
1. Создайте файл службы:
sudo nano /etc/systemd/system/minio.service
2. Добавьте в файл службы следующее:
[Unit] Description=MinIO Documentation=https://docs.min.io Wants=network-online.target After=network-online.target AssertFileIsExecutable=/usr/local/bin/minio [Service] Type=notify WorkingDirectory=/usr/local User=smartpam Group=smartpam ProtectProc=invisible EnvironmentFile=/etc/default/minio ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES # Let systemd restart this service always Restart=always # Specifies the maximum file descriptor number that can be opened by this process LimitNOFILE=1048576 # Turn-off memory accounting by systemd, which is buggy. MemoryAccounting=no # Specifies the maximum number of threads this process can create TasksMax=infinity # Disable timeout logic and wait until process is stopped TimeoutSec=infinity # Disable killing of MinIO by the kernel's OOM killer OOMScoreAdjust=-1000 SendSIGKILL=no [Install] WantedBy=multi-user.target
3. Обновите Systemd:
sudo systemctl daemon-reload
4. Запустите MinIO как сервис:
sudo systemctl enable minio
Открытие порта и проверка
1. Согласно настройкам, указанным в конфигурации, откройте порт в брандмауэре, чтобы обеспечить доступ к MinIO:
sudo ufw allow 9001/tcp
-
Чтобы убедиться, что MinIO успешно запущен и доступен, откройте веб-браузер и перейдите по адресу:
http://<ip-вашего-сервера>:9001.