Блокировать исходящие соединения на RHEL7/CentOS7 с firewalld?
RHEL7/CentOS7 имеет новый firewalld
служба межсетевого экрана, которая заменяет iptables service
(оба из которых используют iptables
инструмент для взаимодействия с Netfilter ядра ниже).
firewalld
может быть легко настроен на блокировку входящего трафика, но, как отметил Томас Вёрнер 1,5 года назад, "ограничение исходящего трафика в firewalld простым способом на данный момент невозможно". И, насколько я понимаю, с тех пор ситуация не изменилась. Или есть? Есть ли способ заблокировать исходящий трафик с firewalld
? Если нет, то существуют ли другие "стандартные" способы (в дистрибутиве RHEL7) блокировки исходящего трафика, кроме ручного добавления правил через iptables
инструмент?
3 ответа
Я не нашел никакой опции в этом хорошем графическом интерфейсе, но это возможно через прямой интерфейс
Чтобы включить только исходящий порт 80:
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p tcp -m tcp --dport=80 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -j DROP
Это добавит его к постоянным правилам, а не к правилам времени выполнения.
Вам нужно будет перезагрузить постоянные правила, чтобы они стали правилами времени выполнения.
firewall-cmd --reload
отображать постоянные правила
firewall-cmd --permanent --direct --get-all-rules
отображать правила выполнения
firewall-cmd --direct --get-all-rules
После того, как я сам задал тот же вопрос и немного поработал, я собрал несколько хороших правил для ограничения исходящего трафика запросами HTTP/HTTPS и DNS:
Разрешить установленные соединения:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Разрешить HTTP:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 80 -j ACCEPT
Разрешить HTTPS:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 443 -j ACCEPT
Разрешить для DNS-запросов:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 53 -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p udp --dport 53 -j ACCEPT
Отрицать все остальное:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 2 -j DROP
Хорошей идеей было бы сначала проверить, пропустив аргумент --permanent.
Я ни в коем случае не эксперт, но мне кажется, это нормально работает:)
По поводу GUI; Я думаю, вы найдете это в разделе "Прямая настройка". Для доступа к нему вы должны выбрать его в "View". Я могу ошибаться.
Примечание
Удалить правила; Вы должны выйти, а затем снова войти.