Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Шаг

Описание

Команда

Ключи

1

Указать local в качестве метода аутентификации.

esr(config)# aaa authentication login { default | <NAME> } <METHOD 1>
[ <METHOD 2> ] [ <METHOD 3> ] [ <METHOD 4> ]

<NAME> – имя списка, задаётся строкой до 31 символа.

Способы аутентификации:

  • local – аутентификация с помощью локальной базы пользователей;
  • tacacs – аутентификация по списку TACACS-серверов;
  • radius – аутентификация по списку RADIUS-серверов;
  • ldap – аутентификация по списку LDAP-серверов.

2

Указать enable в качестве способа аутентификации повышения привилегий пользователей.

esr(config)# aaa authentication enable <NAME><METHOD 1> [ <METHOD 2> ]
[ <METHOD 3> ] [ <METHOD 4> ]

<NAME> – имя списка, задаётся строкой до 31 символа.

Способы аутентификации:

  • local – аутентификация с помощью локальной базы пользователей;
  • tacacs – аутентификация по списку TACACS-серверов;
  • radius – аутентификация по списку RADIUS-серверов;
  • ldap – аутентификация по списку LDAP-серверов.

3

Указать способ перебора методов аутентификации в случае отказа (не обязательно).

esr(config)# aaa authentication mode <MODE>

<MODE> – способы перебора методов:

  • chain – если сервер вернул FAIL, перейти к следующему в цепочке методу аутентификации;
  • break – если сервер вернул FAIL, прекратить попытки аутентификации. Если сервер недоступен, продолжить попытки аутентификации следующими в цепочке методами.

Значение по умолчанию: chain.

4

Указать количество неудачных попыток аутентификации для блокировки логина пользователя и время блокировки (не обязательно).

esr(config)# aaa authentication attempts max-fail <COUNT> <TIME>

<COUNT> – количество неудачных попыток аутентификации, после которых произойдет блокировка пользователя, принимает значения [1..65535];

<TIME> – интервал времени в минутах, на который будет заблокирован пользователь, принимает значения [1..65535].

Значение по умолчанию:
<COUNT> – 5; <TIME> – 300.

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-сессий. Может принимать значения:

  • password – аутентификация пользователя при открытии SSH-сессий может быть произведена только по паролю;
  • pubkey – аутентификация пользователя при открытии SSH-сессий может быть произведена только по публичному ключу;
  • both – аутентификация пользователя при открытии 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> | <IPV6-ADDR> } [ vrf <VRF> ]

 

<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>
[ <METHOD 2> ] [ <METHOD 3> ] [ <METHOD 4> ]

<NAME> – имя списка строка до 31 символа;

  • default – имя списка по умолчанию.

<METHOD> – способы аутентификации:

  • enable – аутентификация с помощью enable-паролей;
  • tacacs – аутентификация по протоколу TACACS;
  • radius – аутентификация по протоколу RADIUS;
  • ldap – аутентификация по протоколу LDAP.

12

Указать способ перебора методов аутентификации в случае отказа (не обязательно).

esr(config)# aaa authentication mode <MODE>

<MODE> – способы перебора методов:

  • chain – если сервер вернул FAIL, переход к следующему в цепочке методу аутентификации;
  • break – если сервер вернул FAIL, прекратить попытки аутентификации. Если сервер недоступен, продолжить попытки аутентификации следующими в цепочке методами.

Значение по умолчанию: chain.

13

Сконфигурировать список способов учета команд, введённых в CLI (не обязательно).

esr(config)# aaa accounting commands stop-only tacacs


14

Сконфигурировать tacacs в списке способов учета сессий пользователей (не обязательно).

esr(config)# aaa accounting login start-stop <METHOD 1>
[ <METHOD 2> ]

<METHOD> – способы учета:

  • tacacs – учет сессий по протоколу TACACS;
  • radius – учет сессий по протоколу RADIUS.

15

Перейти в режим конфигурирования соответствующего терминала.

esr(config)# line <TYPE>

<TYPE> – тип консоли:

  • console – локальная консоль;
  • ssh – защищенная удаленная консоль.

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> | encrypted <ENCRYPTED-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-сервере, принимает следующие значения:

  • onelevel – выполнять поиск в объектах на следующем уровне после базового DN в дереве LDAP-сервера;
  • subtree – выполнять поиск во всех объектах поддерева базового DN в дереве 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> }
