Ist es sicher, HTTP / HTTPS über die Ports 8080/8443 bereitzustellen?


9

Aufgrund einer Infrastrukturbeschränkung besteht eine der vorgeschlagenen Lösungen für die Bereitstellung eines HTTP-Dienstes für die Welt darin, ihn über die Ports 8080 und 8443 anzubieten.

Ich befürchte, dass einige Benutzer möglicherweise nicht auf diese Dienste zugreifen können, weil sie nicht auf Standardports ausgeführt werden und der Inhalt möglicherweise (beispielsweise) als Teil der Unternehmensnetzwerkrichtlinie gefiltert wird.

Also ... wie wahrscheinlich ist es, dass ein Benutzer aus dem Internet insgesamt nicht auf diese Dienste zugreifen kann?


Können Sie die Adresse nicht auf Port 80 und 443 übertragen?
Froggiz

1
Wir verwenden Web- und Worker-Rollen in Azure Cloud-Diensten. Soweit ich das beurteilen kann, ist es nicht möglich, einen zweiten VIP auf einen anderen Computer zu richten, es sei denn, wir wechseln zu Azure-VMs. Weitere Optionen sind das Ersetzen des gesamten Front-End-Webservers durch einen Proxy. Die Verwendung unterschiedlicher Ports würde dieses Problem jedoch offensichtlich mit geringeren Kosten lösen.
Spender


2
Ich möchte auf ein Problem eingehen, das hier zu fehlen scheint. Die Tatsache, dass Sie keine Ports verwenden können 80oder 443möglicherweise darauf hinweisen, dass Sie auf einem gemeinsam genutzten Server ausgeführt werden. In diesem Fall besteht die Möglichkeit, dass sich ein anderer Benutzer an diese Ports bindet, falls Ihre jemals nicht mehr funktionieren . Dieser Benutzer könnte sich dann als Ihre Website ausgeben (obwohl SSL dazu beitragen könnte, dies zu mildern).
Nathan Osman

@ NathanOsman, ich glaube, er macht sich Sorgen um den Benutzerzugriff und die Benutzerfirewalls.
Pacerier

Antworten:


7

Unternehmensnetzwerke verwenden normalerweise die folgenden Regeln:

deny all; allow 80; allow 443; allow 21; allow 22; etc...

Es ist viel einfacher, auf diese Weise zu konfigurieren, als 99% der 65.535 verfügbaren Ports explizit zu verweigern.

Vor diesem Hintergrund habe ich ein Client-Portal übernommen, das aufgrund von Netzwerkbeschränkungen einen nicht standardmäßigen Port verwendet hat. Ich kenne die NAT-Details nicht. Dies machte es jedenfalls für etwa 50% unserer Benutzer / Besucher unmöglich, auf die Website zuzugreifen, und wann immer sie uns anriefen, um dieses Problem zu melden, mussten wir uns mit ihrer nicht vorhandenen IT abstimmen, um zu versuchen, eine Zulassungsregel zu implementieren.


Ich kenne die Details Ihrer Infrastrukturbeschränkungen nicht, aber ich würde mir vorstellen, dass auf 80/443 etwas anderes läuft

Wenn dies der Fall ist, besteht Ihre einzige Möglichkeit möglicherweise darin, einen internen Proxy zu verwenden oder den Switch auf etwas mit erweiterten NAT-Funktionen zu aktualisieren, mit dem die Anforderungen entsprechend weitergeleitet werden können.


TL; DR

Verwenden Sie keinen nicht standardmäßigen Port für öffentlich zugängliche Dienste, die bereits über einen Standardport verfügen.


1
"Es ist viel einfacher, auf diese Weise zu konfigurieren, als 99% der 65.535 verfügbaren Ports explizit zu verweigern." - Selbst wenn sie 99% der Ports explizit verweigern würden, hätte dies den gleichen Effekt.
user253751

