Фильтрация по специальным выражениям
Для удобства обработки информации в eSensor предусмотрена фильтрация данных о сессиях и атаках с использованием специальных выражений через поле «Фильтрация» (рис. 5).

Рис. 5 – Поле Фильтрация
Применение фильтрации осуществляется посредством задания специального выражения, сформированного, например, с использованием одного из следующих атрибутов:
-
not – отрицание (инверсия);
-
( ) – скобки используются для выделения каких-либо выражений и применения к ним оператора. Например, not (proto == tcp and dst.port == 9000). Этот фильтр позволяет получить только те сессии, в которых протокол – не TCP, и при этом порт получателя – не 9000;
-
pcap – файлы, содержащие данные сетевых пакетов, захваченных в сети;
-
proto – протокол транспортного уровня, использованный в сессии/атаке;
-
bytes.recv – количество байт, переданных получателем сессии;
-
bytes.sent – количество байт, переданных отправителем сессии;
-
bytes.total – общее количество байт, переданных в рамках сессии;
-
dst.ip – IP-адрес получателя;
-
dst.port – порт получателя;
-
pkts.recv – количество пакетов, переданных получателем сессии;
-
pkts.sent – количество байт, переданных отправителем сессии;
-
pkts.total – общее количество пакетов, переданных в рамках сессии;
-
sensor.name – имя сенсора, зарегистрировавшего сессию/обнаружившего атаку;
-
src.ip – IP-адрес отправителя;
-
src.port – порт отправителя;
-
http.any – поиск по всем метаданным протокола (например: фильтр http.any ~ "%yandex%" вернет все сессии, в которых есть хотя бы одна запись с метаданными об HTTP с любым полем, в значение которого входит подстрока yandex);
После выбора нужного атрибута необходимо нажать пробел, после чего откроется список операторов сравнения. Примеры операторов:
-
< – проверяет, что значение меньше следующего;
-
– проверяет, что значение больше следующего;
-
<= – проверяет, что значение меньше или равно следующему;
-
= – проверяет, что значение больше или равно следующему;
-
== – проверяет, что значения равны;
-
!= – проверяет, что значения не равны;
-
in – проверяет, что элемент представлен в списке;
-
~ – проверяет, что строка соответствует паттерну, с учетом регистра. Паттерн может содержать символы;
-
!~ – проверяет, что строка не соответствует паттерну, с учетом регистра. Паттерн может содержать символы;
-
~* – проверяет, что строка соответствует паттерну, без учета регистра. Паттерн может содержать символы;
-
!~* – проверяет, что строка не соответствует паттерну, без учета регистра. Паттерн может содержать символы.
Примечание. В списках атрибутов и операторов приведены только некоторые из доступных пользователю. С полным списком можно ознакомиться в выпадающей динамической подсказке под полем «Фильтрация».
После ввода специального выражения для активации фильтрации по заданному параметру необходимо нажать «».
При обнаружении ошибки в выражении фильтрации поле «Фильтрация» маркируется красным цветом. Дополнительно отображается иконка «», содержащая сообщение об ошибке в виде всплывающей подсказки при наведении курсора (рис. 6).

Рис. 6 – Сообщение об ошибке в поле Фильтрация
При нажатии кнопки «» отображается история ранее применённых выражений фильтраций (рис. 7). Поле содержит последние 10 успешно примененных выражений фильтрации.
Доступ к истории реализован для разделов «Дашборды», «Сессии», «Атаки». При выборе записи из списка соответствующее выражение копируется в поле фильтрации без автоматической активации.

Рис. 7 – Поле История фильтрации
Для сохранения выражения фильтрации следует ввести данные в поле фильтрации и нажать кнопку «». В появившемся окне (рис. 8) нажмите «Сохранить фильтр», затем введите название фильтра и нажмите «Добавить». Фильтр будет сохранён и доступен для последующего использования.

Чтобы применить сохраненный фильтр, следует выбрать интересующую запись Она добавляется в поле фильтрации без активации; затем нажать кнопку «».
В интерфейсе разделов «Дашборд», «Сессии», «Атаки» реализована функция контекстного добавления фильтров. При клике на значение в таблице данных в строку фильтрации автоматически добавляется условие с применением логических операторов (and, or, and - or, or -not).
После выбора система выполняет пересчёт данных и обновляет отображение таблицы в соответствии с новыми критериями (рис. 9).

Рис. 9 – Фильтрация по логическим операторам
Фильтр по сессиям и атакам сквозной: выражение, заданное в поле «Фильтрация» на одной из страниц («Дашборды», «Сессии» или «Атаки»), сохраняется и автоматически применяется при переходе между этими страницами.