...
Шаг | Описание | Команда | Ключи |
|---|---|---|---|
1 | Указать local в качестве метода аутентификации. | esr(config)# aaa authentication login { default | <NAME> } <METHOD 1> | <NAME> – имя списка, задаётся строкой до 31 символа. Способы аутентификации:
|
2 | Указать enable в качестве способа аутентификации повышения привилегий пользователей. | esr(config)# aaa authentication enable <NAME><METHOD 1> [ <METHOD 2> ] | <NAME> – имя списка, задаётся строкой до 31 символа. Способы аутентификации:
|
3 | Указать способ перебора методов аутентификации в случае отказа (не обязательно). | esr(config)# aaa authentication mode <MODE> | <MODE> – способы перебора методов:
Значение по умолчанию: chain. |
4 | Указать количество неудачных попыток аутентификации для блокировки логина пользователя и время блокировки (не обязательно). | esr(config)# aaa authentication attempts max-fail <COUNT> <TIME> | <COUNT> – количество неудачных попыток аутентификации, после которых произойдет блокировка пользователя, принимает значения [1..65535]; <TIME> – интервал времени в минутах, на который будет заблокирован пользователь, принимает значения [1..65535]. Значение по умолчанию: |
5 | Включить запрос на смену пароля по умолчанию для пользователя admin (не обязательно). | esr(config)# security passwords default-expired | |
6 | Включить режим запрета на использование ранее установленных паролей локальных пользователей (не обязательно). | esr(config)# security passwords history <COUNT> | <COUNT> – количество паролей, сохраняемых в памяти маршрутизатора. Принимает значение в диапазоне [1..15]. Значение по умолчанию: 0. |
7 | Установить время действия пароля локального пользователя (не обязательно). | esr(config)# security passwords lifetime <TIME> | <TIME> – интервал времени действия пароля в днях. Принимает значение в диапазоне [1..365]. По умолчанию: время действия пароля локального пользователя не ограничено. |
8 | Установить ограничение на минимальную длину пароля локального пользователя и ENABLE-пароля (не обязательно). | esr(config)# security passwords min-length <NUM> | <NUM> – минимальное количество символов в пароле. Принимает значение в диапазоне [8..128]. Значение по умолчанию: 0. |
9 | Установить ограничение на максимальную длину пароля локального пользователя и ENABLE-пароля (не обязательно). | esr(config)# security passwords max-length <NUM> | <NUM> – максимальное количество символов в пароле. Принимает значение в диапазоне [8..128]. Значение по умолчанию: не ограничено. |
10 | Установить минимальное количество типов символов, которые должны присутствовать в пароле локального пользователя и ENABLE-пароле (не обязательно). | esr(config)# security passwords symbol-types <COUNT> | <COUNT> – минимальное количество типов символов в пароле. Принимает значение в диапазоне [1..4]. Значение по умолчанию: 1. |
11 | Установить минимальное количество строчных букв в пароле локального пользователя и ENABLE-пароле (не обязательно). | esr(config)# security passwords lower-case <COUNT> | <COUNT> – минимальное количество строчных букв в пароле локального пользователя и ENABLE-пароле. Принимает значение в диапазоне [0..128]. Значение по умолчанию: 0. |
12 | Установить минимальное количество прописных (заглавных) букв в пароле локального пользователя и ENABLE-пароле (не обязательно). | esr(config)# security passwords upper-case <COUNT> | <COUNT> – минимальное количество прописных (заглавных) букв в пароле. Принимает значение в диапазоне [0..128]. Значение по умолчанию: 0. |
13 | Установить минимальное количество цифр в пароле локального пользователя и ENABLE-пароле (не обязательно). | esr(config)# security passwords numeric-count <COUNT> | <COUNT> – минимальное количество цифр в пароле. Принимает значение в диапазоне [0..128]. Значение по умолчанию: 0. |
14 | Установить минимальное количество специальных символов в пароле локального пользователя и ENABLE-пароле (не обязательно). | esr(config)# security passwords special-case <COUNT> | <COUNT> – минимальное количество специальных символов в пароле. Принимает значение в диапазоне [0..128]. Значение по умолчанию: 0. |
15 | Добавить пользователя в локальную базу и перейти в режим настройки параметров пользователя. | esr(config)# username <NAME> | <NAME> – имя пользователя, задаётся строкой до 31 символа. |
16 | Установить пароль пользователя. | esr(config-user)# password { <CLEAR-TEXT> | encrypted <HASH_SHA512> } | <CLEAR-TEXT> – пароль, задаётся строкой [8 .. 32] символов, принимает значения [0-9a-fA-F]; <HASH_SHA512> – хеш пароля по алгоритму sha512, задаётся строкой из 110 символов. |
17 | Установить уровень привилегий пользователя. | esr(config-user)# privilege <PRIV> | <PRIV> – необходимый уровень привилегий. Принимает значение [1..15]. |
18 | Указать метод аутентификации SSH-сессий для пользователя (не обязательно). | esr(config-user)# ssh authentication method <METHOD> | <METHOD> – метод аутентификации SSH-сессий. Может принимать значения:
|
19 | Указать имя файла публичного ключа, который будет использован при аутентификации SSH-сессии пользователя (не обязательно). | esr(config-user)# ssh pubkey <NAME> | <NAME> – имя файла публичного ключа, расположенного в разделе crypto:public-key, задаётся строкой до 31 символа. |
20 | Перейти в режим конфигурирования соответствующего терминала. | esr(config)# line console или esr(config)# line telnet или esr(config)# line ssh | |
1921 | Активировать список аутентификации входа пользователей в систему. | esr(config-line-ssh)# login authentication <NAME> | <NAME> – имя списка, задаётся строкой до 31 символа. |
2022 | Активировать список аутентификации повышения привилегий пользователей. | esr(config-line-ssh)# enable authentication <NAME> | <NAME> – имя списка, задаётся строкой до 31 символа. |
2123 | Задать интервал, по истечении которого будет разрываться бездействующая сессия. | esr(config-line-ssh)# exec-timeout <SEC> | <SEC> – период времени в минутах, принимает значения [1..65535]. |
...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Задать глобальное значение кода DSCP для использования в IP-заголовках исходящих пакетов TACACS-сервера (не обязательно). | esr(config)# tacacs-server dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: 63. |
| 2 | Задать глобальное значение интервала, по истечении которого маршрутизатор считает, что TACACS-сервер недоступен (не обязательно). | esr(config)# tacacs-server timeout <SEC> | <SEC> – период времени в секундах, принимает значения [1..30]. Значение по умолчанию: 3 секунды. |
| 3 | Добавить TACACS-сервер в список используемых серверов и перейти в режим его конфигурирования. | esr(config)# tacacs -server host
| <IP-ADDR> – IP-адрес TACACS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255] <IPV6-ADDR> – IPv6-адрес TACACS -сервера, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF] <VRF> – имя экземпляра VRF, задается строкой до 31 символа. |
| 4 | Задать описание конфигурируемого TACACS-сервера (не обязательно). | esr(config-tacacs-server)# description <description> | <description> – описание TACACS-сервера, задается строкой до 255 символов. |
| 5 | Указать количество неудачных попыток аутентификации для блокировки логина пользователя и время блокировки (не обязательно) | esr(config-tacacs-server)# aaa authentication attempts max-fail <COUNT> <TIME> | <COUNT> – количество неудачных попыток аутентификации, после которых произойдет блокировка пользователя, принимает значения [1..65535]; <TIME> – интервал времени в минутах, на который будет заблокирован пользователь, принимает значения [1..65535]. Значение по умолчанию: <COUNT> – 5; <TIME> – 300. |
| 6 | Задать пароль для аутентификации на удаленном TACACS-сервере | esr(config-tacacs-server)# key ascii-text { <TEXT> | encrypted <ENCRYPTED-TEXT> } | <TEXT> – строка [8..16] ASCII-символов; <ENCRYPTED-TEXT> – зашифрованный пароль, размером [8..16] байт, задаётся строкой [16..32] символов. |
| 7 | Задать номер порта для обмена данными c удаленным TACACS-сервером (не обязательно). | esr(config-tacacs-server)# port <PORT> | <PORT> – номер TCP-порта для обмена данными c удаленным сервером, принимает значения [1..65535]. Значение по умолчанию: 49 для TACACS-сервера. |
8 | Задать приоритет использования удаленного TACACS сервера (не обязательно). | esr(config-tacacs-server)# priority <PRIORITY> | <PRIORITY> – приоритет использования удаленного сервера, принимает значения [1..65535]. Чем ниже значение, тем приоритетнее сервер. Значение по умолчанию: 1. |
9 | Задать IPv4/IPv6-адрес, который будет использоваться в качестве IP/IPv6-адреса источника в отправляемых TACACS-пакетах. | esr(config-tacacs-server)# source-address { <ADDR> | object-group <NETWORK_OBJ_GROUP_NAME> } | <ADDR> – IP-адрес источника, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <NETWORK_OBJ_GROUP_NAME> – список адресов, которые будут использоваться в качестве source address. |
| 10 | Задать интерфейс или туннель маршрутизатора, IPv4/IPv6-адрес которого будет использоваться в качестве IPv4/IPv6-адреса источника в отправляемых TACACS-пакетах. | esr(config-tacacs-server)# source-interface { <IF> | <TUN> } | <IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора; <TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора. |
11 | Указать TACACS в качестве способа аутентификации повышения привилегий пользователей. | esr(config)# aaa authentication enable <NAME><METHOD 1> | <NAME> – имя списка строка до 31 символа;
<METHOD> – способы аутентификации:
|
12 | Указать способ перебора методов аутентификации в случае отказа (не обязательно). | esr(config)# aaa authentication mode <MODE> | <MODE> – способы перебора методов:
Значение по умолчанию: chain. |
13 | Сконфигурировать список способов учета команд, введённых в CLI (не обязательно). | esr(config)# aaa accounting commands stop-only tacacs | |
14 | Сконфигурировать tacacs в списке способов учета сессий пользователей (не обязательно). | esr(config)# aaa accounting login start-stop <METHOD 1> | <METHOD> – способы учета:
|
15 | Перейти в режим конфигурирования соответствующего терминала. | esr(config)# line <TYPE> | <TYPE> – тип консоли:
|
16 | Активировать список аутентификации входа пользователей в систему. | esr(config-line-console)# login authentication <NAME> | <NAME> – имя списка, задаётся строкой до 31 символа. Создано на шаге 7. |
17 | Активировать список аутентификации повышения привилегий пользователей. | esr(config-line-console)# enable authentication <NAME> | <NAME> – имя списка, задаётся строкой до 31 символа. Создано на шаге 8. |
...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Задать базовый DN (Distinguished name), который будет использоваться при поиске пользователей. | esr(config)# ldap-server base-dn <NAME> | <NAME> – базовый DN, задается строкой до 255 символов. |
2 | Задать интервал, по истечении которого устройство считает, что LDAP-сервер недоступен (не обязательно). | esr(config)# ldap-server bind timeout <SEC> | <SEC> – период времени в секундах, принимает значения [1..30]. Значение по умолчанию: 3 секунды. |
3 | Задать DN (Distinguished name) пользователя с правами администратора, под которым будет происходить авторизация на LDAP-сервере при поиске пользователей. | esr(config)# ldap-server bind authenticate root-dn <NAME> | <NAME> – DN пользователя с правами администратора, задается строкой до 255 символов. |
4 | Задать пароль пользователя с правами администратора, под которым будет происходить авторизация на LDAP-сервере при поиске пользователей. | esr(config)# ldap-server bind authenticate root-password ascii-text | <TEXT> – строка [8..16] ASCII-символов; <ENCRYPTED-TEXT> – зашифрованный пароль, размером [8..16] байт, задаётся строкой [16..32] символов. |
5 | Задать имя класса объектов, среди которых необходимо выполнять поиск пользователей на LDAP-сервере (не обязательно). | esr(config)# ldap-server search filter user-object-class <NAME> | <NAME> – имя класса объектов, задаётся строкой до 127 символов. Значение по умолчанию: posixAccount. |
6 | Задать область поиска пользователей в дереве LDAP-сервера (не обязательно). | esr(config)# ldap-server search scope <SCOPE> | <SCOPE> – область поиска пользователей на LDAP-сервере, принимает следующие значения:
Значение по умолчанию: subtree. |
7 | Задать интервал, по истечении которого устройство считает, что LDAP-сервер не нашел записей пользователей, подходящих под условие поиска (не обязательно). | esr(config)# ldap-server search timeout <SEC> | <SEC> – период времени в секундах, принимает значения [0..30] Значение по умолчанию: 0 – устройство ожидает завершения поиска и получения ответа от LDAP-сервера. |
8 | Задать имя атрибута объекта, со значением которого идет сравнение имени искомого пользователя на LDAP-сервере (не обязательно). | esr(config)# ldap-server naming-attribute <NAME> | <NAME> – имя атрибута объекта, задаётся строкой до 127 символов. Значение по умолчанию: uid. |
9 | Задать имя атрибута объекта, значение которого будет определять начальные привилегии пользователя на устройстве (не обязательно). | esr(config)# ldap-server privilege-level-attribute <NAME> | <NAME> – имя атрибута объекта, задаётся строкой до 127 символов. Значение по умолчанию: priv-lvl. |
10 | Задать глобальное значение кода DSCP для использования в IP-заголовках исходящих пакетов LDAP-сервера (не обязательно). | esr(config)# ldap-server dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: 63. |
11 | Добавить LDAP-сервер в список используемых серверов и перейти в режим его конфигурирования. | esr(config)# ldap-server host { <IP-ADDR> | <IPV6-ADDR> }
| <IP-ADDR> – IP-адрес LDAP-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255] <IPV6-ADDR> – IPv6-адрес LDAP-сервера, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF] <VRF> – имя экземпляра VRF, задается строкой до 31 символа. |
| 12 | Задать описание конфигурируемого LDAP-сервера (не обязательно). | esr(config-ldap-server)# description <description> | <description> – описание LDAP-сервера, задается строкой до 255 символов. |
12 | Указать количество неудачных попыток аутентификации для блокировки логина пользователя и время блокировки (не обязательно). | esr(config-ldap-server)# aaa authentication attempts max-fail <COUNT> <TIME> | <COUNT> – количество неудачных попыток аутентификации, после которых произойдет блокировка пользователя, принимает значения [1..65535]; <TIME> – интервал времени в минутах, на который будет заблокирован пользователь, принимает значения [1..65535]. Значение по умолчанию: <COUNT> – 5; <TIME> – 300. |
13 | Задать номер порта для обмена данными c удаленным LDAP-сервером (не обязательно). | esr(config-ldap-server)# port <PORT> | <PORT> – номер TCP-порта для обмена данными c удаленным сервером, принимает значения [1..65535]. Значение по умолчанию: 389 для LDAP-сервера. |
14 | Задать приоритет использования удаленного LDAP-сервера (не обязательно). | esr(config-ldap-server)# priority <PRIORITY> | <PRIORITY> – приоритет использования удаленного сервера, принимает значения [1..65535]. Чем ниже значение, тем приоритетнее сервер. Значение по умолчанию: 1. |
15 | Задать IPv4/IPv6-адрес, который будет использоваться в качестве IP/IPv6-адреса источника в отправляемых LDAP-пакетах. | esr(config-ldap-server)# source-address { <ADDR> | object-group <NETWORK_OBJ_GROUP_NAME> } | <ADDR> – IP-адрес источника, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <NETWORK_OBJ_GROUP_NAME> – список адресов, которые будут использоваться в качестве source address. |
| 16 | Задать интерфейс или туннель маршрутизатора, IPv4/IPv6-адрес которого будет использоваться в качестве IPv4/IPv6-адреса источника в отправляемых LDAP-пакетах. | esr(config-ldap-server)# source-interface { <IF> | <TUN> } | <IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора; <TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора. |
17 | Указать LDAP в качестве метода аутентификации. | esr(config)# aaa authentication login { default | <NAME> } | <NAME> – имя списка, задаётся строкой до 31 символа. Способы аутентификации:
|
18 | Указать LDAP в качестве способа аутентификации повышения привилегий пользователей. | esr(config)# aaa authentication enable <NAME> | <NAME> – имя списка строка до 31 символа;
<METHOD> – способы аутентификации:
|
19 | Указать способ перебора методов аутентификации в случае отказа. | esr(config)# aaa authentication mode <MODE> | <MODE> – способы перебора методов:
Значение по умолчанию: chain. |
20 | Перейти в режим конфигурирования соответствующего терминала. | esr(config)# line <TYPE> | <TYPE> – тип консоли:
|
21 | Активировать список аутентификации входа пользователей в систему. | esr(config-line-console)# login authentication <NAME> | <NAME> – имя списка, задаётся строкой до 31 символа. Создано на шаге 14. |
22 | Активировать список аутентификации повышения привилегий пользователей. | esr(config-line-console)# enable authentication <NAME> | <NAME> – имя списка, задаётся строкой до 31 символа. Создано на шаге 15. |
...
- 1-9 уровни – позволяют использовать все команды мониторинга (show …);
- 10-14 уровни – позволяют использовать все команды кроме команд перезагрузки устройства, управления пользователями и ряда других;
- 15 уровень – позволяет использовать все команды.
Scroll Pagebreak
Алгоритм настройки
Для изменения минимального уровня привилегий необходимого для выполнения команды CLI используется команда:
...
| Команда | Описание |
|---|---|
| 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 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)# 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-pair)# exit esr(config)# interface 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 |
...
Настроим защиту от land, syn-flood, ICMP flood-атак:
...
| Блок кода |
|---|
esr(config)# snmp-server esr(config)# snmp-server host 192.168.0.10 esr(config)# snmp-server enable traps screen land esr(config)# snmp-server enable traps screen syn-flood esr(config)# snmp-server enable traps screen icmp-threshold |
| Scroll Pagebreak |
|---|
Посмотреть статистику по зафиксированным сетевым атакам можно командой:
...
- Трафик проверяется правилами zone-pair any self.
Если трафик не попал ни под одно из правил текущей zone-pair, переходим к следующему шагу. - Трафик проверяется правилами zone-pair user-zone self.
Если трафик не попал ни под одно из правил текущей zone-pair, переходим к следующему шагуон отбрасывается.
Каждая команда «match» может содержать ключ «not». При использовании данного ключа под правило будут подпадать пакеты, не удовлетворяющие заданному критерию.
...
| Блок кода |
|---|
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 WAN_GATEWAY
esr(config-security-zone-pair-rule)# match source-address object-group LAN_GATEWAY
esr(config-security-zone-pair-rule)# enable
esr(config-security-zone-pair-rule)# exit
esr(config-security-zone-pair-rule)# exit |
Для пропуска трафика из зоны «WAN» в зону «LAN» создадим пару зон и добавим правило, разрешающее проходить ICMP-трафику от R2 к R1. Действие правил разрешается командой enable:
...
| Примечание |
|---|
Использование механизма фильтрации приложений многократно снижает производительность маршрутизатора из-за необходимости проверки каждого пакетаопределенного объема пакетов в каждой сессии. Производительность снижается с ростом количества выбранных приложений для фильтрации. Механизм фильтрации приложений работает только для транзитных пакетов и только в режиме черного списка (запрет прохождения трафика для указанных приложений). |
Задача:
Блокировать доступ к ресурсам youtube, bittorrent и facebookпользователей в локальной сети к Telegram, Facebook Messenger и Skype.
| Scroll Pagebreak |
|---|
Решение:
...
| Блок кода |
|---|
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 в stateless:
| Блок кода |
|---|
esr(config)# ip firewall mode stateless |
Для настройки правил зон безопасности потребуется создать профиль приложений, которые необходимо будет блокировать.
| Блок кода |
|---|
esr(config)# object-group application APPBLACKLIST esr(config-object-group-application)# application youtube telegram esr(config-object-group-application)# application bittorrent facebook-messenger esr(config-object-group-application)# application facebookskype-teams esr(config-object-group-application)# exit |
...
| Блок кода |
|---|
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 APPBLACKLIST 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 APPBLACKLIST 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 |
...
| Предупреждение |
|---|
Для правил IPS/IDS, загружаемых из внешних источников, на маршрутизаторах ESR выделена отдельная область энергозависимой памяти. Размер этой области зависит от модели ESR:
Для всех остальных моделей – 100 МБ. Если настроить слишком много источников правил или загружать правила, превышающие указанные лимиты, то маршрутизатор будет выдавать сообщения об ошибке %STORAGE_IPS_MGR-I-ERR: There no free space in rules directory. |
...
Рекомендуемые открытые источники обновления правил
SSL Blacklist
Чёрный список SSL (SSLBL) – это проект abuse.ch, целью которого является обнаружение вредоносных SSL-соединений путём идентификации и внесения в чёрный список SSL-сертификатов, используемых серверами управления ботнетами.
...
/blacklist/sslblacklist_tls_cert.rules – набор правил SSL-сертификатов от SSLBL используется для обнаружения и/или блокировки вредоносных SSL-соединений в вашей сети на основе отпечатка SSL-сертификата. Набор правил SSL-сертификатов генерируется каждые 5 минут. Рекомендуется запрашивать его не чаще, чем раз в 5 минут.
...
...
blacklist/ja3_fingerprints.rules – набор правил JA3 FingerprintRuleset от SSLBL используется для обнаружения и/или блокировки вредоносных SSL-соединений в вашей сети на основе отпечатка JA3. Набор правил для отпечатков пальцев Suricata JA3 генерируется каждые 5 минут. Рекомендуется запрашивать его не чаще, чем раз в 5 минут.
| Предупреждение |
|---|
Отпечатки JA3, внесённые в чёрный список SSLBL, были собраны путём анализа более 25 000 000 PCAP-файлов с образцами вредоносного ПО. Эти отпечатки ещё не были протестированы на известном безопасном трафике и могут привести к значительному количеству ложных срабатываний. |
| Scroll Pagebreak |
|---|
Feodo Tracker
Feodo Tracker – это проект abuse.ch, целью которого является обмен информацией о серверах управления ботнетами, связанными с Dridex, Emotet (также известным как Heodo), TrickBot, QakBot (также известным как QuakBot/Qbot) и BazarLoader (также известным как BazarBackdoor)
...
.
...
...
...
...
...
...
rules – набор правил используется для обнаружения и/или блокировки сетевых подключений к хост-серверам (комбинация IP-адреса и порта). Набор правил генерируется каждые 5 минут. Рекомендуется обновлять набор правил IDS каждые 5–15 минут, чтобы обеспечить лучшую защиту от Dridex, Emotet, TrickBot, QakBot и BazarLoader.
| Примечание |
|---|
Поскольку IP-адреса перерабатываются и используются повторно, в этот список блокировки входят только C2-серверы ботнетов, которые либо активны, либо в последний раз использовались в течение последних 30 дней. Таким образом, процент ложных срабатываний в этом списке блокировки должен быть низким |
...
. |
...
...
...
...
downloads/feodotracker_aggressive.rules – набор правил IDS с полным списком всех C2-серверов ботнетов. Однако, поскольку IP-адреса используются повторно, количество ложных срабатываний в этом наборе правил намного выше.
| Предупреждение |
|---|
Не рекомендуется использовать агрессивную версию индикаторов компрометации ботнета C2 (IOC), так как она определённо вызовет ложные срабатывания. |
Travis Green
Travis Green – набор правил для поиска угроз от специалиста по кибербезопасности Тревиса Грина
...
.
...
...
...
...
...
...
...
...
...
Etnetera Core
Набор правил с «агрессивными» IP-адресами от центра кибербезопасности компании Etnetera Core.
...
...
...
...
Правила, детектирующие поведение хоста после успешно проведенных атак.
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-chat.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-current_events.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-dns.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-dos.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-exploit.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-ftp.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-games.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-icmp.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-icmp_info.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-imap.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-inappropriate.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-info.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-malware.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-misc.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-mobile_malware.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-netbios.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-p2p.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-policy.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-poprules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-rpc.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-scada.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-scan.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-shellcode.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-smtp.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-sql.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-telnet.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-tftp.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-trojan.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-user_agents.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-l.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-web_client.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-web_server.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-web_specific_apps.rules
...
https://rules.emergingthreats.net/open/suricata-4.0/rules/emerging-worm.rules
...
Пример настройки IPS/IDS с автообновлением правил
Задача:
Организовать защиту локальной сети с автообновлением правил из открытых источников.
192.168.1.0/24 – локальная сеть.
Решение:
Создадим профиль адресов защищаемой локальной сети
Пример настройки IPS/IDS с автообновлением правил
Задача:
Организовать защиту локальной сети с автообновлением правил из открытых источников.
192.168.1.0/24 – локальная сеть.
Решение:
Создадим профиль адресов защищаемой локальной сети:
| Блок кода |
|---|
esr(config)# object-group network LAN
esr(config-object-group-network)# ip prefix 192.168.1.0/24
esr(config-object-group-network)# exit |
Настроим на ESR DNS-клиента для разрешения имен источников обновления правил IPS/IDS:
| Блок кода |
|---|
esr(config)# domain lookup enable
esr(config)# domain nameserver 8.8.8.8 |
Создадим политику безопасности IPS/IDS:
| Блок кода |
|---|
esr(config)# security ips policy OFFICE
esr(config-ips-policy)# description "My Policy"
esr(config-ips-policy)# protect network-group LAN |
Разрешим работу IPS/IDS на интерфейсе локальной сети bridge 1:
| Блок кода |
|---|
esr(config)# bridge 1object-group network LAN esr(config-bridge)# service-ips inline |
Настроим параметры IPS/IDS:
| Блок кода |
|---|
esr(config)# security ips esr(config-ipsobject-group-network)# loggingip remote-serverprefix 192.168.101.10/24 esr(config-ipsobject-group-network)# logging update-interval 15 exit |
| Scroll Pagebreak |
|---|
Настроим на ESR DNS-клиента для разрешения имен источников обновления правил IPS/IDS:
| Блок кода |
|---|
esr(config-ips)# policy OFFICE esr(config-ips)# enable |
Устройство будет использоваться только как шлюз безопасности, по этому отдадим сервису IPS/IDS все доступные ресурсы:
| Блок кода |
|---|
domain lookup enable esr(config-ips)# domain perfomance max |
| Scroll Pagebreak |
|---|
...
nameserver 8.8.8.8 |
Создадим политику безопасности IPS/IDS:
| Блок кода |
|---|
esr(config-ips)# auto-upgrade esr(config-auto-upgrade)# user-server ET-Opensecurity ips policy OFFICE esr(config-ips-upgrade-user-serverpolicy)# description "emerging threats open rulesMy Policy" esr(config-ips-upgrade-user-serverpolicy)# url https://rules.emergingthreats.net/open/suricata-4.0/emerging-all.rules esr(config-ips-upgrade-user-server)# enable esr(config-ips-upgrade-user-server)# exitprotect network-group LAN |
Разрешим работу IPS/IDS на интерфейсе локальной сети bridge 1:
| Блок кода |
|---|
esr(config)# bridge 1
esr(config-bridge)# service-ips inline |
Настроим параметры IPS/IDS:
| Блок кода |
|---|
esr(config)# security ips esr(config-auto-upgradeips)# userlogging remote-server Aggressive192.168.10.1 esr(config-ips-upgrade-user-server)# description "Etnetera aggressive IP blacklist"logging update-interval 15 esr(config-ips-upgrade-user-server)# url https://security.etnetera.cz/feeds/etn_aggressive.rulespolicy OFFICE esr(config-ips)# enable |
Устройство будет использоваться только как шлюз безопасности, по этому отдадим сервису IPS/IDS все доступные ресурсы:
| Блок кода |
|---|
-upgrade-user-server)# upgrade interval 4 esr(config-ips-upgrade-user-server)# perfomance max |
Настроим автообновление правил с сайтов etnetera.cz и Abuse.ch:
| Блок кода |
|---|
enable esr(config-ips-upgrade-user-server)# exitauto-upgrade esr(config-auto-upgrade)# user-server SSL-BlackListAggressive esr(config-ips-upgrade-user-server)# description "Abuse.ch SSL BlacklistEtnetera aggressive IP blacklist" esr(config-ips-upgrade-user-server)# url https://sslblsecurity.abuseetnetera.chcz/blacklistfeeds/sslblacklistetn_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 C2SSL-BotnetBlackList esr(config-ips-upgrade-user-server)# description "Abuse.ch Botnet C2SSL IP Blacklist" esr(config-ips-upgrade-user-server)# url https://sslbl.abuse.ch/blacklist/sslipblacklistsslblacklist_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 |
Алгоритм настройки базовых пользовательских правил
...
| Блок кода |
|---|
esr(config-ips-category-rule)# action drop |
...
Настроим сообщение об атаке:
...
| Блок кода |
|---|
esr(config-ips-category-rule)# threshold count 23040 esr(config-ips-category-rule)# threshold second 60 esr(config-ips-category-rule)# threshold track by-dst esr(config-ips-category-rule)# threshold type both |
| Scroll Pagebreak |
|---|
Активизируем правило:
| Блок кода |
|---|
esr(config-ips-category-rule)# enable |
...
| Блок кода |
|---|
security ips policy policy0
protect network-group objectgroup0
vendor kaspersky
category MaliciousURLsDF
rules action alert
rules all
enable
exit
category MobileBotnetCAndCDF
rules action alert
rules recomended
enable
exit
category BotnetCAndCURLsDF
rules action alert
rules percent 50
enable
exit
category IPReputationDF
rules action alert
rules recomended
enable
exit
category IoTURLsDF
rules action alert
rules percent 15
enable
exit
category MaliciousHashDF
rules action alert
rules count 1
enable
exit
category MobileMaliciousHashDF
rules action alert
rules count 1
enable
exit
category PSMSTrojanDF
rules action alert
rules count 1
enable
exit
category PhishingURLsDF
rules action alert
rules count 1000
enable
exit
category RansomwareURLsDF
rules action alert
rules count 1000
enable
exit
exit
exit |
| Scroll Pagebreak |
|---|
Назначить сервису IPS-политику для работы и включить его:
...
| Блок кода |
|---|
esr(config)# object-group content-filter Black esr(config-object-group-content-filter)# vendor kaspersky-lab esr(config-object-group-cf-kaspersky)# category addictive-substances esr(config-object-group-cf-kaspersky)# category addictive-substances narcotics esr(config-object-group-cf-kaspersky)# category scam esr(config-object-group-cf-kaspersky)# category gambling casino |
| Scroll Pagebreak |
|---|
| Блок кода |
|---|
esr(config)# security ips-category user-defined USER |
| Scroll Pagebreak |
|---|
Создадим правило:
| Блок кода |
|---|
esr(config-ips-category)# rule 10 esr(config-ips-category-rule)# description "Content-Filter Block" |
...

