ウェブサイト検索

pfSense ファイアウォールで DNS ブラックリストに登録するために pfBlockerNg をインストールして構成する


以前の記事では、pfSense として知られる強力な FreeBSD ベースのファイアウォール ソリューションのインストールについて説明しました。前の記事で説明したように、pfSense は非常に強力で柔軟なファイアウォール ソリューションであり、あまり機能せずに放置されている古いコンピューターを利用できます。

この記事では、pfBlockerNG と呼ばれる pfsense の素晴らしいアドオン パッケージについて説明します。

pfBlockerNG は、pfSense にインストールできるパッケージで、ファイアウォール管理者が従来のステートフル L2/L3/L4 ファイアウォールを超えてファイアウォールの機能を拡張できるようになります。

攻撃者やサイバー犯罪者の能力が進化し続けるにつれて、彼らの攻撃を阻止するための防御策も進化する必要があります。コンピューティングの世界のあらゆるものと同様、世の中のすべての製品を解決する 1 つのソリューションはありません。

pfBlockerNG は、IP アドレスの位置情報、リソースのドメイン名、特定の Web サイトの Alexa 評価などの項目に基づいて許可/拒否の決定をファイアウォールが行う機能を pfSense に提供します。

ドメイン名などの項目を制限できる機能は、管理者が既知の不正なドメイン (つまり、マルウェア、違法なコンテンツ、またはその他のコンテンツが含まれていることがわかっているドメイン) に接続しようとする内部マシンの試みを阻止できるため、非常に有利です。潜伏性の高いデータ)。

このガイドでは、pfBlockerNG パッケージを使用するように pfSense ファイアウォール デバイスを構成する方法と、pfBlockerNG ツールに追加/構成できるドメイン ブロック リストの基本的な例をいくつか説明します。

要件

この記事では、いくつかの仮定を置き、pfSense に関する以前のインストール記事を基に構築します。仮定は次のようになります。

  • pfSense はすでにインストールされており、現在設定されているルールはありません (白紙の状態)。
  • ファイアウォールには WAN ポートと LAN ポート (2 ポート) のみがあります。
  • LAN側で使用されているIPスキームは192.168.0.0/24です。

pfBlockerNG は、すでに実行中または設定されている pfSense ファイアウォール上で設定できることに注意してください。ここでこれらの前提を置いている理由は、単に健全性を保つためであり、完了するタスクの多くは、白紙の状態ではない pfSense ボックスでも実行できます。

研究室の図

下の画像は、この記事で使用する pfSense 環境のラボ図です。

pfSense 用の pfBlockerNG をインストールする

ラボの準備が整ったら、いよいよ開始です。最初のステップは、pfSense ファイアウォールの Web インターフェイスに接続することです。このラボ環境でも、192.168.0.0/24 ネットワークを使用しており、ファイアウォールはアドレス 192.168.0.1 のゲートウェイとして機能します。 Web ブラウザを使用して「https://192.168.0.1」に移動すると、pfSense ログイン ページが表示されます。

一部のブラウザでは SSL 証明書について問題が発生する場合がありますが、証明書は pfSense ファイアウォールによって自己署名されているため、これは正常です。警告メッセージを受け入れても問題ありません。必要に応じて、正規の CA によって署名された有効な証明書をインストールすることもできますが、これはこの記事の範囲外です。

[詳細]、[例外の追加…] の順にクリックしたら、クリックしてセキュリティ例外を確認します。 pfSense ログイン ページが表示され、管理者がファイアウォール アプライアンスにログインできるようになります。

pfSense のメイン ページにログインしたら、[システム] ドロップダウンをクリックし、[パッケージ マネージャー] を選択します。

このリンクをクリックすると、パッケージ マネージャー ウィンドウに変わります。ロードする最初のページは、現在インストールされているすべてのパッケージであり、空白になります (このガイドでも、pfSense のクリーン インストールを前提としています)。 「利用可能なパッケージ」というテキストをクリックすると、pfSense のインストール可能なパッケージのリストが表示されます。

