- tocdepth
2
Настройка firewall
При использовании защиты в proxy-based режиме StormWall перенаправляет запросы от пользователей на ваш сервер, используя следующие адреса в качестве source ip:
185.121.240.0/22
193.84.78.0/24
103.134.155.0/24
188.0.150.0/24
Актуальный список узлов можно уточнить в личном кабинете StormWall, в разделе
.Чтобы избежать атаки по прямому IP-адресу сервиса, ограничьте доступ на уровне межсетевого экрана всем адресам, кроме вышеперечисленных.
Чтобы исключить возможность блокировки IP-адресов и уменьшить количество легитимного трафика, проходящего через фильтрующую сеть, добавьте доверенные IP-адреса.
Сеть фильтрует входящие HTTP-запросы пользователей по 80 порту StormWall IP и принимает SSL-соединения по 443 порту.
Примеры конфигураций и проверка
Настройка на примере конфигурации Linux Netfilter (proxy-based protection)
При настройке firewall учитывайте, что:
обычно в
iptables
уже есть правила;для вашего сервиса могут быть свои особенности.
Результат выполнения скрипта зависит от вашей конфигурации. Применение правил без изменений может привести к нежелательным последствиям или не дать результата.
В правилах iptables
:
Разрешите входящие пакеты на TCP-порты 80 и 443 с адресов из списка и доверенных IP-адресов.
Запретите доступ к TCP-портам 80 и 443 для остальных адресов функцией
DROP
.
В зависимости от системы можно использовать только правила iptables
для plain HTTP или сочетать их с правилами для iptables
с поддержкой модулей conntrack
и ipset
.
Рекомендуется использовать conntrack
и ipset
вместе, чтобы уменьшить и ускорить набор правил iptables
.
Пример конфигурации IP tables для plain HTTP
#!/bin/sh
ADMIN_IPS="
127.0.0.1
" # Добавление IP-адресов и подсетей в список доверенных:
STORMWALL_NODES="66.110.32.128/30
83.234.15.112/30
87.245.197.192/30
185.94.108.0/24
"
iptables -N stormwall_ips
for IP in $ADMIN_IPS $STORMWALL_NODES; do
iptables -A stormwall_ips -s $IP -j RETURN
done
iptables -A stormwall_ips -j DROP
iptables -A INPUT -p tcp -m multiport --dports 80,443 -j stormwall_ips
Пример конфигурации для IP tables с поддержкой conntrack и ipset
#!/usr/bin/env bash
ADMIN_IPS="
127.0.0.1
" # Добавление IP-адресов и подсетей в список доверенных:
STORMWALL_NODES="66.110.32.128/30
83.234.15.112/30
87.245.197.192/30
185.94.108.0/24
"
# Создание доверенного списка адресов:
ipset -N trusted_nodes hash:net
for ip in $ADMIN_IPS $STORMWALL_NODES; do
ipset -A trusted_nodes ${IP}
done
# Создание правил IP tables:
iptables -N stormwall
iptables -A stormwall -m set --match-set trusted_nodes src -j ACCEPT
iptables -A stormwall -j DROP
iptables -I INPUT --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 80,443 --state NEW -j stormwall
Настройка firewall для VM
Чтобы создать правила firewall для VM:
Войдите в VMware Cloud Director.
На вкладке Edges нажмите на нужный Edge и нажмите Configure Services.
На вкладке Firewall нажмите +.
В строке New Rule заполните поля нового правила и нажмите Save changes.
Настройка firewall для VM на базе OpenStack
Войдите в личный кабинет Cloud.ru с ролью администратора группы или пользователя с правом заказа.
Подробнее — в руководстве пользователя по личному кабинету.
В меню VM, на вкладке Добавить.
нажмитеУкажите название группы и создайте правила, разрешающие входящий (ingress) трафик для портов 80 и 443 и по протоколу TCP только с IP-адресов фильтрующей сети StormWall.
Должно получиться восемь правил, по четыре на каждый порт.
Создайте разрешающие правила (ingress, TCP) для управляющих портов 9022 (VM на базе Linux) и 9089 (VM на базе Windows®).
После создания Security Group отвяжите автоматически созданную Security Group с названием «default».
Проверка настройки firewall
Чтобы проверить настройку firewall, в утилите командной строки curl с флагом --resolve
сделайте запрос на реальный IP-адрес защищаемого сервера (апстрим):
curl -I <имя_домена> --resolve <имя_домена>:80:<IP_адрес_апстрима>
При обращении к апстриму с другого устройства ресурс не возвращает успешный код ответа, например 200, 301 или 302. Успешный ответ означает, что firewall пропускает запросы напрямую на ваш сервис и злоумышленники могут этим воспользоваться.
Ответа на запрос может содержать код 7 Failed to connect.
Была ли статья полезной?
для Dev & Test