Передача событий безопасности в файл или БД#

В blitz-keeper можно настроить регистрацию событий безопасности в один или несколько приемников. Настройка задается в блоке настроек audit.

Необходимо задать следующие настройки:

  • emitters – определяет список приемников записей аудита. По каждому приемнику заполняется блок настроек:

    • type – тип приемника. Возможные значения:

      • audit-store – запись производится в СУБД;

      • log – запись производится в логгер с именем AUDIT.

    • enabled – необязательная настройка – определяет, включен или нет приемник;

    • include – необязательная настройка – перечисляются типы событий безопасности (см. таблицу ниже), по которым осуществляется запись в приемник. Если настройка не указана, то пишутся все события безопасности;

    • exclude – необязательная настройка – перечисляются типы событий безопасности (см. таблицу ниже), которые не должны записываться в приемник. Если настройка не указана, то никакие события не исключаются. Если настройка указана вместе с include, то сначала список событий определяется настройкой include, а потом из него исключаются события, указанные в exclude. Рекомендуется не использовать совместно обе настройки include и exclude, а применять только что-то одно;

    • logger – необязательная настройка – указывается только для приемника с типом log. Позволяет определить имя логгера. Если настройка не задана, то запись производится в логгер с именем AUDIT;

    • name – необязательная настройка – указывается для приемников с типом log. Имя приемника указывается, так как для этого приемника можно настроить несколько приемников. Если настройка не задана, то в качестве имени приемника используется log;

  • emitAtLeastOneOf – необязательная настройка – указывается список приемников, достаточно записи событий в любой из которых, чтобы операция считалась успешной;

  • emitToAllOf – необязательная настройка – указывается список приемников, по которым обязательно должно быть получено подтверждение успешной записи события, чтобы операция считалась успешной. Если настройки emitAtLeastOneOf и emitToAllOf не заданы, то обязательно подтверждение от всех настроенных приемников;

  • emitTimeoutInSec – необязательная настройка – определяет максимальное время отклика от приемника в ответ на запрос записи события. Если настройка не задана, то ожидание 60 секунд.

Пример настроек записи аудита одновременно в лог, в СУБД и в Kafka:

"audit": {
    "emitters": [
        {
            "type": "log",
            "name": "users-log",
            "enabled": true,
            "logger": "AUDIT",
            "exclude": ["admin_added", "admin_pswd_changed", "admin_removed", "admin_roles_changed",
                        "config_changed"]
        },
        {
            "type": "log",
            "name": "admins-log",
            "enabled": true,
            "logger": "AUDITADMIN",
            "include": ["admin_added", "admin_pswd_changed", "admin_removed", "admin_roles_changed",
                        "config_changed"]
        },
        {
            "type": "audit-store",
            "enabled": true
        },
        {
            "type" : "kafka",
            "enabled": true,
            "name" : "kafka",
            "include": ["login"],
            "bootstrapServers" : ["infra-kfk01:9443"],
            "topic" : "blitz_audit",
            "securityProtocol" : "SSL",
            "ssl" : {
                "enabledProtocols" : ["TLSv1.2,TLSv1.3"],
                "keyStore" : {
                    "password" : "CHANGE-ME",
                    "path" : "/etc/blitz-config/bip-app01.jks",
                    "type" : "JKS"
                },
                "trustedStore" : {
                    "password" : "CHANGE-ME",
                    "path" : "/etc/blitz-config/ca.jks",
                    "type" : "JKS"
                }
            },
        }
    ],
    "emitAtLeastOneOf": ["users-log","admins-log","kafka"],
    "emitToAllOf": ["audit-store"],
    "emitTimeoutInSec": 30
}

Возможные типы событий безопасности:

  • blitz_keeper_access_permitted – передача запроса на целевой сервер разрешена

  • blitz_keeper_access_denied – передача запроса на целевой сервер запрещена