Debian 12、11、10 に Firewalld をインストールする方法

Firewalld は、ファイアウォール管理に対する動的なアプローチで際立っています。リアルタイムの適応性を提供し、iptables や ufw などの従来のツールとは一線を画す機能です。このリアルタイムの柔軟性により、Firewalld はセキュリティと使いやすさを重視するユーザーにとって好ましい選択肢となっています。

Firewalld の主な利点:

  • ゾーンベースの管理Firewalld はゾーンベースのシステムを採用しており、iptables のパケット単位の操作とは異なり、ユーザー中心の接続管理に重点を置いています。
  • 即時更新: Firewalld では、サービスの再読み込みが必要になることが多く、アクティブな接続が中断される可能性がある iptables とは異なり、再起動を必要とせずに変更がすぐに有効になります。
  • ユーザーフレンドリーなコマンド: Firewalld のコマンド構造は ufw よりも直感的であるため、ファイアウォール設定を初めて使用する人にとって非常に使いやすいものになっています。
  • 包括的なドキュメント: Firewalld は徹底したドキュメントとアクティブなユーザー コミュニティによって支えられており、ユーザーに十分なサポートとリソースが提供されます。
  • Debianとのシームレスな統合: Firewalld の動的な機能と Debian の定評ある安定性を組み合わせることで、デスクトップ ユーザーとサーバー管理者の両方に比類のないエクスペリエンスを提供します。

このガイドでは、基礎知識に基づいて、Firewalld を Debian システムにシームレスに統合する手順を説明します。

ターミナルコマンドでFirewalldをインストールする

Firewalld をインストールする前に Debian を更新する

新しいソフトウェアのインストールに着手する前に、次のコマンドを使用して Debian システム パッケージ データベースを更新することが重要です。

sudo apt update

このコマンドは、構成されたすべてのリポジトリから最新のパッケージ データを取得するようにシステムに指示します。

APTコマンドでFirewalldのインストールを続行する

システムの更新されたパッケージ情報を使用して、Firewalld をインストールできるようになりました。Debian パッケージ マネージャー (APT とも呼ばれる) を使用すると、このタスクが簡単になります。インストールを開始するには、次のコマンドを実行します。

sudo apt install firewalld

このコマンドは、パッケージ マネージャーに Firewalld ソフトウェア パッケージをダウンロードしてインストールするように指示します。

Firewalldのインストールを確認する

Firewalld をインストールしたら、正しくインストールされ、適切に動作するように設定されていることを確認してください。システム上の Firewalld のバージョンを表示するには、次のコマンドを使用します。

firewall-cmd --version

このコマンドは、Firewalld のバージョン番号を表示し、インストールを確認します。

次に、Firewalld を起動し、システムの起動時に実行されるように設定します。次のコマンドを使用します。

sudo systemctl enable --now firewalld

ファイアウォールゾーンの理解

ファイアウォールの「ゾーン」では、信頼できないパブリック設定からプライベートなホーム ネットワークまで、接続されたネットワークの信頼性に基づいてネットワーク トラフィック ルールが決定されます。

これらのいくつかとその意味を詳しく見ていきましょう。

Firewalld におけるゾーンの役割:

  • Firewalld は「ゾーン」という概念を使用して動作します。
  • Firewalld の「ゾーン」は、基本的に事前に定義された一連のルールです。これらのルールは、コンピューターが接続されているネットワークの信頼性に基づいて、許可または拒否されるネットワーク トラフィックの種類を決定します。

ゾーンの動作例:

  • パブリックゾーン: このゾーンは、カフェや空港などの公共の場所のネットワーク向けに設計されています。これらの設定では他のほとんどのデバイスを信頼できないため、システムを保護するためにルールはより厳しく制限されています。
  • ホームゾーン: このゾーンは、自宅のようなより安全な環境を想定しています。ここでは、すべてのデバイスに精通している可能性が高いため、ルールはそれほど厳しくなく、デバイス間の通信が増えます。

