4

いくつかの異なるサイトをホストする 1 つの Web サーバーがあります。外部の顧客が使用するものもあれば、社内でのみ使用するものもあります。内部サイト用に、すべての IP アドレスを拒否するが 10.25.xx で始まるすべての IP アドレスを許可する .htaccess ファイルがあります。

IndexIgnore *
deny from all
allow from 10.25.

これは、ローカル ネットワークの PC のみがサーバーにアクセスできることを意味します。顧客のコンピューターに 10.25.xx のローカル IP アドレスがある場合でも、私の Web サーバーは顧客のパブリック IP しか認識しないはずですよね?

このディレクトリにファイルをアップロードするフォームがないため、.htaccess ファイルを上書きできないはずです。

私の質問は次のとおりです。攻撃者がこれらのセキュリティ メソッドをバイパスできる方法はありますか? もしそうなら、それが起こらないようにするためにどのような予防策を講じることができますか?

4

3 に答える 3

5

Sébastien Renauld の回答は、IP ブラック/ホワイト リストが Web サイトを保護するのに完全ではないことを示していると思います。アプリケーションは、パブリックにアクセス可能な展開に対して十分に安全である必要があります。とにかく、IP 制限は、アプリケーションへの攻撃ベクトルを制限するのに役立ちます。

IP スプーフィングは技術的には可能ですが、実行するのは非常に難しいことに注意してください。

ネットワークの外側から、ハッカーは少なくとも次の障害を回避する必要があります。

  • 障害のある IP パケット (別名、送信者の IP とは異なる IP アドレスを持つ) を削除する ISP ロジック。
  • これらのパケットをドロップする側のファイアウォール/ゲートウェイ/ルーター。通常、内部ネットワークと外部ネットワークは分離されており、パケットはこのネットワーク間で簡単にルーティングされません。
  • HTTP は、接続設定の一部として3 ウェイ ハンドシェイクを含む TCP プロトコルを使用します。これは、送信者も接続を確認する必要があることを意味します。要するに、この接続設定では、任意の番号を使用してサーバーとクライアントの通信を同期させます。ハッカーはこの番号を推測し、適切なタイミングで送信する必要があります。

ローカルの正当なクライアントが攻撃を妨害しないようにするなど、攻撃者が回避する必要のある障害は、ここで要約したものよりもはるかに多くあります。(なりすましされたサーバーの IP アドレスへの応答がどこに送られるか、および偽装されたクライアントが何をするかを考えてください。)

IP アドレスをスプーフィングする最も簡単な方法は、ネットワーク自体から行うことです。まあ、それがすでに可能である場合は、おそらく最初に他に調べるべきことがいくつかあります:)

最近、ハッカーがこの攻撃を実行することは事実上不可能であることがお分かりいただけると思います。セキュリティとは、攻撃者が必要とする労力と満足感とのバランスです。

したがって、Sébastien Renauld が提案するローカル ネットワークでのバインドに加えて、IP ホワイト リストは十分に優れたセキュリティ プラクティスであると言えます。攻撃者が内部ネットワークにアクセスできることを想定する必要があるため、Web サイトとサーバー自体のセキュリティも調査する必要があります。

于 2013-05-31T12:51:37.767 に答える
4

あなたの質問の要点は次のとおりです。絶対に IP の価値に頼らないください。

この点を示して説明するために、このドキュメントでは、IP アドレスが実際にデータ パケットにどのように付加されるかを説明します。事実上、これは送信元のバイトのリストと送信先のバイトのリストにすぎません。誰でも効果的にそれらを変更できます (これは、とりわけ、NAT が行うことであり、それ以外の場合は NAT トラバーサルは機能しません)。これが意味することは、それらを変更できる場合、なりすましが可能になるということです。

これを部分的に回避する方法はありますが、すべての方法はヒューリスティックに依存しています。たとえば、最も単純なルールは、パケットが WAN インターフェースから送信されたにもかかわらず、 からのものであると主張している場合192.168.0.1、何かが稼働していることがわかります。市場に出回っている一部のセキュリティ デバイスはまさにこれを行います。疑わしいと思われるものを除外します。

あなたの場合、これらすべてを防ぐ方法があります。Apache を使用していると仮定します。その場合は、VirtualHostすべてのインターフェイスにバインドするのではなく (Apache のデフォルト: *:80)、その特定のローカル インターフェイス (10.0.0.0:80または同等のもの) にバインドします。これにより、Apache はそのインターフェイスでのみ ping をリッスンするようになります。これは、unix/linux を実行している場合、他のインターフェイスから分離され、明確であることが保証されます。これにより、効果的にLANのみのWebサイトを持つことができます.

于 2013-05-29T21:47:21.007 に答える
1

はい、あります。IP スプーフィングが可能です。誰でも送信するパケットのメタデータを変更できることに注意してください。

私が恐れている認証に対する完全に異なるアプローチを除いて、そこで役立つ予防方法はほとんどまたはまったくありません. .htaccess ブラックリスト (または、この場合はホワイトリスト) だけでは効果的なセキュリティを実現できません。ただし、イングレス フィルタリングは必須です。

于 2013-05-29T21:40:59.537 に答える