Linuxファイアウォールのfirewalld

目次

1つは、ファイアウォールの概要

1、firewalld

  • FirewalldファイアウォールはCentos7システムのデフォルトのファイアウォール管理ツールであり、以前のiptablesファイアウォールに取って代わります。

    • ネットワーク層で動作し、パケットフィルタリングファイアウォールです
  • Firewalldとiptablesはどちらも、ファイアウォール(ユーザーモードに属する)を管理してファイアウォールのさまざまなルールと機能を定義するために使用されるツールです。

    • 内部構造は、パケットフィルタリングファイアウォール機能を実現するために、(カーネルモードの)netfilterネットワークフィルタリングサブシステムを指します。
  • Firewalldは、ネットワークエリアによって定義されたネットワークリンクとインターフェイスセキュリティレベルをサポートする動的ファイアウォール管理ツールを提供します

    • IPv4、IPv6ファイアウォール設定およびイーサネットブリッジをサポートします(クラウドコンピューティングなどの一部の高度なサービスで使用される場合があります)
    • 構成モードには、ランタイム構成と永続構成の2つがあります。

2.firewalldとiptablesの違い

(1)アクションのポイント

  • Iptablesは主に、ネットワークのセキュリティを決定するためのルールを設定するためのインターフェイスに基づいています。
  • Firewalldはゾーンに基づいており、ネットワークセキュリティを確保するために、ゾーンごとに異なるルールが設定されています。ハードウェアファイアウォールの設定と同様です。

(2)保管場所

  • iptablesは設定を/ etc / sysconfig / iptablesに保存します。
  • Firewalldは、構成を/ etc / firewalld /(ロード優先度)および/ usr / lib / firewalld /(デフォルトの構成ファイル)のさまざまなXMLファイルに保存します。

(3)新しいルールの使用

  • iptablesを使用すると、個々の変更ごとに、すべての古いルールがクリアされ、/ etc / sysconfig / iptablesからすべての新しいルールが読み取られます。
  • Firewalldを使用しても、新しいルールは作成されません。ルールの違いを実行するだけです。したがって、firewalldは、現在の接続を失うことなく、実行時に設定を変更できます。

3.ファイアウォールエリアの概念

  • 管理を簡素化するために、firewalldはすべてのネットワークトラフィックを複数のゾーン(ゾーン)に分割します
  • 次に、データパケットの送信元IPアドレスまたは着信ネットワークインターフェイスおよびその他の条件に従って、トラフィックは対応するエリアに転送されます。
  • 各エリアは、開くまたは閉じるポートとサービスのリストを定義します。

ファイアウォールで保護されたファイアウォールは9つの領域を事前定義します

エリア名 効果
信頼できる(信頼できるゾーン) すべての着信トラフィックを許可します。
パブリック(パブリックエリア) sshまたはdhcpv6-clientの事前定義されたサービスに一致する着信トラフィックは許可され、残りは拒否されます。これは、新しく追加されたネットワークインターフェイスのデフォルト領域です。
外部(外部領域) sshの事前定義されたサービスに一致する着信トラフィックは許可され、残りは拒否されます。デフォルトでは、このエリアを介して転送される発信IPv4トラフィックはマスカレードされます。これは、ルーターに対してマスカレードが有効になっている外部ネットワークに使用できます。
ssh、ipp-client、mdns、samba-client、またはdhcpv6-clientの事前定義されたサービスに一致する着信トラフィックは許可され、残りは拒否されます。
内部(内部領域) デフォルト値はホームエリアと同じです。
作業(作業領域) ssh、ipp-client、およびdhcpv6-clientの事前定義されたサービスに一致する着信トラフィックは許可され、残りは拒否されます。
dmz(孤立した領域は非武装地帯とも呼ばれます) sshの事前定義されたサービスに一致する着信トラフィックは許可され、残りは拒否されます。
ブロック(立ち入り禁止区域) すべての着信トラフィックを拒否します。
ドロップ(ドロップエリア) すべての着信トラフィックは破棄され、ICMPを含むエラー応答は生成されません。

最終的に、エリアのセキュリティは、このエリアの管理者によって設定されたルールに依存します。
このエリアは、ホストに入るセキュリティドアのようなものです。各エリアには、制限の程度が異なるルールがあり、ルールを満たすトラフィックのみが通過できます。
ネットワークサイズに応じて1つ以上のエリアを使用できますが、アクティブなエリアは少なくとも送信元アドレスまたはインターフェイスに関連付ける必要があります。
デフォルトでは、パブリックエリアは、すべてのインターフェイス(ネットワークカード)を含むデフォルトエリアです。

4.ファイアウォールで保護されたデータ処理フロー

システムに入るデータパケットの場合、firewalldは、データパケットの送信元IPアドレスまたは着信ネットワークインターフェイスやその他の条件に基づいて、対応するエリアのファイアウォールルールにデータトラフィックを転送します。システムに入るデータパケットの場合、最初にチェックするのは送信元アドレスです。