[ vrf <VRF> ]

 

<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> }
<METHOD 1> [ <METHOD 2> ] [ <METHOD 3> ] [ <METHOD 4> ]

<NAME> – имя списка, задаётся строкой до 31 символа.

Способы аутентификации:

  • local – аутентификация с помощью локальной базы пользователей;
  • tacacs – аутентификация по списку TACACS-серверов;
  • radius – аутентификация по списку RADIUS-серверов;
  • ldap – аутентификация по списку LDAP-серверов.

18

Указать LDAP в качестве способа аутентификации повышения привилегий пользователей.

esr(config)# aaa authentication enable <NAME>
<METHOD 1> [ <METHOD 2> ] [ <METHOD 3> ] [ <METHOD 4> ]

<NAME> – имя списка строка до 31 символа;

  • default – имя списка по умолчанию.

<METHOD> – способы аутентификации:

  • enable – аутентификация с помощью enable-паролей;
  • tacacs – аутентификация по протоколу TACACS;
  • radius – аутентификация по протоколу RADIUS;
  • ldap – аутентификация по протоколу LDAP.

19

Указать способ перебора методов аутентификации в случае отказа.

esr(config)# aaa authentication mode <MODE>

<MODE> – способы перебора методов:

  • chain – если сервер вернул FAIL, переход к следующему в цепочке методу аутентификации;
  • break – если сервер вернул FAIL, прекратить попытки аутентификации. Если сервер недоступен, продолжить попытки аутентификации следующими в цепочке методами.

Значение по умолчанию: chain.

20

Перейти в режим конфигурирования соответствующего терминала.

esr(config)# line <TYPE>

<TYPE> – тип консоли:

  • console – локальная консоль;
  • ssh – защищенная удаленная консоль.

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

Посмотреть статистику по зафиксированным сетевым атакам можно командой:

...

  1. Трафик проверяется правилами zone-pair any self.
    Если трафик не попал ни под одно из правил текущей zone-pair, переходим к следующему шагу.
  2. Трафик проверяется правилами 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

...

ШагОписаниеКомандаКлючи
1Создать список контроля доступа и перейти в режим его конфигурирования.

esr(config)# ip access-list extended <NAME>

<NAME> – имя создаваемого списка контроля доступа, задаётся строкой до 31 символа.
2Указать описание конфигурируемого списка контроля доступа (не обязательно).

esr(config-acl)# description <DESCRIPTION>

<DESCRIPTION> – описание списка контроля доступа, задаётся строкой до 255 символов.
3

Создать правило и перейти в режим его конфигурирования.

Правила обрабатываются маршрутизатором в порядке возрастания их номеров.

esr(config-acl)# rule <ORDER>

<ORDER> – номер правила, принимает значения [1...4094].
4Указать действие, которое должно быть применено для трафика, удовлетворяющего заданным критериям.

esr(config-acl-rule)# action <ACT>

<ACT> – назначаемое действие:

  • permit – прохождение трафика разрешается;
  • deny – прохождение трафика запрещается.
5Установить имя/номер протокола, для которого должно срабатывать правило (не обязательно).

esr(config-acl-rule)# match protocol <TYPE>

<TYPE> – тип протокола, принимает значения: esp, icmp, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rdp, l2tp, gre. При указании значения «any» правило будет срабатывать для любых протоколов.

esr(config-acl-rule)# match protocol-id <ID>

<ID> – идентификационный номер IP-протокола, принимает значения [0x00-0xFF].

6

Установить IP-адреса отправителя, для которых должно срабатывать правило (не обязательно).

esr(config-acl-rule)# match source-address { <ADDR> <MASK> | any }

<ADDR> – IP-адрес отправителя, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<MASK> – маска IP-адреса, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. Биты маски, установленные в 0, задают биты IP-адреса, исключаемые из сравнения при поиске.

При указании значения «any» правило будет срабатывать для любого IP-адреса отправителя/получателя.

7

Установить IP-адреса получателя, для которых должно срабатывать правило (не обязательно).

esr(config-acl-rule)# match destination-address { <ADDR> <MASK> | any }

8

Установить MAC-адреса отправителя, для которых должно срабатывать правило (не обязательно).