[利用可能なパッケージ] ページが読み込まれたら、[検索語] ボックスに「pfblocker」と入力し、[検索<] をクリックします。」。返される最初の項目は pfBlockerNG である必要があります。 pfBlockerNG の説明の右側にある [インストール] ボタンを見つけて、「+」 をクリックしてパッケージをインストールします。

ページがリロードされ、管理者に [確認] をクリックしてインストールを確認するよう求められます。

確認すると、pfSense は pfBlockerNG のインストールを開始します。インストーラー ページから移動しないでください。ページにインストールが成功したと表示されるまで待ちます。

インストールが完了すると、pfBlockerNG の構成を開始できます。ただし、完了する必要がある最初のタスクは、pfBlockerNG が適切に構成された後に何が起こるかについての説明です。

pfBlockerNG が構成されたら、Web サイトに対する DNS リクエストは、pfBlockerNG ソフトウェアを実行している pfSense ファイアウォールによってインターセプトされます。 pfBlockerNG には、不正な IP アドレスにマッピングされている既知の不正なドメインの更新されたリストが含まれます。

pfSense ファイアウォールは、不正なドメインをフィルタリングできるようにするために DNS リクエストをインターセプトする必要があり、UnBound として知られるローカル DNS リゾルバーを使用します。これは、LAN インターフェイス上のクライアントが pfSense ファイアウォールを DNS リゾルバーとして使用する必要があることを意味します。

クライアントが pfBlockerNG のブロック リストにあるドメインを要求した場合、pfBlockerNG はそのドメインに対して偽の IP アドレスを返します。プロセスを始めましょう!

pfSense の pfBlockerNG 構成

最初のステップは、pfSense ファイアウォールでUnBound DNS リゾルバーを有効にすることです。これを行うには、[サービス] ドロップダウン メニューをクリックし、[DNS リゾルバー] を選択します。

ページがリロードされると、DNS リゾルバーの一般設定が構成可能になります。設定する必要がある最初のオプションは、「DNS リゾルバーを有効にする」のチェックボックスです。

次の設定は、DNS リスニング ポート (通常はポート 53) を設定し、DNS リゾルバーがリッスンする必要があるネットワーク インターフェイスを設定し (この構成では、LAN ポートとローカルホストである必要があります)、次に出力ポートを設定します (この構成では WAN になります)。

選択が完了したら、必ずページの下部にある [保存] をクリックし、ページ上部に表示される [変更を適用] ボタンをクリックしてください。ページ。

次のステップは、特に pfBlockerNG の構成における最初のステップです。 「ファイアウォール」メニューの下の pfBlockerNG 設定ページに移動し、「pfBlockerNG」をクリックします。

pfBlockerNG がロードされたら、pfBlockerNG をアクティブにする前に、まず [DNSBL] タブをクリックして DNS リストのセットアップを開始します。

DNSBL」ページが読み込まれると、pfBlockerNG メニューの下に新しいメニュー セットが表示されます (下で緑色で強調表示されています)。対処する必要がある最初の項目は、[DNSBL を有効にする] チェック ボックス (以下の緑色で強調表示されている) です。

このチェック ボックスでは、LAN クライアントからの DNS 要求を検査するために、pfSense ボックスでUnBound DNS リゾルバーを使用する必要があります。 UnBound は以前に設定されていますが、このボックスをオンにする必要があるので心配しないでください。この画面で入力する必要があるもう 1 つの項目は、「DNSBL 仮想 IP」です。

この IP はプライベート ネットワーク範囲内にある必要があり、pfSense が使用されているネットワーク上の有効な IP ではありません。たとえば、192.168.0.0/24 の LAN ネットワークは、プライベート IP であり LAN ネットワークの一部ではないため、10.0.0.1 の IP を使用できます。

この IP は、統計を収集するだけでなく、pfBlockerNG によって拒否されているドメインを監視するために使用されます。

