Перейти к содержанию

Конфигурация синхронизации WAF‑ноды с Облаком Валарм

WAF‑нода регулярно синхронизируется с Облаком Валарм, чтобы:

  • Получить обновления правил обработки трафика (ЛОМ)

  • Получить обновления proton.db

  • Отправить данные об обнаруженных атаках и уязвимостях

  • Отправить метрики по обработанному трафику

Данная инструкция описывает переменные, которые используются для настройки синхронизации WAF‑ноды с Облаком Валарм, и способ изменения значений этих переменных.

Набор переменных и способ их настройки зависит от типа установленной WAF‑ноды:

  • Облачная WAF‑нода (создается с помощью скрипта addcloudnode)

  • Локальная WAF‑нода (создается с помощью скрипта addnode)

Синхронизация облачной WAF‑ноды с Облаком Валарм

Настройки для синхронизации облачной WAF‑ноды с Облаком Валарм задаются в файле /etc/wallarm/syncnode через переменные окружения. Файл создается после запуска скрипта addcloudnode. По умолчанию в файл записывается значение токена облачной WAF‑ноды (переменная WALLARM_API_TOKEN).

Сервис wallarm-synccloud применяет новые значения переменных, заданные в файле /etc/wallarm/syncnode, к процессу синхронизации и запускает синхронизацию с новой конфигурацией.

Доступные переменные окружения

Список переменных окружения, доступных для настройки синхронизации облачной WAF‑ноды с Облаком Валарм, приведен ниже. Вы также можете получить список переменных с помощью команды:

/usr/share/wallarm-common/synccloud  --help
Переменная Описание
WALLARM_API_HOST Эндпоинт Валарм API. Принимает значения:По умолчанию: api.wallarm.com.
Переменная должна быть обязательно записана в файле /etc/wallarm/syncnode.
WALLARM_API_PORT Порт для доступа к Валарм API. По умолчанию: 444.
WALLARM_API_TOKEN Токен облачной WAF‑ноды для доступа к Валарм API.
WALLARM_API_USE_SSL Флаг для включения/отключения TLS для подключения к Валарм API. Принимает значения:
  • true, yes и 1 для включения TLS
  • Любое другое значение для отключения TLS
По умолчанию: yes.
WALLARM_API_CA_VERIFY Флаг для включения/отключения проверки подлинности сертификатов серверов Валарм API. Принимает значения:
  • true, yes и 1 для включения проверки подлинности сертификатов
  • Любое другое значение для отключения проверки подлинности сертификатов
По умолчанию: yes.
WALLARM_API_CA_PATH Путь до файла сертификата центра сертификации Валарм API.
WALLARM_SYNCNODE Флаг для включения/отключения синхронизации WAF‑ноды с Облаком. При включенной синхронизации данные, необходимые для работы WAF‑ноды (например, файл ЛОМ), периодически скачиваются из Облака. Если синхронизация отключена, данные для работы WAF‑ноды не будут скачиваться. Принимает значения:
  • true, yes и 1 для включения синхронизации
  • Любое другое значение для отключения синхронизации
По умолчанию: yes.
WALLARM_SYNCNODE_INTERVAL Интервал синхронизации WAF‑ноды с Облаком в секундах. Значение не может быть меньше значения по умолчанию. По умолчанию: 120.
WALLARM_SYNCNODE_RAND_DELAY Допустимая задержка синхронизации WAF‑ноды с Облаком в секундах. По умолчанию: 120.
WALLARM_SYNCNODE_TIMEOUT Максимальная допустимая продолжительность синхронизации WAF‑ноды с Облаком в секундах. Это ограничение позволяет прекратить синхронизацию при возникновении зависания во время скачивания файлов, необходимых для работы WAF‑ноды. Например, такое зависание может произойти из‑за перебоев в работе сети. По умолчанию: 900.
WALLARM_SYNCNODE_OWNER Владелец для файлов, необходимых для работы WAF‑ноды. По умолчанию: root.
WALLARM_SYNCNODE_GROUP Группа для файлов, необходимых для работы WAF‑ноды. По умолчанию: wallarm.
WALLARM_SYNCNODE_MODE Права доступа для файлов, необходимых для работы WAF‑ноды. По умолчанию: 0640.

Настройка прав доступа для файлов, необходимых для работы WAF‑ноды

Необходимо, чтобы права доступа, настраиваемые при помощи переменных WALLARM_SYNCNODE_OWNER, WALLARM_SYNCNODE_GROUP и WALLARM_SYNCNODE_MODE, давали разрешение на чтение файлов, необходимых для работы WAF‑ноды, для сервисов wallarm-worker и nginx.

Изменение параметров синхронизации

