web-dev-qa-db-ja.com

負荷分散をどのように検出しますか?

シナリオ

PenTest XYZ.comが必要です。

トラフィック量の多いサイトであるため、ロードバランサーで複数のサーバーが使用されていると予想されます。

質問

「バランスの取れた」サーバーのMAC(明らかに異なる)をプルする以外に、どのようにバランスを検出できますか?

7
gal

正しく実装されていれば、負荷分散は完全に透過的です。可能性の高い製品を推測するために、他の手段(会社の求人広告を探すなど)に頼る必要がある場合があります。

ただし、少なくともバランサーの存在を意味することを確認できる点がいくつかあります。

  • HTTPヘッダーは、プロキシサーバーまたは他のバランサーの存在を明らかにする可能性があります。
    • タイムスタンプが異なることも確認してください。わずかに異なるクロックが含まれています。
    • ヘッダーの順序も確認してください。
  • 負荷がかかっているシステムを観察します
    • 大量のトラフィックを生成します。リクエストがどこか他の場所で始まっているかどうか、またはヘッダーが変更されているかどうかなどを確認します。
  • 一般的な偵察
    • DNS応答により、複数のIPアドレスが明らかになり、バランスが取れている可能性があります。
    • 彼らはそれをホスト名(cdn.xyz.com)で渡す可能性があります
    • あなたは正しい方向にあなたを導くnetcraft.comからいくつかのより多くの情報を得ることができるかもしれません

halberdのマニュアル には、使用する概念の適切なリストが含まれています(日付の比較、MIMEヘッダーフィールドの名前、値、およびその順序、大量のトラフィックの生成、異なるURLの使用、サーバー側キャッシュの検出、パブリックIPアドレスの取得)。

Halberdまたはldbを使用することは、実際の状況ではおそらく最良のオプションです。これらのテストの多くは時間がかかり、手間がかかるため、多忙な作業をすべて自動化したいと思うでしょう。

14
Bob Watson

サイトが負荷分散を使用しているかどうかを判断する方法はいくつかあります。

  • セッションやその他のセキュリティ機能を処理するアプリケーションを支援するためにロードバランサーによって一般的に使用される非標準のWebサーバーCookieとヘッダーの追加を検索できます。

  • Nslookupsまたはtracerouteを実行して、負荷分散に使用されるパブリックIPアドレスを取得する可能性もあります。
    1つ使用されます。

  • 他のすべてが失敗した場合、あなたはのアーキテクチャを見つけることができるかもしれません
    サイトで行われたインタビューからの技術的な投稿
    大規模なWebサイトのスタッフ、またはサイトのWebホストに問い合わせます。

4
ITOps

その他の負荷分散検出方法:

  • 多くのロードバランサーcookiesを使用します。 Cookieは、使用するサーバーを決定するのに役立ちます。ロードバランサーは、リクエストが送信されたサーバーを記録するブラウザーにCookieを設定します。新しいリクエストが届くと、バランサーはCookieを読み取り、同じサーバーにリクエストを送信します。ネットワークインフラストラクチャを参照するCookieの例はCisco CSSおよびBig-IPです。

  • 多くの場合SSL構成はサーバー間で異なり、これは複数のサーバーを示します。 SSL暗号またはバージョンサポートレベルは異なる場合があります。 SSL証明書は、負荷分散された名前の代わりに個々のサーバーに発行される場合があります。大規模なWebサイトはロードバランサーのフロントエンドとしてSSLアクセラレーターを使用するため、この方法は常に機能するとは限りません。

  • 一部のWebアプリケーションは、複数のサーバーを示すHTMLコメントまたはタグを挿入します。これは、問題のあるサーバーのトラブルシューティングを支援するために使用されます。タグは、server1、Host502web、または内部関係者だけが知っているような暗号化されたメッセージのように、明白にすることができます。

3
Cristian Dobre