Сегодня 2 мая, четверг ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7272
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Блог Андрея Никитушкина
Блог Андрея Никитушкина
Голосов: 0
Адрес блога: http://andreynikitushkin.blogspot.com/
Добавлен: 2012-12-24 18:38:37
 

Xtables-addons или добавляем функциональности фильтрации пакетов.

2012-12-21 16:13:09 (читать в оригинале)


Проект xtables-addons представляет собой набор модулей-расширений для входящего в ядро Linux фреймворка фильтрации и преобразования пакетов netfilter. В этот набор включаются расширения, которые по тем или иным причинам пока не были приняты в основную ветку разработки ядра Linux. Таким образом, данный проект является альтернативой устаревшему patch-o-matic(-ng). Ключевое отличие xtables-addons от предшественника состоит в отсутствии необходимости в наложении патчей на ядро и iptables, что значительно упрощает процесс сопровождения и установки расширений. Во времена patch-o-matic часто бывало сложно найти версию патча, совместимую с нужной версией ядра и/или iptables, в то время как для работы xtables-addons достаточно наличия ядра версии >=2.6.17 и iptables >= 1.4.3 (впрочем, в случае использования ipset 5 требования становятся несколько более жесткими — версия ядра не менее 2.6.35, дополнительно требуется библиотека libmnl). В числе других преимуществ xtables-addons над patch-o-matic(-ng) можно упомянуть расширенную поддержку IPv6 и более высокое качество кода.
В состав xtables-addons входит множество других полезных модулей (критериев и действий iptables/netfilter), в частности:
- TARPIT — широко известный в узких кругах инструмент для активного противодействия (D)DoS-атакам и сканированиям TCP-портов, способный в определенный обстоятельствах неплохо проучить атакующего. Суть его работы сводится к следующему: он подтверждает открытие входящего TCP-соединения, после чего устанавливает размер окна TCP равным нулю, что блокирует возможность корректного закрытия соединения. В результате система атакующего получает очередное «повисшее» соединение, в то время как ваша система ничего не замечает (хуки netfilter отрабатывают раньше, чем стандартный сетевой стек ядра, дополнительно может потребоваться отключение трекинга соединений в conntrack через действие NOTRACK). При агрессивной атаке подобная тактика может вызвать у атакующего серьезные проблемы. Особенно сильно такому воздействию подвержены системы семейства Windows, на которых, как правило, и работают атакующие ботнеты.
- DELUDE — не столь опасный, но тем не менее тоже полезный инструмент противодействия сканированию TCP-портов. Работает он следующим образом: на SYN-пакеты он отвечает SYN,ACK-пакетами, создавая видимость открытого порта, на все остальные пакеты он отвечает RST (чтобы не создавать лишних проблем). Таким образом, DELUDE позволяет ввести атакующего в заблуждение, создав у него неверное впечатление о состоянии ваших портов.
- CHAOS — еще один инструмент, позволяющий поставить атакующего в глупое положение. С заданной вероятностью он применяет к входящему пакету операцию TARPIT или DELUDE (в зависимости от настроек), либо стандартную операцию REJECT (отправка ICMP-уведомления о недоступности порта), либо операцию DROP (блокирование пакета без уведомления отправляющей стороны). По умолчанию вероятности применения TARPIT/DELUDE и REJECT составляют порядка одного процента, к остальному трафику применяется DROP.
- IPMARK — действие, позволяющее присвоить пакету маркировку, определенную в результате арифметических операций над его исходным адресом (либо адресом назначения). Таким образом, грамотная организация адресного пространства в сочетании с элементарными арифметическими и побитовыми операциями могут заменить монструозные таблицы соответствия «адрес — маркировка», поиск по которым может отнимать значительную долю системных ресурсов. Особенно полезна данная операция при организации гибких систем шейпинга, когда несколькими командами можно настроить работу многих тысяч очередей.
- LOGMARK — действие, дополняющее набор данных, выводимых стандартной операцией LOG, такими сведениями, как маркировка, идентификатор, состояние и статус соединения в системе conntrack, маркировка SELinux и классификационный код шейпера для данного пакета, имя родительского хука, внутренний код интерфейса и т.п.
- RAWDNAT/RAWSNAT — операции «сырой» трансляции адресов, не использующие трекинг соединений. Могут быть использованы для увеличения гибкости стандартного NAT либо при ограниченности ресурсов в сочетании с большим количеством соединений, когда трекинг становится чересчур накладным.
- ACCOUNT — простая, высокопроизводительная система учета трафика, поддерживающая работу с клиентскими сетями большого размера (вплоть до /8).
- SYSRQ — инструмент, позволяющий при получении специальным образом сформированных (защищенных паролем) пакетов обращаться к системному триггеру. В частности, можно удаленно инициировать сброс кэша (sync) или даже выполнить ту самую последовательность REISUB, вне зависимости от работоспособности userspace.
- DHCPMAC/dhcpmac — сочетание одноименных критерия и действия позволяет выделять и подменять MAC-адреса, фигурирующие в запросах и ответах DHCP.
- condition — критерий, срабатывающий в зависимости от значения соответствующей булевой переменной, которое может быть задано из userspace (через procfs). Таким образом, работой правил netfilter можно управлять, не вмешиваясь в их структуру.
- fuzzy — критерий, выделяющий пакеты на основании нечеткой логики (при скорости поступления пакетов ниже пороговой величины a, вероятность соответствия пакета критерию равна нулю, в диапазоне скоростей от a до b вероятность плавно возрастает до единицы, и при скорости выше b пакеты всегда соответствуют критерию).
- geoip — критерий, позволяющий выделять пакеты на основании принадлежности их исходного адреса или адреса назначения заданному государству. Можно использовать базы данных от MaxMind или WIPmania
- iface — критерий, срабатывающий в зависимости от состояния заданного сетевого интерфейса. В частности, с его помощью можно организовывать отказоустойчивый доступ в интернет при наличии нескольких независимых каналов, с автоматическим исключением неработающих каналов.
- ipp2p — критерий, позволяющий выделять трафик различных P2P-сетей, в частности, BitTorrent, eDonkey/eMule, DC, Gnutella, AppleJuice, WinMX, SoulSeek, Ares, KaZaA. Чрезвычайно удобен при организации эффективного шейпинга трафика. Является неплохой альтернативой критерию l7filter, который требует наложения патчей на ядро и поэтому не включен в проект xtables-addons.
- lscan — разработанный Яном Энгельгардтом инструмент для выявления скрытных операций по сканированию TCP-портов.
- psd — более простой инструмент для выявления массовых сканирований TCP- и UDP-портов, основанный на принципе взвешенной суммы.
- pknock — позволяет организовать защиту портов посредством технологии port knocking. Возможно дополнительное усиление защиты за счет использования HMAC256-шифрования отправляемых пакетов.
- quota2, length2 — расширяют возможности стандартных критериев netfilter quota и length.
Данная статья подготовлена по материалам сайта: http://www.opennet.ru/opennews/art.shtml?num=29198
Надеюсь, что еще одно подробное описнание некоторых возможностей фильтрации пакетов в Linux, будет полезным. Успехов вам в дружбе с тюксом.
 



https://nikitushkinandrey.wordpress.com/2012/05/11/xtables-addons-%d0%b8%d0%bb%d0%b8-%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d1%8f%d0%b5%d0%bc-%d1%84%d1%83%d0%bd%d0%ba%d1%86%d0%b8%d0%be%d0%bd%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d1%81%d1%82%d0%b8-%d1%84%d0%b8/

Тэги: linux, xtables-addons, добавлять, пакет, фильтрация, функциональность

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по сумме баллов (758) в категории «Истории»
Изменения рейтинга
Категория «Кино»
Взлеты Топ 5
+363
414
Информационный колодец
+341
345
Yurenzo
+339
343
CAPTAIN
+331
341
Alta1r
+322
361
Vindigo
Падения Топ 5


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.