esr(config-acl-rule)# match source-mac <ADDR><WILDCARD>

<ADDR> – МАС-адрес отправителя, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF];

<WILDCARD> – маска МАС-адреса, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. Биты маски, установленные в 0, задают биты MAC-адреса, исключаемые из сравнения при поиске.

9

Установить MAC-адреса получателя, для которых должно срабатывать правило (не обязательно).

esr(config-acl-rule)# match destination-mac <ADDR><WILDCARD>

10

Установить номер TCP/UDP-порта отправителя, для которого должно срабатывать правило (если указан протокол).

esr(config-acl-rule)# match source-port <TYPE> {<FROM-PORT> - <TO-PORT> | <PORT>}

<TYPE> – тип аргумента, устанавливаемый в качестве порта:

  • port-range – указать диапазон портов;
  • any – установить в качестве порта любой порт.

<FROM-PORT> – начальный порт диапазона;

<TO-PORT> – конечный порт диапазона;

<PORT> - Указание единичного порта

11

Установить номер TCP/UDP-порта получателя, для которого должно срабатывать правило (если указан протокол).

esr(config-acl-rule)# match destination-port <TYPE> {<FROM-PORT> - <TO-PORT> | <PORT>}

12

Установить значение 802.1p приоритета, для которого должно срабатывать правило (не обязательно).

esr(config-acl-rule)# match сos <COS>

<COS> – значение 802.1p приоритета, принимает значения [0..7].

13

Установить значение кода DSCP, для которого должно срабатывать правило (не обязательно). Невозможно использовать совместно с IP Precedence.

esr(config-acl-rule)# match dscp <DSCP>

<DSCP> – значение кода DSCP, принимает значения [0..63].

14

Установить значение кода IP Precedence, для которого должно срабатывать правило (не обязательно). Невозможно использовать совместно с DSCP.

esr(config-acl-rule)# match ip-precedence <IPP>

<IPP> – значение кода IP Precedence, принимает значения [0..7].

15

Установить значение идентификационного номера VLAN, для которого должно срабатывать правило (не обязательно).

esr(config-acl-rule)# match vlan <VID>

<VID> – идентификационный номер VLAN, принимает значения [1..4094].

16

Активировать правило.

esr(config-acl-rule)# enable


17

Указать список контроля доступа к конфигурируемому интерфейсу для фильтрации входящего трафика.

esr(config-if-gi)# service-acl input <NAME>

<NAME> – имя списка контроля доступа, задаётся строкой до 31 символа.

18Указать список контроля доступа к конфигурируемому интерфейсу для фильтрации исходящего трафика.esr(config-if-gi)# service-acl output <NAME><NAME> – имя списка контроля доступа, задаётся строкой до 31 символа.

Также списки доступа могут использоваться для организации политик QoS.

...

Предупреждение

Для правил IPS/IDS, загружаемых из внешних источников, на маршрутизаторах ESR выделена отдельная область энергозависимой памяти.

Размер этой области зависит от модели ESR:

  • ESR-1X – 25 МБ;
  • ESR-2X – 50 МБ;

Для всех остальных моделей – 100 МБ.

Если настроить слишком много источников правил или загружать правила, превышающие указанные лимиты, то маршрутизатор будет выдавать сообщения об ошибке %STORAGE_IPS_MGR-I-ERR: There no free space in rules directory.
В этом случае стоит уменьшить объем запрашиваемых правил или использовать внешнее хранилище.

...

Рекомендуемые открытые источники обновления правил

...

SSL Blacklist

Чёрный список SSL (SSLBL) – это проект abuse.ch, целью которого является обнаружение вредоносных SSL-соединений путём идентификации и внесения в чёрный список SSL-сертификатов, используемых серверами управления ботнетами

...

.

https://

...

sslbl.abuse.ch

...

/blacklist/sslblacklist_tls_cert.rules – набор правил SSL-сертификатов от SSLBL используется для обнаружения и/или блокировки вредоносных SSL-соединений в вашей сети на основе отпечатка SSL-сертификата. Набор правил SSL-сертификатов генерируется каждые 5 минут. Рекомендуется запрашивать его не чаще, чем раз в 5 минут.

https://

...

sslbl.

...

abuse.

...

ch/

...

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)

...

.

https://

...

