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 8 で FirewallD を使用してネットワーク アクセスを許可または制限する方法に関するこのガイドは終了です。このガイドがお役に立てば幸いです。