Firewalld で事前に定義されている一般的なゾーンのリスト:

  • 落とす: 応答せずにすべての受信パケットをドロップします。最も制限が厳しいです。
  • ブロック: 「Drop」に似ていますが、ソースに拒否応答を送信します。
  • 公共: パブリックの信頼できないネットワーク向け。
  • 外部の: システムがゲートウェイまたはファイアウォールとして機能する場合に使用されます。
  • DMZ(非武装地帯): DMZ 内のコンピューターについては、インターネットから隔離されたコンピューターへの制限付きアクセスを提供します。
  • 仕事: 多くのユーザーを信頼しているが、保護対策も必要な作業環境向けです。
  • 家: 家庭環境に関するルールを緩和します。
  • 内部: パブリック ネットワークまたはプライベート ネットワークの内部セクション用。
  • 信頼できる: すべてのネットワーク接続が受け入れられます。制限が最も少ないです。

一般的な Firewalld コマンド

このセクションでは、最も頻繁に使用される Firewalld コマンドについて詳しく説明します。これらのコマンドは、Firewalld セットアップの管理と構成に不可欠であり、Debian 環境を効果的に保護できます。

Firewalld コマンドの構文とオプション

Firewalld コマンドの一般的な構文は比較的簡単です。以下では、構文とオプションについて説明し、それらが何であるかをよりよく理解できるようにします。

まず、firewalld コマンドの構文は次のとおりです。

firewall-cmd [options] command

構文コンポーネントの簡単な説明は次のとおりです。

  • firewall-cmd: これは、Firewalld 操作に使用されるメイン コマンドです。
  • options: これらはコマンドの動作を変更します。これらはオプションであり、省略できます。
  • command: 実行する操作を指定します。

オプションに関しては、Firewalld はさまざまなオプションを提供しています。よく使用されるオプションをいくつか挙げると、次のようになります。

  • --zone=zone: 操作するゾーンを指定します。ゾーンが指定されていない場合は、デフォルトのゾーンが使用されます。
  • --add-service=service: 指定されたサービスをゾーンに追加します。変更はすぐに有効になりますが、再起動後も保持されません。 --permanent が追加されます。
  • --get-active-zones: 現在アクティブなすべてのゾーンとそれに関連付けられているインターフェースを一覧表示します。
  • --get-services: Firewalld が認識している利用可能なすべてのサービスを一覧表示します。
  • --reload: Firewalldの設定を再読み込みし、 --permanent システムを再起動する必要はありません。

より詳しい情報については、Firewalldのマニュアルページを参照してください。 man firewall-cmd ターミナルで。

すべてのアクティブなファイアウォールゾーンを一覧表示する

Firewalld インストールでどのゾーンがアクティブになっているかを理解することは、ファイアウォール構成を管理するための強固な基盤となります。この情報は、次のコマンドで取得できます。

sudo firewall-cmd --get-active-zones

このコマンドは、Firewalld に、各アクティブ ゾーンとそれに関連付けられたネットワーク インターフェイスを一覧表示するように指示します。

デフォルトゾーンの表示

Firewalld で設定されているデフォルト ゾーンを表示するには、次のコマンドを実行します。

sudo firewall-cmd --get-default-zone

このコマンドの出力は、デフォルトのゾーンを指定します。これは、着信ネットワーク接続に適用されるデフォルトのセキュリティ ポリシーとサービスを理解するために重要です。

デフォルトゾーンの変更

デフォルトのゾーンを変更するには、次のコマンドを使用します。

sudo firewall-cmd --set-default-zone=your_zone_name

置き換えることで your_zone_name 実際のゾーン名を使用すると、Firewalld インストールのデフォルト ゾーンが変更されます。

ゾーン内のサービス一覧

特定のゾーンで許可されるサービスを知る必要があることがよくあります。これは、次の方法で実現できます。

sudo firewall-cmd --zone=your_zone_name --list-services

交換するだけ your_zone_name 許可されたサービスを一覧表示するゾーンの名前。

ゾーンへのサービスの追加

ゾーンに新しいサービスを追加するには、次のコマンドを使用します。

sudo firewall-cmd --zone=your_zone_name --add-service=your_service_name

このコマンドにより、 your_service_name が追加されます your_zone_nameこれらのプレースホルダーは必ず実際のサービス名とゾーン名に置き換えてください。

高度な Firewalld コマンドとシナリオ

Firewalld は、ファイアウォール設定を細かく制御できる包括的な高度なコマンドと機能を提供します。これらのコマンドについて詳しく調べて、ネットワーク管理タスクで発生する可能性のある複雑なシナリオに対処するために必要な知識を身に付けましょう。

