ウェブサイト検索

FirewallD を使用してネットワーク アクセスを制限する方法


Linux ユーザーは、CentOS/RHEL 8 およびほとんどの RHEL にネイティブである firewalld ファイアウォールを使用して、一部のサービスまたは IP アドレスへのネットワーク アクセスを許可または制限することを選択できます。 Fedora などのベースのディストリビューション。

firewalld ファイアウォールは、firewall-cmd コマンドライン ユーティリティを使用してファイアウォール ルールを構成します。

構成を実行する前に、次に示すように、systemctl ユーティリティを使用してfirewalld サービスを有効にしましょう。

sudo systemctl enable firewalld

有効にすると、次のコマンドを実行して firewalld サービスを開始できるようになります。

sudo systemctl start firewalld

次のコマンドを実行して、firewalld のステータスを確認できます。

sudo systemctl status firewalld

以下の出力は、firewalld サービスが稼働していることを確認します。

Firewalld を使用したルールの構成

これでファイアウォールが実行されたので、すぐにいくつかの設定を行うことができます。 Firewalld を使用すると、ポート、ブラックリスト、ホワイトリストの IP、アドレスを追加およびブロックして、サーバーへのアクセスを提供できます。構成が完了したら、新しいルールを有効にするために必ずファイアウォールをリロードしてください。

TCP/UDPポートの追加

ポート (HTTPS のポート 443) を追加するには、以下の構文を使用します。ポート番号の後に、ポートが TCP ポートであるか UDP ポートであるかを指定する必要があることに注意してください。

sudo firewall-cmd --add-port=22/tcp --permanent

同様に、UDP ポートを追加するには、次のように UDP オプションを指定します。

sudo firewall-cmd --add-port=53/udp --permanent

--permanent フラグにより、再起動後もルールが保持されます。

TCP/UDP ポートのブロック

ポート 22 などの TCP ポートをブロックするには、次のコマンドを実行します。

sudo firewall-cmd --remove-port=22/tcp --permanent

同様に、UDP ポートをブロックする場合も同じ構文に従います。

sudo firewall-cmd --remove-port=53/udp --permanent

サービスを許可する

ネットワーク サービスは、/etc/services ファイルで定義されます。 https などのサービスを許可するには、次のコマンドを実行します。

sudo firewall-cmd --add-service=https

サービスのブロック

FTP などのサービスをブロックするには、次のコマンドを実行します。

sudo firewall-cmd --remove-service=https

IPアドレスをホワイトリストに登録する

単一の IP アドレスがファイアウォールを通過できるようにするには、次のコマンドを実行します。

sudo firewall-cmd --permanent --add-source=192.168.2.50

CIDR (クラスレス ドメイン間ルーティング) 表記を使用して、IP 範囲またはサブネット全体を許可することもできます。たとえば、255.255.255.0 サブネット内のサブネット全体を許可するには、次のコマンドを実行します。

sudo firewall-cmd --permanent --add-source=192.168.2.0/24

ホワイトリストに登録された IP アドレスの削除

ファイアウォール上のホワイトリストに登録された IP を削除する場合は、次のように --remove-source フラグを使用します。

sudo firewall-cmd --permanent --remove-source=192.168.2.50

サブネット全体に対して、次を実行します。

sudo firewall-cmd --permanent --remove-source=192.168.2.50/24

IPアドレスのブロック

ここまで、ポートとサービスを追加および削除する方法と、ホワイトリストに登録およびホワイトリストに登録された IP を削除する方法について説明してきました。 IP アドレスをブロックするには、「豊富なルール」がこの目的のために使用されます。

たとえば、IP 192.168.2.50 をブロックするには、次のコマンドを実行します。

sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.2.50' reject"

サブネット全体をブロックするには、次を実行します。

sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.2.0/24' reject"

ファイアウォールルールの保存

ファイアウォール ルールに変更を加えた場合、変更をすぐに適用するには、次のコマンドを実行する必要があります。

sudo firewall-cmd --reload

ファイアウォールルールの表示

ファイアウォール内のすべてのルールを確認するには、次のコマンドを実行します。

sudo firewall-cmd --list-all

これで、CentOS/RHEL 8FirewallD を使用してネットワーク アクセスを許可または制限する方法に関するこのガイドは終了です。このガイドがお役に立てば幸いです。