...
Перевести все команды просмотра информации об интерфейсах на уровень привилегий 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"" esr(config)# privilege root level 10 "show interfaces" |
Настройка логирования и защиты от ARP-spoofing атак
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
|---|---|---|---|
1 | Включить защиту от ARP-spoofing атак на сетевом интерфейсе/сетевом мосту. | esr(config-if-gi)# ip arp inspection | |
2 | Включить логирование отброшенных ARP-ответов (необязательно). | esr(config)# logging firewall arp-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-атак. | esr(config)# ip firewall screen dos-defense | <NUM> – количество ICMP-пакетов в секунду, задается в диапазоне [1..10000]. |
2 | Включить защиту от land-атак. | esr(config)# firewall screen dos-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 | Включить защиту от zero-port-атак | esr(config)# ip firewall screen dos-defense zero-port | |
9 | Включить блокировку TCP-пакетов с установленным флагом FIN и не установленным флагом ACK. | esr(config)# ip firewall screen spy-blocking fin-no-ack | |
10 | Включить блокировку ICMP-пакетов различных типов. | esr(config)# ip firewall screen spy-blocking icmp-type | <TYPE> – тип ICMP, может принимать значения:
|
11 | Включить защиту от IP sweep-атак. | esr(config)# ip firewall screen spy-blocking ip-sweep { <NUM> } | <NUM> – интервал выявления ip sweep атаки, задается в миллисекундах [1..1000000]. |
12 | Включить защиту от port scan-атак. | esr(config)# ip firewall screen spy-blocking port-scan | <threshold> – интервал в секундах, в течение которого будет фиксироваться port scan-атака [1..10000]. <TIME> – время блокировки в миллисекундах [1..1000000]. |
13 | Включить защиту от IP spoofing-атак. | esr(config)# ip firewall screen spy-blocking spoofing | |
| 14 | Исключить из защиты от IP-spoofing атак указанную Object Group. | esr(config)# ip firewall screen spy-blocking spoofing exclude <object-group> | <object-group> – список разрешённых для spoofing подсетей. |
15 | Включить блокировку TCP-пакетов, с установленными флагами SYN и FIN. | esr(config)# ip firewall screen 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. |
...
Пример настройки логирования и защиты от сетевых атак
Задача:
Необходимо защитить LAN-сеть и маршрутизатор ESR от сетевых атак land, syn-flood, ICMP flood и настроить оповещение об атаках по SNMP на SNMP-сервер 192.168.0.10.
| Scroll Pagebreak |
|---|
Решение:
Предварительно необходимо настроить интерфейсы и firewall (настройка firewall или ее отсутствие не повлияют на работу защиты от сетевых атак):
...
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-адрес получателя, для которых должно срабатывать правило (необязательно). | 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> - – название существующего в конфигурации расписания. |
...
- Трафик проверяется правилами 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». При использовании данного ключа под правило будут подпадать пакеты, не удовлетворяющие заданному критерию.
...
Пример настройки 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 |
|---|
Настроим сетевые интерфейсы и определим их принадлежность к зонам безопасности:
...
Для пропуска трафика из зоны «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 |
...
| Блок кода |
|---|
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# show ip firewall sessions |
| Scroll Pagebreak |
|---|
Пример настройки Firewall по доменным именам
Задача:
Фиксировать обращения на ресурсы компании Yandex из локальной сети в Syslog:
scroll-pagebreak
Решение:
Создадим зоны безопасности для локальной сети и uplink-интерфейса в сторону интернет-провайдера:
...
| Блок кода |
|---|
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# show security zone |
| Scroll Pagebreak |
|---|
Посмотреть пары зон и их конфигурацию можно с помощью команд:
...
| Примечание |
|---|
Использование механизма фильтрации приложений многократно снижает производительность маршрутизатора из-за необходимости проверки определенного объема пакетов в каждой сессии. Производительность снижается с ростом количества выбранных приложений для фильтрации. Механизм фильтрации приложений работает только для транзитных пакетов и только в режиме черного списка (запрет прохождения трафика для указанных приложений). |
Задача:
Блокировать доступ пользователей в локальной сети к 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 |
|---|
Настроим сетевые интерфейсы и определим их принадлежность к зонам безопасности:
...
Для установки правил прохождения трафика из зоны «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 |
| Scroll Pagebreak |
|---|
Посмотреть членство портов в зонах можно с помощью команды:
...
| Примечание |
|---|
Использование механизма фильтрации приложений многократно снижает производительность маршрутизатора из-за необходимости проверки определенного объема пакетов в каждой сессии. Производительность снижается с ростом количества выбранных приложений для фильтрации. Механизм фильтрации приложений работает только для транзитных пакетов и только в режиме черного списка (запрет прохождения трафика для указанных приложений). |
Задача:
Блокировать доступ пользователей из локальной сети к 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 |
| Scroll Pagebreak |
|---|
Настроим сетевые интерфейсы и определим их принадлежность к зонам безопасности:
...
Для установки правил прохождения трафика из зоны «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)# 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 |
| 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(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 |
...
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> – имя списка контроля доступа, задаётся строкой до 31 символа. |
| 18 | Указать список контроля доступа к конфигурируемому интерфейсу для фильтрации исходящего трафика. | esr(config-if-gi)# service-acl ip output <NAME> | <NAME> – имя списка контроля доступа, задаётся строкой до 31 символа. |
...
Пример настройки списка доступа
Задача:
Разрешить прохождения трафика только из подсети 192.168.20.0/24.scroll-pagebreak
Решение:
Настроим список доступа для фильтрации по подсетям:
...
| Блок кода |
|---|
esr# show ip access-list white |
| Scroll Pagebreak |
|---|
Настройка списков доступа (MAC ACL)
MAC Access Control List или MAC ACL — список контроля доступа, содержит правила на основе L2 заголовка, определяющие прохождение трафика через интерфейс.
Алгоритм настройки
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Создать список контроля доступа и перейти в режим его конфигурирования. | esr(config)# mac access-list extended <NAME> | <NAME> – имя создаваемого списка контроля доступа, задаётся строкой до 31 символа. |
| 2 | Указать описание конфигурируемого списка контроля доступа (необязательно). | esr(config-acl-mac)# description <DESCRIPTION> | <DESCRIPTION> – описание списка контроля доступа, задаётся строкой до 255 символов. |
| 3 | Создать правило и перейти в режим его конфигурирования. Правила обрабатываются маршрутизатором в порядке возрастания их номеров. | esr(config-acl-mac)# rule <ORDER> | <ORDER> – номер правила, принимает значения [1...4094]. |
| 4 | Указать действие, которое должно быть применено для трафика, удовлетворяющего заданным критериям. | esr(config-acl-mac-rule)# action <ACT> | <ACT> – назначаемое действие:
|
| 5 | Установить имя/номер протокола, для которого должно срабатывать правило (необязательно). | esr(config-acl-mac-rule)# match protocol <TYPE> | <TYPE> – тип протокола, принимает значения: arp, ip, ipv6, lacp, lldp, cdp, stp, vtp. При указании значения «any» правило будет срабатывать для любых протоколов. |
esr(config-acl-mac-rule)# match ethertype <ID> | <ID> – идентификационный номер инкапсулированного протокола, принимает значения [0x0600-0xFFFF]. | ||
8 | Установить MAC-адреса отправителя, для которых должно срабатывать правило (необязательно). | esr(config-acl-mac-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-mac-rule)# match destination-mac <ADDR><WILDCARD> | |
12 | Установить значение 802.1p приоритета, для которого должно срабатывать правило (необязательно). | esr(config-acl-mac-rule)# match сos <COS> | <COS> – значение 802.1p приоритета, принимает значения [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 символа. |
Пример настройки списка доступа
Задача:
Разрешить прохождение ARP запросов только c VLAN 343.
| Scroll Pagebreak |
|---|
Решение:
Настроим список доступа для фильтрации по протоколу и vlan:
...
| Блок кода |
|---|
esr# show mac access-list white |
| Scroll Pagebreak |
|---|
| Якорь | ||||
|---|---|---|---|---|
|
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
|---|---|---|---|
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 |
| Scroll Pagebreak |
|---|
Создаем профиль, где указываем действие для всех 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 |
|---|
...




