Avanpost SmartPAM : Установка Avanpost SmartPAM из архива

Файлы конфигурации

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

При внесении изменений в конфигурационные файлы учитывайте возможное влияние измененных параметров в сравнении с конфигурационными файлами из дистрибутива. Состав конфигурационных файлов и порядок их инициализации описаны далее в разделе «Конфигурационные файлы Avanpost SmartPAM».

Развертывания файлов дистрибутива Avanpost SmartPAM из архива

Для развертывания файлов дистрибутива из архива:

1. Пройдите по ссылке: https://packages.avanpost.ru/#browse/browse:avanpost-pam:stable, выберите конкретную версию дистрибутива и скачайте ее. Поместите дистрибутив на сервер, в каталог /opt/smartpam.

2. Распакуйте файлы дистрибутива из архива:

tar xzf Avanpost.Pam.<Номер версии и идентификатор сборки>.tar.gz -C /opt/smartpam, где <Номер версии и идентификатор> - разделенные плюсом номера версии и сборки

Установка и настройка компонентов обработки RDP-сессий GoSecure pyRDP

1. Скачайте файл по ссылке:

https://packages.avanpost.ru/repository/avanpost-pam/stable/1/utils/gosecure-pyrdp.zip

2. Скопируйте архив дистрибутива из исходного каталога (замените /source-path на правильный путь с расположением архива дистрибутива) в целевой каталог:

mkdir /opt/smartpam/utils
cp /source-path/gosecure-pyrdp.zip /opt/smartpam/utils/

3. Установите утилиту pyrdp-convert и её дополнительные зависимости:

chmod +x /opt/smartpam/session-processor/install.sh
sh /opt/smartpam/session-processor/install.sh

Публикация интерфейса системы на веб-сервисе

Для публикации интерфейса Avanpost SmartPAM на веб-сервере выполните следующее:

Настройка клиентской машины

Убедитесь, что для сервера Avanpost SmartPAM выполняется разрешение DNS-имен. В отсутствие DNS-службы соответствующие настройки можно внести в файл /etc/hosts на сервере, куда выполняется установка (на клиентских АРМ потребуются аналогичные настройки):

1. Откройте файл:

sudo nano /etc/hosts

2. Укажите адрес для доступа к системе (<smart_pam_ip> — это адрес сервера Avanpost SmartPam):

<smart_pam_ip> smartpam-admin.avanpost.local
<smart_pam_ip> smartpam.avanpost.local

Здесь и далее для консоли администратора и личного кабинета пользователя задаются имена, соответственно, smartpam-admin.avanpost.local и smartpam.avanpost.local. При необходимости измените их

Настройка сервера

1. Создайте конфигурационный файл smartpam.conf на основе примера:

sudo nano /etc/nginx/conf.d/smartpam.conf
  1. Скопируйте настройки в конфигурационный файл smartpam.conf, при необходимости отредактировав параметры (порты, DNS-имена, имена сертификатов и др.). Вы можете использовать шифрованное соединение (HTTPS), для этого необходимо сгенерировать и установить сертификаты TLS.

    В примере ниже применяется HTTPS-соединение, опирающееся на пару сертификатов smartpam.crt и smartpam.key (содержащих публичный и закрытый ключи). Подразумевается, что сертификаты выписаны на оба DNS-имени smartpam-admin.avanpost.local и smartpam.avanpost.local:

#HTTP
server {
    listen       80;
    server_name  smartpam-admin.avanpost.local;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /opt/smartpam/admin-console/admin-ui;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ /api {
        proxy_pass   http://127.0.0.1:5002;
        if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, PATCH, DELETE, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
            add_header 'Access-Control-Max-Age' 3600;
            add_header 'Content-Type' 'text/plain; charset=utf-8';
            add_header 'Content-Length' 0;
            return 204;
        }
        add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, PATCH, DELETE, OPTIONS' always;
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always;
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
    }
    error_page 404 =200 /index.html;
}

