VMmanager

Логирование событий аудита

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

Лог-файлы служб аудита содержат информацию о:

  • попытках входа в систему с помощью email и пароля;
  • попытках сброса пароля;
  • попытках входа в систему через LDAP;
  • создании, удалении и редактировании пользователей платформы;
  • изменении прав доступа у пользователей платформы.

Запись каждого события содержит:

  • уникальный порядковый номер;
  • дату и время события;
  • тип события;
  • информацию об успешности действия.

Если действие совершает авторизованный пользователь, то в логе отображается идентификатор пользователя.

Логи событий аудита защищены от удаления и редактирования. Удаление или изменение логов через API и веб-интерфейс платформы не поддерживается.

Подготовка сервера платформы

Платформа хранит лог-файлы служб авторизации в контейнерах auth и ldap. Для объединения записей аудита в один поток вы можете настроить логирование в службе journald:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Создайте файл патча /opt/ispsystem/vm/journald.yaml с содержимым: 

    version: "3.5"
    services:
      auth:
        volumes: 
        - /var/run/systemd/journal/:/var/run/systemd/journal/
      ldap:
        volumes:
        - /var/run/systemd/journal/:/var/run/systemd/journal/
      vm_box:
        volumes:
        - /opt/ispsystem/vm/backup:/opt/ispsystem/vm/backup
        - /opt/ispsystem/license:/opt/ispsystem/license
        - /opt/ispsystem/vm/socket/:/opt/ispsystem/vm/vmbox/
        - /var/run/systemd/journal/:/var/run/systemd/journal/
  3. Примените патч:

    vm add-patch -p journald -f /opt/ispsystem/vm/journald.yaml
  4. Для чтения логов в формате JSON установите утилиту jq:
    Astra Linux, Ubuntu
    apt install jq
    AlmaLinux
    yum install jq

Просмотр логов событий аудита

Чтобы просмотреть логи служб аудита, введите команду:

journalctl -f ACOD=3
Пример вывода
Aug 15 18:54:02 vm6.example.ru compat_auth[2548213]: Authenticate user using username and password started
Aug 15 18:54:02 vm6.example.ru compat_auth[2548213]: Authenticate user using username and password with params: {"email":"ex@example.com","password":"*"}
Aug 15 18:54:02 vm6.example.ru compat_auth[2548213]: Authenticate user using username and password completed successfully

Чтобы просмотреть свойства лога события в формате JSON, введите команду:

journalctl -f -o json ACOD=3 | jq
Пример записи лога в формате JSON
{
  "__CURSOR": "s=55a46089db814f7a8eb756313f401409;i=8c0df;b=5fd75abf7431452abd6a8baa161755ce;m=ec702229675;t=61fbb7466e2eb;x=48af8e5c04657ccf",
  "__REALTIME_TIMESTAMP": "1723739832509163",
  "__MONOTONIC_TIMESTAMP": "16247897101941",
  "_BOOT_ID": "5fd75abf7431452abd6a8baa161755ce",
  "PRODUCT": "",
  "PROCESS": "compat_auth",
  "_TRANSPORT": "journal",
  "_UID": "0",
  "_GID": "0",
  "_COMM": "compat_auth",
  "_EXE": "/opt/ispsystem/auth/bin/compat_auth",
  "_CAP_EFFECTIVE": "a80425fb",
  "_SYSTEMD_CGROUP": "/docker/839554eb13dc482ea66f8d56e65a4ff84c8168c34321e0490847b85e8569c438",
  "_SYSTEMD_SLICE": "-.slice",
  "_MACHINE_ID": "00000000000000000000000000000000",
  "_HOSTNAME": "vm6.example.ru",
  "PRIORITY": "6",
  "_CMDLINE": "/opt/ispsystem/auth/bin/compat_auth --mode writer --port /tmp/proxy.auth_v4/writer/global.sock --address 127.0.0.1",
  "ACOD": "3",
  "ACCOUNT_ID": "2",
  "MESSAGE": "Edit user 2 completed successfully",
  "_PID": "2502197",
  "REMOTE_IP": "10.10.1.1",
  "REQUEST_ID": "c9e11e8df8599c9d0c62153954d0e036",
  "AUDIT_ACTION_ID": "1723739832500",
  "_SOURCE_REALTIME_TIMESTAMP": "1723739832508589"
}


Может быть полезно
Связанные статьи: