Інструменти управління iptables для великих середовищ


15

Навколишнє середовище, в якому я працюю, - це широкомасштабна операція веб-хостингу (кілька сотень серверів під управлінням, майже загальнодоступні адреси тощо), тому все, що говорить про управління посиланнями ADSL, навряд чи добре працює), і ми ' шукайте те, що буде зручно керувати як основним набором правил (близько 12 000 записів у iptables при поточному рахунку), так і набором наборів правил, якими ми управляємо для клієнтів. Наш основний набір правил маршрутизатора змінюється кілька разів на день, а набори правил на основі хоста змінюються, можливо, 50 разів на місяць (на всіх серверах, тому можливо одна зміна на п’ять серверів на місяць).

В даний час ми використовуємо filtergen (що в основному є кулями, і супер-кулі в нашому масштабі роботи), і я використовував shorewall в минулому на інших роботах (що було б краще, ніж filtergen, але я думаю, що там треба бути щось там, що краще, ніж це).

"Необхідні", які ми придумали для будь-якої системи заміни:

  • Потрібно створити набір правил досить швидко (запуск фільтра на нашому наборі правил займає 15-20 хвилин; це просто божевільно) - це пов'язано з наступним моментом:
  • Потрібно створити файл відновлення iptables і відновити файл одним завантаженням, а не викликати iptables для кожної вставки правила
  • Не слід знімати брандмауер протягом тривалого періоду, поки набір правил перезавантажується (знову ж, це є наслідком вищезазначеного пункту)
  • Повинна підтримувати IPv6 (ми не розгортаємо нічого нового, що не сумісне з IPv6)
  • Повинно бути без DFSG
  • Потрібно використовувати текстові файли конфігурації (оскільки ми виконуємо все за допомогою контролю редагування та використання стандартних інструментів для обробки тексту Unix - це наш SOP)
  • Повинно підтримувати RedHat і Debian (переважне в упаковці, але принаймні не повинно бути відверто ворожим або стандартам дистрибутива)
  • Повинен підтримувати можливість запускати довільні команди iptables для підтримки функцій, які не входять до "рідної мови" системи

Все, що не відповідає всім цим критеріям, не вважатиметься. Нижче перелічені наші "приємно мати":

  • Якщо слід підтримувати конфігураційний файл "фрагменти" (тобто ви можете скинути купу файлів у каталог і сказати в брандмауер "включити все в цей каталог до набору правил"; ми широко використовуємо управління конфігурацією і хотіли б використовувати цю функцію для надавати правила, що стосуються конкретних послуг, автоматично)
  • Слід підтримувати необроблені таблиці
  • Дозволяє вказати конкретний ICMP як у вхідних пакетах, так і в правилах ОТМЕНИТИ
  • Якщо витончено підтримувати імена хостів, які вирізняються на більш ніж одну IP-адресу (нас це кілька разів спіймало filtergen; це досить королівський біль у задниках)
  • Чим більше необов'язкових / дивних функцій iptables, які інструмент підтримує (як в домашніх умовах, так і через існуючі або легкозаписувані плагіни), тим краще. Ми використовуємо дивні функції iptables час від часу, і чим більше тих, хто "просто працює", тим краще для всіх.

Я кусаю-- що означають терміни "кулі" та "супер кулі" у вашій публікації? Я здогадуюсь, що ви не говорите про прискіпливі гумові сфери, але я не можу зробити висновок, якщо контекст означає "хороший" або "поганий".
Еван Андерсон

кулі == погано. Супер кулі == надзвичайно погано.
живіт

Маючи в своєму розпорядженні безліччю правил, переконайтеся, що у верхній частині у вас є правило ACCEPT, яке приймає встановлені та пов'язані з цим з'єднання. На ПК немає TCAM, і багато правил впливають на продуктивність. Багато.
Томас

@thomas: Так, існує певна оптимізація, яка входить у набір правил. Звичайно, отримання "знань" про оптимізацію в будь-якому інструменті брандмауера було б бонусом.
живіт

Відповіді:


4

Якщо ви, мабуть, хочете перейти від керованого правилами підходу до способу "описати необхідний стан", погляньте на fwbuilder.

Плюси:

  • підтримується кілька брандмауерів - ваші основні + хост-правила - з 1 набору об'єктів
  • SQL-esque "скажи мені, що ти хочеш", а не "скажи мені, як це зробити" (NB я не кажу, що там є SQL! Просто, що це описовий Vs процедурний :-)
  • Це графічний інтерфейс, який подібний до інтерфейсів постачальників комерційних апаратних ж / ш, тому можливо деякі завдання знижувати кількість співробітників / навичок
  • підтримує більшість "wierd" використання, які я пробував
  • може генерувати правила для різних f / w реалізацій - BSD / cicso / iptables / тощо
  • відокремлює передній план від компілятора правил, що змушує мене сподіватися, що швидкість викликає занепокоєння авторів. NB Я не маю нічого, що стосується шкали, на яку ви нагадаєте
  • Формат файлу не є двійковим
  • робить IPv6
  • Створює конфігурацію стилю iptables-save stylee для атомного та швидкого завантаження

Мінуси:

  • Це графічний інтерфейс
  • Переміщення існуючого набору правил навряд чи буде безболісним
  • У той час як GPL та Debian, клієнти Windows + OSX мають 30-денний eval, оскільки ніхто не перехресно склав безкоштовну версію для цих ОС; отже, комерційна гілка чортів має монополію на ці бінарні товари
  • Формат файлу технічно XML; Зверніть увагу: не дозволяйте це відкладати: подивіться на інструменти, які вони надають (ви можете використовувати бінарний файл gui для маніпулювання ним через CLI), наприклад, інструменти CLI XML, які вже існують, і пам’ятайте, що - у ваших масштаб - деяка схожість метаданих + структура - це не / погано / річ! Це досить добре відрізняється в редакціях, IIRC.

