Реліз xtables-addons за допомогою ipset 5

Проект 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 Яна Енгельгардта, представленої на конференції Netfilter Workshop 2010.

Варто особливо наголосити, що версія ipset 5, що розповсюджується у складі xtables-addons,не вимагаєнакладання патчів на ядро, на відміну від стандартної версії ipset 5. Це було досягнуто шляхом внесення деяких змін до коду, зокрема, заміною спеціалізованого протоколу взаємодії ядро-userspace nfnetlink на genetlink. Таким чином, установка ipset 5 стає настільки ж простою, як і установка ipset 4.

Крім вже згаданих вище двох версій ipset, до складу 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.