feodotracker.

...

abuse.

...

ch/

...

downloads/

...

feodotracker.

...

rules – набор правил используется для обнаружения и/или блокировки сетевых подключений к хост-серверам (комбинация IP-адреса и порта). Набор правил генерируется каждые 5 минут. Рекомендуется обновлять набор правил IDS каждые 5–15 минут, чтобы обеспечить лучшую защиту от Dridex, Emotet, TrickBot, QakBot и BazarLoader.

Примечание

Поскольку IP-адреса перерабатываются и используются повторно, в этот список блокировки входят только C2-серверы ботнетов, которые либо активны, либо в последний раз использовались в течение последних 30 дней. Таким образом, процент ложных срабатываний в этом списке блокировки должен быть низким

...

.

https://

...

feodotracker.

...

abuse.

...

ch/

...

downloads/feodotracker_aggressive.rules – набор правил IDS с полным списком всех C2-серверов ботнетов. Однако, поскольку IP-адреса используются повторно, количество ложных срабатываний в этом наборе правил намного выше.

Предупреждение

Не рекомендуется использовать агрессивную версию индикаторов компрометации ботнета C2 (IOC), так как она определённо вызовет ложные срабатывания.

Travis Green

Travis Green – набор правил для поиска угроз от специалиста по кибербезопасности Тревиса Грина.

...

https://

...

raw.

...

githubusercontent.

...

com/

...

travisbgreen/

...

hunting-

...

rules/

...

master/

...

hunting.rules

...

Etnetera Core

Набор правил с «агрессивными» IP-адресами от центра кибербезопасности компании Etnetera Core.

https://

...

security.

...

etnetera.

...

cz/

...

Правила, детектирующие поведение хоста после успешно проведенных атак.

...

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

...

feeds/etn_aggressive.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 name-server 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 1
esr(config-bridge)# service-ips inline

Настроим параметры IPS/IDS:

Блок кода
esr(config)# object-group securitynetwork ipsLAN
esr(config-object-group-ipsnetwork)# 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)# policydomain lookup OFFICEenable
esr(config-ips)# enable

...

domain nameserver 8.8.8.8

Создадим политику безопасности IPS/IDS

...

:

Блок кода
esr(config-ips)# perfomance max

Scroll Pagebreak

Настроим автообновление правил с сайтов EmergingThreats.net, etnetera.cz и Abuse.ch:

Блок кода
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 rules "My 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)# logging userremote-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

...

  • Данные о репутации IP-адресов  набор IP-адресов с контекстной информацией, сообщающей о подозрительных и вредоносных узлах;
  • URL-адреса вредоносных ссылок — набор URL-адресов, соответствующих опасным ссылкам и веб-сайтам;
  • URL-адреса фишинговых ссылок — набор URL-адресов, распознаваемых «Лабораторией Касперского» как фишинговые. Доступны записи с масками и без масок;
  • URL-адреса командных серверов ботнетов — набор URL-адресов командных серверов ботнетов и связанных с ними вредоносных объектов;
  • URL-адреса шифровальщиков — набор URL-адресов шифровальщиков;
  • Хэши вредоносных объектов — набор файловых хэшей, охватывающий наиболее опасные и распространенные, а также самые новые вредоносные программы;
  • Хэши вредоносных объектов для мобильных устройств — набор файловых хэшей для обнаружения вредоносных объектов, заражающих мобильные устройства;
  • URL-адреса командных серверов ботнетов для мобильных устройств — набор URL-адресов с контекстной информацией для выявления командных серверов ботнетов, использующих мобильные устройства;
  • URL-адреса веб-сайтов, используемых для размещения вредоносных программ, заражающих устройства Internet of Things (IoT).

...

  • .

...

Алгоритм базовой настройки

ШагОписаниеКомандаКлючи

1

Перейти в конфигурирование контент- провайдера.

esr (config)# content-provider

2

Задать IP-адрес edm-сервера.

esr (config-content-provider)# host address <A.B.C.D | WORD | X:X:X:X::X>

<IP-ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF].

WORD(1-31) – DNS-имя сервера.

3

Задать порт для подключения к edm-серверу.

esr (config-content-provider)# host port <PORT> 

<PORT> – номер TCP/UDP-порта отправителя, принимает значения [1..65535].

4

