Брандмауэр веб-приложений для защиты приложений HTTP и HTTPS

Просмотр категорий

Брандмауэр веб-приложений для защиты приложений HTTP и HTTPS

6 min read

Обзор #

В следующей статье описывается реальный вариант использования ISP или хостинг-провайдера, где обратный прокси-сервер HTTP / S Load Balancer является основной точкой доступа ко всем общедоступным веб-службам, эта конфигурация показывает, насколько легко настроить расширенный и мощный WAF. набор правил для защиты веб-приложений на основе исходных IP-адресов черного списка, где каждый VirtualHost управляет своим собственным черным списком таким образом, что одному общедоступному IP-адресу может быть запрещено подключаться к веб-домену, например www.company1.com но разрешено подключаться к www.company2.com.

Мы сосредоточим статью на двух разделах, в основном разделе конфигурация профиля HTTPS будет работать как обратный прокси со списком различных служб, а во втором разделе будет объяснено, как настроить Брандмауэр веб-приложений набор правил, который будет управлять другим черным списком для каждой службы HTTP / S.

Окружающая среда #

Следующая диаграмма описывает RELIANOID Внутреннее устройство WAF. Как показано, первый уровень — это модуль WAF, цель которого — гарантировать на ранней стадии, что только безопасные запросы могут проходить в модуль балансировки нагрузки, а затем пересылать запросы на серверные части.

Во-первых, HTTP Хозяин заголовок оценивается, и IP клиента проверяется в уже настроенном черном списке. Если Хозяин заголовок и IP-адрес клиента совпадают, тогда соединение разрывается и 403 Запрещено HTTP-ответ отправляется клиенту, но в случае, если IP-адрес клиента и запрошенный Хозяин заголовок не совпадает, тогда трафик определяется как не вредоносный и передается в модуль балансировки нагрузки, где место назначения выбирается на основе HTTP-запроса. Хозяин заголовок и, наконец, перенаправляется на доступный внутренний сервер.

Здесь вы можете найти схему внутреннего устройства брандмауэра веб-приложений для данного примера.

RELIANOID ИПДС ВАФ

Конфигурация виртуальной службы HTTP #

Настроить один выделенный Виртуальный IP-адрес, в нашем примере 192.168.100.58, перейдя на Сеть> Виртуальные интерфейсы> Создать виртуальный интерфейс как показано ниже:

RELIANOID Создать VIP

Теперь перейдем к настройке службы балансировки нагрузки HTTP, заходим в LSLB> Фермы а затем нажмите кнопку Создать Ферму и введите данные виртуальной службы, как показано ниже:

RELIANOID Создать HTTP-ферму хостинга

Затем нажмите Создавай.

Теперь нажмите на верхнюю вкладку Услуги и создайте столько услуг, сколько разных веб-сайтов, которыми вы управляете, нажмите кнопку Новый Сервисв нашем случае мы создадим два разных сервиса, один для управления сервисом для www.mycompany1.com и еще один для www.mycompany2.com.

RELIANOID Создать службу HTTP

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

RELIANOID Конфигурация HTTP-сервисов

Если у вас несколько веб-сайтов, вам нужно только добавить дополнительные службы, чтобы определить одну выделенную службу для управления каждой сетью с одного и того же IP-адреса.

Теперь настройка балансировки нагрузки завершена, теперь можно настроить модуль межсетевого экрана веб-приложения IPDS.

Конфигурация черных списков #

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

RELIANOID Черный список IPDS1

Этот черный список будет сохранен в пути /usr/local/relianoid/config/ipds/blacklists/lists/Blacklistmycompany1.txt.

Мы включили 2 IP-адреса для тестирования, пожалуйста, подумайте о том, чтобы добавить столько IP-адресов, сколько необходимо. Также уже существующие Черные в IPDS модуль можно использовать.

RELIANOID Создать черный список IPDS2

