Если вы хотите ознакомиться с остальными частями этой статьи, пожалуйста, прочитайте:
Правила web-публикации делают доступными для внешних пользователей ваши web-серверы, находящиеся во внутренней сети или DMZ. Правила web-публикации лучше правил публикации серверов по многим параметрам, поскольку они усиливают защиту функций безопасности, встроенных в расширения фильтра web-прокси, например, в фильтр безопасности HTTP. Поэтому при публикации web-служб в Интернете рекомендуется всегда использовать правила web-публикации.
По большей части правила web-публикации работают одинаково в серверах ISA 2004 и 2006. Однако, существуют серьезные различия в вопросах балансировки нагрузки группы web-серверов, аутентификации и поддержки сертификатов. В данной статье мы расскажем о простых HTTP (не SSL) правилах web-публикации, различия в которых не так значительны. Так что мы сосредоточимся на сервере ISA 2004, поскольку в данных момент его используют значительно больше, чем ISA 2006. В будущем я расскажу о правилах web-публикации с использованием SSL в сервере ISA 2006.
Создать правило web-публикации можно с помощью Мастера создания правил web-публикации ISA-сервера. Мастер выполнит все шаги по созданию правила, которое позволит вам опубликовать web-серверы и службы любой защищенной сети ISA-сервера.
Мы рассмотрим правила web-публикации, которым не нужны SSL-соединения. SSL-безопасность требует наличия дополнительных шагов при создании, о которых мы расскажем с следующем разделе, посвященном правилам web-публикации с SSL.
Для запуска мастера создания правила web-публикации откройте консоль ISA-сервера и раскройте в ней имя сервера. Щелкните по узлу Firewall policy (Политика сервера) и выберите вкладку Tasks (Задачи), где щелкните по ссылке Publish a Web Server (Публиковать web-сервер).
Откроется окно Welcome to the New Web Publishing Rule Wizard (Начало работы мастера создания нового правила web-публикации). Введите имя правила в текстовое поле Web publishing rule name (Имя правила web-публикации). Нажмите Next (Далее).
На странице Select Rule Action (Выбор действия правила) (Рисунок 1) вы можете разрешить (Allow) или запретить (Deny) соединения с опубликованным web-сервером. Обратите внимание, что по умолчанию выбран параметр Allow (Разрешить), что отличается от мастера создания правила доступа, где по умолчанию выбран параметр Deny (Запретить).
Большинство правил web-публикации разрешают доступ к web-сайтам и отдельным путям внутри этих сайтов. Однако, вы можете создать и правило web-публикации, запрещающее доступ к настроенным правилам web-публикации, разрешающим доступ, например, для создания исключений из правила для разрешения. Выберите Allow (Разрешить) и нажмите Next (Далее).
Рисунок 1: Выбор действия правила
На странице Define Website to Publish (Определение web-сайта для публикации) вы указываете информацию о web-сайте из защищенной сети ISA-сервера. На этой странице указываются следующие параметры:
В текстовое поле Computer name or IP address (Имя компьютера IP-адрес) введите либо IP-адрес, либо полностью определенное доменное имя web-сервера из защищенной сети ISA-сервера. Если вы используете имя FQDN, убедитесь, что ISA-сервер сможет разрешить это имя в IP-адрес web-сервера корпоративной сети, а не в IP-адрес внешнего интерфейса ISA-сервера.
Это обычная ошибка администраторов ISA-сервера. Гарантировать, что имя правильно разрешается в частный адрес web-сервера, можно с помощью создания инфраструктуры разделенной DNS или с помощью записей в файле HOSTS на ISA-сервере. Важно отметить, что улучшения, внедренные в сервер ISA 2006, позволяют избежать необходимость создания записей в файле HOSTS.
Рисунок 2: Странице определения web-сайта для публикации
Параметр Forward the original host header instead of the actual one (specified above) (Переадресация заголовка оригинального узла вместо указанного выше) интересен тем, что его значение не совсем понятно. Подразумевается, что вместо значения заголовка узла, указанного в текстовом поле Computer name or IP address (Имя компьютера IP-адрес), отсылаемого на опубликованный сервер, на него переадресовывается заголовок актуального узла из запроса внешнего пользователя. Это важно, если вы храните на одном web-сервере несколько Web-сайтов, и каждый из этих сайтов использует разные заголовки узла.
Эффект переадресации заголовков и отсутствия таковой показан на Рисунках 3, 4 и 5. На Рисунке 3 вы видите заголовки узлов, как они видны внешнему интерфейсу ISA-сервера при запросе клиентом сайта www.msfirewall.org. Заголовок HTTP: Host =www.msfirewall.org виден через сетевой монитор.
Рисунок 3: Заголовки HTTP, видимые на внешнем интерфейсе ISA-сервера
Если правило web-публикации не настроено на переадресацию оригинального заголовка узла, а в текстовом поле Computer name or IP address (Имя компьютера IP-адрес) указан IP-адрес (или альтернативное имя), то в сетевом мониторе вы увидите подобное Рисунку 4, взятому с опубликованного web-сервера с заголовком узла HTTP: Host =10.0.0.2, который не является заголовком, содержащимся в адресе клиента. Это то значение, которое мы ввели в поле Computer name or IP address (Имя компьютера IP-адрес).
Рисунок 4: HTTP-заголовки опубликованного web-сервера без переадресации оригинального заголовка
Однако, при включении опции Forward the original host header instead of the actual one (specified above) (Переадресация заголовка оригинального узла вместо указанного выше), на опубликованном web-сервере мы увидим данные, показанные на Рисунке 5. В этом случае сетевой монитор покажет, что заголовком узла является HTTP: Host =www.msfirewall.org.
Рисунок 5: HTTP-заголовки опубликованного web-сервера с переадресацией оригинального заголовка
В текстовое поле Path (Путь) введите пути, которые вы хотите сделать доступными на севере. Вы можете ввести имя отдельного файла или папки, или разрешить доступ ко всем файлам и папкам внутри папки с помощью символа /*. Данная опция позволяет вам ограничить доступ к определенным файлам и папкам. Хотя эта страница мастера позволяет вам ввести только один путь, после создания правила вы можете зайти на страницу Properties (Свойства) нашего правила web-публикации и создать дополнительные пути и даже переадресацию путей.
Поле Site (Сайт) – это не текстовое поле, так что ввести в него вы ничего не можете. Данное поле показывает путь URL, который будет доступен на опубликованном web-сайте.
В нашем примере вы ввели в поле Computer name or IP address (Имя компьютера IP-адрес) адрес 10.0.0.2 и выбрали переадресацию оригинального заголовка. Для пути мы ввели /*. Нажмите Next (Далее).
На странице Public Name Details (Детали открытого имени) вы вводите информацию об именах FQDN или IP-адресах, которые пользователи будут использовать для связи с опубликованным web-сайтом через правило web-публикации. Здесь у вас есть следующие параметры:
Выпадающий список Accept requests for (Принимать запросы для) дает вам два варианта: Any domain name (Любое имя домена) и This domain name (type below) (Данное имя домена (указано ниже)). Если вы выбираете первый вариант, все запросы к любому имени домена или IP-адресу принимаются web-приемником данного правила. Это очень нежелательный выбор, поскольку он открывает вас для вирусов, червей и атак злоумышленников. Включив доступ по IP-адресу, вы включаете возможность запуска огромного количества атак на ваш web-сайт. Я настоятельно рекомендую никогда не разрешать доступ по IP-адресу.
Для примера, многие распространенные черви отсылают запросы на порт TCP 80 или на поддельные имена доменов (такие, как www.worm.com) на IP-адрес, используемый web-приемником нашего правила. Если вы выбрали вариант Any domain name (Любое имя домена), то web-приемник будет принимать эти запросы и продолжать их обработку. И это не смотря на то, что у вас нет никаких ресурсов для поддельного имени домена, которое червь или злоумышленник использует для доступа к IP-адресу web-приемника на внешнем интерфейсе ISA-сервера.
Лучшим вариантом, рекомендуемым нами, является использование в правиле web-публикации варианта This domain name (type below) (Данное имя домена (указано ниже)). При этом вы вводите точное имя домена, которое должно содержаться в запросе пользователя для доступа к web-сайту. Если вы хотите принимать запросы только для домена www.msfirewall.org, то входящие запросы для http://1.1.1.1 или http://www.worm.com будут отклоняться, поскольку они не будут соответствовать имени домена, указанному в правиле.
Когда вы выбираете вариант This domain name (type below) (Данное имя домена (указано ниже)), вы должны ввести имя домена, к которому будет применяться данное правило, в тестовое поле Public name (Открытое имя). В нашем примере мы ввели www.msfirewall.org. Страница мастера Public Name Details (Детали открытого имени) позволяет вам ввести только одно имя домена, но после окончания работы мастера вы сможете добавить и дополнительные имена. Однако, мы настоятельно рекомендуем вам использовать одно имя домена на каждое правило web-публикации.
Обратите внимание, что даже если у вас к внешнему интерфейсу ISA-сервера привязан один IP-адрес, вы можете создать несколько правил web-публикации для публикации нескольких web-сайтов, расположенных в вашей внутренней сети или в DMZ. Все правила будут различаться различными именами на странице Public Name (Открытое имя), и переадресация будет настроена на разные IP-адреса или имена заголовков узлов. Вы можете опубликовать сотни сайтов на одном IP-адресе.
Текстовое поле Path (optional) (Путь (необязательно)) позволяет вам ограничить пути, к которым у пользователей есть доступ по этому правилу. Вы можете дать пользователям доступ не ко всему сайту, а только к его определенным папкам. Хотя здесь вы можете ввести только один путь, после окончания работы мастера можно добавить дополнительные пути с помощью окна Properties (Свойства) данного правила.
Рисунок 6: Страница деталей открытого имени
В данной, первой из трех, части статьи о публикации сайтов без использования SSL я рассказал об основных концепциях правил web-публикации, их использовании и как запустить мастер создания правил web-публикации. Я остановился на создании web-приемника. Поскольку концепция web-приемника и процесс его создания достаточно сложны, мы оставим это для второй части.
www.isaserver.org