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

Отдельная установка постаналитики

Обработка запросов в WAF‑ноде делится на две фазы:

  • Первичная обработка в модуле NGINX-Wallarm.

  • Постаналитика. Статистический анализ обработанных запросов.

Первичная обработка не требует большого объема оперативной памяти, поэтому может быть размещена на текущих frontend-серверах без изменения требований к ним.

Постаналитика требует значительного объема памяти, что может потребовать внесения изменений в конфигурацию существующих серверов либо выполнение постаналитики на другом сервере. Валарм предусматривает возможность установки модуля постаналитики на отдельной группе серверов.

Для установки модуля постаналитики вам потребуется выполнить следующие
действия:

  1. Добавить репозитории Валарм, из которых вы загрузите пакеты.

  2. Установить пакеты Валарм.

  3. Настроить модуль постаналитики.

  4. Подключить модуль постаналитики к облаку Валарм.

  5. Изменить адреса Tarantool для модулей аналитики.

Необходимые условия

  • Перед установкой отключите или настройте SELinux, если он установлен в операционной системе.
  • Убедитесь, что вы выполняете все команды, приведенные ниже, от имени суперпользователя (например, root).

1. Добавьте репозитории Валарм

Установка и обновление модуля постаналитики происходит из репозиториев Валарм.

В зависимости от вашей операционной системы, выполните одну из следующих команд:

apt-get install dirmngr
curl -fsSL https://repo.wallarm.com/wallarm.gpg | apt-key add -
sh -c "echo 'deb http://repo.wallarm.com/debian/wallarm-node jessie/2.14/' >/etc/apt/sources.list.d/wallarm.list"
apt-get update
apt-get install dirmngr
curl -fsSL https://repo.wallarm.com/wallarm.gpg | apt-key add -
sh -c "echo 'deb http://repo.wallarm.com/debian/wallarm-node stretch/2.14/' >/etc/apt/sources.list.d/wallarm.list"
apt-get update
apt-get install dirmngr
curl -fsSL https://repo.wallarm.com/wallarm.gpg | apt-key add -
sh -c "echo 'deb http://repo.wallarm.com/debian/wallarm-node buster/2.14/' > /etc/apt/sources.list.d/wallarm.list"
apt-get update
curl -fsSL https://repo.wallarm.com/wallarm.gpg | apt-key add -
sh -c "echo 'deb http://repo.wallarm.com/ubuntu/wallarm-node trusty/2.14/' >/etc/apt/sources.list.d/wallarm.list"
apt-get update
curl -fsSL https://repo.wallarm.com/wallarm.gpg | apt-key add -
sh -c "echo 'deb http://repo.wallarm.com/ubuntu/wallarm-node xenial/2.14/' >/etc/apt/sources.list.d/wallarm.list"
apt-get update
curl -fsSL https://repo.wallarm.com/wallarm.gpg | apt-key add -
sh -c "echo 'deb http://repo.wallarm.com/ubuntu/wallarm-node bionic/2.14/' >/etc/apt/sources.list.d/wallarm.list"
apt-get update
yum install --enablerepo=extras -y epel-release centos-release-SCL
rpm -i https://repo.wallarm.com/centos/wallarm-node/6/2.14/x86_64/Packages/wallarm-node-repo-1-5.el6.noarch.rpm
yum install -y epel-release
rpm -i https://repo.wallarm.com/centos/wallarm-node/7/2.14/x86_64/Packages/wallarm-node-repo-1-5.el7.noarch.rpm
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -i https://repo.wallarm.com/centos/wallarm-node/7/2.14/x86_64/Packages/wallarm-node-repo-1-5.el7.noarch.rpm

Доступ к репозиториям

У системы должна быть возможность обратиться к https://repo.wallarm.com для загрузки пакетов. Убедитесь, что доступ не ограничен настройками файервола.

Ошибка с ключом CentOS GPG

Если у вас уже добавлен репозиторий Валарм и вы получили ошибку, связанную с ключами CentOS GPG, следуйте инструкциям:

  1. Удалите предыдущий добавленный репозиторий, используя команду yum remove wallarm‑node‑repo.
  2. Добавьте репозиторий, используя команду с подходящей вкладки выше.

Возможные сообщения об ошибках:

  • http://repo.wallarm.com/centos/wallarm-node/7/2.14/x86_64/repodata/repomd.xml: [Errno -1] repomd.xml signature could not be verified for wallarm-node_2.14
  • One of the configured repositories failed (Wallarm Node for CentOS 7 - 2.14), and yum doesn't have enough cached data to continue.

2. Установите пакеты Валарм

Обновите OpenSSL

Перед установкой пакетов Валарм обновите пакет OpenSSL до последней версии, доступной в репозитории вашей операционной системы.

Установите модуль NGINX-Wallarm и необходимые скрипты для взаимодействия с
облаком Валарм.