Этот второй черный список будет сохранен в пути /usr/local/relianoid/config/ipds/blacklists/lists/Blacklistmycompany2.txt.

Учтите, что в этот черный список мы включили IP-адрес. 192.168.1.191, этот IP-адрес будет использоваться только для целей тестирования, откуда мы будем запускать HTTP-запросы.

Конфигурация набора правил брандмауэра веб-приложений #

Цель этой конфигурации - поддерживать разные черные списки IP-адресов для каждого веб-сайта, чтобы избежать сохранения одного и того же черного списка для всей точки доступа фермы.

Мы собираемся настроить набор правил, который представляет собой группу правил с именем Хостинг. Этот набор правил будет состоять из двух простых правил (идентификатор правила 1000 и идентификатор правила 1001 в нашем примере), каждое правило определяется как соответствие и действие, где, если условие совпадает, действие выполняется. В нашем примере мы будем использовать одно и то же действие в обоих правилах, если условие соответствует Отклонить действие выполняется с 403 Доступ запрещен ответ.

Перейдите на IPDS> WAF, затем нажмите на Создать набор правил WAF и задаем описательное имя набора правил, в нашем примере Хостинг.

Настроить поле Фаза по умолчанию в Заголовки запросов получены. Это поле означает, что модуль WAF будет анализировать заголовки входящих запросов от клиента.

RELIANOID IPDS Создать набор правил WAF

Затем перейдите на вкладку Правила и создадим первый Правило типа Экшн как показано ниже.

RELIANOID IPDS Создать набор правил WAF

Теперь первое правило набора правил создано, позволяет создать условия, чтобы IP клиента соответствовал IP в черном списке для каждого Хозяин заголовок. Перейти к Conditions и создать условие в соответствии с REMOTE_ADDR переменная, как показано ниже.

RELIANOID Матч в черном списке IPDS

Затем создайте другое условие для Виртуальный хост матч согласно НАЗВАНИЕ СЕРВЕРА переменная следующим образом:

RELIANOID IPDS SERVER_NAME совпадение

На этом этапе первый размещенный веб-сайт www.mycompany1.com управляет IP-адресом черного списка веб-приложения из уже настроенного черного списка, называемого Blacklistmycompany1.txt.

Создадим еще одно правило для второго сайта www.mycompany2.com и повторите ту же конфигурацию, что и предыдущая конфигурация правила, но в этом случае вы должны изменить НАЗВАНИЕ СЕРВЕРА в mycompany2.com и обращайтесь к следующему blacklist2.txt.

См. Полную конфигурацию составного набора правил WAF:

RELIANOID IPDS WAF Конфигурация всего набора правил

Наконец, добавьте этот набор правил в уже созданную ферму, перейдите на вкладку Фермы и переместить ферму хостингв нашем примере к Включенные фермы раздел, как показано ниже.

RELIANOID IPDS WAF – Назначение фермы

Теперь запустите набор правил WAF для фермы, щелкните действие Играть в верхнем левом углу этого окна, и система начнет фильтровать HTTP-трафик для фермы. хостинг.

Тестирование набора правил брандмауэра веб-приложений #

Клиентский IP 192.168.1.191 запросит веб-сайт http://www.mycompany1.com и http://www.mycompany2.com и, согласно нашей конфигурации, система WAF позволит подключиться к первому сервису с таким же именем, но в подключении будет отказано mycompany2.com потому что этот IP внесен в черный список с именем Черный список.

С IP-адреса 192.168.1.191 на VIP, запрашивая веб-сайт www.mycompany1.com через балансировщик нагрузки:

