Установка на платформу Kong

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

Платформа Kong должна быть:

  • установлена из пакетов.
  • установлена на одну следующих операционных систем:
    • 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

Смотрите также

Известные ограничения

Установка

Установка постаналитики на отдельный сервер

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

Установка модуля Wallarm на платформу Kong проходит следующим образом:

  1. Добавление репозиториев Wallarm.
  2. Установка пакетов Wallarm.
  3. Настройка постаналитики.
  4. Настройка фильтрующего узла для использования прокси-сервера.
  5. Подключение фильтрующего узла к облаку Wallarm.
  6. Настройка адреса сервера постаналитики.
  7. Настройка режима фильтрации.

1. Добавьте репозитории 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 для загрузки пакетов. Убедитесь, что доступ не ограничен настройками файрвола.

2. Установите пакеты 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 kong-module-wallarm
apt-get install --no-install-recommends wallarm-node kong-module-wallarm
apt-get install --no-install-recommends wallarm-node kong-module-wallarm
apt-get install --no-install-recommends wallarm-node kong-module-wallarm
apt-get install --no-install-recommends wallarm-node kong-module-wallarm
yum install wallarm-node kong-module-wallarm
yum install wallarm-node kong-module-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 kong-module-wallarm
apt-get install --no-install-recommends wallarm-node-nginx kong-module-wallarm
apt-get install --no-install-recommends wallarm-node-nginx kong-module-wallarm
apt-get install --no-install-recommends wallarm-node-nginx kong-module-wallarm
apt-get install --no-install-recommends wallarm-node-nginx kong-module-wallarm
yum install wallarm-node-nginx kong-module-wallarm
yum install wallarm-node-nginx kong-module-wallarm

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

Пропустите этот шаг, если постаналитика установлена на отдельный сервер. Вы уже настроили постаналитику во время отдельной установки.

Количество памяти влияет на качество работы статистических алгоритмов. Рекомендуемое значение — 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

4. Настройте фильтрующий узел для использования прокси-сервера

Данный этап настройки предназначен для пользователей, использующих свой прокси-сервер для работы защищаемых веб-приложений.

Если Вы не используете прокси-сервер, пропустите этот этап настройки.

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

Добавьте в файл /etc/environment экспорты новых значений переменных окружения:

  • export https_proxy — прокси для протокола https;
  • export http_proxy — прокси для протокола http;
  • export no_proxy — ресурсы, для запросов к которым необходимо отключить проксирование.

Присвойте переменным https_proxy и http_proxy строки вида <scheme>://<proxy_user>:<proxy_pass>@<host>:<port>, где:

  • <scheme> — используемый протокол (должен совпадать с протоколом, для которого настраивается прокси в текущей переменной окружения);
  • <proxy_user> — имя пользователя для авторизации на прокси-сервере;
  • <proxy_pass> — пароль для авторизации на прокси-сервере;
  • <host> — хост используемого прокси-сервера;
  • <port> — порт используемого прокси-сервера.

Присвойте переменной no_proxy значение в виде массива IP-адресов и/или доменов, к которым нужно обращаться без использования прокси: "<res_1>, <res_2>, <res_3>, <res_4>, ...", где <res_1>, <res_2>, <res_3> и <res_4> — IP-адреса и/или домены.

Ресурсы, к которым нужно обращаться без использования прокси

Для корректной работы системы в список ресурсов, к которым нужно обращаться без прокси, необходимо добавить следующие IP-адреса и домен: 127.0.0.1, 127.0.0.8, 127.0.0.9 и localhost.

IP-адреса 127.0.0.8 и 127.0.0.9 используются для работы фильтрующего узла Wallarm.

Пример корректного содержимого файла /etc/environment ниже демонстрирует следующую конфигурацию:

  • Протоколы https и http используют хост 1.2.3.4 и порт 1234 для проксирования запросов;
  • Протоколы https и http используют имя пользователя admin и пароль 01234 для авторизации на прокси-сервере;
  • Для запросов к 127.0.0.1, 127.0.0.8, 127.0.0.9 и localhost проксирование отключено.
export https_proxy=http://admin:01234@1.2.3.4:1234
export http_proxy=http://admin:01234@1.2.3.4:1234
export no_proxy="127.0.0.1, 127.0.0.8, 127.0.0.9, localhost"

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

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

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

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

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

Доступ к API

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

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

  • Пропустите данный шаг, если постаналитика и фильтрующий узел установлены на один сервер.
  • Выполните данный шаг, если если постаналитика и фильтрующий узел установлены на разные серверы.

Добавьте в /etc/kong/nginx-wallarm.template адреса серверов постаналитики:


     upstream wallarm_tarantool {
        server <ip1>:3313;
        server <ip2>:3313;
        ...
        server <ipN>:3313;
    }

    ...

    wallarm_tarantool_upstream wallarm_tarantool;

7. Настройте режим фильтрации

Параметры фильтрации и проксирования настраиваются в файле /etc/kong/nginx-wallarm.template при помощи директивы wallarm_mode.

Убедитесь, что строка с директивой wallarm_mode не закомментирована. Если в начале строки присутствует символ #, удалите его.

Установите режим мониторинга, задав значение monitoring для директивы wallarm_mode, как указано в примере:

#
# Wallarm module specific parameters
#

wallarm_mode monitoring;
# wallarm_mode_allow_override on;

Запуск Kong

Запуск Kong с установленным Wallarm выполняется следующей командой:

kong start --nginx-conf /etc/kong/nginx-wallarm.template

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

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

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

results matching ""

    No results matching ""