ウェブサイト検索

Linux でファイアウォールを構成および管理するための便利な「FirewallD」ルール


Firewalld は、ファイアウォールを再起動することなく即座に適用できる Linux で動的ファイアウォール ルールを構成する方法を提供します。また、構成を容易にする D-BUS およびゾーンの概念もサポートしています。

Firewalld は、古い Fedora のファイアウォール (Fedora 18 以降) メカニズムを置き換え、RHEL/CentOS 7 およびその他の最新のディストリビューションは以下に依存します。この新しい仕組み。新しいファイアウォール システムを導入する最大の動機の 1 つは、変更を加えるたびに古いファイアウォールを再起動する必要があるため、アクティブな接続がすべて切断されることです。上で述べたように、最新の firewalld は動的ゾーンをサポートしています。これは、コマンド ラインまたは GUI メソッドを使用して、オフィスやホーム ネットワークにさまざまなゾーンとルールのセットを構成するのに役立ちます。

最初は、firewalld の概念は構成が非常に難しそうに見えますが、この記事で説明するようにサービスとゾーンを使用すると、両方をまとめておくことで構成が容易になります。

以前の記事では、firewalld とそのゾーンを操作する方法を説明しましたが、この記事では、コマンド ラインを使用して現在の Linux システムを構成するための便利な firewalld ルールをいくつか紹介します。

  1. RHEL/CentOS 7 の Firewalld 構成

この記事で取り上げたすべての例はCentOS 7 ディストリビューションで実際にテストされており、RHEL および Fedora ディストリビューションでも動作します。

firewalld ルールを実装する前に、まず firewalld サービスが有効で実行されているかどうかを必ず確認してください。

systemctl status firewalld

上の図は、firewalld がアクティブで実行中であることを示しています。次に、すべてのアクティブなゾーンとアクティブなサービスを確認します。

firewall-cmd --get-active-zones
firewall-cmd --get-services

コマンドラインに慣れていない場合は、GUI から firewalld を管理することもできます。そのためには、システムに GUI パッケージをインストールする必要があります。そうでない場合は、次のコマンドを使用してインストールします。

yum install firewalld firewall-config

上で述べたように、この記事はコマンド ライン愛好家向けに特別に書かれており、これから説明するすべての例はコマンド ラインのみに基づいており、GUI によるものではありません。申し訳ありません。

次に進む前に、まずどのパブリック ゾーンで Linux ファイアウォールを構成するかを必ず確認し、次のコマンドを使用してパブリック ゾーンのすべてのアクティブなサービス、ポート、豊富なルールを一覧表示します。

firewall-cmd --zone=public --list-all

上の図では、アクティブなルールはまだ追加されていません。この記事の残りの部分でルールを追加、削除、変更する方法を見てみましょう。

1. Firewalld でのポートの追加と削除

パブリック ゾーンのポートを開くには、次のコマンドを使用します。たとえば、次のコマンドはパブリック ゾーンのポート 80 を開きます。

firewall-cmd --permanent --zone=public --add-port=80/tcp

同様に、追加されたポートを削除するには、以下に示すように、firewalld コマンドで「–remove」オプションを使用するだけです。

firewall-cmd --zone=public --remove-port=80/tcp

特定のポートを追加または削除した後は、「–list-ports」オプションを使用してポートが追加または削除されたかどうかを必ず確認してください。

firewall-cmd --zone=public --list-ports

2. Firewalld でのサービスの追加と削除

デフォルトでは、firewalld には事前定義されたサービスが付属しています。特定のサービスのリストを追加する場合は、ファイルにすべてのサービスが含まれる新しい XML ファイルを作成する必要があります。そうでない場合は、次のコマンドを実行して各サービスを手動で定義または削除することもできます。コマンド。

たとえば、次のコマンドは、この例で FTP に対して行ったように、特定のサービスを追加または削除するのに役立ちます。

firewall-cmd --zone=public --add-service=ftp
firewall-cmd --zone=public --remove-service=ftp
firewall-cmd --zone=public --list-services

3. 送受信パケットのブロック (パニックモード)

受信接続または送信接続をブロックしたい場合は、「パニックオン」モードを使用してそのようなリクエストをブロックする必要があります。たとえば、次のルールは、システム上で確立されている既存の接続を削除します。

firewall-cmd --panic-on

パニック モードを有効にした後、任意のドメイン (google.com など) に ping を実行し、「–query-panic」を使用してパニック モードがオンになっているかどうかを確認します。 >' オプションを以下に示します。

ping google.com -c 1
firewall-cmd --query-panic

上の図で、パニック クエリに「不明なホスト google.com」と表示されているのがわかりますか。次に、パニック モードを無効にして、もう一度 ping を実行して確認してみます。

firewall-cmd --query-panic
firewall-cmd --panic-off
ping google.com -c 1

今度は、google.com から ping リクエストがあります。