Задать тип и раздел внешнего устройства для создания крипто-хранилища.

esr (config-content-provider)# storage-path <DEVICE>

<DEVICE> – лейбл и имя раздела на внешнем носителе информации в формате usb://Partion_name:/

mmc://Partion_name:/.

На внешнем носителе должна быть создана файловая система в формате exFAT.

5

Установить время перезагрузки устройства после получения сертификата.

esr (config-content-provider)# reboot immediately | [time <HH:MM:SS> | <WEEK_DAY>]

Перезагрузить устройство после получения сертификата.

time <HH:MM:SS> – время, в которое ESR перезагрузится <Часы:минуты:секунды>.

<WEEK_DAY> - день недели, принимает значения: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.

6

Включить контент провайдер.

enable

7

Установить интервал обращения к edm-серверу в часах.

esr (config-content-provider)# upgrade interval <1-240>

8

Установить описание (не обязательно).

esr (config-content-provider)# description < LINE >

LINE (1-255) String describing server

9Задать текстовое имя устройства, которое передаётся на сервер EDM -Issue (не обязательно).esr (config-content-provider)# system-name < WORD ><WORD> – имя, задаётся строкой до 255 символов.
10Задать текстовое описание, которое передаётся на сервер EDM -Issue (не обязательно).esr (config-content-provider)# location < WORD ><WORD> – описание, задаётся строкой до 255 символов.

11

Создать списки IP-адресов, которые будут использоваться при фильтрации.

esr (config)# object-group network <WORD>

esr (config-object-group-network)# ip prefix <ADDR/LEN> [ unit <ID> ]

<WORD> – имя сервера, задаётся строкой до 32 символов.

<ADDR/LEN> – подсеть, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32].

<ID> – номер юнита, принимает значения [1..2].

10

На интерфейсе включить service-ips.

esr (config)# interface gigabitethernet 1/0/Xesr (config-if-gi)# service-ips enable

11

Создать политику безопасности IPS/IDS.

esr (config)# security ips policy WORD(1-31)

WORD(1-31)

12

Задать профиль IP-адресов, которые будет защищать IPS/IDS.

esr(config-ips-policy)# protect network-group <OBJ-GROUP-NETWORK_NAME>

<OBJ-GROUP-NETWORK-NAME> – имя профиля защищаемых IP-адресов, задается строкой до 32 символов.

13

Войти в раздел конфигурирования вендора.

esr (config-ips-policy)# vendor kaspersky

14

Подключить необходимую категорию.

esr (config-ips-vendor)# category WORD(1-64)

Категории, доступные по текущей подписке, можно посмотреть в контекстной подсказке или командой:

show security ips content-provider rules-info

15

Задать тип правил.

esr (config-ips-vendor-category)# rules action <ACTION>

<ACTION> - drop | reject | alert | pass – действия, которые будут применяться к пакетам.

  • alert – прохождение трафика разрешается, и сервис IPS/IDS генерирует сообщение;

  • reject – прохождение трафика запрещается. Если это TCP-трафик, отправителю и получателю посылается пакет TCP-RESET, для остального типа трафика посылается пакет ICMP-ERROR. Сервис IPS/IDS генерирует сообщение;

  • pass – прохождение трафика разрешается;

  • drop – прохождение трафика запрещается, и сервис IPS/IDS генерирует сообщение.

16

Задать количество скачиваемых правил.

esr (config-ips-vendor-category)# rules { all | count <COUNT> | percent <PERCENT> | recomended }
  • all – данной командой указывается, что система IPS/IDS будет работать с полным набором правил данной категории;
  • count <COUNT> – данной командой указывается действующее число правил данной категории, с которым будет работать система IPS/IDS:
    • <COUNT> – число правил. Минимальное значение 1, максимальное значение зависит от категории правил.
  • percent <PERCENT> – данной командой указывается процентное соотношение от общего числа правил данной категории, с которым будет работать система IPS/IDS:
    • <PERCENT> – процент от общего числа правил.

  • recomended – данной командой указывается, что система IPS/IDS будет использовать рекомендованное количество правил в данной категории. Рекомендованное количество составляет 42% от общего числа правил.

Максимальное число правил по категориям можно посмотреть в контекстной подсказке или командой:

show security ips content-provider rules-info

17