#HTTPS
server {
    listen 443 ssl;
    server_name smartpam-admin.avanpost.local;

    ssl_certificate     /etc/ssl/certs/smartpam.crt;
    ssl_certificate_key /etc/ssl/private/smartpam.key;

    location / {
        root   /opt/smartpam/admin-console/admin-ui;
        index  index.html index.htm;
    }

    location ~ /api {
        proxy_pass   http://127.0.0.1:5002;

        if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, PATCH, DELETE, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
            add_header 'Access-Control-Max-Age' 3600;
            add_header 'Content-Type' 'text/plain; charset=utf-8';
            add_header 'Content-Length' 0;
            return 204;
        }
        add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, PATCH, DELETE, OPTIONS' always;
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always;
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
    }

    error_page 404 =200 /index.html;
}

#HTTP
server {
    listen       80;
    server_name  smartpam.avanpost.local;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /opt/smartpam/user-console/user-ui;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ /api {
        proxy_pass   http://127.0.0.1:5001;

        if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, PATCH, DELETE, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
            add_header 'Access-Control-Max-Age' 3600;
            add_header 'Content-Type' 'text/plain; charset=utf-8';
            add_header 'Content-Length' 0;
            return 204;
        }
        add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, PATCH, DELETE, OPTIONS' always;
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always;
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
    }
    error_page 404 =200 /index.html;
}

#HTTPS
server {
    listen 443 ssl;
    server_name smartpam.avanpost.local;

    ssl_certificate     /etc/ssl/certs/smartpam.crt;
    ssl_certificate_key /etc/ssl/private/smartpam.key;

    location / {
        root   /opt/smartpam/user-console/user-ui;
        index  index.html index.htm;
    }

    location ~ /api {
        proxy_pass   http://127.0.0.1:5001;

        if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, PATCH, DELETE, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
            add_header 'Access-Control-Max-Age' 3600;
            add_header 'Content-Type' 'text/plain; charset=utf-8';
            add_header 'Content-Length' 0;
            return 204;
        }
        add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, PATCH, DELETE, OPTIONS' always;
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always;
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
    }

    error_page 404 =200 /index.html;
}

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

Установка компонентов сервиса UBA

1. Предоставьте права на выполнение скрипта установки:

sudo chmod +x /opt/smartpam/uba/scripts/install.sh

2. Перейдите в каталог со скриптами UBA:

cd /opt/smartpam/uba/scripts

3. Запустите скрипт установки (скрипт может обрабатываться в течение длительного промежутка времени):

sudo ./install.sh

Генерация ключей и сертификатов для работы SSH и RDP служб и gRPC-сервисов

Для работы SSH- и RDP-прокси, а также gRPC-сервисов должны применяться ключи и сертификаты. Дистрибутив продукта включает в себя скрипты для генерации и установки самоподписанных ключей и сертификатов.

Если Вы не готовы применять самоподписанные сертификаты, Вам необходимо установить сертификаты, выпущенные центром сертификации. Информацию об этом см. в разделе «Установка ключей и сертификатов, выпущенных центром сертификации»

Если Вы готовы применять самоподписанные сертификаты, выполните следующие команды:

cd /opt/smartpam/utils/sshproxy/
./generate.sh  # генерация ключей для SSH, при запросе passphrase оставьте ее пустой

cd /opt/smartpam/utils/rdpproxy/
./generate.sh  # генерация сертификатов для RDP

cd /opt/smartpam/utils/grpc/
./generate.sh  # генерация сертификатов для gRPC

Регистрация системы в systemd и ее запуск

1. Запустите скрипт автоматической настройки, который находится в /opt/smartpam/utils/setup_smartpam_service.sh:

bash /opt/smartpam/utils/setup_smartpam_service.sh

Скрипт выполнит следующее:

  • Скопирует все необходимые service-файлы компонентов в системный каталог Systemd (/etc/systemd/system/)

  • Активирует и запустит службы SmartPAM

  • Создаст target для запуска служб SmartPAM

После выполнения скрипта будут зарегистрированы и запущены следующие службы:

  • admin-console.service

  • event-processor.service

  • pam-manager.service

  • rdp-proxy.service

  • session-processor.service

  • session-recorder.service

  • ssh-proxy.service

  • user-console.service

  • pam-vault.service

  • uba.service

Кроме того, будет создан target «Группа сервисов SmartPAM»

Настройка логирования

1. Откройте файл настроек:

sudo nano /etc/systemd/journald.conf

2. Измените или добавьте параметры:

