Пример для Astra Linux Special Edition 1.8. После завершения всех шагов этого раздела перейдите к разделу «Установка Avanpost SmartPAM из архива» для продолжения установки
Создание служебного пользователя
Перед началом установки сопутствующих компонентов и распаковкой дистрибутива создайте специального пользователя 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
Включение репозиториев Astra Linux
1. Для установки ряда необходимых компонентов в конфигурационном файле репозитория Astra Linux необходимо активировать онлайн-репозитории. Для этого отредактируйте файл:
sudo nano /etc/apt/sources.list
-
В файле удалите символы «#» перед строками, описывающими онлайн-репозиторий (тем самым «раскомментировав» их) и установите символ «#» перед строкой, описывающей оффлайн-репозиторий («закомментируйте» ее).
Например:
deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-extended/ 1.8_x86-64 main contrib non-free non-free-firmware deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-main/ 1.8_x86-64 main contrib non-free non-free-firmware #deb cdrom:[OS Astra Linux 1.8.1.16 1.8_x86-64 DVD]/ 1.8_x86-64 contrib main non-free non-free-firmware
3. Обновите конфигурацию репозиториев:
sudo apt update
Установка nginx/Angie
1. Установите необходимые компоненты:
sudo apt install -y curl gnupg2 ca-certificates lsb-release debian-archive-keyring
2. Установите nginx:
sudo apt install -y nginx
3. Включите автоматический запуск Nginx при загрузке системы:
sudo systemctl enable nginx
4. Запустите службу Nginx:
sudo systemctl start nginx
Установка и настройка NATS
1. Загрузите NATS-сервер:
curl -L -o nats-server.zip https://github.com/nats-io/nats-server/releases/download/v2.10.22/nats-server-v2.10.22-linux-amd64.zip
2. Распакуйте архив:
unzip nats-server.zip
3. Скопируйте папку, которая была распакована, в системный каталог /usr/bin:
sudo cp nats-server-v2.10.22-linux-amd64/nats-server /usr/bin
4. Создайте конфигурационный файл сервера NATS — /etc/nats-server.conf:
sudo touch /etc/nats-server.conf
-
Добавьте в созданный файл следующие настройки:
# 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
Добавьте в файл следующее содержимое:
[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 KillSignal=SIGUSR2 TimeoutStopSec=10 [Install] WantedBy=multi-user.target
7. Предоставьте пользователю права на чтение и исполнение файла:
su - smartpam sudo chmod +rx /usr/bin/nats-server
8. Перезапустите конфигурацию:
sudo systemctl daemon-reload
9. Для автоматического запуска NATS при загрузке системы выполните команду:
sudo systemctl enable nats
10. Запустите сервер NATS:
sudo systemctl start nats
Установка и настройка PostgreSQL 15
1. Установите PostgreSQL:
sudo apt install postgresql-15
2. Запустите службу PostgreSQL:
sudo systemctl start postgresql
3. Включите автозапуск службы PostgreSQL при старте системы:
sudo systemctl enable postgresql
Настройка PostgreSQL
1. Измените методы аутентификации и настройте доступ к базе данных по сети:
sudo sed -i '/^host/s/ident/md5/' /etc/postgresql/15/main/pg_hba.conf sudo sed -i '/^local/s/peer/trust/' /etc/postgresql/15/main/pg_hba.conf echo "host all all 0.0.0.0/0 md5" | sudo tee -a /etc/postgresql/15/main/pg_hba.conf
2. Перезапустите PostgreSQL:
sudo systemctl restart postgresql
3. При необходимости, разрешите доступ к порту PostgreSQL через брандмауэр. Например, в случае использования UFW, выполните следующую команду:
sudo ufw allow 5432/tcp
Создание базы данных
1. Перейдите в интерактивный режим PostgreSQL:
sudo -u postgres psql
2. Создайте пользователя СУБД с паролем и базу данных pam:
CREATE USER pam WITH PASSWORD 'Passw0rd'; CREATE DATABASE pam OWNER=pam ENCODING='UTF8'; \q
Установка MinIO (S3-хранилище)
Подготовка и установка
1. Создайте каталог для хранения объектов:
mkdir -p /opt/smartpam/minio/
2. Создайте каталог для хранения записей и назначьте права пользователю:
sudo mkdir -p /var/minio/replays sudo chown -R smartpam:smartpam /var/minio/
3. Скачайте пакет MinIO:
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
-
Добавьте в файл с переменными окружения следующие параметры:
MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=minioadmin MINIO_VOLUMES="/var/minio" MINIO_OPTS="--address :9000 --console-address :9001"
7. Измените логин, пароль и порты, если это необходимо. По умолчанию 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
-
Добавьте в файл службы следующее:
[Unit] Description=MinIO Documentation=https://docs.min.io Wants=network-online.target After=network-online.target [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 Restart=always LimitNOFILE=1048576 MemoryAccounting=no TasksMax=infinity TimeoutSec=infinity OOMScoreAdjust=-1000 SendSIGKILL=no [Install] WantedBy=multi-user.target
3. Обновите Systemd:
sudo systemctl daemon-reload
4. Включите автозапуск сервиса MinIO при загрузке системы:
sudo systemctl enable minio
5. Запустите службу MinIO:
sudo systemctl start minio
Открытие порта и проверка
1. Согласно настройкам, указанным в конфигурации, откройте порт в брандмауэре, чтобы обеспечить доступ к MinIO:
sudo ufw allow 9001/tcp
-
Чтобы убедиться, что MinIO успешно запущен и доступен, откройте веб-браузер и перейдите по адресу:
http://<ip-вашего-сервера>:9001
Установка зависимостей PyRDP
1. Установите необходимые зависимости:
sudo apt-get update sudo apt-get install -y \ python3 python3-pip python3-venv \ libglib2.0-0 libgl1 libxkbcommon0 libfontconfig1 libdbus-1-3 \ unzip gcc libffi-dev libssl-dev python3-dev
2. Создайте виртуальное окружение и установите PyRDP:
python3 -m venv /opt/smartpam/session-processor/venv source /opt/smartpam/session-processor/venv/bin/activate pip install --upgrade pip setuptools wheel pip install "/opt/smartpam/utils/gosecure-pyrdp.zip[full]"
3. Деактивируйте виртуальное окружение:
deactivate