Настройка оборудования для опции защиты L7

Если вы выбрали Оптимальный уровень защиты сети, вам доступна опция L7-защиты без смены А-записей. 

 

Подробнее о технологии «Проксирование без смены А-записей»

 

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

 

 

После поднятия BGP-сессии с DDoS-Guard в настройках маршрутизирующего оборудования необходимо разрешить прием этих и более специфичных служебных анонсов (от /24 до /32):

 

77.220.207.0/24 - /32
45.10.240.0/24 - /32
45.10.241.0/24 - /32
45.10.242.0/24 - /32
186.2.160.0/24 - /32
186.2.164.0/24 - /32
186.2.167.0/24 - /32
186.2.168.0/24 - /32
185.178.209.197/32
190.115.30.44/32

 

Эти анонсы не доступны через Интернет, они анонсируются только в рамках прямой BGP-сессии с клиентом

 

Служебные префиксы будут анонсироваться со стороны DDoS-Guard по мере необходимости.

 

Ниже приводим примеры настроек для маршрутизирующего оборудования.       
 

Обратите внимание, что это примерные команды, а не готовый набор настроек для вашего оборудования — используйте их только убедившись, что они не нарушат работу проекта

 

Juniper

 

prefix-list bind {
                    45.10.240.0/24;
                    45.10.241.0/24;
                    45.10.242.0/24;
                    77.220.207.0/24;
                    185.178.209.197/32;
                    186.2.160.0/24;
                    186.2.164.0/24;
                    186.2.167.0/24;
                    186.2.168.0/24;
                    190.115.30.44/32;
                }
                prefix-list default {
                    0.0.0.0/0;
                }
                policy-statement DDG-IN {
                    term default {
                        from {
                            prefix-list-filter default exact;
                        }
                        then accept;
                    }
                    term bind {
                        from {
                            prefix-list-filter bind orlonger;
                        }
                        then accept;
                    }
                    then reject;
                }

 

Cisco IOS-XR

 

prefix-set bind
              77.220.207.0/24 le 32,
              45.10.240.0/24 le 32,
              45.10.241.0/24 le 32,
              45.10.242.0/24 le 32,
              186.2.160.0/24 le 32,
              186.2.164.0/24 le 32,
              186.2.167.0/24 le 32,
              186.2.168.0/24 le 32,
              185.178.209.197/32,
              190.115.30.44/32
            end-set
            !
            prefix-set default
              0.0.0.0/0
            end-set
            !
            route-policy DDG-IN
              if destination in default or destination in bind then
                pass
              else
                drop
              endif
            end-policy
            !

 

Cisco IOS/IOS-XE

 

ip prefix-list bind seq 10 permit 77.220.207.0/24 le 32
        ip prefix-list bind seq 20 permit 45.10.240.0/24 le 32
        ip prefix-list bind seq 30 permit 45.10.241.0/24 le 32
        ip prefix-list bind seq 40 permit 45.10.242.0/24 le 32
        ip prefix-list bind seq 50 permit 186.2.160.0/24 le 32
        ip prefix-list bind seq 60 permit 186.2.164.0/24 le 32
        ip prefix-list bind seq 70 permit 186.2.167.0/24 le 32
        ip prefix-list bind seq 80 permit 186.2.168.0/24 le 32
        ip prefix-list bind seq 90 permit 185.178.209.197/32
        ip prefix-list bind seq 100 permit 190.115.30.44/32
        !
        ip prefix-list default seq 10 permit 0.0.0.0/0
        !
        route-map DDG-IN permit 10
         match ip address prefix-list default
        !
        route-map DDG-IN permit 20
         match ip address prefix-list bind

 

Mikrotik ROS 6x

 