Storage=persistent        # Хранить логи на диске (в /var/log/journal)
SystemMaxUse=500M         # Максимальный размер всех логов
SystemKeepFree=100M       # Минимум свободного места на диске
SystemMaxFileSize=100M    # Максимальный размер одного лог-файла
Compress=yes              # Сжимать старые журналы

3. Сохраните файл и перезапустите службу:

sudo systemctl restart systemd-journald

4. Если каталог /var/log/journal отсутствует, создайте его:

sudo mkdir -p /var/log/journal
sudo systemd-tmpfiles --create --prefix /var/log/journal

Уровни логирования

Для изменения уровня логирования необходимо отредактировать параметр log_level в соответствующих конфигурационных файлах (описание состава и параметров конфигурационных файлов см. далее в разделе «Конфигурационные файлы Avanpost SmartPAM»).

Возможные уровни логирования:

  • debug — отладочная информация

  • info — информационные сообщения

  • warn — предупреждения

  • error — критические ошибки

Просмотр логов

Информация о работе с логами приведена в разделе «Просмотр логов» Руководства администратора.

Конфигурационные файлы Avanpost SmartPAM

Конфигурационные файлы, поставляемые с продуктом, обеспечивают работу продукта с настройками по умолчанию, принятыми в настоящем руководстве, и не требуют обязательного редактирования. Однако, при необходимости Вы можете внести в них изменения (например, изменить параметры подключения к базе данных и серверу MinIO).

