[service data–source]
[service data–source]
type { ip–traffic | netflow | libpcap | netgraph | raw }
Задает тип источника данных
• ip–traffic
• данные берутся путем перехвата ip–пакетов из ядра через divert socket (FreeBSD) или netfilter (Linux 2.4.x)
• netflow
• данные о прошедшем трафике приходят от маршрутизатора Cisco, отдающего поток информации в пакетах NetFlow, или от любого другого коллектора, поддерживающего NetFlow v.5 (ulog2netflow, ipfw2netfloe, flowprobe)
• libpcap
данные берутся путем перехвата пакетов с помощью библиотеки libpcap, которая копирует в программу проходящие через ядро системы определенные пакеты. так же работает, например, tcpdump. Смотри этот раздел.
• netgraph
данные передаются от установленного модуля ядра. Только для FreeBSD 5.xx. Смотри этот раздел.
• raw
• данные передаются от произвольного источника (например коммутатор Cisco или сервер Radius) и учитываются через команду rawdata .
source { tee XXX | divert XXX | ipq | ulog NL1 [NL2 … NL32] | A.B.C.D | ifname [promisc] | nodename [divert] }
Задает источник данных:
Для FreeBSD
• tee XXX
• пакеты будут копироваться в программу и параллельно обрабатываться системой, номер divert–порта XXX
• divert XXX
• пакеты будут заворачиваться в программу и она может отдать или не отдать их системе обратно, номер divert–порта XXX
• nodename [divert]
• установится соединение с модулем NETGRAPH ядра nodename. Параметр divert указывает на необходимость проводить авторизацию потока перед его пропусканием. Смотри этот раздел.
Для Linux
Необходимо наличие в системе netfilter.
Подробнее можно прочитать man iptables и на сайте www.netfilter.org
• ipq
• пакеты будут заворачиваться в программу и она может отдать или не отдать их системе обратно. Используется библиотека libipq.
• Для работы должен быть загружен модуль ip_queue (modprobe ip_queue). Чтобы активировать передачу пакетов из ядра, необходимо задать это в firewall, например командой:
• iptables–A FORWARD–j QUEUE …
• ulog NL1 [NL2 … NL32]
• пакеты будут копироваться в программу и параллельно обрабатываться системой, NLx определяет номера мультикаст групп в которых программа будет слушать пакеты отправляемые через ULOG.
• Чтобы активировать передачу пакетов из ядра, необходимо задать это в firewall, например командой:
• iptables–A FORWARD–j ULOG --ulog–nlgroup NLx …
• nlgroup NLx должно быть в границах 1–32
Общие
• A.B.C.D
• поток NetFlow будет идти с хоста (маршрутизатора) с IP–адресом источника A.B.C.D на локальный UDP–порт 20001 или тот, который будет указан в команде listen
• ifname [promisc]
• имя локального сетевого интерфейса, на котором будут захватываться проходящие пакеты
• Если указан флаг promisc, то интерфейс будет помещен в promisc mode. По умолчанию — не указан.
listen { 0 | ip } port_number
Задает IP адрес и UDP–порт, на который будут приниматься пакеты NetFlow от источника информации о трафике (коллектора).
clock { remote | local }
Указывает, какое значение текущего времени создания пакета использовать для занесения информации в базу — локальное или указанное в NetFlow–сообщении.
layer7–detect { none | urls }
Включает механизм определения ссылок (URL) в трафике, проходящем через этот сервис data–source. Допустимые значения «none» (выключено) или «urls». Во втором случае, первые несколько пакетов в потоке на порты назначения 80, 81, 8080, 8000, 3128 будут проанализированы на предмет поиска полей Host: и GET. Эта информация может быть учтена через сервис мониторинга (новое поле layer7 в таблице monitor).
rule ID rule_string
Задает системное правило, по которому данные будут попадать в программу:
• ID
• номер правила, для Linux не имеет смысла т.к. правила ставятся в конец цепочки
• rule_string
• правило в виде текстовой строки, которое будет передано системе (Linux или FreeBSD) для установки перехватчика пакетов.
no rule ID
Отменяет правило с номером ID.