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

    Задача: Организовать съем трафика с сервера и передачу его по сети на другой сервер для последующего анализа. В простейшем случае — реализации средствами ОС 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 туннелей на выделенном сервере.
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 13

      0
      Для анализа можно использовать систему обнаружения вторжений, например Snorm

      Опечаточка в последнем слове :) А так статья занятная, спасибо :)
        –1
        "… систему обнаружения вторжений, например Snorm."
        исправьте пожалуйста — Snort.
          +4
          Да, было бы очень хорошо, если бы вы описали что с этим трафиком можно делать потом :) То есть, более детально подойти к вопросам собственно анализа трафика.
            +3
            поддерживаю, очень хотелось бы почитать статью про правильную настройку например того — же snort
              +1
              хорошо. соберусь и напишу, как его можно использовать в реальной жизни.
                0
                Про snort очень много написано Здесь и Здесь. В настройке он очень легок и удобен.
              +1
              Анализировать содержимое пакетов при большой сетевой активности — очень ресурсоёмкая задача.
              Если достаточно заголовков пакетов (для анализа, либо статистики), то предпочтительней использовать netflow, либо ULOG… да вариантов масса.
              • UFO just landed and posted this here
                  +1
                  Visio, microsoft office живет в virtual box. Openoffice draw не очень удобен и клипарта в нем нет.
                  +1
                  #iptables -t mangle -A FORWARD -j ROUTE --tee --gw 172.20.1.2


                  172.16.1.2?
                    +1
                    опечатался. конечно 172.16.1.2
                    0
                    >Модуль ядра ipt_ROUTE.c был выброшен из patch-o-matic и не поддерживается, поэтому не собирается с новыми ядрами >=2.6.24.

                    выкинули и не представили официальной замены? что побудило разработчиков на такой шаг?
                      0
                      Дело в том, что этот модуль считается dirty hack'ом. Все его возможности, кроме --tee(копирование пакетов) реализуются при помощи iproute2. Считается, что iptables маршрутизацией не должен заниматься, для этого есть iproute2 со своими таблицами.

                    Only users with full accounts can post comments. Log in, please.