Для промышленных инсталляций важно изменить все задаваемые в настройках секреты (в т.ч., но не ограничиваясь следующим:

  • ключи для шифрования jwt-токенов

  • пароль от УЗ для подключения к базе данных

  • пароль от УЗ для подключения к серверу MinIO

В дистрибутиве каждый конфигурационный файл назван config.yaml.default. Для корректной настройки необходимо переименовать каждый файл config.yaml.default в config.yaml.

Admin API

Файл находится по следующему пути: /opt/smartpam/admin-console/config.yaml

service_name: api_admin_console # имя сервиса
http:
  port: localhost:5002 # порт сервиса
  base_api: /api/v1 # базовый url admin api
  signing_key: Passw0rd # ключ для подписи jwt токенов
db:
  connection_string: postgres://pam:Passw0rd@localhost/pam?sslmode=disable # подключение к БД
  migration_dir: /opt/smartpam/migrations/postgres # каталог с файлами миграций БД
proxy_manager:
  server_addr: localhost:8009 # адрес службы pam_manager
  tls: true # включение TLS
  token: "grpc_secret" # токен аутентификации для доступа к серверу
vault_client:
  server_addr: localhost:8010 # адрес сервиса vault
  tls: true # включение TLS
  token: "grpc_secret" # токен аутентификации для доступа к серверу
log_level: info # уровень логирования сервиса
nats:
  url: nats://localhost:4222 # адрес брокера сообщений NATS
  login: "nats_login" # логин для аутентификации клиентов NATS
  password: "nats_password" # пароль для аутентификации клиентов NATS
import_users_interval: "@every 1h" # cron для импорта пользователей из ldap каталога
one_time_merge_auth_provider_ldap: # подключение провайдера ldap
  id: 8aba5e45-77c5-4aa4-ab26-a9ddfa5cbcee # id ldap провайдера (рекомендуется сгенерировать собственный, в формате UUID)
  name: example.com  # внутреннее имя ldap провайдера
  domain: example.com # домен ldap провайдера
  query: "(&(objectCategory=person)(objectClass=user)(memberOf=cn=SmartPAMGroup,cn=Users,dc=corp,dc=example,dc=com))" # фильтр для импортируемых пользователей, находящихся в определённой группе (в нашем случае группа=SmartPAMGroup)
  url: ldap://10.10.10.4:389 # адрес ldap сервиса
  bind_username: ldapuser # пользователь ldap с необходимыми правами — подключение к каталогу (bind), чтение данных каталога с применением указанного фильтра (query)
  bind_password: Passw0rd # пароль пользователя ldap
minio:
  awsAccessKeyId: "minioadmin" # логин minio
  awsSecretAccessKey: "minioadmin" # пароль minio
  awsEndpointUrl: "http://localhost:9000" # url подключения к minio
  replaysBucket: "replays" # бакет для записей сессий
uba:
  server_addr: localhost:8013
  tls: true # включение TLS
  token: "grpc_secret"

Event Processor

Файл находится по следующему пути: /opt/smartpam/event-processor/config.yaml

# event_processor_v1 config
db:
  connection_string: "postgres://pam:Passw0rd@localhost/pam?sslmode=disable" # подключение к БД
grpc_server:
  port: :8011 # порт сервиса
  enable_tls: true  # включение TLS
  cert: "/opt/smartpam/assets/grpc/grpc_cert.pem"  # сертификат GRPC
  key: "/opt/smartpam/assets/grpc/grpc.pem" # ключ GRPC
  secret: "grpc_secret" # секрет для аутентификации
log_level: "info" # уровень логирования сервиса
nats:
  url: nats://127.0.0.1:4222 # адрес брокера сообщений NATS
  client_login: "nats_login" # логин для аутентификации клиентов NATS
  client_password: "nats_password" # пароль для аутентификации клиентов NATS
proxy_manager:
  server_addr: localhost:8009 # адрес службы pam_manager
  tls: true # включение TLS
  token: "grpc_secret" # токен аутентификации для доступа к серверу
uba:
  server_addr: localhost:8013
  tls: true # включение TLS
  token: "grpc_secret"

Manager

Файл находится по следующему пути: /opt/smartpam/pam-manager/config.yaml

# pam proxy manager node config
db:
  connection_string: "postgres://pam:Passw0rd@localhost/pam?sslmode=disable" # подключение к БД
grpc_server:
  port: :8009 # порт сервиса
  enable_tls: true  # включение TLS
  cert: "/opt/smartpam/assets/grpc/grpc_cert.pem"  # сертификат GRPC
  key: "/opt/smartpam/assets/grpc/grpc.pem" # ключ GRPC
  secret: "grpc_secret" # секрет для аутентификации
vault_client:
  server_addr: localStorage:8010 # адрес службы vault
  tls: true # включение TLS
  token: "grpc_secret" # токен аутентификации для доступа к серверу
log_level: "info" # уровень логирования сервиса

RDP Proxy

Файл находится по следующему пути: /opt/smartpam/rdp-proxy/config.yaml

host_cert_public_path: "/opt/smartpam/assets/rdp/rdp_cert.crt" # сертификат rdp
host_cert_private_path: "/opt/smartpam/assets/rdp/rdp.key" # приватный ключ rdp
gate_cert_public_path: "/opt/smartpam/assets/rdpgw/rdpgw_cert.pem" # сертификат rdp gateway
gate_cert_private_path: "/opt/smartpam/assets/rdpgw/rdpgw.pem" # приватный ключ rdp gateway
listen_address: ":60000" # порт rdp (используется, если use_gateway: “no”)
listen_gw_address: ":4443" # порт rdp gateway (используется, если use_gateway: “yes”)
session_recorder:
  server_addr: "localhost:8012" # адрес сервиса записи сессий
  tls: true # включение TLS
  token: "grpc_secret" # токен аутентификации для доступа к серверу
event_processor:
  server_addr: "localhost:8011" # адрес сервиса обработки событий безопасности
  tls: true # включение TLS
  token: "grpc_secret" # токен аутентификации для доступа к серверу
proxy_manager:
  server_addr: "localhost:8009" # адрес сервиса proxy manager
  tls: true # включение TLS
  token: "grpc_secret" # токен аутентификации для доступа к серверу
use_gateway: "yes" #использовать RDGSP (yes), использовать RDP (no)
log_level: "info"  # уровень логирования сервиса
# Ниже заданы параметры настройки виртуального компьютера.
# Эти параметры должны коррелировать со вторым сертификатом (сертификатом конечного узла)
domain_name : "rdp" # имя домена
computer_name : "avanpost_smart_pam" # имя виртуального узла
dns_domain_name : "rdp.domain" # DNS-имя домена
dns_computer_name : "avanpost_smart_pam.rdp.domain" # полное DNS-имя компьютера (обычно формируется как: <computer_name>.<dns_domain_name>)
dns_tree_name : "rdp.domain" # полное доменное имя леса Active Directory. Обычно совпадает с dns_domain_name

Session Processor

Файл находится по следующему пути: /opt/smartpam/session-processor/config.yaml

# session_processor_v1 config
db:
  connection_string: "postgres://pam:Passw0rd@localhost/pam?sslmode=disable" # подключение к БД
log_level: "info"  # уровень логирования сервиса
# настройка "preset" кодека H.264 в FFmpeg
h264_preset: superfast # пресет сжатия H.264. Возможные значения: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo
h264_crf: "23" # уровень качества видео. Возможные значения 0-51
pyrdp_convert_path: /opt/smartpam/session-processor/venv/bin/pyrdp-convert
pyrdp_convert_virtual_environment_path: /opt/smartpam/session-processor/venv
minio:
  awsAccessKeyId: "minioadmin" # логин minio
  awsSecretAccessKey: "minioadmin" # пароль minio
  awsEndpointUrl: "http://localhost:9000" # url подключения к minio
  replaysBucket: "replays" # бакет для записей сессий

Session Recorder

Файл находится по следующему пути: /opt/smartpam/session-recorder/config.yaml

# session_recorder_v1 config
db:
  connection_string: "postgres://pam:Passw0rd@localhost/pam?sslmode=disable" # подключение к БД
grpc_server:
  port: :8012 # порт сервиса
  enable_tls: true  # включение TLS
  cert: "/opt/smartpam/assets/grpc/grpc_cert.pem"  # сертификат GRPC
  key: "/opt/smartpam/assets/grpc/grpc.pem" # ключ GRPC
  secret: "grpc_secret" # секрет для аутентификации
log_level: "info" # уровень логирования сервиса

SSH Proxy

Файл находится по следующему пути: /opt/smartpam/ssh-proxy/config.yaml

# ssh proxy config
host_key_path: "/opt/smartpam/assets/sshproxy/id_rsa" # путь до приватного ключа RSA
port: :2222 # порт сервиса
proxy_manager:
  server_addr: localhost:8009 # адрес службы pam_manager
  tls: true # включение TLS
  token: "grpc_secret" # токен аутентификации для доступа к серверу
event_processor:
  server_addr: localhost:8011 # адрес службы обработки событий безопасности сессий
  tls: true # включение TLS
  token: "grpc_secret" # токен аутентификации для доступа к серверу
session_recorder:
  server_addr: localhost:8012 # адрес службы записи сессий
  tls: true # включение TLS
  token: "grpc_secret" # токен аутентификации для доступа к серверу
log_level: "info" # уровень логирования сервиса

User API

Файл находится по следующему пути: /opt/smartpam/user-console/config.yaml

service_name: userapi
http:
  port: localhost:5001 # порт сервиса
  base_api: /api/v1 # базовый url user api
  signing_key: Passw0rd # ключ подписи jwt токенов
db:
  connection_string: "postgres://pam:Passw0rd@localhost/pam?sslmode=disable" # подключение к БД
log_level: info # уровень логирования
fam_oauth:
  fam_oauth_enabled: true # Включение аутентификации через FAM OAuth
  client_id: "d6a19107-3a43-42c4-9e78-becd419b2319"  # Идентификатор клиента в системе FAM
  client_secret: "Password" # Секретный ключ клиента
  redirect_url: http://smartpam.avanpost.local:5001/api/v1/oauth/callback # URL для перенаправления после аутентификации
  scopes : "openid, profile, email"
  endpoints:
    auth_url: https://fam.apidp.ru/oauth2/authorize #URL для авторизации
    token_url: https://fam.apidp.ru/oauth2/token # URL для получения токенов доступа
    user_info_url: https://fam.apidp.ru/oauth2/userinfo # URL сервиса получения данных пользователя

Vault

Файл находится по следующему пути: /opt/smartpam/pam-vault/config.yaml

# vault_v1 config
db:
  connection_string: "postgres://pam:Passw0rd@localhost/pam?sslmode=disable" # подключение к БД
grpc_server:
  port: :8010 # порт сервиса
  enable_tls: true # включение TLS
  cert: "/opt/smartpam/assets/grpc/grpc_cert.pem"  # сертификат GRPC
  key: "/opt/smartpam/assets/grpc/grpc.pem" # ключ GRPC
  secret: "grpc_secret" # секрет для аутентификации
log_level: "info" # уровень логирования

UBA

Файл находится по следующему пути: /opt/smartpam/uba/config.yaml

# uba service config
db:
  connection_string: "postgres://pam:Passw0rd@127.0.0.1/pam?sslmode=disable" # подключение к БД
grpc_server:
  port: :8013 # порт сервиса
  enable_tls: true  # включение TLS
  cert: "/opt/smartpam/assets/grpc/grpc_cert.pem"  # сертификат GRPC
  key: "/opt/smartpam/assets/grpc/grpc.pem" # ключ GRPC
  secret: "grpc_secret" # секрет для аутентификации
models_dir: /opt/smartpam/uba/models # каталог с моделями UBA

Интеграция с LDAP

  1. Для интеграции с LDAP используется параметр one_time_merge_auth_provider_ldap в конфигурационном файле API Admin:

one_time_merge_auth_provider_ldap: # подключение провайдера ldap
  id: 8aba5e45-77c5-4aa4-ab26-a9ddfa5cbcee # id ldap провайдера (рекомендуется сгенерировать собственный, в формате UUID)
  name: example.com  # внутреннее имя ldap провайдера
  domain: example.com # домен ldap провайдера
  query: "(&(objectCategory=person)(objectClass=user)(memberOf=cn=SmartPAMGroup,cn=Users,dc=corp,dc=example,dc=com))" # фильтр для импортируемых пользователей, находящихся в определённой группе (в нашем случае группа=SmartPAMGroup)
  url: ldap://10.10.10.4:389 # адрес ldap сервиса
  bind_username: ldapuser # пользователь ldap с необходимыми правами — подключение к каталогу (bind), чтение данных каталога с применением указанного фильтра (query)
  bind_password: Passw0rd # пароль пользователя ldap

При запуске сервиса административной консоли указанные в конфигурации LDAP-параметры будут автоматически добавлены в базу данных. Эти данные будут использоваться для периодической синхронизации пользователей из LDAP-каталога, интервал которой задаётся в конфигурационном файле параметром import_users_interval.

Интеграция с SMTP

  1. Для интеграции с SMTP используется параметр mailer в конфигурационном файле API Admin. Отредактируйте шаблоны писем в двух форматах: текстовом и HTML:

mailer:
  url: smtp://user:pass@smtp.example.com # строка подключения к smtp серверу
  sender_template: "Support <example.com>" # отправитель уведомления
  action_event_recipient_template: "Ivanov Ivan <example.com>" # ответственные получатели рассылки
  action_event_subject_template: alert #
  action_event_text_template: > # шаблон письма простой текст
    Avanpost SmartPAM выявил опасное событие в защищаемом ресурсе.
    Наименование ресурса: {{ResourceName}}
    Адрес ресурса: {{ResourceAddress}}
    Действие: {{ActionName}}
    Объект действия: {{ObjectIdentity}}
    Описание объекта действия: {{ObjectDescription}}
    Дата и время: {{EventTime}}
    ФИО пользователя: {{UserFullName}}
    Примененная привилегированная УЗ: {{AccountLogin}}
    Время начала сессии: {{SessionStartedAt}}
    ID сессии: {{SessionID}}
  action_event_html_template: > # шаблон письма с html
    <strong>
    Avanpost SmartPAM выявил опасное событие в защищаемом ресурсе.<br/>
    Наименование ресурса: {{ResourceName}}<br/>
    Адрес ресурса: {{ResourceAddress}}<br/>
    Действие: {{ActionName}}<br/>
    Объект действия: {{ObjectIdentity}}<br/>
    Описание объекта действия: {{ObjectDescription}}<br/>
    Дата и время: {{EventTime}}<br/>
    ФИО пользователя: {{UserFullName}}<br/>
    Примененная привилегированная УЗ: {{AccountLogin}}<br/>
    Время начала сессии: {{SessionStartedAt}}<br/>
    ID сессии: {{SessionID}}<br/>
    </strong>

Удаление архива дистрибутива

1. Если все компоненты установлены успешно и работают корректно, то можно удалить ненужные архивы приложений:

rm -f /opt/smartpam/Avanpost.*.zip
rm -f /home/smartpam/minio.deb
rm -f /home/smartpam/gosecure-pyrdp.zip
rm -f /home/smartpam/nats-server.zip

Обсуждение