ページを下にスクロールすると、言及する価値のある設定がさらにいくつかあります。 1 つ目は「DNSBL リスニング インターフェイス」です。このセットアップとほとんどのセットアップでは、この設定を「LAN」に設定する必要があります。

もう 1 つの設定は、[DNSBL IP ファイアウォール設定] の [リスト アクション] です。この設定は、DNSBL フィードが IP アドレスを提供するときに何が起こるかを決定します。

pfBlockerNG ルールは、任意の数のアクションを実行するように設定できますが、最も可能性が高いのは「両方を拒否」するオプションです。これにより、DNSBL フィード上の IP/ドメインへの受信および送信接続が防止されます。

項目を選択したら、ページの一番下までスクロールして [保存] ボタンをクリックします。ページがリロードされたら、使用する DNS ブロック リストを構成します。

pfBlockerNG は、管理者の好みに応じて個別に構成することも、一緒に構成することもできる 2 つのオプションを管理者に提供します。 2 つのオプションは、他の Web ページまたは EasyList からの手動フィードです。

さまざまな EasyList の詳細については、プロジェクトのホームページをご覧ください: https://easylist.to/

pfBlockerNG EasyList を構成する

まず EasyList について説明して構成しましょう。ほとんどのホーム ユーザーは、これらのリストで十分であり、管理上の負担も最も少ないと感じるでしょう。

pfBlockerNG で使用できる 2 つの EasyList は、「要素非表示なしの EasyList」と「EasyPrivacy」です。これらのリストのいずれかを使用するには、まずページの上部にある [DNSBL EasyList] をクリックします。

ページがリロードされると、EasyList 設定セクションが利用可能になります。次の設定を行う必要があります。

  • DNS グループ名 – ユーザーが選択しますが、特殊文字は使用できません
  • 説明 – ユーザーの選択、特殊文字が使用可能
  • EasyList フィードの状態 – 設定されたリストが使用されているかどうか
  • EasyList フィード – どのリストを使用するか (EasyList または EasyPrivacy) 両方を追加できます。
  • ヘッダー/ラベル – ユーザーが選択しますが、特殊文字は使用できません

次のセクションは、リストのどの部分をブロックするかを決定するために使用されます。繰り返しますが、これらはすべてユーザーの好みであり、必要に応じて複数を選択できます。 「DNSBL – EasyList 設定」の重要な設定は次のとおりです。

  • カテゴリ – ユーザーの好みと複数を選択できます
  • リスト アクション – DNS リクエストを検査するには、「非バインド」に設定する必要があります
  • 更新頻度 – pfSense が不良サイトのリストを更新する頻度

EasyList 設定がユーザーの好みに合わせて構成されたら、必ずページの一番下までスクロールして [保存] ボタンをクリックしてください。ページがリロードされたら、ページの一番上までスクロールして [更新] タブをクリックします。

[更新] タブに移動したら、[再読み込み] のラジオ ボタンをオンにしてから、[すべて] のラジオ ボタンをオンにします。これは一連の Web ダウンロードを通じて実行され、前に EasyList 構成ページで選択されたブロック リストを取得します。

これは手動で行う必要があります。そうしないと、スケジュールされた cron タスクが実行されるまでリストがダウンロードされません。変更が行われた場合 (リストの追加または削除)、必ずこのステップを実行してください。

以下のログ ウィンドウでエラーを確認してください。すべてが計画どおりに進んだ場合、ファイアウォールの LAN 側のクライアント マシンは、既知の不正なサイトについて pfSense ファイアウォールにクエリを実行し、応答として不正な IP アドレスを受け取ることができるはずです。ただし、ここでもクライアント マシンは pfsense ボックスを DNS リゾルバーとして使用するように設定する必要があります。

上記の nslookup では、URL が pfBlockerNG 構成で以前に構成された偽の IP を返すことに注意してください。これは望ましい結果です。これにより、URL「100pour.com」へのリクエストはすべて、偽の IP アドレス 10.0.0.1 に送信されることになります。

