...
Перевести все команды просмотра информации об интерфейсах на уровень привилегий 10, кроме команды «show interfaces bridges» show interfaces bridges. Команду «show show interfaces bridges» bridges перевести на уровень привилегий 3.
...
| Блок кода |
|---|
esr(config)# privilege root level 3 "show interfaces bridge"
esr(config)# privilege root level 10 "show interfaces"
|
Настройка логирования и защиты от
...
ARP-spoofing атак
Алгоритм настройки
Шаг | Описание | Команда | Ключи | ||
|---|---|---|---|---|---|
1 | Включить защиту от ICMP floodARP-spoofing атак на сетевом интерфейсе/сетевом мосту. | esr(config-if-gi)# ip firewall screen dos-defense | <NUM> – количество ICMP-пакетов в секунду, задается в диапазоне [1..10000]. | arp inspection | |
2 | Включить логирование отброшенных ARP-ответов (необязательно) | 2 | Включить защиту от land-атак. | esr(config)# logging firewall screen dosarp-defense land | |
3 | Включить ограничение числа пакетов, отправляемых за одну секунду на один адрес назначения | esr(config)# ip firewall screen dos-defense | <NUM> – ограничение числа IP-пакетов в секунду, задается в диапазоне [1..10000]. | ||
4 | Включить ограничение числа пакетов, отправляемых за одну секунду с единого адреса источника | esr(config)# ip firewall screen dos-defense | <NUM> – ограничение числа IP-пакетов в секунду, задается в диапазоне [1..10000]. | ||
5 | Включить защиту от SYN flood-атак. | esr(config)# ip firewall screen dos-defense | <NUM> – максимальное количество TCP-пакетов с установленным флагом SYN в секунду, задается в диапазоне [1..10000]. src-dst – ограничение количества TCP-пакетов с установленным флагом SYN на основании адреса источника и адреса назначения. | ||
6 | Включить защиту от UDP flood-атак. | esr(config)# ip firewall screen dos-defense | <NUM> – максимальное количество UDP-пакетов в секунду, задается в диапазоне [1..10000]. | 7 | Включить защиту от winnuke-атак. | esr(config)# ip firewall screen dos-defense winnuke | 8 | Включить блокировку TCP-пакетов с установленным флагом FIN и не установленным флагом ACK. | esr(config)# ip firewall screen spy-blocking fin-no-ack |
inspection |
Пример настройки защиты от ARP-spoofing атак
Задача:
Необходимо защитить LAN-сеть и маршрутизатор ESR от ARP-spoofing атак и настроить логирование об атаках на удаленный syslog-сервер.
Решение:
Настраиваем интерфейсы и включем на них защиту от ARP-spoofing атак:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/2
esr(config-if-gi)# ip address 10.0.0.1/24
esr(config-if-gi)# exit
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# ip address 192.168.0.1/24
esr(config-if-gi)# ip arp inspection
esr(config-if-gi)# exit |
Настраиваем параметры удаленного syslog-сервера:
| Блок кода |
|---|
esr(config)# syslog host SYSLOG_SERVER
esr(config-syslog-host)# remote-address 192.168.0.10
esr(config-syslog-host)# severity info
esr(config-syslog-host)# exit |
Включаем логирование об ARP-spoofing атаках:
| Блок кода |
|---|
esr(config)# logging firewall arp-inspection |
Просмотреть счетчики заблокированных ARP-ответов:
| Блок кода |
|---|
esr# show ip firewall arp-inspections
Interface Count
-------------------- --------------------
gi1/0/1 9 |
Сбросить счетчики заблокированных ARP-ответов:
| Блок кода |
|---|
esr# clear ip firewall arp-inspections counters |
Уведомление об ARP-spoofing атаке на удаленном syslog-сервере:
| Блок кода |
|---|
2025-11-24T12:29:01+07:00 esr firewalld %FIREWALL-W-EVENT_WARN: arp-inspection a8:f9:4b:ac:4d:3e(192.168.0.12) -> 50:75:bd:04:fd:00(192.168.0.1) denied (gi1/0/1 a8:f9:4b:ac:4d:3e) |
Настройка логирования и защиты от сетевых атак
Алгоритм настройки
Шаг | Описание | Команда | Ключи | ||||||
|---|---|---|---|---|---|---|---|---|---|
1 | Включить защиту от ICMP flood | ||||||||
9 | Включить блокировку ICMP-пакетов различных типов. | esr(config)# ip firewall screen spy-blocking icmp-type | <TYPE> – тип ICMP, может принимать значения:
| ||||||
10 | Включить защиту от IP sweep-атак. | esr(config)# ip firewall screen spy-blocking ip-sweep { <NUM> } | <NUM> – интервал выявления ip sweep атаки, задается в миллисекундах [1..1000000]. | ||||||
11 | Включить защиту от port scan-атак. | esr(config)# ip firewall screen spy-blocking port-scan | <threshold> – интервал в секундах, в течение которого будет фиксироваться port scan-атака [1..10000]. <TIME> – время блокировки в миллисекундах [1..1000000]. | ||||||
12 | Включить защиту от IP spoofing-атак. | esr(config)# ip firewall screen spy-blocking spoofingdos-defense | <NUM> – количество ICMP-пакетов в секунду, задается в диапазоне [1..10000]. | ||||||
2 | Включить защиту от land-атак | 13 | Исключить из защиты от IP-spoofing атак указанную Object Group . | esr(config)# ipfirewall screen spy-blocking spoofing exclude <object-group> | <object-group> – список разрешённых для spoofing подсетей. | dos-defense land | |||
3 | Включить ограничение числа пакетов, отправляемых за одну секунду на один адрес назначения | 14 | Включить блокировку TCP-пакетов, с установленными флагами SYN и FIN. | esr(config)# ip firewall screen spy-blocking syn-fin | 15 | Включить блокировку TCP-пакетов, со всеми флагами или с набором флагов: FIN, PSH, URG. Данной командой обеспечивается защита от атаки XMAS. | esr(config)# ip firewall screen spy-blocking tcp-all-flag | dos-defense | <NUM> – ограничение числа IP-пакетов в секунду, задается в диапазоне [1..10000]. |
4 | Включить ограничение числа пакетов, отправляемых за одну секунду с единого адреса источника | 16 | Включить блокировку TCP-пакетов, с нулевым полем flags. | esr(config)# ip firewall screen spy-blocking tcp-no-flag | 17 | Включить блокировку фрагментированных | dos-defense | <NUM> – ограничение числа IP-пакетов в секунду, задается в диапазоне [1..10000]. | |
5 | Включить защиту от SYN flood-атак | esr(config)# ip firewall screen suspicious-packets icmp-fragment | 18 | Включить блокировку фрагментированных IP-пакетов. | esr(config)# ip firewall screen suspicious-packets ip-fragmentdos-defense | <NUM> – максимальное количество TCP-пакетов с установленным флагом SYN в секунду, задается в диапазоне [1..10000]. src-dst – ограничение количества TCP-пакетов с установленным флагом SYN на основании адреса источника и адреса назначения. | |||
6 | Включить защиту от UDP flood-атак | 19 | Включить блокировку ICMP-пакетов длиной более 1024 байт. | esr(config)# ip firewall screen suspicious-packets icmp-fragmentdos-defense | <NUM> – максимальное количество UDP-пакетов в секунду, задается в диапазоне [1..10000]. | ||||
7 | Включить защиту от winnuke-атак | 20 | Включить блокировку фрагментированных TCP-пакетов, с флагом SYN. | esr(config)# ip firewall screen suspicious-packets syn-fragmentdos-defense winnuke | |||||
8 | Включить защиту от zero-port-атак | 21 | Включить блокировку фрагментированных UDP-пакетов. | esr(config)# ip firewall screen suspiciousdos-packets udpdefense zero-fragmentport | |||||
229 | Включить блокировку TCP-пакетов , с ID протокола в заголовке IP равном 137 и болеес установленным флагом FIN и не установленным флагом ACK. | esr(config)# ip firewall screen suspicious-packets unknown-protocolsspy-blocking fin-no-ack | |||||||
10 | Включить блокировку ICMP-пакетов различных типов. | esr(config)# ip firewall screen spy-blocking icmp-type | <TYPE> – тип ICMP, может принимать значения:
| ||||||
11 | Включить защиту от IP sweep-атак | 23 | Установить частоту оповещения (по SNMP, syslog и в CLI) об обнаруженных и отраженных сетевых атаках. | esr(config)# ip firewall logging interval <NUM>screen spy-blocking ip-sweep { <NUM> } | <NUM> – интервал времени в секундах [30 .. 2147483647выявления ip sweep атаки, задается в миллисекундах [1..1000000]. | ||||
2412 | Включить механизм обнаружения и логирования DoS-атак через CLI, Syslog и по SNMPзащиту от port scan-атак. | esr(config)# logging ip firewall screen dos-defense <ATACK_TYPE> | <ATACK_TYPE> – тип DoS-атаки, принимает значения: icmp-threshold, land, limit-session-destination, limit-session-source, syn-flood, udp-threshold, winnuke. | spy-blocking port-scan | <threshold> – интервал в секундах, в течение которого будет фиксироваться port scan-атака [1..10000]. <TIME> – время блокировки в миллисекундах [1..1000000]. | ||||
13 | Включить защиту от IP spoofing-атак | 25 | Включить механизм обнаружения и логирования шпионской активности через CLI, Syslog и по SNMP. | esr(config)# logging ip firewall screen spy-blocking | <ATACK_TYPE> – тип шпионской активности, принимает значения: fin-no-ack, ip-sweep, port-scan, spoofing, syn-fin, tcp-all-flag, tcp-no-flag. <ICMP_TYPE> – тип ICMP, принимает значения: destination-unreachable, echo-request, reserved, source-quench, time-exceeded. | 26 | spoofing | ||
| 14 | Исключить из защиты от IP-spoofing атак указанную Object Group. | esr(config)# ip firewall screen spy-blocking spoofing exclude <object-group> | <object-group> – список разрешённых для spoofing подсетей. | ||||||
15 | Включить блокировку TCP-пакетов, с установленными флагами SYN и FINВключить механизм обнаружения нестандартных пакетов и логирования через CLI, Syslog и по SNMP. | esr(config)# logging # ip firewall screen suspicious-packets <PACKET_TYPE> | <PACKET_TYPE> – тип нестандартных пакетов, принимает значения: icmp-fragment, ip-fragment, large-icmp, syn-fragment, udp-fragment, unknown-protocols. |
Описание механизмов защиты от атак
spy-blocking syn-fin | |||
16 | Включить блокировку TCP-пакетов, со всеми флагами или с набором флагов: FIN, PSH, URG. Данной командой обеспечивается защита от атаки XMAS. | esr(config)# ip firewall screen spy-blocking tcp-all-flag | |
17 | Включить блокировку TCP-пакетов, с нулевым полем flags. | esr(config)# ip firewall screen spy-blocking tcp-no-flag | |
18 | Включить блокировку фрагментированных | esr(config)# ip firewall screen suspicious-packets icmp-fragment | |
19 | Включить блокировку фрагментированных IP-пакетов. | esr(config)# ip firewall screen suspicious-packets ip-fragment | |
20 | Включить блокировку ICMP-пакетов длиной более 1024 байт. | esr(config)# ip firewall screen suspicious-packets icmp-fragment | |
21 | Включить блокировку фрагментированных TCP-пакетов, с флагом SYN. | esr(config)# ip firewall screen suspicious-packets syn-fragment | |
22 | Включить блокировку фрагментированных UDP-пакетов. | esr(config)# ip firewall screen suspicious-packets udp-fragment | |
23 | Включить блокировку пакетов, с ID протокола в заголовке IP равном 137 и более. | esr(config)# ip firewall screen suspicious-packets unknown-protocols | |
24 | Установить частоту оповещения (по SNMP, syslog и в CLI) об обнаруженных и отраженных сетевых атаках. | esr(config)# ip firewall logging interval <NUM> | <NUM> – интервал времени в секундах [30 .. 2147483647]. |
25 | Включить механизм обнаружения и логирования DoS-атак через CLI, Syslog и по SNMP. | esr(config)# logging firewall screen dos-defense <ATACK_TYPE> | <ATACK_TYPE> – тип DoS-атаки, принимает значения: icmp-threshold, land, limit-session-destination, limit-session-source, syn-flood, udp-threshold, winnuke. |
26 | Включить механизм обнаружения и логирования шпионской активности через CLI, Syslog и по SNMP. | esr(config)# logging firewall screen spy-blocking | <ATACK_TYPE> – тип шпионской активности, принимает значения: fin-no-ack, ip-sweep, port-scan, spoofing, syn-fin, tcp-all-flag, tcp-no-flag. <ICMP_TYPE> – тип ICMP, принимает значения: destination-unreachable, echo-request, reserved, source-quench, time-exceeded. |
27 | Включить механизм обнаружения нестандартных пакетов и логирования через CLI, Syslog и по SNMP. | esr(config)# logging firewall screen suspicious-packets <PACKET_TYPE> | <PACKET_TYPE> – тип нестандартных пакетов, принимает значения: icmp-fragment, ip-fragment, large-icmp, syn-fragment, udp-fragment, unknown-protocols. |
Описание механизмов защиты от атак
| Команда | Описание | |||||
|---|---|---|---|---|---|---|
| ip firewall screen dos-defense icmp-threshold | Данная команда включает защиту от ICMP flood-атак. При включенной защите ограничивается количество ICMP-пакетов всех типов в секунду для одного source-адреса. Атака приводит к перегрузке хоста и выводу его из строя из-за необходимости обрабатывать каждый запрос и отвечать на него. | |||||
| firewall screen dos-defense land | Данная команда включает защиту от land-атак. При включенной защите блокируются пакеты с одинаковыми source и destination IP-адресами и флагом SYN в заголовке TCP. Атака приводит к перегрузке хоста и выводу его из строя из-за необходимости обрабатывать каждый TCP SYN пакет и попыток хоста установить TCP-сессию с самим собой. | |||||
| ip firewall screen dos-defense limit-session-destination | Когда таблица IP-сессий хоста переполняется, он больше не в состоянии организовывать новые сессии и отбрасывает запросы (такое может происходить при различных DoS-атаках: SYN flood, UDP flood, ICMP flood, и т.д.). Команда включает ограничение числа пакетов, передаваемых за секунду на один адреса назначения, которое смягчает DoS-атаки. | |||||
| ip firewall screen dos-defense limit-session-source | Когда таблица IP-сессий хоста переполняется, он больше не в состоянии организовывать новые сессии и отбрасывает запросы (такое может происходить при различных DoS-атаках: SYN flood, UDP flood, ICMP flood, и т.д.). Команда включает ограничение числа пакетов, передаваемых за секунду с одного адреса источника, которое смягчает DoS-атаки. | |||||
| ip firewall screen dos-defense syn-flood | Данная команда включает защиту от SYN flood-атак. При включенной защите ограничивается количество TCP-пакетов с установленным флагом SYN в секунду для одного адреса назначения. Атака приводит к перегрузке хоста и выводу его из строя из-за необходимости обрабатывать каждый TCP SYN пакет и попыток установить TCP-сессии. | |||||
| ip firewall screen dos-defense udp-threshold | Данная команда включает защиту от UDP flood-атак. При включенной защите ограничивается количество UDP-пакетов в секунду для одного адреса назначения. Атака приводит к перегрузке хоста и выводу его из строя из-за массивного UDP-трафика. | |||||
| ip firewall screen dos-defense winnuke | Данная команда включает защиту от winnuke-атак. При включенной защите блокируются TCP-пакеты с установленным флагом URG и 139 портом назначения. Атака приводит к выходу из строя старых версий Windows (до 95 версии). | |||||
| ip firewall screen dos-defense zero-port | Данная команда включает защиту от zero-port-атак. При включенной защите блокируются TCP/UDP-пакеты с установленным портом источника/назначения равным нулю. | |||||
| ip firewall screen spy-blocking fin-no-ack | Данная команда включает блокировку TCP-пакетов с установленным флагом FIN и не установленным флагом ACK | |||||
| Команда | Описание | |||||
| ip firewall screen dos-defense icmp-threshold | Данная команда включает защиту от ICMP flood-атак. При включенной защите ограничивается количество ICMP-пакетов всех типов в секунду для одного source-адреса. Атака приводит к перегрузке хоста и выводу его из строя из-за необходимости обрабатывать каждый запрос и отвечать на него. | |||||
| firewall screen dos-defense land | Данная команда включает защиту от land-атак. При включенной защите блокируются пакеты с одинаковыми source и destination IP-адресами и флагом SYN в заголовке TCP. Атака приводит к перегрузке хоста и выводу его из строя из-за необходимости обрабатывать каждый TCP SYN пакет и попыток хоста установить TCP-сессию с самим собой. | |||||
| ip firewall screen dos-defense limit-session-destination | Когда таблица IP-сессий хоста переполняется, он больше не в состоянии организовывать новые сессии и отбрасывает запросы (такое может происходить при различных DoS-атаках: SYN flood, UDP flood, ICMP flood, и т.д.). Команда включает ограничение числа пакетов, передаваемых за секунду на один адреса назначения, которое смягчает DoS-атаки. | |||||
| ip firewall screen dos-defense limit-session-source | Когда таблица IP-сессий хоста переполняется, он больше не в состоянии организовывать новые сессии и отбрасывает запросы (такое может происходить при различных DoS-атаках: SYN flood, UDP flood, ICMP flood, и т.д.). Команда включает ограничение числа пакетов, передаваемых за секунду с одного адреса источника, которое смягчает DoS-атаки. | |||||
| ip firewall screen dos-defense syn-flood | Данная команда включает защиту от SYN flood-атак. При включенной защите ограничивается количество TCP-пакетов с установленным флагом SYN в секунду для одного адреса назначения. Атака приводит к перегрузке хоста и выводу его из строя из-за необходимости обрабатывать каждый TCP SYN пакет и попыток установить TCP-сессии. | |||||
| ip firewall screen dos-defense udp-threshold | Данная команда включает защиту от UDP flood-атак. При включенной защите ограничивается количество UDP-пакетов в секунду для одного адреса назначения. Атака приводит к перегрузке хоста и выводу его из строя из-за массивного UDP-трафика. | |||||
| ip firewall screen dos-defense winnuke | Данная команда включает защиту от winnuke-атак. При включенной защите блокируются TCP-пакеты с установленным флагом URG и 139 портом назначения. Атака приводит к выходу из строя старых версий Windows (до 95 версии). | |||||
| ip firewall screen spy-blocking fin-no-ack | Данная команда включает блокировку TCP-пакетов с установленным флагом FIN и не установленным флагом ACK. Такие пакеты являются нестандартными, и по ответу можно определить операционную систему жертвы. | |||||
| ip firewall screen spy-blocking icmp-type destination-unreachable | Данная команда включает блокировку всех ICMP-пакетов 3 типа (destination-unreachable), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов. | |||||
| ip firewall screen spy-blocking icmp-type echo-request | Данная команда включает блокировку всех ICMP-пакетов 8 типа (echo-request), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов. | |||||
| ip firewall screen spy-blocking icmp-type reserved | Данная команда включает блокировку всех ICMP-пакетов 2 и 7 типов (reserved), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов. | |||||
| ip firewall screen spy-blocking icmp-type source-quench | Данная команда включает блокировку всех ICMP-пакетов 4 типа (source quench), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов. | |||||
| ip firewall screen spy-blocking icmp-type time-exceeded | Данная команда включает блокировку всех ICMP-пакетов 11 типа (time exceeded), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов. | |||||
| ip firewall screen spy-blocking ip-sweep | Данная команда включает защиту от IP sweep-атак. При включенной защите, если в течение заданного в параметрах интервала приходит более 10 ICMP-запросов от одного источника, первые 10 запросов пропускаются маршрутизатором, а 11 и последующие отбрасываются на оставшееся время интервала. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов. | |||||
ip firewall screen spy-blocking port-scan | Данная команда включает защиту от port scan-атак. Если в течение первого заданного интервала времени (<threshold>) на один источник приходит более 10 TCP-пакетов с флагом SYN на разные TCP-порты или более 10 UDP-пакетов на разные UDP-порты, то такое поведение фиксируется как port scan-атака, и все последующие пакеты такого рода от источника блокируются на второй заданный интервал времени (<TIME>). Злоумышленник не сможет быстро просканировать открытые порты на устройстве. | |||||
ip firewall screen spy-blocking spoofing | Данная команда включает защиту от ip spoofing-атак. При включенной защите маршрутизатор проверяет пакеты на соответствие адреса источника и записей в таблице маршрутизации, и в случае несоответствия пакет отбрасывается. Например, если пакет с адресом источника 10.0.0.1/24 приходит на интерфейс Gi1/0/1, а в таблице маршрутизации данная подсеть располагается за интерфейсом Gi1/0/2, то считается, что адрес источника был подменен. Защищает от вторжений в сеть с подмененными source IP-адресами. | |||||
| ip firewall screen spy-blocking spoofing exclude <object-group> | Данная команда исключает из защиты от IP-spoofing атак указанную Object Group. В Object Group помещается список из допустимых адресов, которые будут игнорироваться. Команда используется вместе с основной ip firewall screen spy-blocking spoofing, которая включает защиту, иначе она не будет иметь эффекта. В случае, если на маршрутизатор приходит spoofing от разрешённых подсетей (например, частый опрос устройств в сети), пакеты пропускаются. | |||||
ip firewall screen spy-blocking syn-fin | Данная команда включает блокировку TCP-пакетов с установленными флагами SYN и FIN. Такие пакеты являются нестандартными, и по ответу можно определить операционную систему жертвы. | |||||
| ip firewall screen spy-blocking | tcpicmp- | alltype destination- | flagunreachable | Данная команда включает блокировку | TCP-пакетов со всеми флагами или с набором флагов: FIN, PSH, URG. Обеспечивается защита от атаки XMASвсех ICMP-пакетов 3 типа (destination-unreachable), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов. | |
| ip firewall screen spy-blocking | tcpicmp- | notype echo- | flagrequest | Данная команда включает блокировку | TCP-пакетов с нулевым полем flags. Такие пакеты являются нестандартными, и по ответу можно определить операционную систему жертвывсех ICMP-пакетов 8 типа (echo-request), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов. | |
| ip firewall screen | suspiciousspy- | packetsblocking icmp- | fragmenttype reserved | Данная команда включает блокировку | фрагментированныхвсех ICMP-пакетов | . ICMP-пакеты обычно небольшого размера и необходимости в их фрагментировании нет2 и 7 типов (reserved), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов. |
| ip firewall screen | suspicious-packets ip-fragmentspy-blocking icmp-type source-quench | Данная команда включает блокировку | фрагментированных пакетов.всех ICMP-пакетов 4 типа (source quench), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов. | |||
| ip firewall screen | suspicious-packets large-icmpspy-blocking icmp-type time-exceeded | Данная команда включает блокировку всех ICMP-пакетов | длиной более 1024 байт11 типа (time exceeded), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов. | |||
| ip firewall screen | suspiciousspy- | packets synblocking ip- | fragmentsweep | Данная команда включает | блокировку фрагментированных TCP-пакетов с флагом SYN. TCP-пакеты с SYN-флагом обычно небольшого размера и необходимости в их фрагментировании нет. Защита предотвращает накопление фрагментированных пакетов в буферезащиту от IP sweep-атак. При включенной защите, если в течение заданного в параметрах интервала приходит более 10 ICMP-запросов от одного источника, первые 10 запросов пропускаются маршрутизатором, а 11 и последующие отбрасываются на оставшееся время интервала. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов. | |
ip firewall screen | suspiciousspy- | packets udpblocking port- | fragmentscan | Данная команда включает | блокировку фрагментированных UDP-пакетовзащиту от port scan-атак. Если в течение первого заданного интервала времени (<threshold>) на один источник приходит более 10 TCP-пакетов с флагом SYN на разные TCP-порты или более 10 UDP-пакетов на разные UDP-порты, то такое поведение фиксируется как port scan-атака, и все последующие пакеты такого рода от источника блокируются на второй заданный интервал времени (<TIME>). Злоумышленник не сможет быстро просканировать открытые порты на устройстве. | |
ip firewall screen | suspicious-packets unknown-protocolsspy-blocking spoofing | Данная команда включает | блокировку пакетов, с ID протокола в заголовке IP равном 137 и более.
Пример настройки логирования и защиты от сетевых атак
Задача:
Необходимо защитить LAN-сеть и маршрутизатор ESR от сетевых атак land, syn-flood, ICMP flood и настроить оповещение об атаках по SNMP на SNMP-сервер 192.168.0.10.
| Scroll Pagebreak |
|---|
Решение:
Предварительно необходимо настроить интерфейсы и firewall (настройка firewall или ее отсутствие не повлияют на работу защиты от сетевых атак):
защиту от ip spoofing-атак. При включенной защите маршрутизатор проверяет пакеты на соответствие адреса источника и записей в таблице маршрутизации, и в случае несоответствия пакет отбрасывается. Например, если пакет с адресом источника 10.0.0.1/24 приходит на интерфейс Gi1/0/1, а в таблице маршрутизации данная подсеть располагается за интерфейсом Gi1/0/2, то считается, что адрес источника был подменен. Защищает от вторжений в сеть с подмененными source IP-адресами. | |
| ip firewall screen spy-blocking spoofing exclude <object-group> | Данная команда исключает из защиты от IP-spoofing атак указанную Object Group. В Object Group помещается список из допустимых адресов, которые будут игнорироваться. Команда используется вместе с основной ip firewall screen spy-blocking spoofing, которая включает защиту, иначе она не будет иметь эффекта. В случае, если на маршрутизатор приходит spoofing от разрешённых подсетей (например, частый опрос устройств в сети), пакеты пропускаются. |
ip firewall screen spy-blocking syn-fin | Данная команда включает блокировку TCP-пакетов с установленными флагами SYN и FIN. Такие пакеты являются нестандартными, и по ответу можно определить операционную систему жертвы. |
ip firewall screen spy-blocking tcp-all-flag | Данная команда включает блокировку TCP-пакетов со всеми флагами или с набором флагов: FIN, PSH, URG. Обеспечивается защита от атаки XMAS. |
ip firewall screen spy-blocking tcp-no-flag | Данная команда включает блокировку TCP-пакетов с нулевым полем flags. Такие пакеты являются нестандартными, и по ответу можно определить операционную систему жертвы. |
ip firewall screen suspicious-packets icmp-fragment | Данная команда включает блокировку фрагментированных ICMP-пакетов. ICMP-пакеты обычно небольшого размера и необходимости в их фрагментировании нет. |
ip firewall screen suspicious-packets ip-fragment | Данная команда включает блокировку фрагментированных пакетов. |
ip firewall screen suspicious-packets large-icmp | Данная команда включает блокировку ICMP-пакетов длиной более 1024 байт. |
ip firewall screen suspicious-packets syn-fragment | Данная команда включает блокировку фрагментированных TCP-пакетов с флагом SYN. TCP-пакеты с SYN-флагом обычно небольшого размера и необходимости в их фрагментировании нет. Защита предотвращает накопление фрагментированных пакетов в буфере. |
ip firewall screen suspicious-packets udp-fragment | Данная команда включает блокировку фрагментированных UDP-пакетов. |
ip firewall screen suspicious-packets unknown-protocols | Данная команда включает блокировку пакетов, с ID протокола в заголовке IP равном 137 и более. |
Пример настройки логирования и защиты от сетевых атак
Задача:
Необходимо защитить LAN-сеть и маршрутизатор ESR от сетевых атак land, syn-flood, ICMP flood и настроить оповещение об атаках по SNMP на SNMP-сервер 192.168.0.10.
| Scroll Pagebreak |
|---|
Решение:
Предварительно необходимо настроить интерфейсы и firewall (настройка firewall или ее отсутствие не повлияют на работу защиты от сетевых атак):
| Блок кода |
|---|
esr(config)# security zone LAN |
| Блок кода |
esr(config)# security zone LAN esr(config-security-zone)# exit esr(config)# security zone WAN esr(config-security-zone)# exit esr(config)# security zone-pair LAN WAN esr(config-security-zone-pair)# rule 100 esr(config-security-zone-pair-rule)# action permit esr(config-security-zone-pair-rule)# enable esr(config-security-zone-pair-rule)# exit esr(config-security-zone-pair)# exit esr(config)# security zone-pair WAN LAN esr(config-security-zone-pair)# rule 100 esr(config-security-zone-pair-rule)# action permit esr(config-security-zone-pair-rule)# enable esr(config-security-zone-pair-rule)# exit esr(config)# security zone WAN esr(config-security-zone-pair)# exit esr(config)# exit security zone-pair LAN WAN esr(config-security-zone-pair)# interface gigabitethernet 1/0/1rule 100 esr(config-security-zone-ifpair-girule)# security-zone LANaction permit esr(config-if-gisecurity-zone-pair-rule)# ip address 192.168.0.1/24enable esr(config-if-gisecurity-zone-pair-rule)# exit esr(config-security-zone-pair)# interface gigabitethernet 1/0/2exit esr(config-if-gi)# security zone-zonepair WAN LAN esr(config-security-ifzone-gipair)# ip address rule 100 esr(config-security-zone-pair-rule)# action permit esr(config-security-zone-pair-rule)# enable esr(config-security-zone-pair-rule)# exit esr(config-security-zone-pair)# exit esr(config)# exit esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# security-zone LAN esr(config-if-gi)# ip address 192.168.0.1/24 esr(config-if-gi)# exit esr(config)# interface gigabitethernet 1/0/2 esr(config-if-gi)# security-zone WAN esr(config-if-gi)# ip address 10.0.0.1/24 esr(config-if-gi)# exit |
...
Firewall – комплекс аппаратных или программных средств, осуществляющий контроль и фильтрацию проходящих через него сетевых пакетов в соответствии с заданными правилами.
Алгоритм настройки
| Шаг | Описание | Команда | Ключи | |||
|---|---|---|---|---|---|---|
| 1 | Создать зоны безопасности. | esr(config)# security zone <zone-name1> esr(config)# security zone <zone-name2> | <zone-name> – до 12 символов. Имена all, any и self зарезервированы. | |||
| 2 | Задать описание зоны безопасности. | esr(config-security-zone)# description <description> | <description> – до 255 символов. | |||
| 3 | Указать экземпляр VRF, в котором будет работать данная зона безопасности (необязательно). | esr(config- security-zone)# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. | |||
| 4 | Включить счетчики сессий для NAT и Firewall (необязательно, снижает производительность). | esr(config)# ip firewall sessions counters | ||||
| 5 | Отключить фильтрацию пакетов, для которых не удалось определить принадлежность к какому-либо известному соединению и которые не являются началом нового соединения (необязательно, снижает производительность). | esr(config)# ip firewall sessions unknown <ACTION> | <ACTION> – правило обработки неизвестных сессий для межсетевого экрана: permit – разрешить неизвестные сессии; | |||
6 | Выбрать режим работы межсетевого экрана (необязательно). В режиме stateful проверяется только первый пакет сессии, и если «прямой» трафик разрешён, «ответный» трафик разрешается автоматически. В режиме stateless происходит проверка каждого пакета. «Прямой» и «ответный» трафики требуется разрешать в соответствующих zone-pair (см. шаг 29). Работа межсетевого экрана по списку приложений возможна только в режиме stateless. | esr(config)# ip firewall mode <MODE> | <MODE> – режим работы межсетевого экрана, может принимать значения: stateful, stateless. Значение по умолчанию: stateful. | |||
7 | Определить время жизни сессии для неподдерживаемых протоколов (необязательно). | esr(config)# ip firewall sessions generic-timeout <TIME> | <TIME> – время жизни сессии для неподдерживаемых протоколов, принимает значения в секундах [1..8553600]. По умолчанию: 60 секунд. | |||
8 | Определить время жизни ICMP-сессии, по истечении которого она считается устаревшей (необязательно). | esr(config)# ip firewall sessions icmp-timeout <TIME> | <TIME> – время жизни ICMP-сессии, принимает значения в секундах [1..8553600]. По умолчанию: 30 секунд. | |||
9 | Определить время жизни ICMPv6-сессии, по истечении которого она считается устаревшей (необязательно). | esr(config)# ip firewall sessions icmpv6-timeout <TIME> | <TIME> – время жизни ICMP-сессии, принимает значения в секундах [1..8553600]. По умолчанию: 30 секунд. | |||
10 | Определить размер таблицы сессий, ожидающих обработки (необязательно). | esr(config)# ip firewall sessions max-expect <COUNT> | <COUNT> – размер таблицы, принимает значения [1..8553600]. По умолчанию: 256. | |||
11 | Определить размер таблицы отслеживаемых сессий (необязательно). | esr(config)# ip firewall sessions max-tracking <COUNT> | <COUNT> – размер таблицы, принимает значения [1..8553600]. | |||
12 | Определить время жизни TCP-сессии в состоянии «соединение устанавливается», по истечении которого она считается устаревшей (необязательно). | esr(config)# ip firewall sessions tcp-connect-timeout <TIME> | <TIME> – время жизни TCP-сессии в состоянии «соединение устанавливается», принимает значения в секундах [1..8553600]. По умолчанию: 60 секунд. | |||
13 | Определить время жизни TCP-сессии в состоянии «соединение закрывается», по истечении которого она считается устаревшей (необязательно). | esr(config)# ip firewall sessions tcp-disconnect-timeout <TIME> | <TIME> – время жизни TCP-сессии в состоянии «соединение закрывается» принимает значения в секундах [1..8553600]. | |||
14 | Определить время жизни TCP-сессии в состоянии «соединение установлено», по истечении которого она считается устаревшей (необязательно). | esr(config)# ip firewall sessions tcp-established-timeout <TIME> | <TIME> – время жизни TCP-сессии в состоянии «соединение установлено», принимает значения в секундах [1..8553600]. По умолчанию: 120 секунд. | |||
15 | Определить время ожидания, по истечении которого происходит фактическое удаление закрытой TCP-сессии из таблицы отслеживаемых сессий (необязательно). | esr(config)# ip firewall sessions tcp-latecome-timeout <TIME> | <TIME> – время ожидания, принимает значения в секундах [1..8553600]. По умолчанию: 120 секунд. | |||
16 | Включить функцию отслеживания сессий уровня приложений для отдельных протоколов (необязательно). | esr(config)# ip firewall sessions tracking | <PROTOCOL> – протокол уровня приложений [ftp, h323, pptp, netbios-ns, tftp], сессии которого должны отслеживаться. <OBJECT-GROUP-SERVICE> – имя профиля TCP/UDP-портов sip-сессии, задаётся строкой до 31 символа. Если группа не указана, то отслеживание сессий sip будет осуществляться для порта 5060. Вместо имени отдельного протокола можно использовать ключ «all», который включает функцию отслеживания сессий уровня приложений для всех доступных протоколов. По умолчанию – отключено для всех протоколов. | |||
17 | Определить время жизни UDP-сессии в состоянии «соединение подтверждено», по истечении которого она считается устаревшей (необязательно). | esr(config)# ip firewall sessions udp-assured-timeout <TIME> | <TIME> – время жизни UDP-сессии в состоянии «соединение подтверждено», принимает значения в секундах [1..8553600]. По умолчанию: 180 секунд. | |||
18 | Определить время жизни UDP-сессии в состоянии «соединение не подтверждено», по истечении которого она считается устаревшей. | esr(config)# ip firewall sessions udp-wait-timeout <TIME> | <TIME> – время жизни UDP-сессии в состоянии «соединение не подтверждено», принимает значения в секундах [1..8553600]. По умолчанию: 30 секунд. | |||
| 19 | Создать списки MAC-адресов, которые будут использоваться при фильтрации. | esr(config)# object-group mac <obj-group-name> | <obj-group-name> – до 31 символа. | |||
| 20 | Задать описание списка MAC-адресов (необязательно). | esr(config-object-group-mac)# description <description> | <description> – описание профиля, задается строкой до 255 символов. | |||
| 21 | Внести необходимые MAC-адреса в список. | esr(config-object-group-mac)# mac address <ADDR> <WILDCARD> | <ADDR> – МАС-адрес, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. <WILDCARD> – маска МАС-адреса, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. Биты маски, установленные в 0, задают биты MAC-адреса, исключаемые из сравнения при поиске. | |||
22 | Создать списки IP-адресов, которые будут использоваться при фильтрации. | esr(config)# object-group network <obj-group-name> | <obj-group-name> – до 31 символа. | |||
23 | Задать описание списка IP-адресов (необязательно). | esr(config-object-group-network)# description <description> | <description> – описание профиля, задается строкой до 255 символов. | |||
24 | Внести необходимые IPv4/IPv6-адреса в список. | esr(config-object-group-network)# ip prefix <ADDR/LEN> [ unit <ID> ] | <ADDR/LEN> – подсеть, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. <ID> – номер юнита, принимает значения [1..4]. | |||
esr(config-object-group-network)# ip address-range | <FROM-ADDR> – начальный IP-адрес диапазона адресов; <TO-ADDR> – конечный IP-адрес диапазона адресов, опциональный параметр. Если параметр не указан, то командой задаётся одиночный IP-адрес. Адреса задаются в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. <ID> – номер юнита, принимает значения [1..4]. | |||||
esr(config-object-group-network)# ipv6 prefix <IPV6-ADDR/LEN> [ unit <ID> ] | <IPV6-ADDR/LEN> – IP-адрес и маска подсети, задаётся в виде X:X:X:X::X/EE, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и EE принимает значения [1..128]. <ID> – номер юнита, принимает значения [1..4]. | |||||
esr(config-object-group-network)# ipv6 address-range | <FROM-ADDR> – начальный IPv6-адрес диапазона адресов; <TO-ADDR> – конечный IPv6-адрес диапазона адресов, опциональный параметр. Если параметр не указан, то командой задаётся одиночный IPv6-адрес. Адреса задаются в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. <ID> – номер юнита, принимает значения [1..4]. | |||||
25 | Создать списки сервисов, которые будут использоваться при фильтрации. | esr(config)# object-group service <obj-group-name> | <obj-group-name> – имя профиля сервисов, задается строкой до 31 символа. | |||
26 | Задать описание списка сервисов (необязательно). | esr(config-object-group-service)# description <description> | <description> – описание профиля, задается строкой до 255 символов. | |||
27 | Внести необходимые сервисы (tcp/udp-порты) в список. | esr(config-object-group-service)# port-range <port> | <port> – принимает значение [1..65535]. Можно указать несколько портов перечислением через запятую «,» либо указать диапазон портов через «-». | |||
28 | Создать списки приложений, которые будут использоваться в механизме DPI. | esr(config)# object-group application <NAME> | <NAME> – имя профиля приложений, задается строкой до 31 символа. | |||
29 | Задать описание списка приложений (необязательно). | esr(config-object-group-application)# description <description> | <description> – описание профиля, задается строкой до 255 символов. | |||
30 | Внести необходимые приложения в списки. | esr(config-object-group-application)# application < APPLICATION > | <APPLICATION> – указывает приложение, попадающее под действие данного профиля. | |||
31 | Создать список доменных имен, которые будут использоваться при фильтрации. | esr(config)# object-group domain-name <NAME> | <NAME> – имя профиля доменных имен, задается строкой до 31 символа. | |||
32 | Задать описание списка доменных имен (необязательно). | esr(config-object-group-domain-name)# description <description> | <description> – описание профиля, задается строкой до 255 символов. | |||
33 | Внести необходимые доменные имена в списки. | esr(config-object-group-domain-name)# domain <DOMAIN> | <DOMAIN> – доменное имя, строка длинной от 1 до 253 символов. | |||
34 | Включить интерфейсы (физические, логические, E1/Multilink и подключаемые), сервер удаленного доступа (l2tp, openvpn, pptp) или туннели (gre, ip4ip4, l2tp, lt, pppoe, pptp) в зоны безопасности (если необходимо). | esr(config-if-gi)# security-zone <zone-name> | <zone-name> – до 12 символов. | |||
Отключить функции Firewall на сетевом интерфейсе (физические, логические, E1/Multilink и подключаемые), сервере удаленного доступа (l2tp, openvpn, pptp) или туннели (gre, ip4ip4, l2tp, lt, pppoe, pptp) (если необходимо). | esr(config-if-gi)# ip firewall disable | |||||
Отключить функции Firewall глобально на всех сетевых сущностях (если необходимо). | esr(config)# ip firewall disable | |||||
35 | Создать набор правил межзонового взаимодействия. На маршрутизаторе всегда существует зона безопасности с именем «self». Если в качестве получателя трафика выступает сам маршрутизатор, то есть трафик не является транзитным, то в качестве параметра указывается зона «self». Очерёдность обработки трафика для разных zone-pair описана в примечании. | esr(config)# security zone-pair <src-zone-name1> <dst-zone-name2> | <src-zone-name> – до 12 символов. <dst-zone-name> – до 12 символов. | |||
36 | Создать правило межзонового взаимодействия. | esr(config-security-zone-pair)# rule <rule-number> | <rule-number> – 1..10000. | |||
37 | Задать описание правила (необязательно). | esr(config-security-zone-pair)# description <description> | <description> – до 255 символов. | |||
38 | Указать действие данного правила. | esr(config-security-zone-pair-rule)# action <action> [ log ] | <action> – permit/deny/reject/netflow-sample/sflow-sample/rate-limit/session-limit
log – ключ для активации логирования сессий, устанавливающимися согласно данному правилу. | |||
39 | Установить имя или номер IP-протокола, для которого должно срабатывать правило (необязательно). | esr(config-security-zone-pair-rule)# match [not] protocol <protocol-type> | <protocol-type> – тип протокола, принимает значения: esp, icmp, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rdp, l2tp, gre. При указании значения «any» правило будет срабатывать для любых протоколов. | |||
esr(config-security-zone-pair-rule)# match [not] protocol-id <protocol-id> | <protocol-id> – идентификационный номер IP-протокола, принимает значения [0x00-0xFF]. | |||||
40 | Установить IP-адрес отправителя, для которых должно срабатывать правило (необязательно). | esr(config-security-zone-pair-rule)# match [not] source-address { address-range { <ADDR>[-<ADDR>] | <IPV6-ADDR>[-<IPV6-ADDR>] } | prefix { <ADDR/LEN> | <IPv6-ADDR/LEN> } |
| address-range <ADDR>[-<ADDR>] – диапазон IP-адресов для правил firewall. Если не указывать IP-адрес конца диапазона, то в качестве IP-адреса для срабатывания правила используется только IP-адрес начала диапазона. prefix <ADDR/LEN> – IP-подсеть, используемая для срабатывания правила фильтрации firewall. Параметр задаётся в виде A.B.C.D/E, где каждая часть A – D принимает значения [0..255] и E принимает значения [1..32]; <IPv6-ADDR/LEN> – IPv6-адрес, задаётся в виде X:X:X:X::X/E, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и E принимает значения [1..128]; object-group network <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, задаётся строкой до 31 символа; object-group domain-name <OBJ-GROUP-DOMAIN-NAME> – имя профиля доменных имен, задаётся строкой до 31 символа. При указании значения any правило будет срабатывать для любого IP-адреса получателя. | 41 | Установить IP-адрес получателя, для которых должно срабатывать правило (необязательно). | 1..128]; object-group network <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, задаётся строкой до 31 символа; object-group domain-name <OBJ-GROUP-DOMAIN-NAME> – имя профиля доменных имен, задаётся строкой до 31 символа. При указании значения any правило будет срабатывать для любого IP-адреса получателя. |
41 | Установить IP-адрес получателя, для которых должно срабатывать правило (необязательно). | esr(config-security-zone-pair-rule)# match [not] destination-address { address-range { <ADDR>[-<ADDR>] | <IPV6-ADDR>[-<IPV6-ADDR>] } | prefix { <ADDR/LEN> | <IPv6-ADDR/LEN> } | | ||||
42 | Установить MAC-адрес отправителя, для которого должно срабатывать правило (необязательно). | esr(config-security-zone-pair-rule)# match [not] source-mac {<mac-addr> | <OBJ-GROUP-NAME>} | <mac-addr> – задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. <OBJ-GROUP-NAME> – имя профиля MAC-адресов, задаётся строкой до 31 символа. | |||
43 | Установить MAC-адрес получателя, для которого должно срабатывать правило (необязательно). | esr(config-security-zone-pair-rule)# match [not] destination-mac {<mac-addr> | <OBJ-GROUP-NAME>} | ||||
44 | Установить TCP/UDP-порт отправителя, для которого должно срабатывать правило (если указан протокол). | esr(config-security-zone-pair-rule)# match [not] source-port <TYPE> {<PORT-SET-NAME> | <FROM-PORT> - <TO-PORT>} | <TYPE> – тип аргумента, устанавливаемый в качестве порта:
<PORT-SET-NAME> – задаётся строкой до 31 символа; <FROM-PORT> – начальный порт диапазона; <TO-PORT> – конечный порт диапазона. | |||
45 | Установить TCP/UDP-порт получателя, для которого должно срабатывать правило (если указан протокол). | esr(config-security-zone-pair-rule)# match [not] destination-port <TYPE> {<PORT-SET-NAME> | <FROM-PORT> - <TO-PORT>} | ||||
| 46 | Установить профиль приложений, который будет использоваться в механизме DPI. | esr(config-security-zone-pair-rule)# match [not] application <OBJ-GROUP-NAME> | <OBJ-GROUP-NAME> – имя профиля приложений, задаётся строкой до 31 символа. | |||
47 | Установить тип и код сообщений протокола ICMP, для которых должно срабатывать правило (если в качестве протокола выбран ICMP) (необязательно). | esr(config-security-zone-pair-rule)# match [not] icmp <ICMP_TYPE> <ICMP_CODE> | <ICMP_TYPE> – тип сообщения протокола ICMP, принимает значения [0..255]; <ICMP_CODE> – код сообщения протокола ICMP, принимает значения [0..255]. При указании значения «any» правило будет срабатывать для любого кода сообщения протокола ICMP. | |||
48 | Установить тип и код сообщений протокола ICMPv6, для которых должно срабатывать правило (если в качестве протокола выбран ICMP) (необязательно). | esr(config-security-zone-pair-rule)# match [not] icmpv6 <ICMP_TYPE> <ICMP_CODE> | <ICMP_TYPE> – тип сообщения протокола ICMPv6, принимает значения [0..255]; <ICMP_CODE> – код сообщения протокола ICMPv6, принимает значения [0..255]. При указании значения «any» правило будет срабатывать для любого кода сообщения протокола ICMP. | |||
49 | Установить ограничение, при котором правило будет срабатывать только для трафика, измененного сервисом трансляции IP-адресов и портов получателя. | esr(config-security-zone-pair-rule)# match [not] destination-nat | ||||
50 | Установить фильтрацию только для фрагментированных IP-пакетов (необязательно, доступно только для zone-pair any self и zone-pair <zone-name> any). | esr(config-security-zone-pair-rule)# match [not] fragment | ||||
51 | Установить фильтрацию для IP-пакетов, содержащих ip-option (необязательно, доступно только для zone-pair any self и zone-pair <zone-name> any). | esr(config-security-zone-pair-rule)# match [not] ip-option | ||||
52 | Включить правило межзонового взаимодействия. | esr(config-security-zone-pair-rule)# enable | ||||
53 | Активировать фильтрацию и режим отслеживания сессий при прохождении пакетов между участниками одной Bridge-группы (необязательно). | esr(config-bridge)# ports firewall enable | ||||
54 | Добавить работу правила безопасности по расписанию. | esr(config-security-zone-pair-rule)# scheduler <SCHEDULER> | <SCHEDULER> – название существующего в конфигурации расписания. |
| Якорь | ||||
|---|---|---|---|---|
|
Порядок обработки транзитного трафика правилами firewall
- Трафик проверяется правилами zone-pair user-zone any.
Если трафик не попал ни под одно из правил текущей zone-pair, переходим к следующему шагу.
Разрешение трафика правилом в этой zone-pair не пропускает проверки следующих zone-pair. - Если трафик передаётся с одного интерфейса на другой в пределах одной зоны (user-zone), то он проверяется правилами zone-pair user-zone user-zone.
Если трафик не попал ни под одно из правил текущей zone-pair, переходим к следующему шагу. - Если трафик передаётся с одного интерфейса на другой в разных зонах, то он проверяется правилами zone-pair user-zone1 user-zone2.
Если трафик не попал ни под одно из правил текущей zone-pair, переходим к следующему шагу. - Трафик проверяется правилами zone-pair any any.
Если трафик не попал ни под одно из правил текущей zone-pair, он отбрасывается.
Порядок обработки трафика, терминируемого на маршрутизаторе
- Трафик проверяется правилами zone-pair any self.
Если трафик не попал ни под одно из правил текущей zone-pair, переходим к следующему шагу.
Разрешение трафика правилом в этой zone-pair не пропускает проверки следующих zone-pair. - Трафик проверяется правилами zone-pair user-zone self.
Если трафик не попал ни под одно из правил текущей zone-pair, переходим к следующему шагу. - Трафик проверяется правилами zone-pair any any.
Если трафик не попал ни под одно из правил текущей zone-pair, он отбрасывается.
Каждая команда «match» может содержать ключ «not». При использовании данного ключа под правило будут подпадать пакеты, не удовлетворяющие заданному критерию.
Более подробная информация о командах для настройки межсетевого экрана содержится в справочнике команд CLI.
Пример настройки Firewall
Задача:
Разрешить обмен сообщениями по протоколу ICMP между устройствами R1, R2 и маршрутизатором ESR.
Решение:
Для каждой сети ESR создадим свою зону безопасности:
| Блок кода |
|---|
esr# configure
esr(config)# security zone LAN
esr(config-security-zone)# exit
esr(config)# security zone WAN
esr(config-security-zone)# exit |
| Scroll Pagebreak |
|---|
Настроим сетевые интерфейсы и определим их принадлежность к зонам безопасности:
| Блок кода |
|---|
esr(config)# interface gi1/0/2
esr(config-if-gi)# ip address 192.168.12.2/24
esr(config-if-gi)# security-zone LAN
esr(config-if-gi)# exit
esr(config)# interface gi1/0/3
esr(config-if-gi)# ip address 192.168.23.2/24
esr(config-if-gi)# security-zone WAN
esr(config-if-gi)# exit |
Для настройки правил зон безопасности потребуется создать профиль адресов сети «LAN», включающий адреса, которым разрешен выход в сеть «WAN», и профиль адресов сети «WAN».
| Блок кода |
|---|
esr(config)# object-group network WAN
esr(config-object-group-network)# ip address-range 192.168.23.2
esr(config-object-group-network)# exit
esr(config)# object-group network LAN
esr(config-object-group-network)# ip address-range 192.168.12.2
esr(config-object-group-network)# exit
esr(config)# object-group network LAN_GATEWAY
esr(config-object-group-network)# ip address-range 192.168.12.1
esr(config-object-group-network)# exit
esr(config)# object-group network WAN_GATEWAY
esr(config-object-group-network)# ip address-range 192.168.23.3
esr(config-object-group-network)# exit |
Для пропуска трафика из зоны «LAN» в зону «WAN» создадим пару зон и добавим правило, разрешающее проходить ICMP-трафику от R1 к R2. Действие правил разрешается командой enable:
| Блок кода |
|---|
esr(config)# security zone-pair LAN WAN
esr(config-security-zone-pair)# rule 1
esr(config-security-zone-pair-rule)# action permit
esr(config-security-zone-pair-rule)# match protocol icmp
esr(config-security-zone-pair-rule)# match destination-address object-group network WAN_GATEWAY
esr(config-security-zone-pair-rule)# match source-address object-group network LAN_GATEWAY
esr(config-security-zone-pair-rule)# enable
esr(config-security-zone-pair-rule)# exit
esr(config-security-zone-pair)# exit |
Для пропуска трафика из зоны «WAN» в зону «LAN» создадим пару зон и добавим правило, разрешающее проходить ICMP-трафику от R2 к R1. Действие правил разрешается командой enable:
| Блок кода |
|---|
esr(config)# security zone-pair WAN LAN
esr(config-security-zone-pair)# rule 1
esr(config-security-zone-pair-rule)# action permit
esr(config-security-zone-pair-rule)# match protocol icmp
esr(config-security-zone-pair-rule)# match destination-address object-group network LAN_GATEWAY
esr(config-security-zone-pair-rule)# match source-address object-group network WAN_GATEWAY
esr(config-security-zone-pair-rule)# enable
esr(config-security-zone-pair-rule)# exit
esr(config-security-zone-pair)# exit |
На маршрутизаторе всегда существует зона безопасности с именем «self». Если в качестве получателя трафика выступает сам маршрутизатор, то есть трафик не является транзитным, то в качестве параметра указывается зона «self». Создадим пару зон для трафика, идущего из зоны «WAN» в зону «self». Добавим правило, разрешающее проходить ICMP-трафику между R2 и маршрутизатором ESR, для того чтобы маршрутизатор начал отвечать на ICMP-запросы из зоны «WAN»:
| Блок кода |
|---|
esr(config)# security zone-pair WAN self
esr(config-security-zone-pair)# rule 1
esr(config-security-zone-pair-rule)# action permit
esr(config-security-zone-pair-rule)# match protocol icmp
esr(config-security-zone-pair-rule)# match destination-address object-group network WAN
esr(config-security-zone-pair-rule)# match source-address object-group network WAN_GATEWAY
esr(config-security-zone-pair-rule)# enable
esr(config-security-zone-pair-rule)# exit
esr(config-security-zone-pair)# exit |
Создадим пару зон для трафика, идущего из зоны «LAN» в зону «self». Добавим правило, разрешающее проходить ICMP-трафику между R1 и ESR, для того чтобы маршрутизатор начал отвечать на ICMP-запросы из зоны «LAN»:
| Блок кода |
|---|
esr(config)# security zone-pair LAN self esr(config-security-zone-pair)# rule 1 esr(config-security-zone-pair-rule)# action permit esr(config-security-zone-pair-rule)# |
...
42
...
Установить MAC-адрес отправителя, для которого должно срабатывать правило (необязательно).
match protocol icmp esr(config-security-zone-pair-rule)# match destination-address network object-group LAN esr(config-security-zone-pair-rule)# match |
...
source- |
...
<mac-addr> – задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF].
<OBJ-GROUP-NAME> – имя профиля MAC-адресов, задаётся строкой до 31 символа.
...
43
...
Установить MAC-адрес получателя, для которого должно срабатывать правило (необязательно).
address object-group network LAN_GATEWAY esr(config-security-zone-pair-rule)# |
...
44
...
Установить TCP/UDP-порт отправителя, для которого должно срабатывать правило (если указан протокол).
enable esr(config-security-zone-pair-rule)# exit esr(config-security-zone-pair |
...
<TYPE> – тип аргумента, устанавливаемый в качестве порта:
- object-group – указать имя профиля;
- port-range – указать диапазон портов;
- any – установить в качестве порта любой порт.
<PORT-SET-NAME> – задаётся строкой до 31 символа;
<FROM-PORT> – начальный порт диапазона;
<TO-PORT> – конечный порт диапазона.
...
45
...
Установить TCP/UDP-порт получателя, для которого должно срабатывать правило (если указан протокол).
...
esr(config-security-zone-pair-rule)# match [not] destination-port <TYPE> {<PORT-SET-NAME> | <FROM-PORT> - <TO-PORT>}
...
47
...
Установить тип и код сообщений протокола ICMP, для которых должно срабатывать правило (если в качестве протокола выбран ICMP) (необязательно).
)# exit
esr(config)# exit |
Посмотреть членство портов в зонах можно с помощью команды:
| Блок кода |
|---|
esr# show security zone |
Посмотреть пары зон и их конфигурацию можно с помощью команд:
| Блок кода |
|---|
esr# show security zone-pair
esr# show security zone-pair configuration |
Посмотреть активные сессии можно с помощью команд:
| Блок кода |
|---|
esr# show ip firewall sessions |
| Scroll Pagebreak |
|---|
Пример настройки Firewall по доменным именам
Задача:
Фиксировать обращения на ресурсы компании Yandex из локальной сети в Syslog:
Решение:
Создадим зоны безопасности для локальной сети и uplink-интерфейса в сторону интернет-провайдера:
| Блок кода |
|---|
esr# configure esr(config)# security zone LAN esr(config-security-zone)# exit esr(config)# security zone WAN esr(config-security-zone |
...
)# |
...
<ICMP_TYPE> – тип сообщения протокола ICMP, принимает значения [0..255];
<ICMP_CODE> – код сообщения протокола ICMP, принимает значения [0..255]. При указании значения «any» правило будет срабатывать для любого кода сообщения протокола ICMP.
...
48
...
Установить тип и код сообщений протокола ICMPv6, для которых должно срабатывать правило (если в качестве протокола выбран ICMP) (необязательно).
...
esr(config-security-zone-pair-rule)# match [not] icmpv6 <ICMP_TYPE> <ICMP_CODE>
...
<ICMP_TYPE> – тип сообщения протокола ICMPv6, принимает значения [0..255];
<ICMP_CODE> – код сообщения протокола ICMPv6, принимает значения [0..255]. При указании значения «any» правило будет срабатывать для любого кода сообщения протокола ICMP.
...
49
...
Установить ограничение, при котором правило будет срабатывать только для трафика, измененного сервисом трансляции IP-адресов и портов получателя.
...
esr(config-security-zone-pair-rule)# match [not] destination-nat
...
50
...
Установить фильтрацию только для фрагментированных IP-пакетов (необязательно, доступно только для zone-pair any self и zone-pair <zone-name> any).
...
esr(config-security-zone-pair-rule)# match [not] fragment
...
51
...
Установить фильтрацию для IP-пакетов, содержащих ip-option (необязательно, доступно только для zone-pair any self и zone-pair <zone-name> any).
...
esr(config-security-zone-pair-rule)# match [not] ip-option
...
52
...
Включить правило межзонового взаимодействия.
...
esr(config-security-zone-pair-rule)# enable
...
53
...
Активировать фильтрацию и режим отслеживания сессий при прохождении пакетов между участниками одной Bridge-группы (необязательно).
...
esr(config-bridge)# ports firewall enable
...
Порядок обработки транзитного трафика правилами firewall
- Трафик проверяется правилами zone-pair user-zone any.
Если трафик не попал ни под одно из правил текущей zone-pair, переходим к следующему шагу. - Если трафик передаётся с одного интерфейса на другой в пределах одной зоны (user-zone), то он проверяется правилами zone-pair user-zone user-zone.
Если трафик не попал ни под одно из правил текущей zone-pair, переходим к следующему шагу. - Если трафик передаётся с одного интерфейса на другой в разных зонах, то он проверяется правилами zone-pair user-zone1 user-zone2.
Если трафик не попал ни под одно из правил текущей zone-pair, переходим к следующему шагу. - Трафик проверяется правилами zone-pair any any.
Если трафик не попал ни под одно из правил текущей zone-pair, он отбрасывается.
Порядок обработки трафика, терминируемого на маршрутизаторе
- Трафик проверяется правилами zone-pair any self.
Если трафик не попал ни под одно из правил текущей zone-pair, переходим к следующему шагу. - Трафик проверяется правилами zone-pair user-zone self.
Если трафик не попал ни под одно из правил текущей zone-pair, он отбрасывается.
Каждая команда «match» может содержать ключ «not». При использовании данного ключа под правило будут подпадать пакеты, не удовлетворяющие заданному критерию.
Более подробная информация о командах для настройки межсетевого экрана содержится в справочнике команд CLI.
Пример настройки Firewall
Задача:
Разрешить обмен сообщениями по протоколу ICMP между устройствами R1, R2 и маршрутизатором ESR.
Решение:
Для каждой сети ESR создадим свою зону безопасности:
| Блок кода |
|---|
esr# configure
esr(config)# security zone LAN
esr(config-security-zone)# exit
esr(config)# security zone WAN
esr(config-security-zone)# exit |
Настроим сетевые интерфейсы и определим их принадлежность к зонам безопасности:
| Блок кода |
|---|
esr(config)# interface gi1/0/2
esr(config-if-gi)# ip address 192.168.12.2/24
esr(config-if-gi)# security-zone LAN
esr(config-if-gi)# exit
esr(config)# interface gi1/0/3
esr(config-if-gi)# ip address 192.168.23.2/24
esr(config-if-gi)# security-zone WAN
esr(config-if-gi)# exit |
Для настройки правил зон безопасности потребуется создать профиль адресов сети «LAN», включающий адреса, которым разрешен выход в сеть «WAN», и профиль адресов сети «WAN».
| Блок кода |
|---|
esr(config)# object-group network WAN
esr(config-object-group-network)# ip address-range 192.168.23.2
esr(config-object-group-network)# exit
esr(config)# object-group network LAN
esr(config-object-group-network)# ip address-range 192.168.12.2
esr(config-object-group-network)# exit
esr(config)# object-group network LAN_GATEWAY
esr(config-object-group-network)# ip address-range 192.168.12.1
esr(config-object-group-network)# exit
esr(config)# object-group network WAN_GATEWAY
esr(config-object-group-network)# ip address-range 192.168.23.3
esr(config-object-group-network)# exit |
Для пропуска трафика из зоны «LAN» в зону «WAN» создадим пару зон и добавим правило, разрешающее проходить ICMP-трафику от R1 к R2. Действие правил разрешается командой enable:
| Блок кода |
|---|
esr(config)# security zone-pair LAN WAN
esr(config-security-zone-pair)# rule 1
esr(config-security-zone-pair-rule)# action permit
esr(config-security-zone-pair-rule)# match protocol icmp
esr(config-security-zone-pair-rule)# match destination-address object-group network WAN_GATEWAY
esr(config-security-zone-pair-rule)# match source-address object-group network LAN_GATEWAY
esr(config-security-zone-pair-rule)# enable
esr(config-security-zone-pair-rule)# exit
esr(config-security-zone-pair)# exit |
...
exit |
Настроим сетевые интерфейсы и определим их принадлежность к зонам безопасности:
| Блок кода |
|---|
esr(config)# interface gi1/0/1
esr(config-if-gi)# ip address 10.0.0.1/24
esr(config-if-gi)# security-zone WAN
esr(config-if-gi)# exit
esr(config)# interface gi1/0/2
esr(config-if-te)# ip address 192.168.0.1/24
esr(config-if-te)# security-zone LAN
esr(config-if-te)# exit |
Настроим маршрут по умолчанию в сторону интернет-провайдера:
| Блок кода |
|---|
esr(config)# ip route 0.0.0.0/0 10.0.0.254
|
Настроим систему разрешения доменных имен, её настройка необходима для работы Firewall по доменным именам:
| Блок кода |
|---|
esr(config)# domain lookup enable
esr(config)# domain nameserver 10.0.0.254 |
| Scroll Pagebreak |
|---|
Настроим простую конфигурацию Source-NAT для любого транзитного через ESR трафика:
| Блок кода |
|---|
esr(config)# nat source
esr(config-snat)# ruleset SNAT
esr(config-snat-ruleset)# to zone WAN
esr(config-snat-ruleset)# rule 1
esr(config-snat-rule)# action source-nat interface
esr(config-snat-rule)# enable
esr(config-snat-rule)# exit
esr(config-snat-ruleset)# exit
esr(config-snat)# exit |
Создадим профиль доменных имен, включающий в себя популярные домены компании "Яндекс":
| Информация |
|---|
ESR также позволяет работать с интернационализованными доменными именами (домены, использующие символы национальных алфавитов). Для использования интернационализованного доменного имени в конфигурации ESR его нужно преобразовать к виду ASCII-compatible encoding при помощи любого Punycode-преобразователя. Т. е. получим: президент.рф → xn--d1abbgf6aiiy.xn–p1ai И уже ASCII-compatible encoding вариант доменного имени можно указывать в конфигурации ESR. |
| Блок кода |
|---|
esr(config)# object-group domain-name YANDEX
esr(config-object-group-domain-name)# domain ya.ru
esr(config-object-group-domain-name)# domain yandex.ru
esr(config-object-group-domain-name)# domain dzen.ru
esr(config-object-group-domain-name)# domain xn--d1acpjx3f.xn--p1ai
esr(config-object-group-domain-name)# exit |
Разрешим прохождение трафика из зоны «LAN» в зону «WAN» и отдельно создадим правило, которое будет фиксировать в Syslog обращения на домены компании "Яндекс":
| Блок кода |
|---|
esr(config)# security zone-pair LAN WAN
esr(config-security-zone-pair)# rule 1
esr(config-security-zone-pair-rule)# action permit log
esr(config-security-zone-pair-rule)# match destination-address object-group domain-name YANDEX
esr(config-security-zone-pair-rule)# enable
esr(config-security-zone-pair-rule)# exit
esr(config-security-zone-pair)# rule 2
esr(config-security-zone-pair-rule)# action permit
esr(config-security-zone-pair-rule)# enable
esr(config-security-zone-pair-rule)# exit
esr(config-security-zone-pair)# exit |
Посмотреть членство портов в зонах можно с помощью команды:
| Блок кода |
|---|
esr# show security zone |
| Scroll Pagebreak |
|---|
Посмотреть пары зон и их конфигурацию можно с помощью команд:
| Блок кода |
|---|
esr# show security zone-pair
esr# show security zone-pair configuration |
Посмотреть активные сессии можно с помощью команд:
| Блок кода |
|---|
esr# show ip firewall sessions |
Посмотреть кэш DNS можно с помощью команд:
| Блок кода |
|---|
esr# show dns records
esr# show dns records negative |
Пример сообщения Syslog при срабатывании правила:
| Блок кода |
|---|
<190>1 2025-07-07T17:40:10+07:00 esr firewalld - - - %FIREWALL-I-LOG: zone-pair 'LAN WAN' rule 1 permitted tcp 192.168.0.21:45574 (gi1/0/2) -> 77.88.44.55:443 dscp 48 |
Пример настройки фильтрации приложений (DPI)
| Примечание |
|---|
Использование механизма фильтрации приложений многократно снижает производительность маршрутизатора из-за необходимости проверки определенного объема пакетов в каждой сессии. Производительность снижается с ростом количества выбранных приложений для фильтрации. Механизм фильтрации приложений работает только для транзитных пакетов и только в режиме черного списка (запрет прохождения трафика для указанных приложений). |
Задача:
Блокировать доступ пользователей в локальной сети к Telegram, Facebook Messenger и Skype.
Решение:
Для каждой сети ESR создадим свою зону безопасности:
| Блок кода |
|---|
esr# configure
esr(config)# security zone LAN
esr(config-security-zone)# exit
esr(config)# security zone WAN
esr(config-security-zone)# exit |
| Scroll Pagebreak |
|---|
Настроим сетевые интерфейсы и определим их принадлежность к зонам безопасности
...
:
| Блок кода |
|---|
esr(config)# security zone-pair WAN LANinterface gi1/0/1 esr(config-securityif-zone-pairgi)# ip rule 1address 10.0.0.1/24 esr(config-if-gi)# security-zone-pair-rule WAN esr(config-if-gi)# exit esr(config)# action permitinterface gi1/0/2 esr(config-security-zone-pair-ruleif-te)# matchip protocol icmpaddress 192.168.0.1/24 esr(config-if-te)# security-zone-pair-rule LAN esr(config-if-te)# match destination-addressexit |
Для настройки правил зон безопасности потребуется создать профиль приложений, которые необходимо будет блокировать:
| Блок кода |
|---|
esr(config)# object-group networkapplication LAN_GATEWAYBLACKLIST esr(config-securityobject-zonegroup-pair-ruleapplication)# match source-address object-group network WAN_GATEWAYapplication telegram esr(config-securityobject-zonegroup-pair-ruleapplication)# application enablefacebook-messenger esr(config-securityobject-zonegroup-pair-ruleapplication)# exitapplication skype-teams esr(config-securityobject-zonegroup-pairapplication)# exit |
Для установки правил прохождения трафика На маршрутизаторе всегда существует зона безопасности с именем «self». Если в качестве получателя трафика выступает сам маршрутизатор, то есть трафик не является транзитным, то в качестве параметра указывается зона «self». Создадим пару зон для трафика, идущего из зоны «WAN» в зону «self». Добавим «LAN» создадим пару зон и добавим правило, разрешающее запрещающее проходить ICMP- трафику между R2 и маршрутизатором ESR, для того чтобы маршрутизатор начал отвечать на ICMP-запросы из зоны «WAN»приложений, и правило, разрешающее проходить остальному трафику. Действие правил разрешается командой enable:
| Блок кода |
|---|
esr(config)# security zone-pair WAN selfLAN esr(config-security-zone-pair)# rule 1 esr(config-security-zone-pair-rule)# action permitdeny esr(config-security-zone-pair-rule)# match protocolapplication icmpBLACKLIST esr(config-security-zone-pair-rule)# match destination-address object-group network WANenable esr(config-security-zone-pair-rule)# exit esr(config-security-zone-pair)# rule 2 esr(config-security-zone-pair-rule)# match source-address object-group network WAN_GATEWAYaction permit esr(config-security-zone-pair-rule)# enable esr(config-security-zone-pair-rule)# exit esr(config-security-zone-pair)# exit |
| Scroll Pagebreak |
|---|
Создадим пару зон для трафика, идущего Для установки правил прохождения трафика из зоны «LAN» в зону «self». Добавим правило, разрешающее проходить ICMP-трафику между R1 и ESR, для того чтобы маршрутизатор начал отвечать на ICMP-запросы из зоны «LAN»«WAN» создадим пару зон и добавим правило, запрещающее прохождение трафика приложений, и правило, разрешающее прохождение всего остального трафика. Действие правил разрешается командой enable:
| Блок кода |
|---|
esr(config)# security zone-pair LAN selfWAN esr(config-security-zone-pair)# rule 1 esr(config-security-zone-pair-rule)# action permitdeny esr(config-security-zone-pair-rule)# match protocolapplication icmpBLACKLIST esr(config-security-zone-pair-rule)# match destination-address network object-group LANenable esr(config-security-zone-pair-rule)# match source-address object-group network LAN_GATEWAYexit esr(config-security-zone-pair)# rule 2 esr(config-security-zone-pair-rule)# action enablepermit esr(config-security-zone-pair-rule)# exitenable esr(config-security-zone-pair-rule)# exit esr(config-security-zone-pair)# exit |
| Scroll Pagebreak |
|---|
Посмотреть членство портов в зонах можно с помощью команды:
...
| Блок кода |
|---|
esr# show ip firewall sessions |
Пример настройки Firewall по доменным именам
Задача:
Фиксировать обращения на ресурсы компании Yandex из локальной сети в Syslog:
| Scroll Pagebreak |
|---|
Пример настройки Firewall по расписанию
| Примечание |
|---|
Использование механизма фильтрации приложений многократно снижает производительность маршрутизатора из-за необходимости проверки определенного объема пакетов в каждой сессии. Производительность снижается с ростом количества выбранных приложений для фильтрации. Механизм фильтрации приложений работает только для транзитных пакетов и только в режиме черного списка (запрет прохождения трафика для указанных приложений). |
Задача:
Блокировать доступ пользователей из локальной сети к YouTube в рабочее время, начиная с 1 января 2026 года.
Решение:
Создадим зоны безопасности для локальной сети и uplink-интерфейса в сторону интернет-провайдера:
| Блок кода |
|---|
esr# configure
esr(config)# security zone LAN
esr(config-security-zone)# exit
esr(config)# security zone WAN
esr(config-security-zone)# exit |
Настроим сетевые интерфейсы и определим их принадлежность к зонам безопасности:
:
| Блок кода |
|---|
esr# configure
esr(config)# security zone LAN |
| Блок кода |
esr(config)# interface gi1/0/1 esr(config-if-gi)# ip address 10.0.0.1/24 esr(config-if-gi)# security-zone WAN esr(config-if-gi)# exit esr(config)# interface gi1/0/2 esr(config-if-te)# ip address 192.168.0.1/24 esr(config-if-te)# security-zone LAN esr(config-ifsecurity-tezone)# exit |
Настроим маршрут по умолчанию в сторону интернет-провайдера:
| Блок кода |
|---|
esr(config)# ip route 0.0.0.0/0 10.0.0.254
|
Настроим систему разрешения доменных имен, её настройка необходима для работы Firewall по доменным именам:
| Блок кода |
|---|
esr(config)# domainsecurity lookupzone enableWAN esr(config-security-zone)# domain nameserver 10.0.0.254 |
...
exit |
| Scroll Pagebreak |
|---|
Настроим сетевые интерфейсы и определим их принадлежность к зонам безопасности:
| Блок кода |
|---|
esr(config)# nat sourceinterface gi1/0/1 esr(config-if-snatgi)# ip ruleset SNATaddress 10.0.0.1/24 esr(config-snatif-rulesetgi)# to security-zone WAN esr(config-snatif-rulesetgi)# rule 1 esr(config-snat-rule)# action source-nat interfaceexit esr(config-snat-ruleconfig)# enableinterface gi1/0/2 esr(config-snatif-rulete)# exit ip address 192.168.0.1/24 esr(config-snatif-rulesette)# exit security-zone LAN esr(config-if-snatte)# exit |
| Scroll Pagebreak |
|---|
Создадим профиль доменных имен, включающий в себя популярные домены компании "Яндекс":
| Информация |
|---|
ESR также позволяет работать с интернационализованными доменными именами (домены, использующие символы национальных алфавитов). Для использования интернационализованного доменного имени в конфигурации ESR его нужно преобразовать к виду ASCII-compatible encoding при помощи любого Punycode-преобразователя. Т. е. получим: президент.рф → xn--d1abbgf6aiiy.xn–p1ai И уже ASCII-compatible encoding вариант доменного имени можно указывать в конфигурации ESR. |
Настроим маршрут по умолчанию в сторону интернет-провайдера:
| Блок кода |
|---|
esr(config)# ip route 0.0.0.0/0 10.0.0.254
|
Создадим расписание, по которому будет активироваться правило.
| Блок кода |
|---|
esr(config)# scheduler WORK_HOURS
esr(config-scheduler)# periodic weekdays
esr(config-scheduler-weekdays)# start-time 08:00:00 stop-time 12:00:00
esr(config-scheduler-weekdays)# start-time 13:00:00 stop-time 17:00:00
esr(config-scheduler-weekdays)# exit
esr(config-scheduler)# start-date 00:00:00 01 January 2026
esr(config-scheduler)# exit |
Для настройки правил зон безопасности потребуется создать профиль приложений, которые необходимо будет блокировать:
| Блок кода |
|---|
esr(config)# object-group application BLACKLIST |
| Блок кода |
esr(config)# object-group domain-name YANDEX esr(config-object-group-domain-name)# domain ya.ru esr(config-object-group-domain-name)# domain yandex.ru esr(config-object-group-domain-name)# domain dzen.ru esr(config-object-group-domain-nameapplication)# domain xn--d1acpjx3f.xn--p1aiapplication youtube esr(config-object-group-domain-nameapplication)# exit |
Для установки правил прохождения Разрешим прохождение трафика из зоны «LAN» «WAN» в зону «WAN» и отдельно создадим правило, которое будет фиксировать в Syslog обращения на домены компании "Яндекс"«LAN» создадим пару зон и добавим правило, запрещающее проходить трафику приложений, и правило, разрешающее проходить остальному трафику. Действие правил разрешается командой enable:
| Блок кода |
|---|
esr(config)# security zone-pair WAN LAN WAN esr(config-security-zone-pair)# rule 1 esr(config-security-zone-pair-rule)# action permit logdeny esr(config-security-zone-pair-rule)# match destination-address object-group domain-name YANDEX application BLACKLIST esr(config-security-zone-pair-rule)# scheduler WORK_HOURS esr(config-security-zone-pair-rule)# enable esr(config-security-zone-pair-rule)# exit esr(config-security-zone-pair)# rule 2 esr(config-security-zone-pair-rule)# action permit esr(config-security-zone-pair-rule)# enable esr(config-security-zone-pair-rule)# exit esr(config-security-zone-pair)# exit |
Посмотреть членство портов в зонах можно с помощью команды:
| Блок кода |
|---|
esr# show security zone |
Посмотреть пары зон и их конфигурацию можно с помощью команд:
| Блок кода |
|---|
esr# show security zone-pair
esr# show security zone-pair configuration |
Посмотреть активные сессии можно с помощью команд:
| Блок кода |
|---|
esr# show ip firewall sessions |
Посмотреть кэш DNS можно с помощью команд:
| Блок кода |
|---|
esr# show dns records
esr# show dns records negative |
Пример сообщения Syslog при срабатывании правила:
| Блок кода |
|---|
<190>1 2025-07-07T17:40:10+07:00 esr firewalld - - - %FIREWALL-I-LOG: zone-pair 'LAN WAN' rule 1 permitted tcp 192.168.0.21:45574 (gi1/0/2) -> 77.88.44.55:443 dscp 48 |
Пример настройки фильтрации приложений (DPI)
| Примечание |
|---|
Использование механизма фильтрации приложений многократно снижает производительность маршрутизатора из-за необходимости проверки определенного объема пакетов в каждой сессии. Производительность снижается с ростом количества выбранных приложений для фильтрации. Механизм фильтрации приложений работает только для транзитных пакетов и только в режиме черного списка (запрет прохождения трафика для указанных приложений). |
Задача:
Блокировать доступ пользователей в локальной сети к Telegram, Facebook Messenger и Skype.
Решение:
Для каждой сети ESR создадим свою зону безопасности:
| Scroll Pagebreak |
|---|
Для установки правил прохождения трафика из зоны «LAN» в зону «WAN» создадим пару зон и добавим правило, запрещающее прохождение трафика приложений, и правило, разрешающее прохождение всего остального трафика. Действие правил разрешается командой enable:
| Блок кода |
|---|
esr(config)# security zone-pair LAN WAN
esr(config-security-zone-pair)# rule 1
esr(config-security-zone-pair-rule)# action deny
esr(config-security-zone-pair-rule)# match application BLACKLIST
esr(config-security-zone-pair-rule)# scheduler WORK_HOURS
esr(config-security-zone-pair-rule)# enable
esr(config-security-zone-pair-rule)# exit |
| Блок кода |
esr# configure esr(config)# security zone LAN esr(config-security-zone-pair)# rule exit2 esr(config-security-zone-pair-rule)# action permit esr(config-security-zone-pair-rule)# enable esr(config-security-zone WAN-pair-rule)# exit esr(config-security-zone-pair)# exit |
Настроим сетевые интерфейсы и определим их принадлежность к зонам безопасности:
| Блок кода |
|---|
esr(config)# interface gi1/0/1
esr(config-if-gi)# ip address 10.0.0.1/24
esr(config-if-gi)# security-zone WAN
esr(config-if-gi)# exit
esr(config)# interface gi1/0/2
esr(config-if-te)# ip address 192.168.0.1/24
esr(config-if-te)# security-zone LAN
esr(config-if-te)# exit |
Для настройки правил зон безопасности потребуется создать профиль приложений, которые необходимо будет блокировать:
| Блок кода |
|---|
esr(config)# object-group application BLACKLIST
esr(config-object-group-application)# application telegram
esr(config-object-group-application)# application facebook-messenger
esr(config-object-group-application)# application skype-teams
esr(config-object-group-application)# exit |
Для установки правил прохождения трафика из зоны «WAN» в зону «LAN» создадим пару зон и добавим правило, запрещающее проходить трафику приложений, и правило, разрешающее проходить остальному трафику. Действие правил разрешается командой enable:
| Блок кода |
|---|
esr(config)# security zone-pair WAN LAN
esr(config-security-zone-pair)# rule 1
esr(config-security-zone-pair-rule)# action deny
esr(config-security-zone-pair-rule)# match application BLACKLIST
esr(config-security-zone-pair-rule)# enable
esr(config-security-zone-pair-rule)# exit
esr(config-security-zone-pair)# rule 2
esr(config-security-zone-pair-rule)# action permit
esr(config-security-zone-pair-rule)# enable
esr(config-security-zone-pair-rule)# exit
esr(config-security-zone-pair)# exit |
Для установки правил прохождения трафика из зоны «LAN» в зону «WAN» создадим пару зон и добавим правило, запрещающее прохождение трафика приложений, и правило, разрешающее прохождение всего остального трафика. Действие правил разрешается командой enable:
| Блок кода |
|---|
esr(config)# security zone-pair LAN WAN
esr(config-security-zone-pair)# rule 1
esr(config-security-zone-pair-rule)# action deny
esr(config-security-zone-pair-rule)# match application BLACKLIST
esr(config-security-zone-pair-rule)# enable
esr(config-security-zone-pair-rule)# exit
esr(config-security-zone-pair)# rule 2
esr(config-security-zone-pair-rule)# action permit
esr(config-security-zone-pair-rule)# enable
esr(config-security-zone-pair-rule)# exit
esr(config-security-zone-pair)# exit |
Посмотреть членство портов в зонах можно с помощью команды:
| Блок кода |
|---|
esr# show security zone |
Посмотреть пары зон и их конфигурацию можно с помощью команд:
| Блок кода |
|---|
esr# show security zone-pair
esr# show security zone-pair configuration |
Посмотреть активные сессии можно с помощью команд:
| Блок кода |
|---|
esr# show ip firewall sessions |
Настройка списков доступа (ACL)
Access Control List или ACL — список контроля доступа, содержит правила, определяющие прохождение трафика через интерфейс.
Алгоритм настройки
Посмотреть членство портов в зонах можно с помощью команды:
| Блок кода |
|---|
esr# show security zone |
Посмотреть пары зон и их конфигурацию можно с помощью команд:
| Блок кода |
|---|
esr# show security zone-pair
esr# show security zone-pair configuration |
Настройка списков доступа (IP ACL)
IP Access Control List или IP ACL — список контроля доступа, содержит правила, определяющие прохождение трафика через интерфейс.
Алгоритм настройки
| Шаг | Описание | Команда | Ключи | |||
|---|---|---|---|---|---|---|
| 1 | Создать список контроля доступа и перейти в режим его конфигурирования. | esr(config)# ip access-list extended <NAME> | <NAME> – имя создаваемого списка контроля доступа, задаётся строкой до 31 символа. | |||
| 2 | Указать описание конфигурируемого списка контроля доступа (необязательно). | esr(config-acl-ip)# description <DESCRIPTION> | <DESCRIPTION> – описание списка контроля доступа, задаётся строкой до 255 символов. | |||
| 3 | Создать правило и перейти в режим его конфигурирования. Правила обрабатываются маршрутизатором в порядке возрастания их номеров. | esr(config-acl-ip)# rule <ORDER> | <ORDER> – номер правила, принимает значения [1...4094]. | |||
| 4 | Указать действие, которое должно быть применено для трафика, удовлетворяющего заданным критериям. | esr(config-acl-ip-rule)# action <ACT> | <ACT> – назначаемое действие:
| |||
| 5 | Установить имя/номер протокола, для которого должно срабатывать правило (необязательно). | esr(config-acl-ip-rule)# match protocol <TYPE> | <TYPE> – тип протокола, принимает значения: esp, icmp, icmp6, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rsvp, l2tp, gre. При указании значения «any» правило будет срабатывать для любых протоколов. | |||
esr(config-acl-ip-rule)# match protocol-id <ID> | <ID> – идентификационный номер IP-протокола, принимает значения [0x00-0xFF]. | |||||
6 | Установить IP-адреса отправителя, для которых должно срабатывать правило (необязательно). | esr(config-acl-ip-rule)# match source-address { <ADDR> <MASK> | any } | <ADDR> – IP-адрес отправителя, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <MASK> – маска IP-адреса, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. Биты маски, установленные в 0, задают биты IP-адреса, исключаемые из сравнения при поиске. При указании значения «any» правило будет срабатывать для любого IP-адреса отправителя/получателя. | |||
7 | Установить IP-адреса получателя, для которых должно срабатывать правило (необязательно). | esr(config-acl-ip-rule)# match destination-address { <ADDR> <MASK> | any } | ||||
8 | Установить MAC-адреса отправителя, для которых должно срабатывать правило (необязательно). | esr(config-acl-ip-rule)# match source-mac <ADDR><WILDCARD> | <ADDR> – МАС-адрес отправителя, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]; <WILDCARD> – маска МАС-адреса, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. Биты маски, установленные в 0, задают биты MAC-адреса, исключаемые из сравнения при поиске. | |||
9 | Установить MAC-адреса получателя, для которых должно срабатывать правило (необязательно). | esr(config-acl-ip-rule)# match destination-mac <ADDR><WILDCARD> | ||||
10 | Установить номер TCP/UDP-порта отправителя, для которого должно срабатывать правило (если указан протокол). | esr(config-acl-ip-rule)# match source-port <TYPE> {<FROM-PORT> - <TO-PORT> | <PORT>} | <TYPE> – тип аргумента, устанавливаемый в качестве порта:
<FROM-PORT> – начальный порт диапазона; <TO-PORT> – конечный порт диапазона; <PORT> – указание единичного порта. | |||
11 | Установить номер TCP/UDP-порта получателя, для которого должно срабатывать правило (если указан протокол). | esr(config-acl-ip-rule)# match destination-port <TYPE> {<FROM-PORT> - <TO-PORT> | <PORT>} | ||||
12 | Установить значение 802.1p приоритета, для которого должно срабатывать правило (необязательно). | esr(config-acl-ip-rule)# match сos <COS> | <COS> – значение 802.1p приоритета, принимает значения [0..7]. | |||
13 | Установить значение кода DSCP, для которого должно срабатывать правило (необязательно). Невозможно использовать совместно с IP Precedence. | esr(config-acl-ip-rule)# match dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения [0..63]. | |||
14 | Установить значение кода IP Precedence, для которого должно срабатывать правило (необязательно). Невозможно использовать совместно с DSCP. | esr(config-acl-ip-rule)# match ip-precedence <IPP> | <IPP> – значение кода IP Precedence, принимает значения [0..7]. | |||
15 | Установить значение идентификационного номера VLAN, для которого должно срабатывать правило (необязательно). | esr(config-acl-ip-rule)# match vlan <VID> | <VID> – идентификационный номер VLAN, принимает значения [1..4094]. | |||
16 | Активировать правило. | esr(config-acl-ip-rule)# enable | ||||
17 | Указать список контроля доступа к конфигурируемому интерфейсу для фильтрации входящего трафика. | esr(config-if-gi)# service-acl ip input <NAME> | <NAME> – имя | |||
| Шаг | Описание | Команда | Ключи | |||
| 1 | Создать список контроля доступа и перейти в режим его конфигурирования. | esr(config)# ip access-list extended <NAME> | <NAME> – имя создаваемого списка контроля доступа, задаётся строкой до 31 символа. | |||
| 218 | Указать описание конфигурируемого списка список контроля доступа (необязательно)к конфигурируемому интерфейсу для фильтрации исходящего трафика. | esr(config-if-aclgi)# description <DESCRIPTION>service-acl ip output <NAME> | <NAME> – имя <DESCRIPTION> – описание списка контроля доступа, задаётся строкой до 255 символов. | 3 | Создать правило и перейти в режим его конфигурирования. Правила обрабатываются маршрутизатором в порядке возрастания их номеров. | 31 символа. |
Также списки доступа могут использоваться для организации политик QoS.
Пример настройки списка доступа
Задача:
Разрешить прохождения трафика только из подсети 192.168.20.0/24.
Решение:
Настроим список доступа для фильтрации по подсетям:
| Блок кода |
|---|
esr# configure esr(config)# ip access-list extended white esr(config-acl-ip)# rule 1 esr(config-acl-ip-rule)# |
...
action permit esr(config-acl-ip-rule)# match source-address 192.168.20.0 255.255.255.0 esr(config-acl-ip-rule)# |
...
<ACT> – назначаемое действие:
- permit – прохождение трафика разрешается;
- deny – прохождение трафика запрещается.
...
enable esr(config-acl-ip-rule)# exit esr(config-acl- |
...
ip)# exit |
Применим список доступа на интерфейс Gi1/0/19 для входящего трафика:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/19
esr(config-if-gi)# service-acl ip input white |
Просмотреть детальную информацию о списке доступа возможно через команду:
| Блок кода |
|---|
esr# show ip access-list white |
Настройка списков доступа (MAC ACL)
MAC Access Control List или MAC ACL — список контроля доступа, содержит правила на основе L2 заголовка, определяющие прохождение трафика через интерфейс.
Алгоритм настройки
| Шаг | Описание | Команда | Ключи | |||||
|---|---|---|---|---|---|---|---|---|
| 1 | Создать список контроля доступа и перейти в режим его конфигурирования. | esr(config)# mac access-list extended <NAME> | <NAME> – имя создаваемого списка контроля доступа, задаётся строкой до 31 символа. | |||||
| 2 | Указать описание конфигурируемого списка контроля доступа | <TYPE> – тип протокола, принимает значения: esp, icmp, icmp6, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rsvp, l2tp, gre. При указании значения «any» правило будет срабатывать для любых протоколов. | ||||||
esr(config-acl-rule)# match protocol-id <ID> | <ID> – идентификационный номер IP-протокола, принимает значения [0x00-0xFF]. | |||||||
6 | Установить IP-адреса отправителя, для которых должно срабатывать правило (необязательно). | esr(config-acl-rule)# match source-address { <ADDR> <MASK> | any } | <ADDR> – IP-адрес отправителя, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <MASK> – маска IP-адреса, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. Биты маски, установленные в 0, задают биты IP-адреса, исключаемые из сравнения при поиске. При указании значения «any» правило будет срабатывать для любого IP-адреса отправителя/получателя. | |||||
7 | Установить IP-адреса получателя, для которых должно срабатывать правило (необязательно). | esr(config-acl-rule)# match destination-address { <ADDR> <MASK> | any } | ||||||
8 | Установить MAC-адреса отправителя, для которых должно срабатывать правило (необязательно). | esr(config-acl-rule)# match source-mac <ADDR><WILDCARD> | <ADDR> – МАС-адрес отправителя, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]; <WILDCARD> – маска МАС-адреса, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. Биты маски, установленные в 0, задают биты MAC-адреса, исключаемые из сравнения при поиске. | |||||
9 | Установить MAC-адреса получателя, для которых должно срабатывать правило (необязательно). | esr(config-acl-rule)# match destination-mac <ADDR><WILDCARD>mac)# description <DESCRIPTION> | <DESCRIPTION> – описание списка контроля доступа, задаётся строкой до 255 символов. | |||||
| 3 | Создать правило и перейти в режим его конфигурирования. Правила обрабатываются маршрутизатором в порядке возрастания их номеров. | esr(config-acl-mac)# rule <ORDER> | <ORDER> – номер правила, принимает значения [1...4094]. | |||||
| 4 | Указать действие, которое должно быть применено для трафика, удовлетворяющего заданным критериям | 10 | Установить номер TCP/UDP-порта отправителя, для которого должно срабатывать правило (если указан протокол). | esr(config-acl-mac-rule)# match source-port <TYPE> {<FROM-PORT> - <TO-PORT> | <PORT>} | <TYPE> – тип аргумента, устанавливаемый в качестве порта:
<FROM-PORT> – начальный порт диапазона; <TO-PORT> – конечный порт диапазона; <PORT> – указание единичного порта. | 11 | Установить номер TCP/UDP-порта получателяaction <ACT> | <ACT> – назначаемое действие:
|
| 5 | Установить имя/номер протокола, для которого должно срабатывать правило ( | если указан протоколнеобязательно). | esr(config-acl-mac-rule)# match destination-port <TYPE> {<FROM-PORT> - <TO-PORT> | <PORT>} | <TYPE> – тип протокола, принимает значения: arp, ip, ipv6, lacp, lldp, cdp, stp, vtp. При указании значения «any» правило будет срабатывать для любых протоколов. | ||||
esr(config-acl-mac-rule)# match ethertype <ID> | <ID> – идентификационный номер инкапсулированного протокола, принимает значения [0x0600-0xFFFF]. | |||||||
8 | Установить MAC-адреса отправителя, для которых | 12 | Установить значение 802.1p приоритета, для которого должно срабатывать правило (необязательно). | esr(config-acl-mac-rule)# match сos <COS> | <COS> – значение 802.1p приоритета, принимает значения [0..7]. | source-mac <ADDR><WILDCARD> | <ADDR> – МАС-адрес отправителя, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]; <WILDCARD> – маска МАС-адреса, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. Биты маски, установленные в 0, задают биты MAC-адреса, исключаемые из сравнения при поиске. | |
9 | Установить MAC-адреса получателя, для которых | 13 | Установить значение кода DSCP, для которого должно срабатывать правило (необязательно). Невозможно использовать совместно с IP Precedence. | esr(config-acl-mac-rule)# match dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения [0..63]. | destination-mac <ADDR><WILDCARD> | ||
12 | Установить значение 802.1p приоритета | 14 | Установить значение кода IP Precedence, для которого должно срабатывать правило (необязательно). Невозможно использовать совместно с DSCP. | esr(config-acl-mac-rule)# match ip-precedence <IPP>сos <COS> | <COS> – значение 802.1p приоритета<IPP> – значение кода IP Precedence, принимает значения [0..7]. | |||
15 | Установить значение идентификационного номера VLAN, для которого должно срабатывать правило (необязательно). | esr(config-acl-mac-rule)# match vlan <VID> | <VID> – идентификационный номер VLAN, принимает значения [1..4094]. | |||||
16 | Активировать правило. | esr(config-acl-mac-rule)# enable | ||||||
17 | Указать список контроля доступа к конфигурируемому интерфейсу для фильтрации входящего трафика. | esr(config-if-gi)# service-acl mac input <NAME> | <NAME> – имя списка контроля доступа, задаётся строкой до 31 символа. | |||||
| 18 | Указать список контроля доступа к конфигурируемому интерфейсу для фильтрации исходящего трафика. | esr(config-if-gi)# service-acl mac output <NAME> | <NAME> – имя списка контроля доступа, задаётся строкой до 31 символа | .
...
| . |
Пример настройки списка доступа
Задача:
Разрешить прохождения трафика только из подсети 192.168.20.0/24прохождение ARP запросов только c VLAN 343.
| Scroll Pagebreak |
|---|
Решение:
Настроим список доступа для фильтрации по подсетямпротоколу и vlan:
| Блок кода |
|---|
esr# configure esr(config)# ipmac access-list extended white esr(config-acl-mac)# rule 1 esr(config-acl-mac-rule)# action permit esr(config-acl-mac-rule)# match source-address 192.168.20.0 255.255.255.0protocol arp esr(config-acl-mac-rule)# match vlan 343 esr(config-acl-mac-rule)# enable esr(config-acl-mac-rule)# exit esr(config-acl)# exit |
...
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/19
esr(config-if-gi)# service-acl mac input white |
Просмотреть детальную информацию о списке доступа возможно через команду:
| Блок кода |
|---|
esr# show ipmac access-list white |
...
| Якорь | ||||
|---|---|---|---|---|
|
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
|---|---|---|---|
1 | Cоздать объект с URL. | esr(config)# object-group url <NAME> | |
2 | Указать набор. | esr(config-object-group-url)# url <URL> | <URL> – адрес веб-страницы, сайта. |
3 | Создать профиль проксирования. | esr(config)# ip http profile <NAME> | <NAME> – название профиля. |
4 | Выбрать действие по умолчанию. | esr(config-profile)# default action { deny | permit | redirect } | <URL> – адрес хоста, на который будут передаваться запросы. |
5 | Указать описание (необязательно). | esr(config-profile)# description <description> | <description> – до 255 символов. |
6 | Указать режим фильтрации данных (необязательно). | esr(config-profile)# filter <DATA-TYPE> | <DATA-TYPE> – тип данных, подлежащих фильтрации. Может принимать значения (как одно, так и несколько):
|
| 7 | Указать удаленный или локальный список URL и тип операции (блокировка/пропуск трафика/перенаправление) (необязательно). | esr(config-profile)# urls { local | remote } <URL_OBJ_GROUP_NAME> | <URL_OBJ_GROUP_NAME> – указать название объекта, содержащего набор URL. |
| 8 | Указать удаленный сервер, где лежат необходимые списки URL (необязательно). | esr(config)# ip http proxy server-url <URL> | <URL> – адрес сервера, откуда будут брать удалённые списки url. |
| 9 | Указать прослушиваемый порт для проксирования http (необязательно). | esr(config)# ip http proxy listen-ports <OBJ_GROUP_NAME> | <OBJ_GROUP_NAME> – имя профиля порта, задаётся строкой до 31 символа. По умолчанию прослушиваются порты 80 и 8080 |
| 10 | Указать прослушиваемый порт для проксирования (необязательно). | esr(config)# ip https proxy listen-ports <OBJ_GROUP_NAME> | <OBJ_GROUP_NAME> – имя профиля порта, задаётся строкой до 31 символа. По умолчанию прослушивается порт 443 |
| 11 | Указать базовый порт для проксирования http (необязательно). | esr(config)# ip http proxy redirect-port <PORT> | <PORT> – номер порта, указывается в диапазоне [1..65535]. Значение по умолчанию 3128. |
| 12 | Указать базовый порт для проксирования https (необязательно). | esr(config)# ip http proxy redirect-port <PORT> | <PORT> – номер порта, указывается в диапазоне [1..65535]. Значение по умолчанию 3128. |
| 13 | Включить проксирование на интерфейсе на основе выбранного HTTP-профиля. | esr(config-if)# ip http proxy <PROFILE_NAME> | <PROFILE_NAME> – название профиля. |
| 14 | Включить проксирование на интерфейсе на основе выбранного HTTPS-профиля. | esr(config-if)# ip https proxy <PROFILE_NAME> | <PROFILE_NAME> – название профиля. |
| 15 | Создать списки сервисов, которые будут использоваться при фильтрации. | esr(config)# object-group service <obj-group-name> | <obj-group-name> – имя профиля сервисов, задается строкой до 31 символа. |
| 16 | Задать описание списка сервисов (необязательно). | esr(config-object-group-service)# description <description> | <description> – описание профиля, задается строкой до 255 символов. |
| 17 | Внести необходимые сервисы (TCP/UDP-порты) в список. | esr(config-object-group-service)# port-range 3128-3135 | Прокси-сервер ESR использует для своей работы порты, начиная с базового порта, определённого на 10 шаге. Для http proxy используются порты, начиная с базового порта по базовый порт + количество cpu данной модели ESR - 1. Для https proxy используются порты, начиная с базового порта + количество cpu данной модели ESR по базовый порт + количество cpu данной модели ESR * 2 - 1. Количество CPU можно посмотреть с помощью команды show cpu utilization. |
| 18 | Создать набор правил межзонового взаимодействия. | esr(config)# security zone-pair <src-zone-name> self | <src-zone-name> – зона безопасности, в которой находятся интерфейсы с функцией ip http proxy или ip https proxy. self – предопределенная зона безопасности для трафика, поступающего на сам ESR. |
| 19 | Создать правило межзонового взаимодействия. | esr(config-zone-pair)# rule <rule-number> | <rule-number> – 1..10000. |
| 20 | Задать описание правила (необязательно). | esr(config-zone-rule)# description <description> | <description> – до 255 символов. |
| 21 | Указать действие данного правила. | esr(config-zone-rule)# action <action> [ log ] | <action> – permit. log – ключ для активации логирования сессий, которые устанавливаются согласно данному правилу. |
| 22 | Установить имя IP-протокола, для которого должно срабатывать правило. | esr(config-zone-rule)# match protocol <protocol-type> | <protocol-type> – tcp. Прокси-сервер ESR работает по протоколу ESR. |
| 23 | Установить профиль TCP/UDP-портов получателя, для которых должно срабатывать правило (если указан протокол). | esr(config-zone-rule)# match [not] | <obj-group-name> – имя профиля сервисов, созданного на шаге 12. |
| 24 | Включить правило межзонового взаимодействия. | esr(config-zone-rule)# enable |
...
Организовать фильтрацию по URL для ряда адресов посредством прокси.
Решение:
Создадим набор URL, по которым будет осуществляться фильтрация. Настроим прокси-фильтр и укажем действия для созданного набора URL:
| Блок кода |
|---|
esr# configure esr(config)# object-group url FILTER_OG esr(config-object-group-url)# regexp *speedtest.net/ esr(config-object-group-url)# url http://ya.ru/ esr(config-object-group-url)# url https://ya.ru/ esr(config-object-group-url)# exit |
...
Создаем профиль, где указываем действие для всех URL и действие для созданной группы URL:
...
| Блок кода |
|---|
esr(config)# object-group service PROXY_PORTS esr(config-object-group-service)# port-range 3128-3135 esr(config-object-group-service)# exit |
| Scroll Pagebreak |
|---|
Создаем разрешающее правило межзонового взаимодействия:
| Блок кода |
|---|
esr(config)# security zone-pair LAN self esr(config-zone-pair)# rule 50 esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# match protocol tcp esr(config-zone-pair-rule)# match destination-port object-group PROXY_PORTS esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# exit |
...
Задача №2:
Изменить локальный список с URL для фильтрации proxy-сервером из задачи №1 на список, получаемый с удалённого сервера.
Решение:
Для использования remote-списка необходимо в конфигурации прописать адрес сервера, а в ip http profile изменить urls local на urls remote <list> – название списка, лежащего на сервере:
...
Организовать фильтрацию по веб-скриптам ActiveX URL для ряда адресов посредством прокси и настроить логирование событий в консоль.
Решение:
Выможетенастроить Proxy-сервер для фильтрации определённых веб-скриптов. Для фильтрации доступны ActiveX, cookie, JavaScript.
...
Пример настройки IPS/IDS с автообновлением правил
Задача:
Организовать защиту локальной сети с автообновлением правил из открытых источников.
192.168.1.0/24 – локальная сеть.
Решение:
Создадим профиль адресов защищаемой локальной сети:
...
Настроим автообновление правил с сайтов сайтов etnetera.cz и Abuse.ch:
| Блок кода |
|---|
esr(config-ips)# auto-upgrade esr(config-auto-upgrade)# user-server Aggressive esr(config-ips-upgrade-user-server)# description "Etnetera aggressive IP blacklist" esr(config-ips-upgrade-user-server)# url https://security.etnetera.cz/feeds/etn_aggressive.rules esr(config-ips-upgrade-user-server)# upgrade interval 4 esr(config-ips-upgrade-user-server)# enable esr(config-ips-upgrade-user-server)# exit esr(config-auto-upgrade)# user-server SSL-BlackList esr(config-ips-upgrade-user-server)# description "Abuse.ch SSL Blacklist" esr(config-ips-upgrade-user-server)# url https://sslbl.abuse.ch/blacklist/sslblacklist_tls_cert.rules esr(config-ips-upgrade-user-server)# upgrade interval 4 esr(config-ips-upgrade-user-server)# enable esr(config-ips-upgrade-user-server)# exit |
...
Пример настройки базовых пользовательских правил
Задача:
Написать правило для защиты сервера с IP 192.168.1.10 от DOS-атаки ICMP-пакетами большого размера.
Решение:
Создадим набор пользовательских правил:
...
| Scroll Pagebreak |
|---|
Задача:
Написать правило, детектирующее атаку типа Slowloris.
Решение:
Создадим набор пользовательских правил:
...
Пример настройки правил контентной фильтрации
Задача:
Запретить доступ к https-сайтам, относящимся к категориям addictive-substances, addictive-substances narcotics, scam, gambling casino из локальной сети 192.168.1.0/24.
| draw.io Diagram | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Решение:
На устройстве предварительно должны быть настроены интерфейсы и правила firewall.
| Scroll Pagebreak |
|---|
...




