Установка и подключение фильтрующего узла

Обработка запросов фильтрующим узлом

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

  • Первичная обработка в NGINX-Module-Wallarm;
  • Постаналитика. Статистический анализ обработанных запросов.

Данная инструкция описывает установку фильтрующего узла Wallarm в виде динамически подключаемого модуля для NGINX на одном сервере с постаналитикой.

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

  1. Установить NGINX;
  2. Добавить репозитории Wallarm, из которых вы загрузите пакеты;
  3. Установить пакеты Wallarm;
  4. Настроить модуль постаналитики;
  5. Подключить модуль Wallarm;
  6. Подключить фильтрующий узел к облаку Wallarm.

1. Установите NGINX

Установите стабильную версию NGINX из официального репозитория NGINX, руководствуясь инструкцией, соответствующей вашей операционной системе:

Стабильная версия NGINX

Убедитесь, что вы устанавливаете stable-пакеты NGINX — часть пути mainline должна отсутствовать в ссылке на репозиторий NGINX, содержащий необходимую вам сборку.

2. Добавьте репозитории Wallarm

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

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

Debian 8.x (jessie)
Debian 9.x (stretch)
Ubuntu 14.04 LTS (trusty)
Ubuntu 16.04 LTS (xenial)
Ubuntu 18.04 LTS (bionic)
CentOS 6.x
CentOS 7.x
apt-key adv --keyserver keys.gnupg.net --recv-keys 72B865FD
echo 'deb http://repo.wallarm.com/debian/wallarm-node jessie/' >/etc/apt/sources.list.d/wallarm.list
apt-get update
apt-get install dirmngr
apt-key adv --keyserver keys.gnupg.net --recv-keys 72B865FD
echo 'deb http://repo.wallarm.com/debian/wallarm-node stretch/' >/etc/apt/sources.list.d/wallarm.list
apt-get update
apt-key adv --keyserver keys.gnupg.net --recv-keys 72B865FD
echo 'deb http://repo.wallarm.com/ubuntu/wallarm-node trusty/' >/etc/apt/sources.list.d/wallarm.list
apt-get update
apt-key adv --keyserver keys.gnupg.net --recv-keys 72B865FD
echo 'deb http://repo.wallarm.com/ubuntu/wallarm-node xenial/' >/etc/apt/sources.list.d/wallarm.list
apt-get update
apt-key adv --keyserver keys.gnupg.net --recv-keys 72B865FD
echo 'deb http://repo.wallarm.com/ubuntu/wallarm-node bionic/' >/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/x86_64/Packages/wallarm-node-repo-1-2.el6.noarch.rpm
yum install -y epel-release
rpm -i https://repo.wallarm.com/centos/wallarm-node/7/x86_64/Packages/wallarm-node-repo-1-2.el7.centos.noarch.rpm

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

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

3. Установите пакеты Wallarm

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

Debian 8.x (jessie)
Debian 9.x (stretch)
Ubuntu 14.04 LTS (trusty)
Ubuntu 16.04 LTS (xenial)
Ubuntu 18.04 LTS (bionic)
CentOS 6.x
CentOS 7.x
apt-get install --no-install-recommends wallarm-node nginx-module-wallarm
apt-get install --no-install-recommends wallarm-node nginx-module-wallarm
apt-get install --no-install-recommends wallarm-node nginx-module-wallarm
apt-get install --no-install-recommends wallarm-node nginx-module-wallarm
apt-get install --no-install-recommends wallarm-node nginx-module-wallarm
yum install wallarm-node nginx-module-wallarm
yum install wallarm-node nginx-module-wallarm

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

Модуль постаналитики использует находящееся в памяти хранилище Tarantool.

Вам необходимо указать объем оперативной памяти, который будет выделен под хранилище Tarantool.

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

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

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

Debian 8.x (jessie)
Debian 9.x (stretch)
Ubuntu 14.04 LTS (trusty)
Ubuntu 16.04 LTS (xenial)
Ubuntu 18.04 LTS (bionic)
CentOS 6.x
CentOS 7.x
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

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

Например:

SLAB_ALLOC_ARENA=24

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

Debian 8.x (jessie)
Debian 9.x (stretch)
Ubuntu 14.04 LTS (trusty)
Ubuntu 16.04 LTS (xenial)
Ubuntu 18.04 LTS (bionic)
CentOS 6.x
CentOS 7.x
systemctl restart wallarm-tarantool
systemctl restart wallarm-tarantool
service wallarm-tarantool restart
service wallarm-tarantool restart
service wallarm-tarantool restart
service wallarm-tarantool restart
systemctl restart wallarm-tarantool

5. Подключите модуль Wallarm

Откройте файл /etc/nginx/nginx.conf.

Проверьте, что в файле есть строка include /etc/nginx/conf.d/*. Если такой строки нет, добавьте ее.

Добавьте следующую директиву сразу под директивой worker_processes:

load_module modules/ngx_http_wallarm_module.so;

Пример файла с добавленной директивой:

user  nginx;
worker_processes  auto;
load_module modules/ngx_http_wallarm_module.so;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

Скопируйте конфигурационные файлы для настройки системы:

cp /usr/share/doc/nginx-module-wallarm/examples/*.conf /etc/nginx/conf.d/


6. Подключите фильтрующий узел к облаку Wallarm

Фильтрующий узел взаимодействует с облаком, находящемся на удаленном сервере.

Подключение фильтрующего узла к облаку происходит при помощи скрипта addnode.

  1. Запустите скрипт addnode: /usr/share/wallarm-common/addnode

  2. Введите логин и пароль. Используется связка логин и пароль от вашей учетной записи на https://my.wallarm.com. Учетная запись должна иметь права на подключение нового фильтрующего узла. Для учетной записи должна быть отключена двухфакторная аутентификация. Если таких прав нет или для пользователя включена двухфакторная аутентификация, скрипт сообщит об ошибке.

Доступ к API

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

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

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

Далее необходимо настроить узел для фильтрации трафика Настройте правила проксирования и фильтрации.

results matching ""

    No results matching ""