Исходящие соединения блока на RHEL7/CentOS7 с firewalld?

RHEL7/CentOS7 показывает новое firewalld сервис брандмауэра, который заменяет iptables service (оба из которых используют iptables инструмент для взаимодействия с Netfilter ядра внизу).

firewalld может быть легко настроен на входящий трафик блока, но, как отмечено Thomas Woerner, 1,5 года назад "ограничивающим исходящий трафик, не возможно с firewalld простым способом в данный момент". И насколько я вижу, что ситуация не изменилась с тех пор. Или это имеет? Есть ли любой способ заблокировать исходящий трафик с firewalld? Если не там какие-либо другие "стандартные" пути (на дистрибутиве RHEL7) блокирования исходящего трафика кроме ручного добавления правил через iptables инструмент?

12
задан 5 August 2014 в 19:41
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
10
ответ дан 2 December 2019 в 21:36

Задав тот же вопрос сам и немного поработав, я собрал несколько хороших правил для ограничения исходящего трафика запросами 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.

Я ни в коем случае не эксперт, но мне кажется, что это нормально работает :)

4
ответ дан 2 December 2019 в 21:36

Относительно графического интерфейса пользователя; Я думаю, вы найдете это в разделе « Прямая конфигурация ». Чтобы получить к нему доступ, вы должны выбрать его в « View ». Я мог ошибаться.

Дополнительное примечание

Чтобы удалить правила; вы должны выйти, а затем снова войти.

1
ответ дан 2 December 2019 в 21:36

Теги

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