IPFireは、ファイアウォールやその他のネットワークアプライアンス専用のLinuxディストリビューションです。ファイアウォールを実行するために特別なハードウェアは必要ありません。古いPCやRaspberry Piでも問題ありません(ISOイメージはIPFireのダウンロードページから入手できます)。ただし、少なくとも2つのネットワークアダプタが必要です。また、IPFireは仮想マシン(仮想イーサネットアダプタを好きなだけ追加できます)で実行することもできます。適切なハードウェアと小規模ネットワークであれば問題なく動作しますが、ホストマシンが侵害されると仮想ファイアウォールも侵害される可能性があるため、この方法ではセキュリティ上の問題がいくつか生じます。
IPFireを経由することで、ホームネットワーク全体をルーティングできます(ホームルーターのデフォルトゲートウェイとして設定し、設定を変更することで)。また、他のユーザーがすべてのトラフィックをハードウェアファイアウォール経由で送信することを好まない場合は、選択したマシンのみをIPFire経由でルーティングすることもできます。
IPFireのインストール
インストール(実機でも仮想環境でも)は簡単ですが、対象ドライブ全体が消去される点にご注意ください。インストーラーは単一のドライブからデュアルブートする手段を提供していません。システムのインストールが完了したら、インストールメディアを取り外し(Raspberry Piの場合はOSをmicroSDカードに書き込んでいるため)、再起動して初期システムセットアップを実行します。ローカリゼーション、ユーザー設定など、すべては標準的なものですが、重要なのは最後のネットワーク設定です。
前述の通り、少なくとも2つのネットワークアダプタが必要です。これを回避する方法はありません。VMを実行している場合は、数回クリックするだけで2つ目のアダプタを追加し、再起動してセットアップを続行できます。Raspberry Piなどの有線と無線の両方のネットワーク機能を備えたデバイスを使用している場合は、問題なく動作します(ただし、hostapdでアクセスポイントを設定する必要があります)。
IPFireでレッドネットワークとグリーンネットワークを設定する
アダプタを2つ使用する場合は、1つのデバイスを緑のネットワークに、もう1つのデバイスを赤のネットワークに割り当てる必要があります。IPFireでは最大4つのアダプタを使用でき、その場合、より多彩な色分けが可能になります。アダプタを複数設定する必要がある場合は最初のオプションを使用し、ネットワークハードウェアに色を割り当てる場合は2番目のオプションを使用してください。
通常、Greenネットワークはプライベートネットワーク、Redネットワークはインターネットに接続されたネットワークを指します。実際には(ISPに直接接続するマシンでIPFireを使用していない場合)、これらは両方とも最終的には自宅のルーターを経由して接続されますが、Greenネットワークインターフェースは(クロスオーバーケーブル、無線LAN、または別のルータースイッチを介して)IPFireで保護したいマシンに接続します。トラフィックはGreenからRedへは流れますが、逆方向には流れないという考え方です。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
IPFire の IP アドレスの設定
IPFire の管理下にあるネットワークデバイスには IP アドレスを設定する必要があります。上記の構成では、自宅の LAN の「下」にセキュアネットワークが構築されているため、Red インターフェースは LAN の他の部分と同様に、192.168.0.x のような IP アドレスを設定する必要があります。Green インターフェースは技術的には任意の IP アドレスを設定できますが、10.0.0.1 や(好みに応じて 192.168.1.1)などの専用のプライベート IP アドレスを使用するのが合理的です。
Redインターフェース(この設定では)は、DHCP経由でIPアドレスを取得するように設定できます。これは最も簡単な設定ですが、後で固定IPを設定すると良いでしょう。そうしないと、再起動後にIPFireインスタンスを追跡することになります。固定IPを設定する場合は、ゲートウェイを自宅のルーターに設定する必要があります。IPFireを仮想的に実行している場合は、DHCPはハイパーバイザーのNATネットワークを使用するので、問題なく動作するはずです。
プライベートネットワークを使用するすべてのユーザーに固定IPアドレスの使用を義務付けたい場合を除き、GreenインターフェースにはDHCPサーバーが必要です。DHCPサーバーを有効にし、以下の設定(またはそれに類似する設定)を使用してください。
Start address: 10.0.0.2
End address: 10.0.0.11
Primary DNS: 10.0.0.1????
libvirtまたはVirtualboxを使用している場合、仮想NATデバイスが独自のDHCPサーバーを持つため、この方法は機能しません。そのため、IPFireで保護するVMには静的IPアドレスを設定する必要があります。デスクトップディストリビューションの場合は、Network Managerで静的IP設定を行うことが最も簡単です。物理マシンの場合は、グリーンインターフェースのIPFireホストにケーブル直接接続(古い100Mbpsカードはクロスオーバーケーブルが必要ですが、ギガビットイーサネットカードでは必要ありません)またはスイッチ経由で接続できます。
IPFireでのDNSのテストと設定
IPFireインスタンスの初期設定はこれで完了です。https://10.0.0.1:444 にアクセスすれば、IPFireに接続できるはずです。最初に表示されるのは、IPFireが自己署名証明書を使用しているため、厄介なセキュリティ警告です。これは無視しても問題ありません。次に表示されるのはログインボックスです。先ほど設定したパスワードを使用して、管理者としてログインしてください。すると、IPFireの直感的なWebインターフェースが表示されます。
デフォルトでは、IPFireはDNSリクエストを自宅のルーター経由でRedインターフェース(おそらくISP)のDNSサーバーに転送します。CloudFlareの1.1.1.1やGoogleの8.8.8.8などのパブリックDNSサービスを使用することもできます。これを行うには、「ネットワーク」>「ドメインネームシステム」に進みます。「ISPが割り当てたDNSを使用する」チェックボックスをオフにし、上部の「追加」ボタンをクリックします。必要なのはIPアドレスだけです。
IPFireでルールを作成する
RedネットワークからホストのWebインターフェースへのアクセスを許可する簡単なルールを設定します。これは実際には行いませんが、ルールを追加する手順を示すためのものです。「ファイアウォール」>「ファイアウォールルール」に移動し、「新規ルール」ボタンをクリックします。「送信元」セクションで「標準ネットワーク」オプションを選択し、「RED」を選択します。下の「NATを使用する」ボックスにチェックを入れ、「宛先NAT」を選択します。
「宛先」セクションで「ファイアウォール」オプションを選択し、「GREEN – 10.0.0.1」を選択します。「プロトコル」セクションでは「TCPm」を選択し、「標準ネットワーク」ドロップダウンで「Any」を選択し、「送信元」セクションでは「外部ポート」ボックスに444を入力します。「追加設定」ボックスでは、これらの接続をログに記録するか、制限するか、レート制限するかを選択できますが、ここでは設定しないので「追加」をクリックします。「更新」をクリックすると、LAN上のどこからでもIPFireのWebインターフェースに接続できるようになります。
IPFireアドオン
IPFireは、高度なファイアウォールソリューションを実行するために必要なものすべてを備えています。しかも、その機能は標準装備の機能をはるかに超えて拡張可能です。例えば、IPFireは独自のディストリビューションであり、独自のパッケージマネージャー(Pakfire)を搭載しているため、直接またはバックグラウンドで追加機能をインストールできます。
VPNが必要な場合は、OpenVPNを使って数クリックで設定できます。2つの構成が用意されています。まさに終末論的な響きを持つRoadwarriorと、より説明的なNet-to-Netです。前者はクライアント-to-Netとも呼ばれ、安全なネットワーク接続から遠く離れたRoadwarriorが、信頼できるサーバーへの通信を暗号化するために必要なものです。
VPNと並んでよく話題になるTorを、IPFireで簡単に設定できます。インスタンスを.onionノードにアクセスし、自分のトラフィック(またはトラフィックの一部)のみをTor経由でルーティングするように設定できます。また、帯域幅に余裕があれば、リレーを設定してTorコミュニティ全体にメリットをもたらすこともできます。より一般的な方法としては、インスタンスにワイヤレスネットワーク(通常はBLUEインターフェースで指定)を追加することもできます。Raspberry Pi(ネットワークインターフェースが2つしかない)でもこれを行うことは可能だと説明しましたが、3つ目のインターフェースとして追加することで、Hostapdを自分で設定する必要がなくなります。
この記事はもともと Linux Format Magazine 262 号に掲載されました。