Для максимальной безопасности я должен использовать распределенный режим или настройку обратного прокси?
Я давно работаю с ColdFusion. Что-то, что было посеяно в моем мозгу, это то, что для максимальной безопасности вы должны физически отделить веб-сервер от сервера ColdFusion. Поэтому я всегда делал это, используя то, что Adobe называет "распределенным режимом". IIS находится на одном сервере, а ColdFusion на другом сервере. Они общаются через веб-разъем как обычно, хотя и по сети.
В течение нескольких лет я сталкивался с сообщениями, в которых упоминается, что использование обратного прокси-сервера так же безопасно, как и работа в распределенном режиме. При установке обратного прокси-сервера веб-сервер и сервер ColdFusion находятся на одной физической машине, но есть прокси-сервер, который обрабатывает запросы и выполняет функции веб-сервера (в основном). Все еще в своем разуме я вижу физическое разделение как более безопасное.
Трудно найти какую-либо определенную рекомендацию в Интернете. Распределенный режим все еще упоминается даже в документации по ColdFusion 11. Для получения дополнительной информации об инструменте настройки веб-сервера, включая информацию о множественном и распределенном использовании, см. Руководство по настройке и администрированию ColdFusion. (Хотя на этой ссылочной странице не так много информации об этом.) Обе настройки, кажется, упоминаются в различных блогах и сообщениях, но я нахожу более распространенным, что люди используют настройку обратного прокси, а не настройку распределенного режима. Ничего конкретного, только мое восприятие, как я рыскал в сети. Работа в распределенном режиме с веб-сервером и сервером ColdFusion на отдельных серверах, безусловно, добавляет сложности при настройке. Статические файлы находятся на веб-сервере, а файлы CFML - на сервере ColdFusion. И т. Д. При использовании сторонних продуктов это может быть трудно правильно настроить.
Итак, мой вопрос, при условии, что все остальное одинаково, для максимальной безопасности вы используете распределенный режим или настройку обратного прокси? И несколько причин, почему вы делаете.
К сожалению, инструкции по блокировке ColdFusion приводят в замешательство. Вот что я нашел.
В руководстве по блокировке ColdFusion 9 (стр. 14-15) говорится:
Вы также можете рассмотреть возможность установки ColdFusion в распределенном режиме. Это позволяет веб-серверу размещаться на физически отдельном сервере от сервера ColdFusion. Вы также можете подключить несколько веб-серверов к одному серверу ColdFusion (это называется множественной адресацией в документации ColdFusion 9). Такое разделение может обеспечить дополнительную безопасность и должно учитываться в средах, требующих максимальной безопасности. Чтобы установить распределенный режим, выберите параметр встроенного веб-сервера. Для получения информации о настройке распределенного режима см. 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.
Другой способ отделить общедоступный веб-сервер и сервер ColdFusion - использовать обратный прокси-сервер. При настройке обратного прокси-сервера на сервере ColdFusion по-прежнему установлен веб-сервер, но все запросы внешних клиентов обрабатываются прокси-сервером, а некоторые запросы отправляются на сервер ColdFusion для обработки.
В руководстве по блокировке ColdFusion 10 (стр. 27) это утверждение было урезано до следующего:
Для максимальной безопасности рассмотрите возможность запуска веб-сервера и ColdFusion на отдельных физических серверах. Одним из способов разделения общедоступного веб-сервера и сервера ColdFusion является использование обратного прокси-сервера.
При настройке обратного прокси-сервера на сервере ColdFusion по-прежнему будет установлен веб-сервер, однако все запросы внешних клиентов будут обрабатываться прокси-сервером, и только отдельные запросы будут отправляться на сервер ColdFusion для обработки. Обратитесь к документации веб-серверов, чтобы настроить обратный прокси-сервер.
И в руководстве по блокировке ColdFusion 11 также нет упоминаний. Кажется, что это должно быть на странице 11 или около нее, где операторы находились в других документах вместе с запуском инструмента настройки веб-сервера. Мне очень любопытно, почему Пит вынул это из последнего документа.
В то время как я использую Adobe ColdFusion, я пометил этот вопрос также Railo для большего вклада.
2 ответа
Вы путаете "распределенный режим" (когда веб-сервер и CF-сервер находятся в отдельных блоках) как взаимоисключающие с использованием обратного прокси-сервера. На самом деле это две разные проблемы. Обратный прокси-сервер - это просто альтернатива использованию стандартного веб-коннектора. Это просто заставляет ваш веб-сервер (IIS, Apache, Nginx) перенаправлять запросы на страницы CFML на порт HTTP/HTTPS или AJP на указанном хосте / порту вашего блока CF. Вы можете настроить обратный прокси для прокси на localhost ИЛИ на любом другом сервере в вашей сети, если открыты соответствующие порты.
Ex. Вы можете включить прослушиватель AJP в Tomcat на порту 8009. Затем на своем веб-сервере Apache (который может находиться в любой точке вашей сети) вы перенаправляете запросы прокси-файлов для файлов.cfm на этот порт с помощью модуля proxy_ajp.
Лично я никогда не имел дело с распределенным режимом, так как, кажется, гораздо меньше векторов атак на мои веб-серверы. Но если вы решите использовать "распределенный режим", вы можете сделать это с помощью штатного разъема ИЛИ обратного прокси-сервера. Тебе решать.
Режим DISTRIBUTED или установка REVERSE PROXY будут обеспечивать в основном аналогичный уровень безопасности, но режим DISTRIBUTED будет иметь дополнительные серверные сценарии ВЫСОКОГО НАЛИЧИЯ И НАДЕЖНОСТИ.