routing filter
    add action=accept chain=DDG_BGP_in prefix=0.0.0.0/0 prefix-length=0 protocol=bgp
    add action=accept chain=DDG_BGP_in prefix=77.220.207.0/24 prefix-length=24-32 protocol=bgp
    add action=accept chain=DDG_BGP_in prefix=45.10.240.0/24 prefix-length=24-32 protocol=bgp
    add action=accept chain=DDG_BGP_in prefix=45.10.241.0/24 prefix-length=24-32 protocol=bgp
    add action=accept chain=DDG_BGP_in prefix=45.10.242.0/24 prefix-length=24-32 protocol=bgp
    add action=accept chain=DDG_BGP_in prefix=186.2.164.0/24 prefix-length=24-32 protocol=bgp
    add action=accept chain=DDG_BGP_in prefix=186.2.160.0/24 prefix-length=24-32 protocol=bgp
    add action=accept chain=DDG_BGP_in prefix=186.2.167.0/24 prefix-length=24-32 protocol=bgp
    add action=accept chain=DDG_BGP_in prefix=186.2.168.0/24 prefix-length=24-32 protocol=bgp
    add action=accept chain=DDG_BGP_in prefix=185.178.209.197/32 prefix-length=32-32 protocol=bgp
    add action=accept chain=DDG_BGP_in prefix=190.115.30.44/32 prefix-length=32-32 protocol=bgp
    add action=discard chain=DDG_BGP_in protocol=bgp

 

 

Перед использованием услуги защиты сети c опцией L7 убедитесь, что запросы со следующих служебных диапазонов будут  разрешены в настройках фаервола на веб-сервере:

 

77.220.207.0/24
45.10.240.0/24
45.10.241.0/24
45.10.242.0/24
186.2.160.0/24
186.2.164.0/24
186.2.167.0/24
186.2.168.0/24
185.178.209.197/32
190.115.30.44/32

 

 

Чтобы видеть реальные IP-адреса посетителей сайта при прохождении трафика через L7 защиту, настройте расшифровку заголовка X-Forwarded-For для сетей из списка выше.  
 

Примеры настроек для популярных веб-серверов:

 

Веб-сервер Apache до версии 2.4

 

Измените файл /etc/apache2/mods-enabled/rpaf.conf, добавив следующие строки:

 

<IfModule rpaf_module>
          RPAFenable On
          # When enabled, take the incoming X-Host header
          # and update the virtualhost settings accordingly:
          RPAFsethostname On
          # Define which IP's are your frontend proxies that sends
          # the correct X-Forwarded-For headers:
          RPAFproxy_ips 77.220.207.0/24 45.10.240.0/24 45.10.241.0/24 45.10.242.0/24 186.2.160.0/24 186.2.164.0/24 186.2.167.0/24 186.2.168.0/24
          # Change the header name to parse from the default
          # X-Forwarded-For to something of your choice:
          # RPAFheader DDG-Connecting-IP
        </IfModule>


 

Данная конфигурация возможна при использовании модуля: https://github.com/gnif/mod_rpaf


При использовании стандартного mod_rpaf корректная работа будет обеспечена только в случае перечисления всех адресов в RPAFproxy_ips.

 

Веб-сервер Apache версии 2.4 и выше


Деактивируйте mod_rpaf командой a2dismod rpaf, активируйте mod_remoteip командой a2enmod mod_remoteip и перезагрузите Apache.


Создайте или измените файл /etc/apache2/conf-available/remoteip.conf, добавив следующие строки:

<IfModule remoteip_module>
          # Take the incoming X-Host header and
          # update the virtualhost settings accordingly:
          RemoteIPHeader X-Forwarded-For
          # Define which IP's are your frontend proxies that sends
          # the correct X-Forwarded-For headers:
          RemoteIPTrustedProxy 77.220.207.0/24 45.10.240.0/24 45.10.241.0/24 45.10.242.0/24 186.2.160.0/24 186.2.164.0/24 186.2.167.0/24 186.2.168.0/24
        </IfModule>


Перезагрузите Apache.

 

Веб-сервер Nginx


Добавьте следующие строки в секцию http-файла /etc/nginx/nginx.conf:

 

set_real_ip_from 77.220.207.0/24;
        set_real_ip_from 45.10.240.0/24;
        set_real_ip_from 45.10.241.0/24;
        set_real_ip_from 45.10.242.0/24;
        set_real_ip_from 186.2.160.0/24;
        set_real_ip_from 186.2.164.0/24;
        set_real_ip_from 186.2.167.0/24;
        set_real_ip_from 186.2.168.0/24;

 

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