Pull to refresh

Организация съема трафика с Linux сервера для последующего анализа

Reading time2 min
Views9.5K
Задача: Организовать съем трафика с сервера и передачу его по сети на другой сервер для последующего анализа. В простейшем случае — реализации средствами ОС Linux функции SPAN коммутаторов Cisco. Подобная задача возникает, если мы хотим провести анализ содержимого не на существующем сервере, а на выделенном сервере для анализа. В простейшем случае реализуем схему, изображенную на рисунке.

В этой схеме, мы проверяем весь проходящий через шлюз трафик пользователя. Для анализа можно использовать систему обнаружения вторжений, например Snorm.

Для реализации такой схемы потребуется kernelspace модуль для netfilter ipt_ROUTE и поддержка цели ROUTE в userspace iptables(есть из коробки в debian). Модуль ядра ipt_ROUTE.c был выброшен из patch-o-matic и не поддерживается, поэтому не собирается с новыми ядрами >=2.6.24. Я портировал его на новые ядра и выложил на google code.

Для установки нужно выполнить следующие действия:

$svn co iptroute.googlecode.com/svn/trunk iptroute
$cd iptroute
$make
$sudo make install


В результате мы установили ipt_ROUTE модуль для netfilter.

Теперь нам осталось только организовать интерфейс, куда мы будем отправлять снятый трафик. Это может быть физический интерфейс, vlan-интерфейс или тунель.Рассмотрим самый простой вариант, изображенный на рисунке:
eth0 — inet addr:10.10.10.2 интерфейс, смотрящий в интернет
eth1 — inet addr:192.168.1.1 интерфейс, смотрящий в локальную сеть
eth2 — inet addr:172.16.0.1 интерфейс съема, в него будет дублироваться весь трафик, который пропускает наш шлюз

Добавляем виртуальный сервер, который будет принимать наш трафик.
#arp -i eth2 -s 172.16.1.2 00:00:00:00:00:01

Дублируем весь трафик, проходящий через цепочку FORWARD на адрес сервера съема 172.16.1.2:
#iptables -t mangle -A FORWARD -j ROUTE --tee --gw 172.16.1.2

После всех манипуляций мы можем анализировать весь трафик, проходящий через наш шлюз; для этого достаточно присоединится к интерфейсу eth2.

Аналогичным способом легко можно анализировать трафик, идущий с веб или почтового сервера.
Изначально такая схема была придумано для анализа трафика внутри шифрованных PPtP и OpenVPN туннелей на выделенном сервере.
Tags:
Hubs:
Total votes 33: ↑29 and ↓4+25
Comments13

Articles