Дерево страниц

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

Ключ

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

...

Шаг

Описание

Команда

Ключи

1

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

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

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

2

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

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

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

3

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

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

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

4

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

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

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

5

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

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 генерирует сообщение.

6

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

esr(config-ips-category-rule)# protocol <PROTOCOL>

<PROTOCOL> – принимает значения any/ip/icmp/http/tcp/udp.

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

7

Установить 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-адреса отправителя.

8

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

Для значения protocol icmp, значение source-port может быть только any.

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-порта отправителя.

9

Установить 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-адреса получателя.

10

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

Для значения protocol icmp, значение destination-port может быть только any.

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-порта получателя.

11

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

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

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

12

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

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

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

13

Определить классификацию трафика, которая будет записывать в лог, при срабатывании этого правила (не обязательно).

esr(config-ips-category-rule)# meta classification-type
{ not-suspicious | unknown | bad-unknown | attempted-recon |
successful-recon-limited | successful-recon-largescale |
attempted-dos | successful-dos | attempted-user |
unsuccessful-user | successful-user | attempted-admin |
successful-admin | rpc-portmap-decode | shellcode-detect |
string-detect | suspicious-filename-detect | suspicious-login |  system-call-detect | tcp-connection | trojan-activity |
unusual-client-port-connection | network-scan |
denial-of-service | non-standard-protocol |
protocol-command-decode | web-application-activity |
web-application-attack | misc-activity | misc-attack |
icmp-event | inappropriate-content | policy-violation |
default-login-attempt }

  • not-suspicious – не подозрительный трафик.
  • unknown – неизвестный трафик.
  • bad-unknown – потенциально плохой трафик.
  • attempted-recon – попытка утечки информации.
  • successful-recon-limited – утечка информации.
  • successful-recon-largescale – масштабная утечка информации.
  • attempted-dos – попытка отказа в обслуживании.
  • successful-dos – отказ в обслуживании.
  • attempted-user – попытка получения привилегий пользователя.
  • unsuccessful-user – безуспешная попытка получения привилегий пользователя.
  • successful-user – успешная попытка получения привилегий пользователя.
  • attempted-admin – попытка получения привилегий администратора.
  • successful-admin – успешная попытка получения привилегий администратора.
  • rpc-portmap-decode – декодирование запроса RPC.
  • shellcode-detect – обнаружен исполняемый код.
  • string-detect – обнаружена подозрительная строка.
  • suspicious-filename-detect – было обнаружено подозрительное имя-файла.
  • suspicious-login – была обнаружена попытка входа с использованием подозрительного имени пользователя.
  • system-call-detect – обнаружен системный вызов.
  • tcp-connection – обнаружено TCP-соединение.
  • trojan-activity – был обнаружен сетевой троян.
  • unusual-client-port-connection – клиент использовал необычный порт.
  • network-scan – обнаружение сетевого сканирования.
  • denial-of-service – обнаружение атаки отказа в обслуживании.
  • non-standard-protocol – обнаружение нестандартного протокола или события.
  • protocol-command-decode – обнаружена попытка шифрования.
  • web-application-activity – доступ к потенциально уязвимому веб-приложению.
  • web-application-attack – атака на веб-приложение.
  • misc-activity – прочая активность.
  • misc-attack – прочие атаки.
  • icmp-event – общее событие ICMP.
  • inappropriate-content – обнаружено неприемлемое содержание.
  • policy-violation – потенциальное нарушение корпоративной конфиденциальности.
  • default-login-attempt – попытка входа с помощью стандартного логина/пароля.

14

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

esr(config-ips-category-rule)# ip dscp <DSCP>

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

15

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

esr(config-ips-category-rule)# ip ttl <TTL>

<TTL> – значение TTL, принимает значения в диапазоне [1..255].


16

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

Применимо только для значения protocol any.

esr(config-ips-category-rule)# ip protocol-id <ID>

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

17

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

Применимо только для значения protocol icmp.

esr(config-ips-category-rule)# ip icmp code <CODE>

<CODE> – значение CODE протокола ICMP, принимает значение в диапазоне [0..255].

esr(config-ips-category-rule)# ip icmp code comparison-operator
{ greater-than | less-than }

Оператор сравнения для значения ip icmp code:

  • greater-than – больше чем..
  • less-than –меньше чем..

18

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

Применимо только для значения protocol icmp.

esr(config-ips-category-rule)# ip icmp id <ID>

<ID> – значение ID протокола ICMP, принимает значение в диапазоне [0.. 65535].

19

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

Применимо только для значения protocol icmp.

esr(config-ips-category-rule)# ip icmp sequence-id <SEQ-ID>

<SEQ-ID> – значение Sequence-ID протокола ICMP, принимает значение в диапазоне [0.. 4294967295].

20

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

Применимо только для значения protocol icmp.

esr(config-ips-category-rule)# ip icmp type <TYPE>

<TYPE> – значение TYPE протокола ICMP, принимает значение в диапазоне [0..255].

esr(config-ips-category-rule)# ip icmp type comparison-operator
{ greater-than | less-than }

