私はColdFusionを長い間使用しています。私の頭の中にあるのは、セキュリティを最大限に高めるために、WebサーバーをColdFusionサーバーから物理的に分離する必要があるということです。そのため、私は常にアドビが「分散モード」と呼んでいるものを使用してこれを行ってきました。 IISは1つのサーバー上にあり、ColdFusionは別のサーバー上にあります。これらは、ネットワーク経由ではありますが、通常どおりWebコネクタを介して通信します。
数年前から、リバースプロキシの使用は分散モードでの実行と同じくらい安全であるという投稿に出くわしました。リバースプロキシ設定では、WebサーバーとColdFusionサーバーは同じ物理マシン上にありますが、要求を処理し、Webサーバーとして機能するプロキシサーバーがあります(基本的に)。それでも私の心の中で、私は物理的な分離がより安全であると考えています。
インターネット上で決定的な推奨事項を見つけるのは難しいです。分散モードについては、 ColdFusion 11のドキュメント -でも言及されています。マルチホーミングや分散使用に関する情報など、Webサーバー構成ツールの詳細については、ColdFusionの構成と管理を参照してください。ガイド。 (参照ページにはあまり情報がありませんが。)どちらの設定もさまざまなブログや投稿で言及されているようですが、分散モード設定ではなくリバースプロキシ設定を使用している方が一般的です。具体的なことは何もありません。ウェブを精査したときの私の認識だけです。 WebサーバーとColdFusionサーバーを別々のサーバーに配置して分散モードで実行すると、セットアップ時に複雑さが増します。静的ファイルはWebサーバーにあり、CFMLファイルはColdFusionサーバーにあります。サードパーティ製品を使用している場合、これを正しく構成するのは難しい場合があります。
それで、私の質問は、他のすべてが等しいと仮定して、最大のセキュリティのために分散モードまたはリバースプロキシ設定を使用しますか?そして、あなたがそうするいくつかの理由。
残念ながら、ColdFusionのロックダウンガイドは問題を混乱させています。これが私が見つけたものです。
ColdFusion 9ロックダウンガイド (14〜15ページ)には、次のように記載されています。
分散モードでColdFusionをインストールすることも検討してください。これにより、WebサーバーをColdFusionサーバーとは物理的に別のサーバーに配置できます。複数のWebサーバーを単一のColdFusionサーバーに接続することもできます(これは、ColdFusion 9のドキュメントではマルチホーミングと呼ばれています)。この分離により、セキュリティが強化される可能性があるため、最大限のセキュリティが必要な環境では検討する必要があります。分散モードをインストールするには、組み込みのWebサーバーオプションを選択します。分散モードの構成については、 http://www.Adobe.com/support/coldfusion/administration/cfmx_in_distributed_mode/cfmx_in_distributed_mode02.html を参照してください。マルチホーミングの詳細については、 http://help.Adobe.com/en_US/ColdFusion/9.0/Admin/WSc3ff6d0ea77859461172e0811cbf364104-7fc3.html を参照してください。
公開WebサーバーとColdFusionサーバーを分離するもう1つの方法は、リバースプロキシを使用することです。リバースプロキシ設定では、ColdFusionサーバーには引き続きWebサーバーがインストールされていますが、すべての外部クライアント要求はプロキシサーバーによって処理され、特定の要求は処理のためにColdFusionサーバーに送信されます。
ColdFusion 10ロックダウンガイド (27ページ)では、そのステートメントは次のように切り詰められています。
最大限のセキュリティを確保するには、WebサーバーとColdFusionを別々の物理サーバーで実行することを検討してください。公開されているWebサーバーとColdFusionサーバーを分離する1つの方法は、リバースプロキシを使用することです。
リバースプロキシ設定では、ColdFusionサーバーには引き続きWebサーバーがインストールされますが、すべての外部クライアント要求はプロキシサーバーによって処理され、特定の要求のみが処理のためにColdFusionサーバーに送信されます。リバースプロキシを設定するには、Webサーバーのドキュメントを参照してください。
そして ColdFusion 11ロックダウンガイド にも言及はありません。 Webサーバー構成ツールの実行とともに他のドキュメントでステートメントが配置された11ページまたはその周辺にあるはずです。ピートがこれを最新の文書から取り出した理由について、私は非常に興味があります。
私がAdobeColdFusionを使用している間、私はこの質問にRailoのタグを付けて、より多くの入力を求めています。
「分散モード」(WebサーバーとCFサーバーが別々のボックスにある)を、リバースプロキシの使用と相互に排他的であると混同しています。実際には、これらは2つの別個の懸念事項です。リバースプロキシは、標準のWebコネクタを使用する代わりの方法です。これにより、Webサーバー(IIS、Apache、Nginx)は、CFMLページの要求をCFボックスの特定のホスト/ポートのHTTP/HTTPSまたはAJPポートにリダイレクトするだけです。適切なポートが開いている限り、リバースプロキシを設定してlocalhost OR)ネットワーク上の他のサーバーにプロキシすることができます。
例Tomcatのポート8009でAJPリスナーを有効にすることができます。次に、Apache Webサーバー(ネットワーク上のどこにでも配置できます)で、proxy_ajpモジュールを使用して.cfmファイルのプロキシ要求をそのポートにリバースします。
私のWebサーバーを狙った攻撃ベクトルの数ははるかに少ないように思われるため、分散モードを個人的に扱ったことはありません。ただし、「分散モード」を使用することを選択した場合は、ストックコネクタORリバースプロキシを使用して使用できます。それはあなた次第です。
DISTRIBUTEDモードまたはREVERSEPROXYセットアップは、ほぼ同様のレベルのセキュリティを提供しますが、DISTRIBUTEDモードには、追加の高可用性および信頼性サーバーシナリオがあります。