データパケットの送信元アドレスをチェックするfirewalldのルール:
1。送信元アドレスが特定のエリアに関連付けられている場合(つまり、送信元アドレスまたはインターフェイスにバインドされているエリアの間に競合がある場合)、エリアが実行されます。
2.送信元アドレスが特定のエリアに関連付けられていない場合(つまり、送信元アドレスまたはインターフェイスにバインドされているエリアの間に競合がない場合)、着信ネットワークインターフェイスのエリアが使用され、によって確立されたルールが使用されますエリアが実行されます。
3.ネットワークインターフェイスも特定のエリアに関連付けられていない場合(つまり、送信元アドレスまたはインターフェイスが特定のエリアにバインドされていない場合)、デフォルトのエリアが使用され、エリアによって確立されたルールが実行されます。

2、ファイアウォールで保護されたファイアウォール構成

1.firewalldファイアウォールの設定方法

  • Firewall-cmdコマンドラインツールを使用します。
  • Firewall-configグラフィカルツールを使用します。
  • / etc / firewalld /に設定ファイルを書き込みます。
#开启防火墙
systemctl start firewalld.service

2.一般的に使用されるfirewall-cmdコマンドオプション

--get-default-zone :显示当前默认区域
--set-default-zone=<zone> :设置默认区域

--get-active-zones :显示当前正在使用的区域及其对应的网卡接口
--get-zones :显示所有可用的区域

--get-zone-of-interface=<interface> :显示指定接口绑定的区域
--zone=<zone> --add-interface=<interface> :为指定接口绑定区域
--zone=<zone> --change-interface=<interface> :为指定的区域更改绑定的网络接口
--zone=<zone> --remove-interface=<interface> :为指定的区域删除绑定的网络接口

--list-all-zones :显示所有区域及其规则
[--zone=<zone>] --list-all :显示所有指定区域的所有规则,省略--zone=<zone>时表示仅对默认区域操作

[--zone=<zone>] --list-services :显示指定区域内允许访问的所有服务
[--zone=<zone>] --add-service=<service> :为指定区域设置允许访问的某项服务
[--zone=<zone>] --remove-service=<service> :删除指定区域已设置的允许访问的某项服务

[--zone=<zone>] --list-ports :显示指定区域内允许访问的所有端口号
[--zone=<zone>] --add-port=<portid>[-<portid>]/<protocol> :为指定区域设置允许访问的某个/某段端口号(包括协议名)
[--zone=<zone>] --remove-port=<portid>[-<portid>]/<protocol> :删除指定区域已设置的允许访问的端口号(包括协议名)

[--zone=<zone>] --list-icmp-blocks :显示指定区域内拒绝访问的所有 ICMP 类型
[--zone=<zone>] --add-icmp-block=<icmptype> :为指定区域设置拒绝访问的某项 ICMP 类型
[--zone=<zone>] --remove-icmp-block=<icmptype> :删除指定区域已设置的拒绝访问的某项ICMP类型
firewall-cmd --get-icmptypes :显示所有 ICMP 类型

3.地域管理

(1)現在のシステムのデフォルト領域を表示する

firewall-cmd --get-default-zone

(2)デフォルト領域にすべてのルールを表示します

firewall-cmd --list-all

(3)現在使用されているエリアとそれに対応するネットワークカードインターフェースを表示します

firewall-cmd --get-active-zones

(4)デフォルト領域を設定します

firewall-cmd --set-default-zone=home
firewall-cmd --get-default-zone

4.サービス管理

(1)デフォルトエリアでアクセスが許可されているすべてのサービスを表示する

firewall-cmd --list-service

(2)パブリックエリアにhttpdサービスを追加します

firewall-cmd --add-service=http --zone=public

(3)パブリックエリアで設定されたルールを表示します

firewall-cmd --list-all --zone=public

(4)パブリックエリアのhttpdサービスを削除します

firewall-cmd --remove-service=http --zone=public

(5)httpdサービスとhttpsサービスを同時にデフォルト領域に追加し、永続的に有効になるように設定します

firewall-cmd --add-service=http --add-service=https --permanent
firewall-cmd --reload	
firewall-cmd --list-all		
#添加使用 --permanent选项表示设置成永久生效,需要重新启动firewalld服务或执行firewall-cmd --reload命令 重新加载防火墙规则时才会生效。若不带有此选项,表示用于设置运行时规则,但是这些规则在系统或firewalld服务重启、停止时配置将失效。

--runtime-to-permanent:将当前的运行时配置写入规则配置文件中,使之成为永久性配置。

5.ポート管理

(1)TCPポート443を内部ゾーンに許可します

firewall-cmd --zone=internal --add-port=443/tcp
firewall-cmd --list-all --zone=internal

(2)内部領域からTCPポート443を削除します

firewall-cmd --zone=internal --remove-port=443/tcp

(3)UDPポート2048〜2050をデフォルト領域に許可します

firewall-cmd --add-port=2048-2050/udp
firewall-cmd --list-all

おすすめ

転載: blog.csdn.net/weixin_51326240/article/details/112135881