Wie verhindere ich, dass andere Personen ihre eigenen Domänen per Proxy-Pass an meine Domäne weitergeben?

Wie verhindere ich, dass andere Personen ihre eigenen Domänen per Proxy-Pass an meine Domäne weitergeben?

Mit Nginx können SieProxy-Passwortzu meiner Domäne und im Browser sind die Inhalte meine, aber in der Adressleiste sind es ihre Domänen.

Wie erkennt man, wenn die Anfragen über Proxy_Pass erfolgen, und wie kann man sie ablehnen?

Wenn ich beispielsweise absichtlich einen Proxy-Pass an google.com eingebe, erhalte ich die Fehlermeldung 404.

server {
  listen 80;
  server_name test.com;

  location / {
    proxy_pass https://google.com;
  }
}

Dies lässt sich anscheinend nicht verhindern. Diese Leute lassen den Proxy beispielsweise wie einen normalen Browser reagieren. Wie kann man das jedoch verhindern, wenn sie einfach einen einfachen Nginx-Proxy-Pass verwenden?

Antwort1

Theoretisch ist das möglich, allerdings ist ein großer Aufwand erforderlich.

Angenommen, Sie betreiben eine HTTP/2-fähige Website.

Die Erkennung proxy_passIhrer Website kann darauf aufbauen, dass diese Verbindungen immer über HTTP/1.xund nie über erfolgen HTTP/2.

Dann können Sie dies mit den Browserfunktionen abgleichen.

Wenn Sie also einen HTTP/2-fähigen Browser sehen, der über ein älteres HTTP/1.x-Protokoll eine Verbindung zu Ihrer Website herstellt, können Sie davon ausgehen, dass dies über NGINX proxy_passoder ein anderes Protokoll erfolgt.andereProxy (außer NGINX).

Dies könnte zwar funktionieren, Sie würden damit jedoch alle Clients abschneiden, die nur über einen Proxy irgendeiner Art surfen ...

Das ist der passive Ansatz.

Der aktive Ansatz besteht einfach darin, nach einer Anzahl von Verbindungen von derselben IP-Adresse zu suchen. Sie würden die Protokolle (z. B. Fail2ban oder andere Protokollscanner) auf viele Verbindungen von derselben IP-Adresse mit unterschiedlichen Benutzeragenten (oder gar keinen) prüfen.

Bei einer IP-Adresse mit vielen unterschiedlichen Benutzeragenten/Zugriffen handelt es sich wahrscheinlich um eine Art Proxy.

Schließlich können Sie RDNS-Checks/Whois-Abfragen durchführen, um zu sehen, ob eine Anfrage von einem bekannten Hosting-Anbieter stammt.

verwandte Informationen