Мой вариант использования заключается в том, что я развертываю серверы Arch-Linux с различными службами, работающими в зависимости от требований заказчика. Эти службы зависят от приложения и работают на настраиваемых портах, но в качестве аргумента можно указать, что можно использовать FTP, WEB и WEB SSL. В любом сочетании.
Для каждой службы у меня есть собственный пакет, который устанавливает эту конкретную службу, и, чтобы упростить задачу, я хотел бы, чтобы пакет также устанавливал правило iptables, позволяющее использовать службу.
Итак, по умолчанию я хочу есть правило, которое запрещает все, кроме SSH. Затем, когда я устанавливаю, например, WEB-пакет, я хочу, чтобы этот пакет установил файл, содержащий правило для открытия порта 80. Порт 21 FTP-пакета и т. Д.
Однако я могу видеть только то, что iptables имеет встроенную поддержку для всего один файл с помощью утилит iptables-restore / save.
Я мог бы написать свою собственную утилиту, которая читает несколько файлов и вручную взаимодействует с iptables. Но я считаю, что это должен быть «достаточно распространенный» вариант использования и что такая утилита обязательно должна существовать. Однако на этот раз мои навыки работы с Google не пошли мне на пользу: )
В основном я хочу иметь папку, скажем /etc/iptables.d, в которой я могу размещать файлы 15-http, 10-ftp, 20-ssl. и т.д., где файлы и правила применяются в соответствии с номером в имени файла.
Вы можете установить ufw
на свои устройства. Поддерживается определение приложений через конфигурационные файлы (вы указываете, какие порты открывать в файле), а затем вы можете включить их (заставить брандмауэр учесть это), запустив команду.
Сделайте ваши пакеты зависимыми от ufw
, бросьте файл в /etc/ufw/приложения. d
, а затем, используя послеустановочный хук ufw, разрешите <имя приложения>
для включения правил.
Shorewall кажется еще более продвинутым фронтендом для IP-таблиц, и я уверен, что он будет поддерживать то, что вы пытаетесь сделать. Я рекомендую вам ознакомиться с его документацией и посмотреть, подходит ли он лучше всего.
.