Apache Airflow: настройка источника (PostgreSQL)

Данное руководство описывает процесс настройки сбора и отправки событий Apache Airflow в R-Vision SIEM.

Предварительные требования

Перед настройкой сбора событий в R-Vision SIEM убедитесь, что выполняются следующие условия:

  • Обеспечена сетевая доступность сервера СУБД Apache Airflow по целевому порту и протоколу для каждого узла кластера R-Vision SIEM.

  • Создана учетная запись в СУБД с правами на чтение таблицы log (для сбора событий из базы данных).

Настройка Apache Airflow

Для настройки сбора логов из базы данных необходимо подключиться к ней с использованием специальной сервисной учетной записи (далее — УЗ).

Создание учетной записи в СУБД PostgreSQL

Чтобы создать сервисную УЗ, подключитесь к СУБД с правами администратора. Для этого выполните следующие действия на сервере с установленной СУБД:

  1. Выполните следующую команду от имени пользователя postgres:

    sudo -u postgres psql
  2. Создайте сервисную УЗ, выполнив следующие команды:

    CREATE USER "airflow_reader";
    ALTER ROLE airflow_reader WITH PASSWORD '<password>';

    Где <password> — надежный пароль, соответствующий вашим политикам безопасности.

  3. Предоставьте права на подключение к базе данных и чтение таблицы:

    GRANT CONNECT ON DATABASE airflow to airflow_reader;
    GRANT SELECT ON ALL TABLES IN SCHEMA public TO airflow_reader;

Настройка в R-Vision SIEM

Для настройки сбора и нормализации событий источника в R-Vision SIEM выполните следующие шаги:

  1. В интерфейсе R-Vision SIEM создайте секрет со строкой подключения. Для этого:

    1. Перейдите в раздел Ресурсы → Секреты.

    2. Нажмите на кнопку Создать (plus).

    3. В раскрывшемся окне создания секрета заполните поля:

      • Название: введите название секрета.

      • Описание (опционально): опишите, для чего будет использоваться секрет.

      • Тип секрета: выберите вариант Строка подключения.

      • Строка подключения: введите строку вида:

        jdbc:postgresql://<db_server>:5432/airflow?user=airflow_reader&password=<password>

        Где <db_server> — IP-адрес или полное доменное имя (FQDN) сервера СУБД, 5432 — порт подключения, <password> — пароль учетной записи airflow_reader.

        airflow secret

    4. Нажмите на кнопку Создать.

  2. Перейдите в раздел Ресурсы → Коллекторы.

  3. В карточке коллектора перейдите на вкладку Обогащение.

  4. Добавьте таблицу обогащения airflow_events.

  5. В интерфейсе R-Vision SIEM создайте новый конвейер в коллекторе.

  6. Добавьте на конвейер элемент Точка входа со следующими параметрами:

    • Название: введите название точки входа.

    • Тип точки входа: выберите вариант Database.

    • Драйвер базы данных: выберите вариант PostgreSQL.

    • Адрес подключения: выберите секрет, созданный ранее.

    • SQL-запрос: введите запрос вида:

      SELECT 'airflow' as appname, * FROM log WHERE id > ?::integer;
    • Поле идентификатора: введите ключ id со значением 1.

    • Интервал запроса, секунд: введите значение 60.

    • Максимальное количество строк: введите значение 10000.

  7. Добавьте на конвейер элемент VRL-трансформация со следующим кодом:

    .raw.instance = "<airflow_instance_url>"

    Где <airflow_instance_url> — URL-адрес сервиса Apache Airflow.

  8. Соедините точку входа с VRL-трансформацией.

  9. Добавьте на конвейер элемент Нормализатор с правилом Apache Airflow (идентификатор правила: RV-N-395).

  10. Соедините нормализатор с VRL-трансформацией.

  11. Добавьте на конвейер элемент Конечная точка типа Хранилище событий.

  12. Соедините конечную точку с нормализатором.

  13. Сохраните и установите конфигурацию конвейера.

Пример конфигурации конвейера:

airflow pipeline

После настройки передачи событий, если настройка выполнена корректно, в хранилище начнут поступать события Apache Airflow.

Найти события Apache Airflow в хранилище можно по следующему фильтру:

device_product = "airflow"

airflow storage

Была ли полезна эта страница?

Обратная связь