Оператор сравнения для значения ip icmp type:

  • greater-than – больше чем.
  • less-than –меньше чем.

21

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

Применимо только для значения protocol tcp.

esr(config-ips-category-rule)# ip tcp acknowledgment-number <ACK-NUM>

<ACK-NUM> – значение Acknowledgment-Number протокола TCP, принимает значение в диапазоне [0.. 4294967295].

22

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

Применимо только для значения protocol tcp.

esr(config-ips-category-rule)# ip tcp sequence-id <SEQ-ID>

<SEQ-ID> – значение Sequence-ID протокола TCP, принимает значение в диапазоне [0.. 4294967295].

23

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

Применимо только для значения protocol tcp.

esr(config-ips-category-rule)# ip tcp window-size <SIZE>

<SIZE> – значение Window-Size протокола TCP, принимает значение в диапазоне [0.. 65535].

24

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

Применимо только для значения protocol http.

esr(config-ips-category-rule)# ip http { accept | accept-enc |
accept-lang | client-body | connection | content-type | cookie |  file-data | header | header-names | host | method | protocol |
referer | request-line | response-line | server-body | start |
start-code | start-msg | uri | user-agent }

Значение ключевых слов см в документации Suricata 4.X.

https://suricata.readthedocs.io/en/suricata-4.1.4/rules/http-keywords.html


25

Установить значение ключевого слова URI LEN протокола HTTP, для которых должно срабатывать правило (не обязательно).

Применимо только для значения protocol http.

esr(config-ips-category-rule)# ip http urilen <LEN>

<LEN> – принимает значение в диапазоне [0.. 65535].

esr(config-ips-category-rule)# ip http urilen comparison-operator
{ greater-than | less-than }

Оператор сравнения для значения ip http urilen:

  • greater-than – больше чем..
  • less-than –меньше чем..

26

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

esr(config-ips-category-rule)# payload content <CONTENT>

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

27

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

Применимо только совместно с командой payload content.


esr(config-ips-category-rule)# payload no-case


28

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

Применимо только совместно с командой payload content.

esr(config-ips-category-rule)# payload depth <DEPTH>

<DEPTH> – число байт с начала содержимого пакета, принимает значение в диапазоне [1.. 65535].

По умолчанию проверяется все содержимое пакета.

29

Установить число байт смещения от начала содержимого пакета для проверки (не обязательно).

Применимо только совместно с командой payload content.

esr(config-ips-category-rule)# payload offset <OFFSET>

<OFFSET> – число байт смещения от начала содержимого пакета, принимает значение в диапазоне [1.. 65535].

По умолчанию проверяется с начала содержимого.

30

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

esr(config-ips-category-rule)# payload data-size <SIZE>

<SIZE> – размер содержимого пакетов, принимает значение в диапазоне [0.. 65535].

esr(config-ips-category-rule)# payload data-size
comparison-operator { greater-than | less-than }

Оператор сравнения для значения payload data-size:

  • greater-than – больше чем..
  • less-than –меньше чем.

31

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

esr(config-ips-category-rule)# threshold count <COUNT>

<COUNT> – число пакетов, принимает значение в диапазоне [1.. 65535].

32

Указать интервал времени, для которого считается пороговое количество пакетов

(Обязательно, если включен threshold count).

esr(config-ips-category-rule)# threshold second <SECOND>

<SECOND> – интервал времени в секундах, принимает значение в диапазоне [1.. 65535].

33

Указать по адресу отправителя или получателя будут считаться пороги.

(Обязательно, если включен threshold count).

esr(config-ips-category-rule)# threshold track
{ by-src | by-dst }

  • by-src – считать пороговое значение для пакетов с одинаковым IP-отправителя.
  • by-dst – считать пороговое значение для пакетов с одинаковым IP-получателя.

34

Указать метод обработки пороговых значений.

esr(config-ips-category-rule)# threshold type
{threshold | limit | both }

  • threshold – выдавать сообщение каждый раз по достижении порога.
  • limit – выдавать сообщение не чаще <COUNT> раз за интервал времени <SECOND>.
  • both – комбинация threshold и limit.

Сообщение будет генерироваться, если в течении интервала времени <SECOND> было <COUNT> или более пакетов подходящих под условия правила, и сообщение будет отправлено только один раз в течении интервала времени <SECOND>.

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

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


...

Шаг

Описание

Команда

Ключи

1

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

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

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

2

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

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

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

3

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

esr(config-ips-category)# rule-advanced <SID>

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

4

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

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

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

5

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

esr(config-ips-category-rule-advanced)# rule-text <LINE>

<CONTENT> – текстовое сообщение в формате SNORT 2.X / Suricata 4.X, задаётся строкой до 1024 символов.

Примечание

При написании правил в тексте правила необходимо использовать только двойные кавычки (символ "), а само правило необходимо заключать в одинарные кавычки (символ ').


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

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


Scroll Pagebreak
Пример настройки расширенных пользовательских правил

...

Блок кода
esr(config)# security ips-category user-defined ADV

Scroll Pagebreak


Создадим расширенное правило:

...