VPN、ブリッジ、ルーター、それともファイアウォール?

VPN、ブリッジ、ルーター、それともファイアウォール?

次のタスクに対してどの実装パスを実行するかを判断するのにご協力ください。

私はウェブサーバーとして機能するブラックボックスデバイスを持っています (ブラウザのアドレスフィールドに IP アドレスを入力することでローカルに接続できます)。このボックスには、単純なユーザー名とパスワード以外のセキュリティ対策は実装されていません。このサーバーが隔離されたネットワーク上にある場合は問題ありませんが、インターネットから、つまり世界中のどこからでもアクセスできるようにしたいと考えています。これに伴い、データの暗号化に TLS セキュリティを使用したいと考えています。

Rasbperry PI (および openVPN ソフトウェア) が利用できるので、このアプリケーションに適していると思いました。Raspberry PI を使用して VPN、ブリッジ、ルーター、ファイアウォールを実装する方法に関するさまざまなチュートリアルがありますが、4 つの機能のうちどれが私のアプリケーションに適しているかわかりません。概念図を以下に示します。

ここに画像の説明を入力してください

Raspberry Pi には、インターネット アクセス用のネットワーク インターフェイスが 2 つあります。1 つは地上イーサネット (eth0) 経由、もう 1 つは携帯電話インターネット (eth1) 経由です。地上インターネット接続を優先して、どちらか利用可能な方を使用します。両方のインターフェイスの IP アドレスは既知です。3 番目のイーサネット インターフェイス (eth2) は、スイッチを介してローカル ネットワークに接続されます。サーバーもスイッチに接続されます。サーバーは制御できません (ブラック ボックスです)。IP アドレスしかわかりません。

アイデアとしては、Raspberry PI を私とサーバーの間の仲介者として機能させ、Web ブラウザーを使用して Web アプリケーションに安全に接続できるようにすることです。しかし、Raspberry Pi に実装する必要がある機能は、VPN、ルーター、ブリッジ、ファイアウォールのどれでしょうか?

編集:

上で述べたタスクは私にとっては難しすぎたので (能力不足)、まずは設定を簡素化することにしました。質問の上部部分とそれに対応する回答が役に立つかもしれないので、削除したくありませんでした。代わりに、私の新しい (簡素化された) 設定は次のようになります。

ここに画像の説明を入力してください

RPは、0 ...インターフェースとすべてのトラフィックをルーティングするeth0インターフェースは直接サーバーに接続しました:

  1. dynamic ppp0 IP address (given by cell service provider)
  2. static eth0 IP address (assigned by me)
  3. non-secure internet connection
  4. RP is connected to the server directly (no switch needed)

私はいくつかの解決策を見つけましたこれそしてこれしかし、なぜそのようにするのかは明確に説明されていません。また、コマンドラインディレクティブも提供されており、その使い方がわかりません。元に戻す代わりに、実際のシステム/構成ファイルを参照して、必要に応じて編集して元に戻せるようにしてもらいたいと思います。

現在、RPi を Web サーバーに接続すると、Web ブラウザーから参照できます。目標は、RPi を介してインターネットから Web サーバーにアクセスできるようにすることです。ppp0 インターフェイスは携帯電話の接続に応じてアップとダウンになり、IP アドレスは毎回異なり不明になることを考慮して、ルーティングを適切に設定する方法に関する教育チュートリアルを提供してもらえますか。

答え1

TLDR;

Web サーバーを保護するにはファイアウォールが必要ですが、おそらくルーターはすでにこの機能を提供しています。

詳細

ウェブ サーバーを保護するために本当に必要なのは、ファイアウォールと SSL だけです。自宅のルーターがすでにこれを提供している場合、Raspberry Pi ではそれ以上のセキュリティは提供されません。

Web サーバーへの通信を保護するには、SSL を使用する必要があります。Raspberry Pi をリバース プロキシとして使用して SSL 機能を提供することもできますが、SSL 暗号化は計算負荷が高く、プロキシによって Web サーバーの SSL 負荷が軽減されるため、リバース プロキシが存在します。ただし、Pi の計算能力は、Web サーバーよりはるかに低い可能性があります。ただし、Pi プロジェクトを探している場合は、楽しいかもしれません。

よくある誤解は、VPN は「使用しないより安全」だということです。VPN は単純に暗号化 + トンネリングです。トンネリングにより、両方のネットワークが同じネットワーク上にあると認識します。2 つのネットワークを「結合」しようとしているのでなければ、VPN は必要ありません。SSL + ファイアウォールで十分です。

ここに画像の説明を入力してください

答え2

最も簡単な解決策は、Pi をルーター/ファイアウォール デバイスとして構成することです。つまり、Web サーバーへの要求をファイアウォールで保護し、Pi で終了する VPN インターフェイスを経由する場合にのみ PI を通過するようにしますが、LAN 上の他のデバイスから Pi を分離しないようにします。つまり、図に示すように、すべてのインターネット接続が Pi を経由するように強制される場合にのみ機能します。LAN 上の別のデバイスが侵害された場合、そのデバイスを介して Web サーバーにアクセスできます。

(シンプルで適度に安全なソリューションを求めている場合は、以下のすべてを無視してください)

代わりに使用できる、より複雑で高価なシナリオがあります。通常のスイッチを使用する代わりに、マネージド スイッチを使用して、Pi にのみ表示される独自の VLAN に Web サーバーを構成することができます (つまり、Pi は複数の VLAN で通信します)。また、Web サーバーを独自の IP アドレスに配置すると、LAN 内の他のデバイスが Pi を介してのみ Web サーバーと通信できるようになります。

上記のスイッチのアイデアをさらに拡張するには、Web サーバーが配置されている VLAN をファイアウォールで保護し、PI の VLAN インターフェイスから発信されたパケットのみがポート 80 で通信できるようにします。次に、リバース プロキシ (Apache などを使用) を Pi に追加して、ポート 443 で応答し、ポート 80 で Web サーバーから要求を取得できるようにします。クライアント側と通常の証明書を使用することで、ルーターにアクセスできるユーザーとクライアント証明書を持つユーザーのみが接続できるようにすることができます。

関連情報