目次
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