The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Использование L7-filter в Linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Использование L7-filter в Linux"  +/
Сообщение от auto_tips on 01-Дек-09, 12:47 
Проект l7-filter (http://l7-filter.sf.net) дает возможность Netfilter идентифицировать пакет на прикладном уровне данных, основываясь на его содержимом, и классифицировать пакеты по их назначению, без привязки к номеру порта. В настоящее время поддерживаются протоколы HTTP и FTP; P2P сети (Kazaa, BitTorrent, eDonkey2000, FastTrack); IM-системы (AIM/Jabber/IRC/MSN); VoIP/Skype; VPN; игры (Battlefield, CS, Doom3, WoW); файлы (exe, mp3) и даже сетевые черви - Code Red и Nimda.

Проект предлагает две версии L7-filter:

* Kernel version - развивается уже давно и хорошо протестирована, немного сложна в установке, не очень дружит с SMP-процессорами и позволяет использовать только самые простые регулярные выражения;

* Userspace version - находится в ранней стадии развития, и, возможно, в будущем будет поддерживаться только эта версия, обладает большими возможностями по фильтрации, так как поддерживает весь спектр команд GNU grep. Несмотря на то, что userspace стабилен в работе, этот вариант не рекомендуют использовать на критических системах и для блокировки трафика.

В дальнейшем рассмотрим установку kernel варианта l7-filter, который затем дополним IPP2P. Данный способ потребует пересборки ядра.
Для успешного проведения сборки в твоей системе должны быть установлены пакеты build-essential, iptables, iptables-dev и linux-source. Берем настройки текущего ядра, которые будем использовать как базовые, и копируем текущую конфигурацию в /usr/src/linux:

   sudo cp /boot/config-`uname -r` /usr/src/linux/.config

Получаем архив с патчами для ядра с сайта L7-filter, распаковываем его и переходим в каталог с сырцами ядра:

   tar xzvf netfilter-layer7-v2.21.tar.gz
   $ cd /usr/src/linux

В архиве несколько патчей для разных версий ядер и iptables, нужно выбрать вариант для своего ядра:

   $ sudo patch -p1 < ../netfilter-layer7-v2.21/for_older_kernels/kernel-2.6.22-2.6.24-layer7-2.18.patch

Теперь аналогично патчим iptables, выбрав также свою версию:

   $ cd ../iptables
   $ iptables -v
   iptables v1.3.8
   $ sudo patch -p1 < ../netfilter-layer7-v2.21/iptables-1.3-for-kernel-2.6.20forward-layer7-2.21.patch
   $ sudo chmod +x extensions/.layer7-test

Собираем iptables:

   $ make KERNEL_DIR=/usr/src/linux
   $ sudo make install

Конфигурируем и компилируем ядро:

   $ sudo make menuconfig

Переходим в "Networking - Networking option - Network packet filtering framework(Netfilter) - Core Netfilter Configuration", где активируем "Connection tracking flow accounting" и "Layer 7 match support".

Cтавим фильтры протоколов, фактически они просто копируются в каталог /etc/l7-protocols:

   $ tar xzvf l7-protocols-2009-05-28.tar.gz
   $ cd l7-protocols-2009-05-28/
   $ sudo make install

После перезагрузки можно проверить работу фильтра. Команда "iptables -m layer7 --help" выдаст список параметров. Например, чтобы заблокировать BitTorrent, AIM и Skype, пишем:

   iptables -A FORWARD -m layer7 --l7proto bittorrent -j DROP
   iptables -A FORWARD -m layer7 --l7proto aim -j DROP
   iptables -A FORWARD -m layer7 --l7proto skypetoskype -j DROP
   iptables -A FORWARD -m layer7 --l7proto skypeout -j DROP

То есть ищем в списке название протокола и производим нужное действие.

URL: http://www.tux.in.ua/articles/1712
Обсуждается: http://www.opennet.dev/tips/info/2239.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Использование L7-filter в Linux"  +/
Сообщение от Salvator email on 01-Дек-09, 12:47 
шифрованный bittorrent как я понимаю, не умеет?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Использование L7-filter в Linux"  +/
Сообщение от User294 (ok) on 01-Дек-09, 19:13 
Дык шифрование специально от таких умников и сделали. Некоторые особо хитрожопые научились его детектить иными методами, но, знаете, как говорится - "а будет мало - добавим".
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Использование L7-filter в Linux"  +/
Сообщение от Аноним (??) on 01-Дек-09, 20:51 
А во фряхе есть аналоги?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Использование L7-filter в Linux"  +/
Сообщение от СуперАноним on 02-Дек-09, 00:05 
Для умников применяющих шифрование именно с этой целью. С помощью QoS можно, например, отправлять любой неиндентифицированный трафик в самую низкоприоритетную очередь, т.е. по остаточному принципу.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Использование L7-filter в Linux"  +/
Сообщение от FrBrGeorge (ok) on 02-Дек-09, 00:35 
> не очень дружит с SMP-процессорами

Что сие значит?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Использование L7-filter в Linux"  +/
Сообщение от Александр (??) on 02-Дек-09, 10:34 
Недолгий поиск дает, напр.:
http://www.opennet.dev/openforum/vsluhforumID3/43131.html

:)

