Linuxユーザーは、 CentOS / RHEL 8およびFedoraなどのほとんどのRHELベースのディストリビューションにネイティブのファイアウォールファイアウォールを使用して、一部のサービスまたはIPアドレスへのネットワークアクセスを許可または制限することができます。
firewalldファイアウォールは、 firewall-cmdコマンドラインユーティリティを使用してファイアウォールルールを構成します。
設定を行う前に、次に示すようにsystemctlユーティリティを使用してfirewalldサービスを有効にします。
$ sudo systemctl enable firewalls
有効にしたら、次のコマンドを実行してfirewalldサービスを開始できます。
$ sudo systemctl start firewalls
次のコマンドを実行して、 firewalldのステータスを確認できます。
$ sudo systemctl status firewalls
以下の出力は、 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を使用してネットワークアクセスを許可または制限する方法について、このガイドは終わりです。このガイドがお役に立てば幸いです。