pfSense の DNSBL フィードを構成する

AdBlock EasyLists とは対照的に、pfBlockerNG 内で他の DNS ブラック リストを使用する機能もあります。マルウェア コマンド アンド コントロール、スパイウェア、アドウェア、Tor ノード、その他あらゆる種類の有用なリストを追跡するために使用されるリストが数百あります。

これらのリストは多くの場合、pfBlockerNG に取り込まれ、さらなる DNS ブラック リストとしても使用できます。有用なリストを提供するリソースが数多くあります。

  • https://forum.pfsense.org/index.php?topic=114499.0
  • https://forum.pfsense.org/index.php?topic=102470.0
  • https://forum.pfsense.org/index.php?topic=86212.0

上記のリンクは、メンバーが使用するリストの大規模なコレクションを投稿した pfSense フォーラムのスレッドを提供します。著者のお気に入りのリストには次のようなものがあります。

  • http://adaway.org/hosts.txt
  • http://www.malwaredomainlist.com/hostslist/hosts.txt
  • http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext
  • https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist
  • https://gist.githubusercontent.com/BBcan177/4a8bf37c131be4803cb2/raw

繰り返しますが、他にもたくさんのリストがあり、著者は個人がさらに多くのリストを探すことを強く推奨しています。ただし、構成タスクを続けましょう。

最初のステップは、「ファイアウォール->pfBlockerNG-> を介して pfBlockerNG の設定メニューに再度移動することです。 「DSNBL」。

再度 DNSBL 設定ページにアクセスしたら、[DNSBL フィード] テキストをクリックし、ページが更新されたら [追加] ボタンをクリックします。

[追加] ボタンを使用すると、管理者は不正な IP アドレスまたは DNS 名のリストを pfBlockerNG ソフトウェアにさらに追加できます (リストにすでにある 2 つの項目は、作成者がテストしたものです)。 [追加] ボタンをクリックすると、管理者は DNSBL リストをファイアウォールに追加できるページに移動します。

この出力の重要な設定は次のとおりです。

  • DNS グループ名 – ユーザーが選択した
  • 説明 – グループを整理するのに役立ちます
  • DNSBL 設定 – これらは実際のリストです。
    • 状態 – そのソースが使用されているかどうか、およびその入手方法
    • ソース – DNS ブラック リストのリンク/ソース
    • ヘッダー/ラベル – ユーザーが選択します。特殊文字はありません
  • リスト アクション – 非バインドに設定
  • 更新頻度 – リストを更新する頻度

これらの設定を行ったら、ページの下部にある [保存] ボタンをクリックします。 pfBlockerNG への他の変更と同様に、変更は次にスケジュールされた cron 間隔で有効になります。または、管理者は [更新] タブに移動し、[再ロード<] をクリックして手動でリロードを強制することもできます。」ラジオ ボタンをクリックし、「すべて」ラジオ ボタンをクリックします。これらを選択したら、[実行] ボタンをクリックします。

以下のログ ウィンドウでエラーを確認してください。すべてが計画どおりに進んだ場合は、LAN 側のクライアントから、DNSBL 構成で使用されるテキスト ファイルの 1 つにリストされているドメインの 1 つに対して nslookup を実行するだけで、リストが機能していることをテストします。

上記の出力に見られるように、pfSense デバイスは、pfBlockerNG で構成された仮想 IP アドレスをブラック リスト ドメインの不正な IP として返しています。

この時点で、管理者はリストを追加したり、カスタム ドメイン/IP リストを作成したりして、リストのチューニングを続けることができます。 pfBlockerNG は引き続き、これらの制限されたドメインを偽の IP アドレスにリダイレクトします。

pfBlockerNG に関するこの記事をお読みいただきありがとうございます。これら両方の素晴らしい製品の継続的な開発に可能な限り貢献することで、pfSense ソフトウェアと pfBlockerNG に対する感謝またはサポートを示してください。いつものように、提案や質問があれば以下にコメントしてください。