apt-get install --no-install-recommends wallarm-node-tarantool
apt-get install --no-install-recommends wallarm-node-tarantool
apt-get install --no-install-recommends wallarm-node-tarantool
apt-get install --no-install-recommends wallarm-node-tarantool
apt-get install --no-install-recommends wallarm-node-tarantool
apt-get install --no-install-recommends wallarm-node-tarantool
yum install wallarm-node-tarantool
yum install wallarm-node-tarantool
yum install wallarm-node-tarantool

3. Настройте модуль постаналитики

Укажите объем оперативной памяти для Tarantool

Количество памяти влияет на качество работы статистических алгоритмов.
Рекомендуемое значение — 75% от общей памяти сервера. Например, если у сервера

32 ГБ памяти, оптимально выделить под хранилище 24 ГБ.

Откройте конфигурационный файл Tarantool:

vi /etc/default/wallarm-tarantool
vi /etc/default/wallarm-tarantool
vi /etc/default/wallarm-tarantool
vi /etc/default/wallarm-tarantool
vi /etc/default/wallarm-tarantool
vi /etc/default/wallarm-tarantool
vi /etc/sysconfig/wallarm-tarantool
vi /etc/sysconfig/wallarm-tarantool
vi /etc/sysconfig/wallarm-tarantool

Укажите размер выделяемой памяти в конфигурационном файле Tarantool директивой
SLAB_ALLOC_ARENA.

Например:

SLAB_ALLOC_ARENA=24

Настройте адреса сервера постаналитики

Раскоментируйте переменные HOST и PORT и установите им следующие значения:

# address and port for bind
HOST='0.0.0.0'
PORT=3313

Перезапустите Tarantool

systemctl restart wallarm-tarantool
systemctl restart wallarm-tarantool
systemctl restart wallarm-tarantool
service wallarm-tarantool restart
systemctl restart wallarm-tarantool
systemctl restart wallarm-tarantool
service wallarm-tarantool restart
systemctl restart wallarm-tarantool
systemctl restart wallarm-tarantool

Проверьте статус Tarantool

Чтобы убедиться в том, что модуль постаналитики установился корректно и успешно запущен, введите следующую команду:

systemctl status wallarm-tarantool
systemctl status wallarm-tarantool
systemctl status wallarm-tarantool
service wallarm-tarantool status
systemctl status wallarm-tarantool
systemctl status wallarm-tarantool
service wallarm-tarantool status
systemctl status wallarm-tarantool
systemctl status wallarm-tarantool

Статус модуля должен быть active:

Статус wallarm-tarantool

4. Подключите модуль постаналитики к облаку Валарм

Обеспечьте доступ к облаку, чтобы подсистема постаналитики могла обновлять правила обработки, выгружать метрики и данные об атаках.

/usr/share/wallarm-common/addnode --no-sync
/usr/share/wallarm-common/addnode -H api.wallarm.ru --no-sync

Во время старта скрипт запросит логин и пароль. Введите данные, которые вы используете для входа в Личный кабинет в EU‑облаке или в RU‑облаке.

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

Учетные записи со включенной двухфакторной аутентификацией не поддерживаются. В этом случае скрипт сообщит об ошибке.

Info

Для взаимодействия с облаком у сервера должен быть открыт доступ к:

  • https://api.wallarm.com:444 для работы с EU‑облаком
  • https://api.wallarm.ru:444 для работы с RU‑облаком

В случае проблем убедитесь, что он не ограничен файерволом.

5. Измените адреса Tarantool для модулей аналитики

Если конфигурационный файл Tarantool настроен принимать соединения на адресах, отличных от 0.0.0.0 или 127.0.0.1, то необходимо указать эти адреса в /etc/wallarm/node.yaml:

hostname: <node hostname>
uuid: <node uuid>
secret: <node secret>
tarantool:
   host: <IP address of Tarantool host>
   port: 3313

Установка завершена

На этом установка постаналитики завершена.

Защита постаналитики

Мы настоятельно рекомендуем защитить установленный модуль постаналитики файерволом. В противном случае есть риск несанкционированного подключения к сервису, что может привести к получению:

  • информации об обработанных запросах;
  • возможности выполнения произвольного Lua-кода и команд операционной системы.

Обратите внимание, что если модуль постаналитики устанавливается на одном сервере с модулем Валарм, то такого риска нет, так как модуль постаналитики подключается к порту 3313.

Настройки файервола для отдельно установленного модуля постаналитики:

  • Разрешите прохождение HTTPS‑трафика к API-серверам Валарм (api.wallarm.com:444 для EU‑облака или api.wallarm.ru для RU‑облака) в обоих направлениях, чтобы модуль постаналитики мог взаимодействовать с этими серверами.
  • Ограничьте доступ к порту 3313 Tarantool по протоколам TCP и UDP, разрешив соединения только с IP‑адресов WAF‑нод Валарм.