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


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

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

最初は、firewalldの概念を構成するのは非常に難しいように見えますが、この記事で説明するように、サービスとゾーンは両方を一緒に保つことで簡単になります。

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

  1. Firewalld Configuration in RHEL/CentOS 7

この記事で取り上げるすべての例は、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リクエストがあります。