Я давно работаю с 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, чтобы получить больше информации.
Вы путаете «распределенный режим» (когда веб-сервер и сервер CF находятся в разных ящиках) как взаимоисключающий с использованием обратного прокси. На самом деле это две разные проблемы. Обратный прокси-сервер - это просто альтернатива использованию стандартного веб-коннектора. Он просто заставляет ваш веб-сервер (IIS, Apache, Nginx) перенаправлять запросы для страниц CFML на порт HTTP / HTTPS или AJP на заданном хосте / порте в вашем поле CF. Вы можете настроить обратный прокси-сервер для прокси на localhost ИЛИ на любой другой сервер в вашей сети, если соответствующие порты открыты.
Ex. Вы можете включить прослушиватель AJP в Tomcat на порту 8009. Затем на своем веб-сервере Apache (который может находиться где угодно в вашей сети) вы обращаете прокси-запросы для файлов .cfm на этот порт с помощью модуля proxy_ajp.
Я никогда лично не имел дела с распределенным режимом, поскольку, похоже, на мои веб-серверы направлено гораздо меньшее количество векторов атак. Но если вы решите использовать «распределенный режим», вы можете сделать это с помощью стандартного коннектора ИЛИ обратного прокси. Тебе решать.
РАСПРЕДЕЛЕННЫЙ режим или установка ОБРАТНОГО ПРОКСИ обеспечат в основном аналогичный уровень безопасности, но РАСПРЕДЕЛЕННЫЙ режим будет иметь дополнительные серверные сценарии ВЫСОКОЙ ДОСТУПНОСТИ И НАДЕЖНОСТИ.