ファイアウォールは、外部ネットワークからの不要なトラフィックがシステムに到達するのを防ぐゲートキーパーに似ています。ファイアウォールルールは、許可または許可するトラフィックを決定します。 Linuxファイアウォールには、ゾーンと呼ばれる概念があります。 。システム管理者は、システムへの着信トラフィックを許可または拒否する独自のファイアウォールルールを使用して各ゾーンを構成できます。どの人があなたの家の中のどの部屋を訪問することを許可されるべきかを示すホームセキュリティシステムを想像してみてください。
[次のこともお勧めします:Linuxでのfirewalldの初心者向けガイド]
図:firewalld(Red Hatカスタマーポータル)入門
firewalld
は、Dバスを介してホストベースのカスタマイズ可能なファイアウォールを提供するファイアウォールサービスです。 インターフェース。上記のように、ファイアウォールは事前定義された一連のルールを持つゾーンを使用し、各サービスはポートを使用します 。ポートに基づいて、特定のサービスへの着信トラフィックを許可/ブロックできます。たとえば、システムにSSHで接続したくない場合は、ポート22をブロックできます。これにより、外部からSSH経由でシステムにアクセスできないようになります。
ゾーン
firewalld
サービスはゾーンの概念を使用します。これらのゾーンにネットワークインターフェイスを割り当て、そのネットワークに入ることができるトラフィックの種類を決定できます。 Network Managerを使用できます firewall-cmd
を使用して特定のゾーンにインターフェースを割り当てる コマンド、広く知られているコマンドラインツール。デフォルトのゾーンは/usr/lib/firewalld/zones/
の下に保存されます ディレクトリ。それでは、firewalld
で利用できるいくつかの事前定義されたゾーンについて学びましょう。 。
- ブロック:このゾーンでは、着信接続はすべてicmp-host-prohibitedで拒否されます メッセージ、およびシステム内から開始された接続のみが許可されます。
- DMZ:制限された内部ネットワーク接続を必要とするシステムの場合、選択された着信接続のみを受け入れます。非武装地帯とも呼ばれます。
- ドロップ:接続は通知なしにドロップされます。発信接続が可能です。
- パブリック:このゾーンは、信頼できないパブリックネットワーク上のデバイスに使用されます。
- 信頼済み:すべてのネットワーク接続が受け入れられます。
これらのゾーンの1つは、ユーザーのニーズに応じてデフォルトとして設定できます。インストール後、パブリック ゾーンはデフォルトとして設定されており、後で変更できます。
Red HatEnterpriseLinuxのファイアウォールルール
これで、firewalld
の基本がわかりました。 、コマンドを使用してさまざまなサービスを追加または削除する方法を調べることができます。
ファイアウォールが実行されているかどうかを確認するには、次のコマンドを使用します。
# systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-11-13 18:19:05 CET; 4 months 4 days ago
次のように入力することもできます:
# firewall-cmd --state
running
デフォルトゾーンに関する情報を一覧表示するには:
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: baremetal cni-podman0 eno1 eno2 eno3 provisioning
sources:
services: cockpit dhcpv6-client http ssh
ports: 8080/tcp 80/tcp 80/udp 67/udp 68/udp protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
上記のように、パブリック ゾーンがデフォルトとして設定されています。出力には、このゾーンに割り当てられたインターフェースと、有効/許可されているサービスとポートが表示されます。
特定のゾーンを選択します:
# firewall-cmd --list-all --zone=home
home
target: default
icmp-block-inversion: no
interfaces:
sources:
services: cockpit dhcpv6-client mdns samba-client ssh
firewalld
を有効/開始します システム起動時のサービス:
# systemctl enable firewalld
# systemctl start firewalld
firewalld
を無効/停止します システム起動時のサービス:
# systemctl disable firewalld
# systemctl stop firewalld
すべてのゾーンを一覧表示します:
# firewall-cmd --list-all-zones
ポートとサービスをゾーンに追加し、永続的にします
次に、特定のゾーンに新しいサービスとポートを追加し、それらを永続的にする(システムを再起動した後も維持する)ためのコマンドをいくつか見てみましょう。
firewalld
のポートを開いたりブロックしたりするには 使用:
# firewall-cmd --list-ports
# firewall-cmd --add-port <port-number/port-type> --permanent
# firewall-cmd --reload
ポートは、オペレーティングシステムが着信トラフィックを受信し、それをシステムサービスに転送できるようにする論理デバイスです。通常、これらのサービスは標準ポートでリッスンします。たとえば、HTTPはポート80でリッスンし、HTTPSはポート443でリッスンします。
通常、ポートタイプ tcp
を意味します 、udp
またはsctp
。
次に、デフォルトゾーンにポート443を永続的に追加する例を示します。
# firewall-cmd --add-port 443/tcp --zone=public --permanent
# firewall-cmd --reload
--remove-port
を使用してポートを削除することもできます オプション。
firewalldの豊富なルール
豊富なルールを使用することもできます 、firewalld
にいくつかの高度なフィルタリング機能があります 。これらの構文は次のとおりです。これらの豊富なルールは、特定のIPアドレスまたはアドレス範囲をブロックまたは許可する場合に役立ちます。
次のコマンドを使用して、現在のリッチルール設定を表示します。
# firewall-cmd --list-rich-rules
豊富なルールを使用して、ホストとポートの特定のIPを制御できます。
次のルールは、IP 10.1.1.11.21のホストからのSSH接続のみを受け入れます。 他の接続を削除します:
# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.1.111.21/24 service name=ssh log prefix="SSH Logs" level="notice" accept'
この例では、ping
を拒否します エラーメッセージが表示されたすべてのホストからのリクエスト:
# firewall-cmd --add-rich-rule='rule protocol value=icmp reject'
次のルールは、IP 172.92.10.90/32ポート21からのリクエストを拒否します 他のすべての接続を受け入れます:
# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.92.10.90/32 port port=21 protocol=tcp reject'
[セキュリティについて考えていますか?ハイブリッドクラウドのセキュリティを強化し、ビジネスを保護するためのこの無料ガイドをご覧ください。 ]
まとめ
firewalld
を有効にする ユーザーが着信接続を許可または制限し、不要なネットワークトラフィックからシステムを選択的に保護できるようにします。ファイアウォールのルールによって、システムに出入りするトラフィックを決定することに注意してください。システムへの着信トラフィックを許可または拒否する独自のファイアウォールルールを使用してゾーンを構成できます。ただし、システムへのトラフィックまたはポートアクセスを許可すると、セキュリティ違反や潜在的な攻撃に対して脆弱になることも忘れないでください。