Среда, в которой я работаю, представляет собой крупномасштабную операцию веб-хостинга (несколько сотен серверов под управлением, почти все публичные адресации и т. Д., Поэтому все, что говорит об управлении ссылками ADSL, вряд ли будет работать хорошо), и мы " Мы ищем то, что будет удобно для управления как основным набором правил (около 12 000 записей в iptables при текущем количестве), так и наборами правил на основе хоста, которыми мы управляем для клиентов. Наш основной набор правил маршрутизатора меняется несколько раз в день, а наборы правил на основе хоста будут меняться, возможно, 50 раз в месяц (для всех серверов, поэтому, возможно, одно изменение на пять серверов в месяц).
В настоящее время мы используем filtergen (в общем, шары и супер-шары в нашем масштабе работы), и я использовал shorewall в прошлом на других работах (что было бы предпочтительнее, чем filtergen, но я полагаю, что быть там что-то лучше, чем это).
«Мусты», которые мы придумали для любой системы замены:
- Должен генерировать набор правил довольно быстро (запуск фильтра на нашем наборе правил занимает 15-20 минут; это просто безумие) - это связано со следующим пунктом:
- Необходимо сгенерировать файл стиля iptables-restore и загрузить его одним нажатием, а не вызывать iptables для каждой вставки правила
- Не должен отключать брандмауэр в течение длительного периода, пока перезагрузится набор правил (опять же, это является следствием вышеупомянутого пункта)
- Должен поддерживать IPv6 (мы не внедряем ничего нового, не совместимого с IPv6)
- Должен быть без DFSG
- Необходимо использовать текстовые файлы конфигурации (поскольку мы запускаем все через контроль версий и используем стандартные инструменты Unix для работы с текстом - наша СОП)
- Должен поддерживать как RedHat, так и Debian (желательно в упаковке, но, по крайней мере, не должен быть явно враждебным стандартам любого из дистрибутивов)
- Должен поддерживать возможность запуска произвольных команд iptables для поддержки функций, которые не являются частью "родного языка" системы
Все, что не соответствует всем этим критериям, не будет рассматриваться. Следующие наши "приятно иметь":
- Если необходимо поддерживать «фрагменты» файла конфигурации (то есть вы можете поместить кучу файлов в каталог и сказать брандмауэру «включить все в этом каталоге в набор правил»; мы широко используем управление конфигурацией и хотели бы использовать эту функцию для предоставить правила для конкретной службы автоматически)
- Должен поддерживать необработанные таблицы
- Должно позволять вам указывать конкретный ICMP как во входящих пакетах, так и в правилах REJECT.
- Должен изящно поддерживать имена хостов, которые разрешают более одного IP-адреса (мы несколько раз ловили его с помощью filtergen; это довольно королевская боль в заднице)
- Чем больше опциональных / странных функций iptables, которые поддерживает инструмент (изначально или с помощью существующих или легко записываемых плагинов), тем лучше. Время от времени мы используем странные функции iptables, и чем больше из них «просто работают», тем лучше для всех.
Ответы:
Если вы, возможно, хотите перейти от подхода, основанного на правилах, к способу «описать требуемое конечное состояние», взгляните на fwbuilder.
Плюсы:
Минусы:
Ссылка: http://www.fwbuilder.org
источник
написать свой. серьезно - в таком масштабе это разумно.
используйте ipset и / или множество таблиц / подтаблиц iptable. по возможности перезагружайте только некоторые подтаблицы / некоторые наборы ipset - это ускорит реконфигурацию.
возможно, вы уже это делаете, но все же стоит упомянуть - используйте вложенные таблицы, чтобы уменьшить нагрузку на маршрутизатор и среднее количество запросов, необходимых для пакетов, устанавливающих новые соединения. очевидно, состояние FORWARD -M -state УСТАНОВЛЕНО, RELATED - ваше главное правило.
источник
святые шары (поддержите тему живой!) человек ... 12 000 основных правил?
Я предполагаю, что вы рассмотрели все простые варианты, такие как простое добавление наборов в CVS? Кукольный или CFengine?
Честно говоря, из широкого обзора, который вы дали, я настоятельно рекомендую переоценить дизайн вашей сети. Я, вероятно, немного слишком упрощен, но я просто не могу понять дизайн, который потребовал бы 12k правил iptables. Это действительно похоже на то, что больше выиграет от решения типа SLB, чем от лучшего способа управления правилами брандмауэра.
Кстати, как добавить комментарий, а не добавить ответ?
источник
12000 правил? Ты псих? Не страдаете ли вы проблемами с производительностью при таком количестве фильтрации? Я не понимаю, зачем вам нужно 12 000 правил? Как вы проверяете, что набор правил действительно обеспечивает соблюдение политики?
Какова политика?
Как вы проверяете свою политику?
12 000 правил, возможно, нарушают все правила безопасности в книге.
источник
Вы также можете попробовать решение SAAS для управления iptables -> https://www.efw.io/Forum, оно также может выполнять интеграцию с облаком AWS.
источник