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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Debian 8.x (jessie)
Debian 9.x (stretch)
Debian 10.x (buster)
Ubuntu 14.04 LTS (trusty)
Ubuntu 16.04 LTS (xenial)
Ubuntu 18.04 LTS (bionic)
CentOS 6.x
CentOS 7.x
Amazon Linux 2
# 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
# 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
# yum install wallarm-node nginx-module-wallarm

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

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

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

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

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

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

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

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

Debian 8.x (jessie)
Debian 9.x (stretch)
Debian 10.x (buster)
Ubuntu 14.04 LTS (trusty)
Ubuntu 16.04 LTS (xenial)
Ubuntu 18.04 LTS (bionic)
CentOS 6.x
CentOS 7.x
Amazon Linux 2
# systemctl restart wallarm-tarantool
# 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
# systemctl restart wallarm-tarantool

5. Подключите модуль Валарм

Откройте файл /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. Подключите фильтрующий узел к облаку Валарм

Доступ к API

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

Фильтрующий узел в процессе работы взаимодействует с облаком Валарм.

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

  1. Убедитесь, что ваша учетная запись Валарм имеет права на подключение нового фильтрующего узла (иными словами, имеет роль Администратор), и двухфакторная авторизация для вашей учетной записи отключена.

    Это можно проверить, просмотрев список пользователей в консоли Валарм:

    Список пользователей в консоли Валарм

  2. На виртуальной машине с фильтрующим узлом запустите скрипт addnode:

    # /usr/share/wallarm-common/addnode
    
  3. Введите логин и пароль от вашей учетной записи в веб-интерфейсе Валарм.

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

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

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

results matching ""

    No results matching ""