Включить категорию.

enable

18

Перейти в режим конфигурирования IPS/IDS.

esr (config)# security ips

19

Назначить политику безопасности IPS/IDS.

esr(config-ips)# policy <NAME>

<NAME> – имя политики безопасности, задаётся строкой до 32 символов.

20

Использовать все ресурсы ESR для IPS/IDS (не обязательно).

esr(config-ips)# perfomance max


21

Задать параметры удаленного сервера для отправки статистики работы сервиса IPS/IDS в формате EVE (elasticsearch) (не обязательно).

esr(config-ips)# logging remote-server  { <ADDR> | <IPV6-ADDR> } [ <TRANSPORT> ] [ <PORT> ] [ source-address { <SRC-ADDR> | <IPV6-SRC-ADDR> } ]

<ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF];

<TRANSPORT> – протокол передачи данных, по умолчанию – UDP, принимает значения:

  • TCP – передача данных осуществляется по протоколу TCP;
  • UDP – передача данных осуществляется по протоколу UDP.

<PORT> – номер TCP/UDP-порта, опциональный параметр, принимает значения [1..65535], по умолчанию 514;

<SRC-ADDR> – IPv4-адрес маршрутизатора, который будет использоваться в качестве IP-адреса источника в отправляемых syslog-пакетах, по умолчанию – IPv4-адрес интерфейса, с которого отправляются пакеты;

<IPV6-SRC-ADDR> – IPv6-адрес маршрутизатора, который будет использоваться в качестве IPv6-адреса источника в отправляемых syslog-пакетах, по умолчанию – IPv6-адрес интерфейса, с которого отправляются пакеты.

22Установить интервал отправки статистики работы сервиса IPS/IDS в формате EVE (elasticsearch) (не обязательно).esr(config-ips)# logging update-interval  <INTERVAL><INTERVAL> – интервал отправки статистики работы сервиса IPS/IDS, задаётся в минутах.

23

Активировать IPS/IDS.

esr(config- ips )# 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-политику для работы и включить его:

...

Шаг

Описание

Команда

Ключи

1Определить IP-адрес DNS-сервера, используемого для разрешения DNS-имен.

esr(config)# domain name-server nameserver <IP>

<IP> – IP-адрес используемого DNS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].
2Включить разрешение DNS-имен на устройстве.

esr(config)# domain lookup enable


3

Создать политику безопасности IPS/IDS.

esr(config)# security ips policy <NAME>

<NAME> – имя политики безопасности, задаётся строкой до 31 символа.

4

Задать описание политики (не обязательно).

esr(config-ips-policy)# description <DESCRIPTION>

<DESCRIPTION> – описание задаётся строкой до 255 символов.

5

Создать списки IP-адресов, которые будут использоваться при фильтрации.

esr (config)# object-group network <WORD>

esr (config-object-group-network)# ip prefix <ADDR/LEN> [ unit <ID> ]

<WORD> – имя сервера, задаётся строкой до 31 символов.

<ADDR/LEN> – подсеть, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32].

<ID> – номер юнита, принимает значения [1..2].

6

Задать профиль IP-адресов, которые будет защищать IPS/IDS.

esr(config-ips-policy)# protect network-group <OBJ-GROUP-NETWORK_NAME>

<OBJ-GROUP-NETWORK-NAME> – имя профиля защищаемых IP-адресов, задается строкой до 31 символов.

7

Задать профиль IP-адресов, внешних для IPS/IDS (не обязательно).

esr(config-ips-policy)# external network-group <OBJ-GROUP-NETWORK_NAME>

<OBJ-GROUP-NETWORK-NAME> – имя профиля внешних IP-адресов, задается строкой до 31 символов.

8Создать профиль категорий контентной фильтрации.

esr(config)# object-group content-filter <NAME>

<NAME> – имя профиля контентной фильтрации, задается строкой до 31 символа.

9

Задать описание профиля категорий контентной фильтрации (не обязательно).

esr(config-object-group-content-filter)# description <DESCRIPTION>

<DESCRIPTION> – описание задаётся строкой до 255 символов.

10Задать поставщика категорий контентной фильтрации.

esr(config-object-group-content-filter)# vendor <CONTENT-FILTER-VENDOR>

