Перейти к основному содержимому

Фильтрация по специальным выражениям

Для удобства обработки информации в 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) нажмите «Сохранить фильтр», затем введите название фильтра и нажмите «Добавить». Фильтр будет сохранён и доступен для последующего использования.

Поле Сохранения фильтров
Рис. 8 – Поле Сохранения фильтров

Чтобы применить сохраненный фильтр, следует выбрать интересующую запись Она добавляется в поле фильтрации без активации; затем нажать кнопку «Иллюстрация».

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

После выбора система выполняет пересчёт данных и обновляет отображение таблицы в соответствии с новыми критериями (рис. 9).

Фильтрация по логическим операторам

Рис. 9 – Фильтрация по логическим операторам

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