Посилання: http://www.fwbuilder.org


Хрм ... я погляну. Наявність графічного інтерфейсу (не кажучи вже про XML) змушує мене смикатися досить бурхливо, але ви піднімаєте цікаві ідеї (єдиний набір правил для всієї інфраструктури). Річ OS X не буде проблемою.
живіт

Я погоджуюсь, GUI все-таки змусив мене WTF, але я був задоволений тим, що побачив із боку CLI. Наскільки динамічні ваші налаштування в будь-якому випадку? Буде це 10 змін на день або 10 змін на рік? Це може бути корисним фактором для деталізації тут. Також приємною функцією формату файлів XML може бути те, що за допомогою інструментів, що знають XML, ви могли мати весь конфігурацію в одному файлі, використовуючи об'єкти однозначного визначення, але створити специфічний вузол змін змін для документування конфігурацій та наборів змін кожного сервера . Тільки думка ...
Джонатан Меттьюз

@Jonathan: Ти маєш рацію, важливо знати динамізм набору правил. Я відредагував питання; це декілька разів на день, найбільше робочих днів для основного набору правил.
живіт

3

напишіть своє. серйозно - в такому масштабі це розумно.

використовувати ipset та / або безліч iptable таблиць / підрозділів. по можливості перезавантажуйте лише деякі підпрограми / деякі набори ipset - це прискорить конфігурацію.

напевно, ви це вже робите, але все-таки варто згадати - використовуйте вкладені таблиці для зменшення навантаження на маршрутизатор та середньої кількості пошукових запитів, необхідних для пакетів, що встановлюють нові з'єднання. очевидно-НАПУСК -М стан - держава ВСТАНОВЛЕНО, ЗВ'ЯЗАНЕ - це ваше найвище правило.


"Пишіть своє" не з-за столу, але це саме те, що поставило нам filtergengen в першу чергу - це написав нинішній колишній співробітник. Ми вважаємо за краще не виробляти ще один інструмент управління брандмауером, якщо це взагалі можливо.
живіт

IPSET є блискавичним для великих наборів правил. "зберігання декількох IP-адрес або номерів портів, і одним махом збігайтесь з колекцією iptables; динамічно оновлюйте правила iptables проти IP-адрес або портів без штрафних санкцій; висловлюйте складні набори правил на основі IP-адрес і портів з одним єдиним правилом iptables та користуйтеся швидкістю IP-наборів "Я використовую його з шорстковим екраном. Я навіть не маю уявлення, як саме беріг простував у ваших масштабах.
artifex

2

святі кулі (підтримує живу тему!) людина ... 12000 основних правил?

Я припускаю, що ви розглядали всі прості варіанти, як-от просто скинути набори в CVS? Ляльковий або CFengine?

Чесно кажучи, з широкого огляду, який ви надали, я настійно пропоную переоцінити ваш дизайн мережі. Я, мабуть, трохи надто спрощений, але я просто не можу розробити дизайн, який потребував би правила 12p iptables. Це дійсно звучить як щось, що отримало б більше користі від рішення типу SLB, ніж кращий спосіб управління правилами брандмауера.

Що стосується бічної примітки, як можна додати коментар проти додавання "відповіді"?


Для коментаря вам потрібна мінімальна кількість репутації. Коли ви зробите посилання, з'явиться.
jay_dubya

У наших правилах iptables, мабуть, є певна кількість надмірності, але це багато в чому функція фільтрагену, можливо, не настільки ефективний, як міг би. Однак у нас є / 19 IP-простору та VLAN для кожного клієнта, а також досить обмежувальна "політика за замовчуванням" (вимагаючи винятків для IP-адреси для відкриття портів, як цього вимагають клієнти). Ми, звичайно, не зможемо позбутися більш ніж кількох цих правил. О, і так, ми вже використовуємо Лялечку, і ми не збираємось починати писати набори правил вручну в нашому масштабі операцій.
живіт

ну, ви, звичайно, підтримуєте більший простір IP, ніж я, але мені все ще важко якось виправдати це багато правил. Чи задумувались ви розбити їх у структурі дерева, де ви могли б використовувати налаштування правил падіння через точки точки? тобто всі веб-сервери лише в підмережі X, всі сервери web + smtp в підмережі Y? Насправді вам не доведеться відключати їх підмережу, просто логічно згрупуйте їх за багатоярусним брандмауером ... Вибачте, якщо в цей момент я просто додаю шум ... Я просто не можу бути досить складним для цього. Мені подобаються мої набори брандмауера короткі та жорстокі =)
Greeblesnort

Ми насправді не в змозі «вирівняти» такі речі; ми значною мірою є спеціалізованим сервером хостингу, тому те, що наші клієнти вирішують щодня робити зі своїми машинами, може змінитися, що вимагає набагато більше танців, ніж якщо б ми просто займалися спеціальною інфраструктурою для внутрішньої служби.
живіт

0

12000 правил? ти божевільний? Ви не відчуваєте проблем із роботою з такою кількістю фільтрації? Не можу зрозуміти, для чого вам потрібно 12000 правил? Як ви переконаєтесь, що встановлені вами правила насправді застосовують політику?

Що таке політика?

Як ви протестуєте свою політику?

12000 правил, можливо, порушує кожне правило безпеки у книзі.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.