<CONTENT-FILTER-VENDOR> – название поставщика категорий контентной фильтрации. В текущей версии ПО в качестве поставщика категорий контентной фильтрации может выступать только Лаборатория Касперского.
11Задать необходимые категории контентной фильтрации.

esr(config-object-group-cf-kaspersky)# category <CATEGORY>

<CATEGORY> – имя категории. Описание доступных категорий приведено в справочнике команд.

12

Перейти в режим конфигурирования IPS/IDS.

esr(config)# security ips


13

Назначить политику безопасности IPS/IDS.

esr(config-ips)# policy <NAME>

<NAME> – имя политики безопасности, задаётся строкой до 32 символов.

14

Использовать все ресурсы ESR для IPS/IDS (не обязательно).

esr(config-ips)# perfomance max

По умолчанию для IPS/IDS отдается половина доступных ядер процессора.

15

Задать параметры удаленного сервера для отправки статистики работы сервиса IPS/IDS в формате EVE (elasticsearch) (не обязательно).

esr(config-ips)# logging remote-server  { <ADDR> | <IPV6-ADDR> } [ <TRANSPORT> ] [ <PORT> ] [ source-address { <SRC-ADDR> | <IPV6-SRC-ADDR> } ]

<ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF];

<TRANSPORT> – протокол передачи данных, по умолчанию – UDP, принимает значения:

  • TCP – передача данных осуществляется по протоколу TCP;
  • UDP – передача данных осуществляется по протоколу UDP;

<PORT> – номер TCP/UDP-порта, опциональный параметр, принимает значения [1..65535], по умолчанию 514;

<SRC-ADDR> – IPv4-адрес маршрутизатора, который будет использоваться в качестве IP-адреса источника в отправляемых syslog-пакетах, по умолчанию – IPv4-адрес интерфейса, с которого отправляются пакеты;

<IPV6-SRC-ADDR> – IPv6-адрес маршрутизатора, который будет использоваться в качестве IPv6-адреса источника в отправляемых syslog-пакетах, по умолчанию – IPv6-адрес интерфейса, с которого отправляются пакеты.

16Установить интервал отправки статистики работы сервиса IPS/IDS в формате EVE (elasticsearch) (не обязательно).esr(config-ips)# logging update-interval  <INTERVAL><INTERVAL> – интервал отправки статистики работы сервиса IPS/IDS, задаётся в минутах.
17Настроить параметры кэширования сервиса контентной фильтрации.esr(config-ips)# content-filter
18

Установить количество хранящихся в кэше записей.

esr(config-ips-content-filter)# uri cache-size <NUMBER><NUMBER> – количество записей, хранящихся в кэше, принимает значения [1..32768].
19Установить среднее время, в течение которого запись URI будет действительной в кэше.esr(config-ips-content-filter)# uri reachable-interval <DAYS><DAYS> – количество дней, в течение которых запись будет действительной, принимает значения [1..365].
20

Активировать IPS/IDS.

esr(config-ips )# enable


21

Активировать IPS/IDS на интерфейсе.

esr(config-if-gi)# service-ips enable


22

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

esr(config)# security ips-category user-defined <WORD>

<WORD> – имя набора пользовательских правил, задаётся строкой до 31 символов.

23

Задать описание набора пользовательских правил (не обязательно).

esr(config-ips-category)# description <DESCRIPTION>

<DESCRIPTION> – описание задаётся строкой до 255 символов.

24

Создать правило и перейти в режим конфигурирования правила.

esr(config-ips-category)# rule <ORDER>

<ORDER> – номер правила, принимает значения [1..512].

25

Задать описание правила (не обязательно).

esr(config-ips-category-rule)# description <DESCRIPTION>

<DESCRIPTION> – описание задаётся строкой до 255 символов.

26

Указать действие данного правила.

esr(config-ips-category-rule)# action { alert | reject | pass | drop }

  • alert – прохождение трафика разрешается, и сервис IPS/IDS генерирует сообщение;
  • reject – прохождение трафика запрещается. Если это TCP-трафик, отправителю и получателю посылается пакет TCP-RESET, для остального типа трафика посылается пакет ICMP-ERROR. Сервис IPS/IDS генерирует сообщение;
  • pass – прохождение трафика разрешается;
  • drop – прохождение трафика запрещается, и сервис IPS/IDS генерирует сообщение.