Чтобы изменить параметры синхронизации облачной WAF‑ноды с Облаком:

  1. Откройте файл /etc/wallarm/syncnode и добавьте в него переменные окружения с необходимыми значениями.

    Пример файла /etc/wallarm/syncnode:

    WALLARM_API_TOKEN=K85iHWi0SXRxJTb+xxxxxxxxxxxxxxxxxxxxfiwo9twr9I5/+sjZ9v2UlRRgwwMD
    WALLARM_SYNCNODE_INTERVAL=800
    WALLARM_SYNCNODE_TIMEOUT=600
    
  2. Перезапустите сервис синхронизации WAF‑ноды с Облаком, чтобы применить обновленные настройки:

    sudo /bin/systemctl restart wallarm-synccloud
    

    Запущенный сервис сохранит обновленные значения переменных окружения в качестве новых значений параметров синхронизации. После исполнения файла /etc/wallarm/syncnode, WAF‑нода будет синхронизироваться с Облаком Валарм в соответствии с новой конфигурацией.

Синхронизация локальной WAF‑ноды с Облаком Валарм

Настройки для синхронизации локальной WAF‑ноды с Облаком Валарм задаются следующим образом:

  • Параметры для доступа к Облаку — в файле node.yaml. Файл создается после запуска скрипта addnode. По умолчанию в файл записываются название, UUID WAF‑ноды и значение секретного ключа для доступа к Валарм API.

    По умолчанию файл расположен по пути /etc/wallarm/node.yaml, путь может быть изменен через директиву wallarm_api_conf.

  • Интервал синхронизации с Облаком — через переменную окружения WALLARM_SYNCNODE_INTERVAL. Переменная задается в файле /etc/environment. Значение переменной по умолчанию — 120 секунд.

Параметры для доступа к Облаку

В файле node.yaml задаются следующие параметры для доступа локальной WAF‑ноды к Облаку:

Параметр Описание
hostname Название локальной WAF‑ноды. Параметр должен быть обязательно записан в файле node.yaml.
uuid UUID локальной WAF‑ноды. Параметр должен быть обязательно записан в файле node.yaml.
secret Секретный ключ для доступа к Валарм API. Параметр должен быть обязательно записан в файле node.yaml.
api.host Эндпоинт Валарм API. Принимает значения:По умолчанию: api.wallarm.com.
api.port Порт для доступа к Валарм API. По умолчанию: 444.
api.use_ssl Флаг для включения/отключения TLS для подключения к Валарм API. Принимает значения:
  • true для включения TLS
  • false для отключения TLS
По умолчанию: true.
api.ca_verify Флаг для включения/отключения проверки подлинности сертификатов серверов Валарм API. Принимает значения:
  • true для включения проверки подлинности сертификатов
  • false для отключения проверки подлинности сертификатов
По умолчанию: yes.
syncnode.owner Владелец для файлов, необходимых для работы WAF‑ноды. По умолчанию: root.
syncnode.group Группа для файлов, необходимых для работы WAF‑ноды. По умолчанию: wallarm.
syncnode.mode Права доступа для файлов, необходимых для работы WAF‑ноды. По умолчанию: 0640.

Чтобы изменить и применить настройки синхронизации локальной WAF‑ноды с Облаком:

  1. Откройте файл node.yaml и добавьте в него параметры из таблицы выше с необходимыми значениями.

    Пример файла node.yaml:

    hostname: example-node-name
    uuid: ea1xa0xe-xxxx-42a0-xxxx-b1b446xxxxxx
    secret: b827axxxxxxxxxxxcbe45c855c71389a2a5564920xxxxxxxxxxxxxxxxxxc4613260
    
    api:
      host: api.wallarm.com
      port: 444
      use_ssl: true
      ca_verify: true
    
    syncnode:
      owner: root
      group: wallarm
      mode: 0640
    
  2. Перезапустите сервис NGINX, чтобы применить обновленные настройки:

    sudo systemctl restart nginx
    
    sudo service nginx restart
    
    sudo systemctl restart nginx
    

Интервал синхронизации с Облаком

По умолчанию локальная WAF‑ноды синхронизируется с Облаком Валарм один раз в 120‑240 секунд (2‑4 минуты). Вы можете изменить интервал синхронизации через системную переменную окружения WALLARM_SYNCNODE_INTERVAL.

Чтобы изменить интервал синхронизации локальной WAF‑ноды с Облаком Валарм:

  1. Откройте файл с системными переменными окружения /etc/environment.

  2. Добавьте в файл /etc/environment переменную окружения WALLARM_SYNCNODE_INTERVAL со значением в секундах. Значение не может быть меньше значения по умолчанию (120 секунд). Например:

    WALLARM_SYNCNODE_INTERVAL=800
    
  3. Сохраните изменения в файле /etc/environment. Новое значение интервала применится автоматически.