Управлять несколькими файлами iptables с помощью правил

Мой вариант использования заключается в том, что я развертываю серверы 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. и т.д., где файлы и правила применяются в соответствии с номером в имени файла.

2
задан 3 September 2016 в 21:27
1 ответ

Вы можете установить ufw на свои устройства. Поддерживается определение приложений через конфигурационные файлы (вы указываете, какие порты открывать в файле), а затем вы можете включить их (заставить брандмауэр учесть это), запустив команду.

Сделайте ваши пакеты зависимыми от ufw, бросьте файл в /etc/ufw/приложения. d, а затем, используя послеустановочный хук ufw, разрешите <имя приложения> для включения правил.

Shorewall кажется еще более продвинутым фронтендом для IP-таблиц, и я уверен, что он будет поддерживать то, что вы пытаетесь сделать. Я рекомендую вам ознакомиться с его документацией и посмотреть, подходит ли он лучше всего.

.
1
ответ дан 3 December 2019 в 12:39

Теги

Похожие вопросы