Sollte ich für maximale Sicherheit den verteilten Modus oder ein Reverse-Proxy-Setup verwenden?

Sollte ich für maximale Sicherheit den verteilten Modus oder ein Reverse-Proxy-Setup verwenden?

Ich arbeite schon lange mit ColdFusion. Mir ist schon lange klar, dass man den Webserver physisch vom ColdFusion-Server trennen sollte, um maximale Sicherheit zu gewährleisten. Deshalb habe ich das immer in dem von Adobe als „verteilten Modus“ bezeichneten Modus gemacht. IIS befindet sich auf einem Server und ColdFusion auf einem anderen Server. Sie kommunizieren wie üblich über den Web Connector, allerdings über das Netzwerk.

Seit einigen Jahren stoße ich auf Beiträge, in denen erwähnt wird, dass die Verwendung eines Reverse-Proxys genauso sicher ist wie die Ausführung im verteilten Modus. Beim Reverse-Proxy-Setup befinden sich der Webserver und der ColdFusion-Server auf derselben physischen Maschine, aber es gibt einen Proxy-Server, der die Anfragen verarbeitet und (im Wesentlichen) als Webserver fungiert. Ich halte die physische Trennung meiner Meinung nach dennoch für sicherer.

Es ist schwierig, im Internet eine definitive Empfehlung zu finden. Der verteilte Modus wird sogar in derColdFusion 11-Dokumentation-Weitere Informationen zum Web Server Configuration Tool, einschließlich Informationen zu Multihoming und verteilter Nutzung, finden Sie im Handbuch Konfigurieren und Verwalten von ColdFusion.. (Obwohl es auf der angegebenen Seite nicht wirklich viele Informationen dazu gibt.) Beide Setups scheinen in verschiedenen Blogs und Posts erwähnt zu werden, aber ich finde es häufiger, dass die Leute das Reverse-Proxy-Setup statt des verteilten Modus-Setups verwenden. Nichts Konkretes, nur meine Wahrnehmung, nachdem ich das Internet durchforstet habe. Der Betrieb im verteilten Modus, mit dem Webserver und dem ColdFusion-Server auf separaten Servern, fügt bei der Einrichtung definitiv eine zusätzliche Komplexitätsebene hinzu. Statische Dateien befinden sich auf dem Webserver und die CFML-Dateien auf dem ColdFusion-Server. Usw. Wenn Sie Produkte von Drittanbietern verwenden, kann dies schwierig sein, dies richtig zu konfigurieren.

Meine Frage ist also, vorausgesetzt, alles andere ist gleich, verwenden Sie für maximale Sicherheit den verteilten Modus oder ein Reverse-Proxy-Setup? Und einige Gründe, warum Sie das tun.

Leider sind die ColdFusion-Lockdown-Anleitungen verwirrend. Hier ist, was ich herausgefunden habe.

ImColdFusion 9-Lockdown-Anleitung(Seite 14-15) heißt es:

Sie können ColdFusion auch im verteilten Modus installieren. Dadurch kann der Webserver auf einem physisch vom ColdFusion-Server getrennten Server liegen. Sie können auch mehrere Webserver mit einem einzigen ColdFusion-Server verbinden (dies wird in der ColdFusion 9-Dokumentation als Multihoming bezeichnet). Diese Trennung kann zusätzliche Sicherheit bieten und sollte in Umgebungen in Betracht gezogen werden, die maximale Sicherheit erfordern. Um den verteilten Modus zu installieren, wählen Sie die Option „Integrierter Webserver“. Informationen zum Konfigurieren des verteilten Modus finden Sie unterhttp://www.adobe.com/support/coldfusion/administration/cfmx_in_distributed_mode/cfmx_in_distributed_mode02.html. Einzelheiten zum Multihoming finden Sie unterhttp://help.adobe.com/en_US/ColdFusion/9.0/Admin/WSc3ff6d0ea77859461172e0811cbf364104-7fc3.html.

Eine weitere Möglichkeit, den öffentlichen Webserver und den ColdFusion-Server zu trennen, ist die Verwendung eines Reverse-Proxys. In einer Reverse-Proxy-Konfiguration ist auf dem ColdFusion-Server zwar immer noch ein Webserver installiert, aber alle externen Client-Anfragen werden vom Proxy-Server bearbeitet und bestimmte Anfragen werden zur Verarbeitung an den ColdFusion-Server gesendet.

ImColdFusion 10-Sperrhandbuch(Seite 27) wurde diese Aussage wie folgt gekürzt:

Für maximale Sicherheit sollten Sie den Webserver und ColdFusion auf separaten physischen Servern ausführen. Eine Möglichkeit, den öffentlichen Webserver und den ColdFusion-Server zu trennen, ist die Verwendung eines Reverse-Proxys.

Bei einer Reverse-Proxy-Konfiguration ist auf dem ColdFusion-Server immer noch ein Webserver installiert, allerdings werden alle externen Client-Anfragen vom Proxy-Server bearbeitet und nur bestimmte Anfragen werden zur Verarbeitung an den ColdFusion-Server gesendet. Informationen zum Einrichten eines Reverse-Proxys finden Sie in der Dokumentation Ihres Webservers.

Und in derColdFusion 11-Sperrhandbuches wird nichts davon erwähnt. Es scheint, als müsste es auf oder um Seite 11 stehen, wo sich die Anweisungen in den anderen Dokumenten befanden, zusammen mit der Ausführung des Webserver-Konfigurationstools. Ich bin sehr neugierig, warum Pete dies aus dem neuesten Dokument entfernt hat.

Obwohl ich Adobe ColdFusion verwende, habe ich diese Frage für weitere Eingaben auch mit Railo markiert.

Antwort1

Sie verwechseln den „verteilten Modus“ (Webserver und CF-Server auf getrennten Rechnern) mit der Verwendung eines Reverse-Proxys, da sich dieser Modus gegenseitig ausschließt. In Wirklichkeit handelt es sich dabei um zwei verschiedene Dinge. Ein Reverse-Proxy ist einfach eine Alternative zur Verwendung des Standard-Web-Connectors. Er veranlasst Ihren Webserver (IIS, Apache, Nginx) einfach dazu, Anfragen für CFML-Seiten an einen HTTP/HTTPS- oder AJP-Port auf einem bestimmten Host/Port auf Ihrem CF-Rechner umzuleiten. Sie können einen Reverse-Proxy so konfigurieren, dass er an den lokalen Host ODER an jeden anderen Server in Ihrem Netzwerk weiterleitet, solange die entsprechenden Ports geöffnet sind.

Bsp.: Sie können den AJP-Listener in Tomcat auf Port 8009 aktivieren. Dann senden Sie auf Ihrem Apache-Webserver (der sich an einem beliebigen Ort in Ihrem Netzwerk befinden kann) Reverse-Proxy-Anfragen für .cfm-Dateien an diesen Port, indem Sie das Modul proxy_ajp verwenden.

Ich persönlich habe mich nie mit dem verteilten Modus beschäftigt, da es anscheinend viel weniger Angriffsmethoden auf meine Webserver gibt. Wenn Sie sich jedoch für den „verteilten Modus“ entscheiden, können Sie dies mit dem Standard-Connector ODER einem Reverse-Proxy tun. Es liegt bei Ihnen.

Antwort2

Der DISTRIBUTED-Modus oder die REVERSE-PROXY-Konfiguration würden größtenteils ein ähnliches Maß an Sicherheit bieten, der DISTRIBUTED-Modus würde jedoch zusätzliche Server-Szenarien mit HOHER VERFÜGBARKEIT und ZUVERLÄSSIGKEIT bieten.

verwandte Informationen