Установка петлевых правил в firewalld согласно CIS
Мне нужно настроить firewalld на RHEL7 в соответствии с CIS.
В 3.6.3 Убедитесь, что петлевой трафик настроен (Забито) Мне нужно настроить петлевой интерфейс для приема трафика и настроить все остальные интерфейсы, чтобы запретить трафик в петлевой сети (127.0.0.0/8).
Кто-нибудь может мне с этим помочь.
Моя текущая конфигурация:
firewall-cmd --permanent --zone=trusted --add-interface=lo
но это не соответствует требованиям СНГ.
1 ответ
Назначение CIS 3.6.3 состоит в том, чтобы предотвратить подделанный трафик, который якобы с 127.0.0.1, поступающий на внешние интерфейсы, такие как eth0
,
В моей настройке все интерфейсы по умолчанию являются зоной "отбрасывания", поэтому, чтобы разрешить весь законный трафик в обратной петле, который не направляется к внешнему интерфейсу, я сначала связываюсь lo
в "доверенную" зону, как в вашей команде выше:
firewall-cmd --permanent --zone=trusted --add-interface=lo
Затем я добавляю правило с расширенными настройками firewalld в зону "drop", к которой привязан eth0, чтобы отбрасывать любой входящий трафик IPv4 с исходным адресом 127.0.0.1, но адресом назначения, отличным от 127.0.0.1.
firewall-cmd --zone=drop --add-rich-rule='rule family=ipv4 source address="127.0.0.1" destination not address="127.0.0.1" drop'
Я думаю, что это удовлетворяет цели CIS 3.6.3, хотя обратите внимание, что, по крайней мере на моей установке, он не удовлетворяет образцу сценария аудита, приведенному в эталонном документе CIS RHEL7. Это потому, что примеры сценариев аудита CIS тестируются специально для правила удаления, присутствующего в INPUT
цепочка в iptables, тогда как firewalld помещает мое богатое правило в подсеть под названием IN_drop_deny
,