27

Установить в качестве протокола HTTP/HTTPS.

esr(config-ips-category-rule)# protocol { http | tls }

  • http – анализируется HTTP-трафик.
  • tls – анализируется HTTP-трафик, защищенный TLS-шифрованием.
28

Установить IP-адреса отправителя, для которых должно срабатывать правило.

esr(config-ips-category-rule)# source-address
{ip <ADDR> | ip-prefix <ADDR/LEN> |  object-group <OBJ_GR_NAME> | policy-object-group  { protect | external } | any }

<ADDR> – IP-адрес отправителя, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<ADDR/LEN> – IP-подсеть отправителя, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и LEN принимает значения [1..32].

<OBJ_GR_NAME> – имя профиля IP-адресов, который содержит IP-адреса отправителя, задаётся строкой до 31 символа.

  • protect – устанавливает в качестве адресов отправителя protect-адреса, определенные в политике IPS/IDS;
  • external – устанавливает в качестве адресов отправителя external-адреса. определенные в политике IPS/IDS.

При указании значения «any» правило будет срабатывать для любого IP-адреса отправителя.

29

Установить номера TCP/UDP-портов отправителя, для которых должно срабатывать правило.


esr(config-ips-category-rule)# source-port {any | <PORT> | object-group <OBJ-GR-NAME> }

<PORT> – номер TCP/UDP-порта отправителя, принимает значения [1..65535].

<OBJ_GR_NAME> – имя профиля TCP/UDP портов отправителя, задаётся строкой до 31 символа.

При указании значения «any» правило будет срабатывать для любого TCP/UDP-порта отправителя.

30

Установить IP-адреса получателя, для которых должно срабатывать правило.

esr(config-ips-category-rule)# destination-address
{ip <ADDR> | ip-prefix <ADDR/LEN> | object-group <OBJ_GR_NAME> |
policy-object-group { protect | external } | any }

<<ADDR> – IP-адрес получателя, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<ADDR/LEN> – IP-подсеть получателя, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и LEN принимает значения [1..32].

< OBJ_GR_NAME> – имя профиля IP-адресов, который содержит IP-адреса получателя, задаётся строкой до 31 символа.

  • protect – устанавливает в качестве адресов получателя protect-адреса, определенные в политике IPS/IDS;
  • external – устанавливает в качестве адресов получателя external-адреса, определенные в политике IPS/IDS.

При указании значения «any» правило будет срабатывать для любого IP-адреса получателя.

32

Установить номера TCP/UDP-портов получателя, для которых должно срабатывать правило.

Обычно для протокола http используется значение TCP-порт 80.

В случаях когда когда используются web-сервера на нестандартных портах надо пописывать эти порты тоже.

esr(config-ips-category-rule)# destination-port  {any | <PORT> | object-group <OBJ-GR-NAME> }

<PORT> – номер TCP/UDP-порта получателя, принимает значения [1..65535].

<OBJ_GR_NAME> – имя профиля TCP/UDP портов получателя, задаётся строкой до 31 символа.

При указании значения «any» правило будет срабатывать для любого TCP/UDP-порта получателя.

33

Установить направление потока трафика, для которого должно срабатывать правило.

esr(config-ips-category-rule)# direction { one-way | round-trip }

  • one-way – трафик передаётся в одну сторону.
  • round-trip – трафик передаётся в обе стороны.
34

Определить сообщение которое IPS/IDS будет записывать в лог, при срабатывании этого правила.

esr(config-ips-category-rule)# meta log-message <MESSAGE>

<MESSAGE> –  текстовое сообщение, задаётся строкой до 128 символов.

35Назначить профиль категорий контентной фильтрации.

esr(config-ips-category-rule)# ip { http | tls } content-filter <NAME>

  • http – анализируется HTTP-трафик.
  • tls – анализируется трафик, защищенный TLS-шифрованием.

<NAME> – имя профиля контентной фильтрации задаётся строкой до 31 символа.

any – правило будет срабатывать для HTTP/HTTPS-сайтов любой категории.

36Активировать правило.

esr(config-ips-category-rule)# enable


...

Блок кода
esr(config)# domain lookup enable
esr(config)# domain name-servernameserver 8.8.8.8

Создадим политику безопасности IPS/IDS:

...

Блок кода
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"

...