Принципы работы
Принципы работы
Работа netams в случае использования модуля NETGRAPH (далее–модуль) заключается в установке модуля в ядро (и подключения его к интерфейсу, через который идет трафик), и настройке программы netams (далее–демона) для корректного соединения с модулем.
Модуль и демон могут работать в двух режимах (они должны быть одинаковы в настройках!): tee и divert.
В режиме tee модуль ядра получает пакеты с использованием «дубликатора» ng_tee, который отсылает на обработку «копию» проходящего через интерфейс пакета. Понятное дело, в таком случае фильтрация трафика невозможна. Проходящие через модуль пакеты подвергаются анализу заголовков, формируются записи в хэш–таблице, которые периодически «устаревают» и отправляются на обработку демону. Он получает пакеты с данными о трафике и обрабатывает их примерно так же, как происходит с потоками netflow (работают учет и мониторинг).
В режиме divert модуль ядра подключается непосредственно к ethernet–интерфейсу. Весь трафик проходит через обработку, однако НЕ IP трафик пропускается прозрачно без учета. Каждый пакет также проходит проверку на соответствие с уже имеющимся в системе потоком данных, и:
• если соответствующего потока не найдено, т.е. рассматриваемый пакет–первый в потоке данных (начало соединения), то для данного потока создается очередь. пакет помещается в конец очереди. создается запрос вида FWREQUEST, содержащий заголовки пакета, и передается через контрольный сокет демону netams. заметим, что в этот момент оригинальный IP пакет никуда не передается, он «застревает» в модуле. потоку присваивается статус QUEUED.
• если поток найден, то проверяется его статус:
• QUEUED — рассматриваемый пакет добавляется в конец цепочки пакетов данного потока. при этом делаются проверки на ряд ограничений по количеству потоков/пакетов/байт/очередей, для предотвращения атаки DoS
• PASS — пакет передается дальше
• DROP — пакет уничтожается
Возникает вопрос, что же происходит с пакетами в очереди, и откуда берутся статусы PASS и DROP?
Статус DROP является единственно возможным для режима работы TEE.
Когда демон получает запрос FWREQUEST из модуля ядра, происходит разбор заголовков и полный анализ возможности блокировки пакета с использованием таблиц юнитов, политик, системных политик, словом всего обычного набора действий. По окончании проверки, формируется решение по данному потоку: PASS или DROP, и оно передается обратно в ядро через сообщение FWREPLY. За время такой обработки в ядре уже может накопиться несколько пакетов в очереди для данного потока. По получении ответа от демона, модуль ядра во–первых ставит соответствующий флаг для данного потока, а затем пытается или отправить все пакеты из очереди, или очистить очередь.
Если по каким–то причинам демон недоступен, то по истечении некоторого таймаута (сейчас это NG_NETAMS_DEFAULT_TIMEOUT равный 2 секундам) производится принудительная очистка очереди для потока и принятие «решения по умолчанию» (сейчас: пропускать). Таким образом предотвращается залипание потока и выедание памяти у ядра (что может быть очень опасным!)
В режиме divert, как и в tee, проводится периодическое устаревание потоков и отправка их на учет «наверх», демону.
Рассмотренный механизм работает, по сути, аналогично Multilayer Switching, реализованному в Cisco Catalyst 6000 и подобных ящиках. Там «быстрый» Switch Engine направляет первый пакет потока «медленному» Route Processor, который определяет, куда маршрутизировать пакет, и проводит проверку правил доступа (access lists). Все последующие после ответа пакеты идут через SE напрямую, и только через некоторое время «наверх» передается статистика о прошедшем потоке. В нашем случае решения о маршрутизации принимать не нужно, в роли «быстрого» движка выступает ядро с его механизмом форвардинга пакетов, в роли «медленного» решателя — демон NeTAMS.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Основные принципы XML
Основные принципы XML Проявляемый в настоящее время большой интерес к языку XML объясняется тем, что он предоставляет возможности, позволяющие в текстовой форме описывать структурированные данные. Точнее говоря, XML является метаязыком для создания различных языков
Принципы
Принципы РазделяйтеБывалые путешественники держат лишь небольшую сумму денег в бумажнике, а остальное – в мешочке, скрытом под одеждой. Таким образом, если их обворуют, они не потеряют все деньги. Структура шпионских или террористических организаций предполагает
Принципы работы
Принципы работы Работа netams в случае использования модуля NETGRAPH (далее–модуль) заключается в установке модуля в ядро (и подключения его к интерфейсу, через который идет трафик), и настройке программы netams (далее–демона) для корректного соединения с модулем.Модуль и демон
Принципы работы
Принципы работы Скрипт addon/snmp2netams.pl опрашивает перечисленные в его заголовке SNMP–устройства, используя заданное значение community. Запрашиваются имена интерфейсов и значения 64–битных счетчиков байт, прошедших через интерфейс:ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName ==
Принципы работы функции поиска
Принципы работы функции поиска Прежде чем рассказывать о выполнении поисковых запросов, необходимо рассмотреть основные концепции работы системы поиска. Поисковый запрос содержит одно или несколько слов, представляющих содержимое, которое нужно найти. Область
Принципы продвижения
Принципы продвижения Старт Достоверность С чего нужно начинать свое продвижение в социальных сетях?Профиль, который вы хотите продвигать, нужно заполнить максимально полно и качественно. Запомните, что главная фотография должна быть именно вашей и обязательно
Принципы
Принципы Существенную роль в поисках нужной методологии играет определение принципов, по котором ее можно было бы разработать. После создания полудюжины различных методологий и проведения нескольких дюжин опросов и интервью разнообразных проектов, я сумел определить
Общие принципы работы со спецификациями
Общие принципы работы со спецификациями При работе с документом-спецификацией в КОМПАС-3D обычно пользуются таким понятием, как объект спецификации.Объект спецификации – это строка или несколько текстовых строк в документеспецификации, характеризующих (описывающих)
Принципы работы поисковых серверов
Принципы работы поисковых серверов Поисковый сервер – это довольно сложная программа, точнее комплекс программ, в которых используются специальные алгоритмы анализа содержимого веб-сайтов в масштабах всего Интернета.Интересный момент: на обработку того же запроса
Принципы работы с файлами в VBA
Принципы работы с файлами в VBA Как уже говорилось в главе 11, VBA позволяет работать с файлами как с объектами и манипулировать файловыми объектами с помощью их свойств и методов.Но это не стало органической частью VBA, а обеспечивается некоторой внешней объектной
19.3.1. Принципы и техника
19.3.1. Принципы и техника Каркас Rails построен на основе паттерна Модель-Вид-Контроллер (Model-View-Controller — MVC). Каждое приложение естественно разбивается на модели (моделирующие предметную область), виды (с помощью которых информация представляется пользователю и организуется
Принципы работы с текстом
Принципы работы с текстом В Adobe Photoshop существует два вида текста – точечный и абзацный.Точечный текст предназначен для написания коротких текстов – два-три слова, строка, реже – две или три строки; то есть для написания текста в определенной точке. Создать такой текст
Принципы работы RAID
Принципы работы RAID В основе работы RAID лежат несколько принципов организации записи данных на массив дисков. Реализация этих принципов позволяет ускорить запись и извлечение данных, а также увеличить степень надежности их хранения.• Данные в процессе записи
Принципы работы, основанной на анализе сигнатур системы обнаружения вторжений
Принципы работы, основанной на анализе сигнатур системы обнаружения вторжений Система обнаружения вторжений является вполне простым высокотехнологичным эквивалентом охранной сигнализации, настроенной контролировать точки доступа к сети, враждебную сетевую