Первый же коммент к приведенной новости порадовал - тоже человек не напрягся погуглить :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Использование L7-filter в Linux"  +/
Сообщение от Аноним (??) on 02-Дек-09, 10:55 
будет грузить один проц или ядро
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Использование L7-filter в Linux"  +/
Сообщение от User294 (ok) on 02-Дек-09, 14:14 
> т.е. по остаточному принципу.

Можно. Только вот:
1) Протоколов на свете много и все их вы классифицировать слегка заколебетесь. А когда у ваших клиентов начнут сосуче работать игры, чаты/IM и прочие скайпы и что там у них еще - клиенты начнут вас посылать на ... и в ... за дефективный интернет, если вы не расширите каналы :).А если расширите - так трах с резкой P2P становится излишним.Каналов или хватает или нет.
2) А если такое обнагление продолжится в достаточном объеме - ну так закосить под VoIP,  IM протоколы, HTTP, да хоть черта лысого. Протоколам в конечном итоге глубоко похрену какие именно данные там внутрях передаются - сайт васи пупкина или же блок P2P раздачи на много гигз. Как вам например идея "распределенный HTTP"? Каждый клиент - небольшой HTTP сервер до кучи, файло как обычно режется на блоки, каждый клиент фигачит HTTP GET с RANGEом, ответ - 206 partial content с блоком(ами) файла. А то что оно где-то там добавочно проверится на хэш и прочая - откуда ж вам знать? :P. Вы как, резанете клиентам HTTP-даунлоады? Так у них тогда все писькомеры покажут что вы им интернета недодаете :)))

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Использование L7-filter в Linux"  +/
Сообщение от Гриша on 03-Дек-09, 02:37 
Неверных провайдеров надо публично и черенком от лопаты, это понятно.

Но польза от этого инструмента тоже есть: блокирование активности червей. Это конечно, если он действительно будет эффективен, а то ведь и черви могут под HTTP маскироваться, от регэкспов шифрованием спасаться и т. д.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Использование L7-filter в Linux"  +/
Сообщение от User294 (ok) on 03-Дек-09, 19:43 
Могут. И маскируются. Знаете как вирье плюют на фаерволы и прочих супер-касперских? А они просто просят сам IE укачать им "вон ту длинную урлу". А в урле - пароли лоха скажем закодированы на самом деле как параметры. А так - легитимный HTTP запрос, комар носа не подточит. А уж если абузивно использовать хороший инструмент во вред, ALL озаботится противодействием. Например, если я у *себя* в сети которой я владею придавлю на своих системах приоритет моего торент трафика так чтобы остальное было приоритетнее, я в своем праве и никто не будет возражать (жаловаться на самого себя как-то странно :D).А если кто будет наглеть с классификацией *чужого* траффа - так остальные озаботятся вопросом как сорвать оную. И в конечном итоге - данные можно кодировать зиллионами способов. Вон из 1 и 0 сколько всего делают. А всего-то 2 значения передается. В какомнить HTTP выбор на порядки больше и уж наверное в нем можно закодировать *любые* данные в результате :).В этом месте любителей файрволинга всего чего попало и классифежки ждет небольшое но досадное обломинго.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Использование L7-filter в Linux"  +/
Сообщение от FrBrGeorge (ok) on 04-Дек-09, 00:19 
>> не очень дружит с SMP-процессорами
>будет грузить один проц или ядро

Оба высказывания друг друга стоят :(

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "Использование L7-filter в Linux"  +/
Сообщение от XoRe (ok) on 05-Дек-09, 18:48 
>>> не очень дружит с SMP-процессорами
>>будет грузить один проц или ядро
>
>Оба высказывания друг друга стоят :(

Не ну в принципе, выражение "не очень дружит" довольно многозначно.
В том числе может означать и использование только 1 проца в 1 момент времени.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Использование L7-filter в Linux"  +/
Сообщение от FrBrGeorge (ok) on 06-Дек-09, 01:41 
>>>> не очень дружит с SMP-процессорами
>>>будет грузить один проц или ядро
>>Оба высказывания друг друга стоят :(
>Не ну в принципе, выражение "не очень дружит" довольно многозначно.
>В том числе может означать и...

Ага, а слово "ядро" тоже довольно многозначно :)
А всего-то надо было -- это зайти на домашнюю страничку и прочитать там 3 вещи:

- Kernel version. This version is old and well tested, but it is complicated to install and seems to cause SMP systems to crash. It can only use fairly simple regular expressions

- By Dec 2006, we had realized that working anywhere in kernel space was not the brightest idea

- l7-filter is currently not being actively maintained.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру