Firewalld-cmdを使用してデフォルトのファイアウォールポリシーをDENYに変更します。

Firewalld-cmdを使用してデフォルトのファイアウォールポリシーをDENYに変更します。

Centos7のドキュメントによると、CIS CentOS Linux 7 Benchmark以下をお勧めします。

3.5.3.2.1 Ensure default deny firewall policy 

すべてのポリシーがDROPに設定されていることを示します。

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

ただし、 " "を実行するたびに上記firewall-cmd --reloadのポリシーがリセットされます。ACCEPT

iptablesそして、変更が永続的であり、CISベンチマークがもはやこれについて不平を言わないように、上記firewalldの戦略を変更することにはどのようなiptables相関関係がありますか?DROP"firewall-cmd"

デフォルトでは、iptablesサービスはなく、Centos「基本」Firewalldが完全な「Redhat」オペレーティングシステムスイートに存在するため、サービスをしたいという欲求もありません。

# systemctl status iptables
Unit iptables.service could not be found.

Firewalldのデフォルトゾーンを「DROP」に設定しても、iptablesポリシーはまだ「ACCEPT」であり、CISはそれについて苦情を表示します。

答え1

最初iptablesはネットワークパケットフィルタリングのためのツールですが、iptables-servicesiptablesで使用できるデーモンがありますが、Centos 7では提供されていません(インストールが必要です)。

Firewalldiptablesカーネルレベル()でパケットを操作するための異なる方法(領域、サービス、豊富なルールなど)で設定を処理するサービスnetfilter

ルール設定にはiptablesこの内容は反映されず、firewalldその逆も同様です。

私の考えにはあなたにいくつかのfirewalldポリシーがあると思います。矛盾するiptablesルールを「DROP」すると、実行時にルールが消えます。firewall-cmd --reload通常、reload コマンドは Firewalld が管理するルールにのみ影響するためです。

これを確認し、どのルールが競合しているかを確認してください。

firewall-cmd --list-all

また、次の方法でデフォルトのiptablesチェーンを変更できます firewall-cmd

firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT  0 -j REJECT
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -j REJECT
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -j REJECT
firewall-cmd --reload

そして、以下で設定を確認してください。

iptables -L 
firewall-cmd --direct --get-all-rules

関連情報