Am Ende haben wir den Hauptwebserver verwendet, um Anfragen an die an anderen Ports angebotenen Dienste zu senden. Da die anderen Dienste für zusätzliche Verarbeitungsleistung skaliert werden müssen, anstatt auf Netzwerkgrenzen zu stoßen, und die Größe der Anforderungen und Antworten relativ gering ist, funktioniert diese Anordnung sehr gut, da die Hauptwebsite mit Lastenausgleich die Proxy-Kosten leicht absorbiert.
Spender

@spender Ich bin froh zu hören, dass ihr es geschafft habt, ohne clientseitige nicht standardmäßige Ports zu verwenden :)
MonkeyZeus

6

Es ist sehr wahrscheinlich, dass diese blockiert werden, insbesondere in Unternehmensnetzwerken oder im öffentlichen WLAN. Weniger wahrscheinlich bei einer normalen Internetverbindung zu Hause.

Es würde sicherlich in meinem Arbeitsnetzwerk blockiert sein.

Darüber hinaus müssen die Benutzer daran denken, die Portnummer einzugeben, um zu Ihrer Site zu gelangen. Dies ist ein zusätzliches Problem, mit dem Sie sich nicht befassen möchten. Für interne oder private Sites ist dies kein großes Problem, aber wenn dies für die breite Öffentlichkeit ist, werden Sie mit den Standardports viel mehr Erfolg haben.


Die fraglichen Dienste werden niemals in den Browser eingegeben, sondern auf Ressourcen verwiesen, die über die normalen Ports bereitgestellt werden. Es scheint jedoch, dass meine Bedenken hinsichtlich der Zuverlässigkeit meines Ansatzes berechtigt sind.
Spender

Können Sie erklären, warum es blockiert würde? Ich habe Port 800 für lange Zeit ohne Probleme verwendet, auch mit Google SEO-Tools und Referenzierung.
Froggiz

1
Eine meiner Aufgaben ist das Betreiben einer Website, die Shoutcast-Streams indiziert, und es ist eine häufige Beschwerde, dass einige Benutzer hinter Unternehmensnetzwerken keine Streams abhören können, die über nicht standardmäßige Ports ausgeführt werden. 8080 und 8443 scheinen jedoch etwas Besonderes zu sein, aber wahrscheinlich nicht speziell genug. Ich würde sagen, dass das Ausführen eines Dienstes auf 800 besonders riskant ist, da er unter "bekannte" Ports fällt, die mit deutlich höherer Wahrscheinlichkeit blockiert werden.
Spender

Eine einfache Lösung besteht darin, Ihren Server auf Port 8080/8443 und an der Firewall auf den NAT / Forward-Ports 80/443 bis 8080/8443 laufen zu lassen.
SnakeDoc

1
@ SnakeDoc Einverstanden, ich habe die Proxy-Option in meiner Antwort behandelt :-)
MonkeyZeus

2

Es ist nicht schwer, Ihren Browser dazu zu bringen, http://example.com:8080/index.html zu sagen , aber wenn Sie über Unternehmensrichtlinien sprechen, die nicht standardmäßige Ports blockieren, scheint dies äußerst schwierig zu sein.

Wenn Sie eine Art Lastausgleich eingerichtet haben, können Sie Ihre Anwendungen dennoch so einrichten, dass sie auf einem Standardport ausgeführt werden, und den Lastausgleichsport intern an den ungeraden Port weiterleiten. Selbst wenn Sie keinen Lastausgleich haben, können Sie sicher einen Weg finden, um auf einen internen Port weiterzuleiten, der nicht dem Standard entspricht.

Intern können Benutzer über einen ungeraden Port zugreifen (wenn dies nicht Teil Ihrer zu blockierenden Unternehmensrichtlinie ist). Extern sehen sie http://example.com .

Es gibt viele Möglichkeiten, dies zu tun. Je nach Art der Straßensperren müssen Sie ein wenig kreativ werden. Es ist immer eine Herausforderung!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.