Конфигурация синхронизации ноды Вебмониторэкс с Вычислительным кластером Вебмониторэкс¶
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.ru .По умолчанию: api.wallarm.com .Переменная должна быть обязательно записана в файле /etc/wallarm/syncnode . |
WALLARM_API_PORT | Порт для доступа к Вебмониторэкс API. По умолчанию: 443 . |
WALLARM_API_TOKEN | Токен облачной WAF‑ноды для доступа к Вебмониторэкс API. |
WALLARM_API_CA_VERIFY | Флаг для включения/отключения проверки подлинности сертификатов серверов Вебмониторэкс API. Принимает значения:
yes . |
WALLARM_API_CA_PATH | Путь до файла сертификата центра сертификации Вебмониторэкс API. |
WALLARM_SYNCNODE | Флаг для включения/отключения синхронизации WAF‑ноды с Вычислительным кластером. При включенной синхронизации данные, необходимые для работы WAF‑ноды (например, файл индивидуального набора правил), периодически скачиваются из Вычислительного кластера. Если синхронизация отключена, данные для работы WAF‑ноды не будут скачиваться. Принимает значения:
yes . |
WALLARM_SYNCNODE_INTERVAL | Интервал синхронизации WAF‑ноды с Вычислительным кластером в секундах. Значение не может быть меньше значения по умолчанию. По умолчанию: 120 . |
WALLARM_SYNCNODE_RAND_DELAY | Допустимая задержка синхронизации WAF‑ноды с Вычислительным кластером в секундах. По умолчанию: 120 . |
WALLARM_SYNCNODE_TIMEOUT | Максимальная допустимая продолжительность синхронизации WAF‑ноды с Вычислительным кластером в секундах. Это ограничение позволяет прекратить синхронизацию при возникновении зависания во время скачивания файлов ноды. Например, такое зависание может произойти из‑за перебоев в работе сети. По умолчанию: 900 . |
WALLARM_SYNCNODE_OWNER WALLARM_SYNCNODE_GROUP WALLARM_SYNCNODE_MODE | Смотрите Настройка прав доступа к файлам ноды. |
Изменение параметров синхронизации¶
Чтобы изменить параметры синхронизации облачной WAF‑ноды с Вычислительным кластером:
-
Откройте файл
/etc/wallarm/syncnode
и добавьте в него переменные окружения с необходимыми значениями.Пример файла
/etc/wallarm/syncnode
:WALLARM_API_TOKEN=K85iHWi0SXRxJTb+xxxxxxxxxxxxxxxxxxxxfiwo9twr9I5/+sjZ9v2UlRRgwwMD WALLARM_SYNCNODE_INTERVAL=800 WALLARM_SYNCNODE_TIMEOUT=600
-
Перезапустите сервис синхронизации 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.ru .По умолчанию: api.wallarm.com . |
api.port | Порт для доступа к Вебмониторэкс API. По умолчанию: 443 . |
api.ca_verify | Флаг для включения/отключения проверки подлинности сертификатов серверов Вебмониторэкс API. Принимает значения:
yes . |
api.local_host | Локальный IP-адрес сетевого интерфейса, через который отправляются запросы к Вебмониторэкс API. Данная настройка обязательна, если сетевой интерфейс, который используется по умолчанию, не разрешает доступ к Вебмониторэкс API (например, закрыт доступ к сети Интернет). |
api.local_port | Порт сетевого интерфейса, через который отправляются запросы к Вебмониторэкс API. Данная настройка обязательна, если сетевой интерфейс, который используется по умолчанию, не разрешает доступ к Вебмониторэкс API (например, закрыт доступ к сети Интернет). |
syncnode.owner syncnode.group syncnode.mode | Смотрите Настройка прав доступа к файлам ноды. |
Чтобы изменить и применить настройки синхронизации локальной WAF‑ноды с Вычислительным кластером:
-
Откройте файл
node.yaml
и добавьте в него параметры из таблицы выше с необходимыми значениями.Пример файла
node.yaml
:hostname: example-node-name uuid: ea1xa0xe-xxxx-42a0-xxxx-b1b446xxxxxx secret: b827axxxxxxxxxxxcbe45c855c71389a2a5564920xxxxxxxxxxxxxxxxxxc4613260 api: host: api.wallarm.ru port: 443 ca_verify: true syncnode: owner: root group: wallarm mode: 0640
-
Перезапустите сервис NGINX, чтобы применить обновленные настройки:
sudo systemctl restart nginx
sudo service nginx restart
sudo systemctl restart nginx
sudo systemctl restart nginx
Интервал синхронизации с Вычислительным кластером¶
По умолчанию локальная WAF‑ноды синхронизируется с Вычислительным кластером Вебмониторэкс один раз в 120‑240 секунд (2‑4 минуты). Вы можете изменить интервал синхронизации через системную переменную окружения WALLARM_SYNCNODE_INTERVAL
.
Чтобы изменить интервал синхронизации локальной WAF‑ноды с Вычислительным кластером Вебмониторэкс:
-
Откройте файл с системными переменными окружения
/etc/environment
. -
Добавьте в файл
/etc/environment
переменную окруженияWALLARM_SYNCNODE_INTERVAL
со значением в секундах. Значение не может быть меньше значения по умолчанию (120
секунд). Например:WALLARM_SYNCNODE_INTERVAL=800
-
Сохраните изменения в файле
/etc/environment
. Новое значение интервала применится автоматически.
Настройка прав доступа к файлам ноды¶
Сервисы wallarm-worker
и nginx
обычно автоматически получают права на чтение файлов ноды, таких как proton.db и файл индивидуального набора правил. Если права отсутствуют, отредактируйте настройки доступов вручную в соответствии с логикой, описанной ниже.
Параметры доступа к файлам:
Параметр | Описание | Переменная окружения в файле /etc/wallarm/syncnode (облачная нода) | Параметр в файле node.yaml (локальная нода) |
---|---|---|---|
owner | Владелец для файлов ноды. | WALLARM_SYNCNODE_OWNER | syncnode.owner |
group | Группа для файлов ноды. | WALLARM_SYNCNODE_GROUP | syncnode.group |
mode | Права доступа для файлов ноды. | WALLARM_SYNCNODE_MODE | syncnode.mode |
Алгоритм определяет права доступа к файлам, выполняя следующие шаги (переходит к следующему шагу, только если предыдущий шаг не дал результат):
-
Права, явно заданные через параметры/переменные окружения в конфигурационных файлах:
- Переменные окружения
WALLARM_SYNCNODE_(OWNER,GROUP,MODE)
в файле/etc/wallarm/syncnode
.
-
Параметры
syncnode.(TYPE).(user,group,mode)
в файлеnode.yaml
.(TYPE)
позволяет назначить права для конкретного файла. Возможные значения:proton.db
илиlom
.Значение
lom
Обратите внимание, что значение
lom
указывает на файл индивидуального набора правил/etc/wallarm/custom_ruleset
. -
Параметры
syncnode.(user,group,mode)
в файлеnode.yaml
.
- Переменные окружения
-
Для вариантов установки с NGINX – значение
nginx_group
в файлах/usr/share/wallarm-common/engine/*
.Каждый пакет
/usr/share/wallarm-common/engine/
создает в этой папке файл, содержащийnginx_group=<VALUE>
.Пакет каждого модуля устанавливает значение для
group
в зависимости от варианта NGINX, для которого он предназначается:- Модули для NGINX с nginx.org задают для
group
значениеnginx
. - Модули для дистрибутивных NGINX задают для
group
значениеwww-data
. - Кастомные сборки модулей под клиентов задают группу, которую передал сам клиент.
- Модули для NGINX с nginx.org задают для
-
Значения по умолчанию:
owner
:root
group
:wallarm
mode
:0640
Обратите внимание, что задавать права явно нужно только в том случае, если автоматически они определились неверно. После редактирования прав напрямую через параметры/переменные окружения в конфигурационных файлах убедитесь, что сервисы wallarm-worker
и nginx
имеют права на чтение файлов ноды.