Im Umfeld von Geofency kommt immer wieder das Thema ReverseProxy auf Basis von nginx auf.
Ich habe etwas gegoogelt, mir ist aber nicht klar warum das mehr Sicherheit bringt.
Ich würde mich freuen, wenn da jeman erklären könnte.
Und natürlich wüsste ich gerne wie die Conference von nginx unter Windows dann grob aussehen muss.
Wäre es möglich die hier mal zu posten, so dass von extern nur eine Adresse zugänglich ist, und nicht das ganze Webfront offen steht.
Wenn du nur bestimmte Seiten verfügbar machen möchtest, kannst du eine eigen Webserverinstanz erstellen ohne das Webfront. Das wiederrum zeigt auf einem Verzeichnis wo nur bestimmte Dateien sind. Besser wäre jedoch VPN.
Mit Reverseproxy veröffentlich man z.B. mehrere URLs unter einer Adresse:
Dann am besten noch die URL mit eine SSL Zertifikat sichern - die Anwendungen nach hinten sprechen dann nackt HTTP - die Sicherung mit SSL macht dann der Server vorne (LAN sollte ja in der „Regel“ sicherer sein).
Ich gehe noch ein Schritt weiter und lasse auf den beiden offenen Ports 443 und 80 nur Anfragen durch, deren Ziel-FQDN erlaubt ist.
So werden alle Anfragen aus dem Internet an Port 443 grundsätzlich mit Fehler 444 beantwortet, nur wenn die Anfrage an spezielle my.domain.tld geht, dann wird’s an IPS geleitet. Ist ehrlich gesagt ein wenig Security by Obscurity, aber Username/Password braucht man dann ja auch noch. Nur Geofency lasse ich direkt auf Port 80 durch, weil die App es damals noch nicht unterstützt hat.
vielen Dank für die Erklärung.
Das bedeute, wenn ich mein Webfront intern über Port 80 ohne Kennwort erreiche, sollte ich den ReverseProxy auf z.B. Port 82 mit Kennwort leiten, also dafür eine Webserverinstanz einrichten.
Wenn ich dann nginx entsprechend der beigefügten Konfig laufen lassen (angepasst an mein dyndns und Port) habe ich keine Probleme zu erwarten.
Ich werd das mal versuchen. Am liebsten wäre es mir, wenn ich sogar nur das Webfront/user/Geofence Verzeichnis erreichen kann, dann käme man gar nicht auf das ganze Webfront, sollte man das Kennwort erraten oder mitschneiden.
Du kannst auch nginx als SSL-Endpunkt laufen lassen und dann alles intern und unverschlüsselt auf Port 80 leiten. In meiner Konfig hab ich das anders, aber auch nur, weil ich zu faul bin das entsprechend einzustellen :rolleyes:
ich danke für die Erklärung, und die Beispielkonfiguration.
Jetzt läuft auf dem IPS Server ein nginx, der nur den Link zum Geofency Skript durchlässt und alles andere blockt.
Wenn ich zu Haus remote drauf möchte mach ich eh ein VPN auf. Nur mit Geofency geht das nicht automatisch. Das ist somit das einzige „Loch“ in mein Netz neben VPN.
war ein Tippfehler meinerseits. Hatte nicht beachtet, dass die locations CaseSensitive sind. Jetzt funktionierts.
Jetzt taucht ein neues Problem auf: einige Scriptinterne includes funktionieren nicht (Thema HighCharts).
Ist bstimmt nur ein Problem für dummies.
Zustandsbeschreibung:
Wenn ich die URL im Webbrowser direkt aufrufe bekomm ich eine Site mit dem gewünschten Ergebnis. Sowohl von intern, als auch über die Weiterleitung des ReverseProxys.
Die selbe Datei hab ich auch über das IPS-Webfront als externe Seite eingebunden und funktioniert sowohl von intern als auch von extern über den RevereseProxy.
Problem:
! Was nicht funktioniert ist der Aufruf der Datei, sowohl intern als auch über den Reverseproxy, wenn ich die Seite über einen Link in einem jq-Menü, aufrufe.
Da kommt immer Warning: include_once(): open_basedir restriction in effect. file …
Das Include verweist auf ein Verzeichnis 2 Ebenen höher, das direkt unter dem Gesamtverzeichnis liegt.
Wenn ich die Datei direkt unter das Gesamtverzeichnis lege, und den include() Pfad anpasse, dann funktionierts.
Nun die Frage: wie kann ich die .php Datei in ein Unterverzeichnis mit Unterverzeichnis legen, so dass die includes noch funktionieren?
Was ich schon gelesen hab ist sowas wie irgend wo open_basedir azupassen. Hab aber keine Ahnung wo. Auf dem Nas auf dem die Datei liegt? In welcher Datei? Oder auf dem Reverseproxy? In welcher Datei?
Wenn ich mittlerweile mit meinen Fragen im falschen Threat bin, dan bitte verschieben.
nach dem mein ReversProxy einige Zeit super funktioniert hat, bekomm ich seit kurzem bei 2 Weiterleitungen einen
504 Gateway Time-out
[HR][/HR]nginx
die WebCam und IPS bekommen diesen Fehler.
andere wie meine Synology (diverse Weiterleitungen), der Pi-Statusmonitor, funktionieren weiterhin.
Hab am ReverseProxy, an der Kamera und an IPS nix rumgespielt.
Wo kann ich suchen um das Problem einzugrenzen/zu lösen?
Vielen Dank für Eure Hilfe im vorraus,
Edit: Ich bin voll angepixxt. Kaum hatte ich den Post geschrieben, da seh ich nach einer Aktualisierung des Browsers, dass sich IPS wieder aufrufen lässt. Die Cam auch.
Hab nix verändert. Nur gesucht und BackupKonfigs mit der aktiven Konfig verglichen ???
Was mich am meisten ärgert ist, dass das jeder Zeit wieder passieren kann und ich dann wieder keine Lösung hab.
Hat evtl schon jemand das selbe Phänomen gehabt oder eine Lösung zu o.g. Problem?