Firewalld による高度なファイアウォール管理

新しいサービスの定義

事前定義されたサービスにリストされていない特定のポート上でカスタム アプリケーションを実行する場合は、そのサービスを自分で定義できます。

これを行うには、次のコマンドを使用します。

sudo firewall-cmd --permanent --new-service=myservice

その後、カスタム サービスの設定を追加できます。たとえば、サービスに短くてわかりやすい名前を設定するには、次のようにします。

sudo firewall-cmd --permanent --service=myservice --set-short="My Custom Service"

デフォルトゾーンの調整

着信接続に特定のゾーンが定義されていない場合、システムはデフォルトのゾーンを使用します。 デフォルトのゾーンは、ニーズに合わせて変更できます。

sudo firewall-cmd --set-default-zone=home

このコマンドは、デフォルトのゾーンを '家'必ず交換してください '家' ネットワーク環境とセキュリティ要件に基づいて、必要なゾーンを選択します。

カスタムゾーンの作成

定義済みのゾーンがニーズを満たさない場合は、カスタム ゾーンを作成できます。

sudo firewall-cmd --permanent --new-zone=customzone

ゾーンを作成した後、仕様に合わせてサービスやポートなどを追加または削除してゾーンを変更できます。

マスカレードを有効にする

マスカレードは、システムがネットワーク内の他のシステムのゲートウェイまたはルーターとして機能する場合によく使用されます。特定のゾーンでマスカレードを有効にするには、以下を使用します。

sudo firewall-cmd --zone=public --add-masquerade

'public' を、マスカレードを有効にするゾーンに置き換えることを忘れないでください。

ポート転送

Firewalld では、特定のポートを別のポートに転送することもできます。これは、非標準ポートでサービスを実行する場合など、さまざまなシナリオで役立ちます。

sudo firewall-cmd --zone=public --add-forward-port=port=5000:proto=tcp:toport=80

このコマンドは、ポート 5000 からのすべての着信 TCP 接続を「パブリック」ゾーンのポート 80 に転送します。

これらの例は、Firewalld の高度な機能のほんの一部にすぎません。ネットワークとセキュリティの特定のニーズに応じて、さらに多くのコマンドとオプションが利用できます。詳細については、Firewalld の公式ドキュメントを参照するか、「man」コマンドを使用してください。

ファイアウォールの問題のトラブルシューティング

ファイアウォールの管理は複雑になる場合があり、問題が発生することがあります。ただし、Firewalld は、このような課題を解決するために役立つ包括的なトラブルシューティング ツールとテクニックを提供します。このセクションでは、一般的なファイアウォールの問題を診断して修正する方法について説明します。

ファイアウォールの問題の調査

ファイアウォールのステータスを確認する

Firewalld の問題を診断するには、まず次のコマンドでサービス ステータスを確認します。

sudo systemctl status firewalld

このコマンドは、Firewalld サービスのステータス、アクティブかどうか、起動中にエラーが発生したかどうかに関する情報を提供します。

Firewalld ログの確認

問題をトラブルシューティングするときに、Firewalld ログで貴重な情報を見つけることができます。デフォルトでは、Firewalld はシステム ジャーナルにイベントを記録します。これには、次の方法でアクセスできます。

sudo journalctl -u firewalld

このコマンドは、Firewalld 関連のログを出力し、エラーや異常な動作を特定するのに役立ちます。

構成の確認

Firewalldは設定ファイルを /etc/firewalld/ ディレクトリ。問題が発生した場合は、これらの構成ファイルにエラーや矛盾がないか確認することをお勧めします。

sudo less /etc/firewalld/firewalld.conf

このコマンドを使用すると、Firewalld のメイン構成ファイルを表示できます。

一般的なファイアウォールの問題の解決

問題: Firewalld がコマンドに応答しない

場合によっては、Firewalld がコマンドに反応しないことがあります。最初の対処法としては、Firewalld をリロードすることが効果的です。これは次のコマンドで実行できます。

sudo firewall-cmd --reload

このコマンドは、ディスクから Firewalld 構成を再読み込みし、保存されていない一時的な変更をすべて破棄します。ただし、ファイアウォール ルールがすべて削除されるわけではありません。

問題: Firewalld をデフォルトにリセットする必要がある