root@192.168.1.191:# curl -H "Хост: www.mycompany1.com" http://192.168.100.58 -v * Перестроен URL-адрес: http://192.168.100.58/ * Пробуем 192.168.100.58... * Установлен TCP_NODELAY * Подключено к порту 192.168.100.58 192.168.100.58 (80) (#0) > GET / HTTP/1.1 > Хост: www.mycompany1.com > Пользовательский агент: curl/7.52.1 > Принять: */* > HTTP / 1.1 200 OK
< Сервер: nginx/1.10.3 < Дата: вторник, 10 сентября 2019 г., 15:36:22 GMT < Content-Type: text/html < Content-Length: 11383 < Последнее изменение: четверг, 13 декабря 2018 г., 11:01: 49 GMT < Соединение: поддержание активности < ETag: «5c123c1d-2c77» < Диапазоны приема: байты 

С IP-адреса 192.168.1.191 на VIP, запрашивая веб-сайт www.mycompany2.com через балансировщик нагрузки:

root@192.168.1.191:# curl -H "Хост: www.mycompany2.com" http://192.168.100.58 -v * Перестроен URL-адрес: http://192.168.100.58/ * Пробуем 192.168.100.58... * Установлен TCP_NODELAY * Подключено к порту 192.168.100.58 192.168.100.58 (80) (#0) > GET / HTTP/1.1 > Хост: www.mycompany2.com > Пользовательский агент: curl/7.52.1 > Принять: */* > * HTTP 1.0, предполагается закрытие после тела HTTP/1.0 403 Запрос запрещен
< Content-Type: text/html < Content-Length: 17 < Срок действия: сейчас < Pragma: no-cache < Cache-control: no-cache, no-store < * Curl_http_done: вызвано преждевременно == 0 * Закрытие соединения 0 ответили Запрещено

Как только появится строка запрещенный ответ генерируется, модуль WAF уведомляет об отклонении в файле системного журнала балансировщика нагрузки.

root@zva6000:# tail -f /var/log/syslog 10 сен 15:38:44 zva6000 pound: Хостинг, ModSecurity: Предупреждение. Сопоставлено "Оператор `StrMatch' с параметром `mycompany2.com' с переменной `SERVER_NAME' (Значение: `www.mycompany2.com' ) [файл "/usr/local/relianoid/config/ipds/waf/sets/HostingBlacklisting.conf"] [строка "17"] [id "1001"] [rev ""] [msg "Пользовательское соответствие 2"] [данные ""] [серьезность "0"] [вер ""] [зрелость "0"] [точность "0"] [имя хоста "192.168.100.58"] [uri "/"] [уникальный_ид "156812992458.770641"] [ссылка "v0,13v21,18"] 10 сен 15:38:44 zva6000 фунт: Хостинг, [WAF,service mycompany2, backend 192.168.100.22:80,] (7f6cfac3c700) [клиент 192.168.1.191] ModSecurity: Доступ запрещен с кодом 403 (фаза 1). Сопоставлено "Оператор `StrMatch' с параметром `mycompany2.com' с переменной `SERVER_NAME' (Значение: `www.mycompany2.com' ) [файл "/usr/local/relianoid/config/ipds/waf/sets/HostingBlacklisting.conf"] [строка "17"] [id "1001"] [rev ""] [msg "Custom Match 2"] [data ""] [severity "0"] [ver ""] [maturity "0"] [accuracy "0"] [hostname "192.168.100.58"] [uri "/"] [unique_id "156812992458.770641"] [ref "v0,13v21,18"] 10 сен 15:38:44 zva6ktpl1 фунт: Хостинг, сервис mycompany2, бэкэнд 192.168.100.25:80, (7f6cfac3c700) WAF отклонил запрос от 192.168.1.191

Теперь вы можете создавать собственные наборы правил брандмауэра для защиты своих веб-приложений с помощью методов глубокой проверки пакетов HTTP / S.

Статьи по теме #

https://www.relianoid.com/knowledge-base/enterprise-edition/enterprise-edition-v6-0-administration-guide/v6-0-ipds-waf-update/

📄 Загрузите этот документ в формате PDF #

    EMAIL: *

    Powered by BetterDocs