
Der Titel sagt eigentlich schon alles. Gibt es ein bestimmtes Verhalten, das auf die Anwesenheit eines Load Balancers auf einer bestimmten Site hinweist?
Antwort1
EDIT: Dies wird sehr schwierig, wenn nicht sogar unmöglich (ich mag dieses Wort nicht), da der Sinn eines LoadBalancers darin besteht, die Interaktion des Clients mit ihm transparent und im Grunde unsichtbar zu machen. Davon abgesehen ist hier mein ursprünglicher Beitrag:
Ich verwalte einen Load Balancer für eine ziemlich große Site. Der einzige Hinweis für unsere Besucher, dass sie einen bestimmten Anwendungsserver besuchen, ist, dass wir den genauen Namen des Servers unten auf ihrer Anmeldeseite angeben. Dies hilft uns bei der Behebung ihrer Probleme.
Ansonsten fällt mir nur eine Sache ein, die Sie darauf „hinweisen“ würde, dass wir einen Load Balancer betreiben, wenn wir diese Richtlinie nicht befolgen würden. So könnten Sie es herausfinden, aber dazu brauchen Sie etwas Glück.
Nehmen wir an, der Load Balancer ist so eingestellt, dass er den gesamten Datenverkehr entweder an den einen oder den anderen Server weiterleitet. Oder er leitet zumindest den SSH-Datenverkehr zwischen einem Server und einem anderen weiter. Auch wenn Sie wahrscheinlich nicht über die Anmeldedaten verfügen, um sich bei einer der beiden Boxen anzumelden, erhalten Sie bei beiden einen anderen Schlüssel, wenn Sie versuchen, sich anzumelden. Wenn Sie also versuchen, sich das erste Mal über SSH anzumelden, werden Sie gefragt, ob Sie den Schlüssel akzeptieren möchten. Wenn Sie dann bei der zweiten oder dritten Anfrage Glück haben, wird Ihnen mitgeteilt, dass es einen anderen Schlüssel gibt (d. h. es handelt sich um eine andere Box). Auf einem *nix-System werden Sie häufig darauf hingewiesen, dass dies auf einen Man-in-the-Middle-Angriff zurückzuführen sein könnte.
Daher müssen zwei Dinge vorhanden sein:
- SSH auf Remote-Server
- LB von SSH
Wenn Sie also in relativ kurzer Zeit zwei Schlüssel erhalten, können Sie wahrscheinlich davon ausgehen, dass der Systemadministrator sie nicht geändert hat, sondern dass Sie lediglich mit zwei separaten Maschinen hinter einem Lastenausgleich kommuniziert haben.
Hinweis: Es gibt noch einen weiteren Punkt, aber das ist ein Schuss ins Blaue. Sie könnten versuchen, herauszufinden, mit welchem IP-Block dieser Server gruppiert wurde. Nehmen wir dann an, dass eine dieser bestimmten IP-Adressen auf dem LB platziert ist (tatsächlich ist es eine dieser IPs).
Der Load Balancer wird beispielsweise unter XXX.XXX.XXX.5 platziert. Der LB wird dann so eingerichtet, dass er den gesamten Datenverkehr für mindestens eine zusätzliche IP-Adresse erfasst. Normalerweise leitet er den Datenverkehr für XXX.XXX.XXX.5 nicht weiter (die kommerzielle Hardware, die ich habe, tut dies definitiv nicht). Sie können sich also darauf verlassen, dass es eine Administratoradresse gibt.
Wenn der LB so eingerichtet ist, dass Administratorrechte von allen externen Hosts aus zulässig sind, können Sie möglicherweise etwas wie /admin an die IP-Adressen anhängen, bis Sie den LB finden. Dies setzt voraus, dass der LB diesen Pfad für die Verwaltung verwendet.
Antwort2
Es gibt keine eindeutige Möglichkeit, aber eine Wundertüte voller Hinweise, nach denen Sie suchen können.
– Nmap es. Nmap kann einige Hinweise zum Betriebssystem des Geräts geben, mit dem Sie sprechen. Wenn BSD da steht und die URL auf .aspx endet, sind Sie auf etwas gestoßen.
– Cookies: Viele Load Balancer fügen Sitzungscookies hinzu (oder können sie hinzufügen). Suchen Sie nach merkwürdigen und googeln Sie sie. Wenn Sie in den F5-Supportforen landen, ist es geschafft.
– Verschiedene andere Header: Viele fügen Header hinzu, die darauf basieren, ob ein Element zwischengespeichert wurde oder nicht (und aus anderen Gründen). Suchen Sie nach interessanten Headern und googeln Sie sie.
– Auf der Seite oder versteckt in einem HTML-Kommentar haben die Entwickler häufig „bereitgestellt von Web7“ hinzugefügt, um die Fehlersuche zu erleichtern.
– Fordern Sie denselben Inhalt schnell von mehreren verschiedenen IPs an und vergleichen Sie die ETag-Header. Apache erstellt das ETag standardmäßig auf Grundlage des Dateisystem-Inodes und viele Administratoren kommen nie dazu, dies zu optimieren. Wenn Sie also für denselben Inhalt ein anderes ETag sehen, können Sie davon ausgehen, dass es von unterschiedlichen Servern stammt (funktioniert nur mit Apache, funktioniert nur, wenn es nicht optimiert ist, funktioniert nur, wenn es sich nicht um ein gemeinsam genutztes Dateisystem handelt).
Ehrlich gesagt erwarte ich von all dem nur in etwa einem von vier Fällen eine sinnvolle Antwort. Insgesamt kann man es nicht wirklich wissen, es sei denn, es stimmt, wie Catherine sagte, „etwas stimmt nicht“.
Antwort3
Die IP-ID ändert sich für jeden IP-Stack, also für jeden IP-Host „hinter“ dem Load Balancer. Ein Tool wie hping würde Ihnen genau das bieten: Achten Sie auf IDs, die NICHT zum selben Bereich gehören oder – selbst wenn sie durch einen seltsamen Zufall nahe genug beieinander liegen – nicht ansteigen:
hping3 www.yoursite.com -S -p 80 (or whatever)
Das Obige erfasst mehrere Hosts hinter LB „unter“ der Anwendungsschicht.
Antwort4
Wenn der Load BalancerCookie-basierte PersistenzDann könnte ein Blick auf die Cookies Ihnen einen Hinweis geben.