すべての設定をデフォルトにリセットし、すべてのカスタムルールを削除する場合は、 --complete-reload オプション。このオプションを使用すると、すべてのランタイムおよび永続的な構成が削除され、デフォルトのルール セットに置き換えられることに注意してください。

sudo firewall-cmd --complete-reload

問題: 特定のルールを削除する必要がある

特定のルールを削除するには、 --remove コマンド。たとえば、永続構成のパブリック ゾーンから HTTP サービスを削除する場合、コマンドは次のようになります。

sudo firewall-cmd --permanent --zone=public --remove-service=http

問題: ファイアウォール ルールが機能しない

ファイアウォールルールが機能していないように見える場合、多くの場合、誰かがそのルールを永続的に設定していないことが原因です。非永続的なルールは現在のセッションでのみ機能します。誰かがシステムを再起動すると、ルールは消えます。ルールが確実に残るようにするには、 --permanent ルールを作成するときにフラグを設定します。

問題: ゾーン構成が期待どおりに動作しない

Firewalld を使用する場合、ゾーンと、ゾーンがインターフェースやサービスとどのように相互作用するかを理解することが重要です。ここでは、発生する可能性のあるシナリオとその対処方法をいくつか示します。

シナリオ: インターフェースを正しいゾーンに割り当てなかった

内部ネットワーク用に「内部」という新しいゾーンを作成し、それに対して特定のルールとサービスを設定したとします。しかし、システムはこれらのルールを適用しません。考えられる原因としては、意図したインターフェイスを「内部」ゾーンに割り当てなかったことが考えられます。

ゾーンに関連付けられているインターフェースを確認するには、次のコマンドを使用します。

sudo firewall-cmd --zone=internal --list-interfaces

出力に意図したインターフェースが含まれていない場合は、次のコマンドを使用して割り当てることができます。

sudo firewall-cmd --zone=internal --add-interface=eth1

このコマンドは、「eth1」インターフェースを「internal」ゾーンに追加します。

シナリオ: ゾーンがサービスを有効にしない

あなたが 'DMZ' ゾーンでHTTPトラフィックを許可したいのですが、トラフィックが通過しません。これは、HTTPサービスを有効にしていない場合に発生する可能性があります。 'DMZ' ゾーン。

ゾーンでサービスが有効になっているかどうかを確認するには、次のように入力します。

sudo firewall-cmd --zone=dmz --query-service=http

サービスがアクティブでない場合は、次のコマンドでアクティブ化します。

sudo firewall-cmd --zone=dmz --add-service=http

このコマンドは、 'DMZ' ゾーン。

これらの変更を再起動後も維持するには、コマンドに –permanent フラグを含めます。常にインターフェイスを適切なゾーンにリンクし、必要なサービスをアクティブ化します。

結論

この包括的なガイドでは、バージョン 12、11、10 を含む Debian への Firewalld のインストールについて説明しました。Firewalld の基礎、ゾーンとサービスの構成について説明し、基本および高度なコマンドの例を示しました。さらに、Firewalld の使用中に発生する可能性のある一般的なトラブルシューティング シナリオについても説明しました。このガイドに従うことで、Firewalld を利用してサーバーのファイアウォール設定を効果的に管理および保護するための準備が整います。Firewalld を習得すると、安全で整理されたネットワーク環境を維持するための強力なツール セットが提供されるため、継続的に実験して知識を磨くことをお勧めします。

便利なリンク

Firewalld の使用に関連する貴重なリンクをいくつか紹介します。

  • Firewalld 公式サイト: 動的ファイアウォール マネージャー、その機能、およびダウンロード オプションの詳細については、Firewalld の公式 Web サイトをご覧ください。
  • Firewalld ドキュメント: Firewalld のインストール、構成、使用に関する詳細なガイドについては、包括的なドキュメントにアクセスしてください。
  • ファイアウォールコミュニティ: Firewalld コミュニティに参加して、他のユーザーとつながり、ディスカッションに参加し、サポートを受けましょう。
  • Firewalld GitHub リポジトリ: Firewalld GitHub リポジトリを参照して、ソース コードを表示し、問題を報告し、開発に貢献してください。
ジョシュア・ジェームズ
私に従ってください
Joshua James による最新の投稿 (すべてを見る)