Публикация сервера Windows Server 2008 SSL VPN с помощью брандмауэра ISA 2006 Firewall (часть 1)
Постоянная езда по командировкам может слегка осложнять жизнь. Вы практически уверены, что в гостинице, в которой вы собираетесь остановиться, есть подключение к Интернету. Но будет ли это подключение работать? Как часто вам приходилось настраивать подключение к сети в гостинице и обнаруживать, что что-то не так с беспроводным соединением или маршрутизатором вашего сегмента в гостинице.
Но после того, как вам удалось заставить соединение работать, вы понимаете, что проблемы еще не закончились; вашей следующей заботой станет то, какой тип брандмауэра используется в данной гостинице. Поддерживает ли брандмауэр гостиницы VPN соединения? Если да, то, какие типы VPN соединений он поддерживает? Я бывал в гостиницах, в которых поддерживается только PPTP соединение. В других гостиницах поддерживается только L2TP/IPSec соединение, а в некоторых – поддерживаются и PPTP, и L2TP/IPSec. К сожалению, во многих гостиницах не поддерживаются ни PPTP, ни L2TP/IPSec соединения. Для администраторов сетей, нуждающихся в подключении ко многим сетям через VPN соединения, находясь за пределами города, именно здесь начинаются головные боли.
Проблема с брандмауэрами и маршрутизаторами гостиниц заключается в том, что администрация гостиниц желает сделать все как можно проще. Они не блокируют ваши VPN соединения вам назло, желая испортить вашу поездку. Просто с точки зрения управления и безопасности гораздо легче позволить только HTTP и HTTPS (SSL) исходящие соединения, два простых протокола, которые используются 99% их клиентов. Это значительно облегчает диагностику для провайдеров сетевого сервиса, которые сопровождают Интернет соединение в этих гостиницах.
Конечно, если вы тот человек, которому нужно VPN соединение, и вы остановились в одной из этих гостиниц, жизнь наполняется тщетными попытками, когда ваша сеть или сети одного из ваших клиентов нуждаются в обслуживании, а единственный способ обеспечить такое обслуживание, это использовать VPN соединение. Что делать? В прошлом мне пришлось отказаться от политики никогда не использовать RDP соединения для сети, только для того чтобы получить доступ, когда мне нужно что-то исправить. Но это всегда неудобно, поскольку я полностью отдаю себе отчет в риске, который представляет собой открытие RDP доступа к Интернету.
Хорошая новость состоит в том, что теперь у нас есть решение, или, по крайней мере, у нас оно появится, когда выйдет Windows Server 2008 (в феврале 2008). Это решение представляет собой SSTP VPN протокол, включенный в Windows Server 2008. SSTP – это Secure Socket Tunnel Protocol (протокол туннеля защищенных гнезд), который по сути своей является PPP через SSL. SSTP позволяет вам подключаться к вашему VPN серверу через TCP порт 443, как и любые другие SSL соединения, он также работает с не аутентифицирующими Web модулями доступа, поэтому даже если в вашей гостинице используется брандмауэр ISA для исходящего доступа (вы удивитесь тому, как много гостиниц его используют), ваши SSTP соединения будут отлично работать.
В этой статье я покажу вам, как настраивать SSTP VPN сервер и брандмауэр ISA для открытия доступа входящим соединениям от SSTP VPN клиента SSTP VPN серверу. ISA Firewall будет настроен с двумя правилами публикации (Publishing Rules): правило публикации сервера (Server Publishing Rule), которое открывает доступ входящим соединениям с SSTP сервером, и правило веб публикации (Web Publishing Rule), которое открывает доступ входящим соединениям с сайтом распределения CRL.
Сначала давайте рассмотрим примерную сеть для этой конфигурации:
Здесь нам нужно рассмотреть два пути передачи данных. Во-первых, есть SSTP соединение, которое должно быть создано через ISA Firewall, ограничивающий SSTP SSL VPN сервер. Второе соединение должно создавать два отрезка пути передачи данных через нашу сеть, первый отрезок – это HTTP соединение, созданное через ISA Firewall, а второй отрезок будет проходить через SSL VPN шлюз к CDP. Для создания такой конфигурации нам нужно будет настроить SSL VPN шлюз в качестве NAT сервера, который будет выполнять обратимый NAT, чтобы открыть доступ к CDP, расположенному за VPN сервером.
Клиент SSTP VPN должен использовать Vista SP1. RTM версия клиентов Vista не поддерживает SSTP.
В этом примере брандмауэр ISA Firewall не входит в домен. Причина кроется в том, что в такой ситуации вхождение в домен не является требованием. Если вы хотите сделать ISA Firewall членом домена, вам понадобится настроить ISA Firewall на использование маршрутизатора за внутренним интерфейсом ISA Firewall, поскольку внутридоменные коммуникации не работают с NAT устройствами в этом пути. Маршрутизатор нужно расположить параллельно VPN серверу, чтобы его внешний и внутренний интерфейсы находились на ID сети, которые отражают ID компьютера со шлюзом SSTP VPN.
Шлюз SSTP VPN входит в состав домена. Благодаря этому мы можем воспользоваться аутентификацией Windows. Я значительно все упростил, поскольку не хотел вдаваться в подробности установки Network Policy Server в этой статье. Если вы не желаете, чтобы шлюз SSTP VPN был членом домена, вы можете установить Network Policy Server в корпоративной сети и настроить VPN сервер на его использование для аутентификации и учета (NPS серверы – это замена в Windows 2008 для Windows Server 2003 IAS сервера).
Компьютер CRL Distribution Point во внутренней сети является контроллером домена для msfirewall.org домена. Роли сервера (Server Roles), установленные на этой машине, включают Active Directory Certificate Services, DHCP Server, DNS Server, Active Directory Domain Services, и WINS.
Чтобы заставить эту конфигурацию работать, нам нужно будет выполнить следующие шаги:
- Установить IIS на VPN сервере.
- Запросить сертификаты машины для VPN сервера, используя мастера IIS Certificate Request Wizard.
- Установить роль RRAS на VPN сервере.
- Активировать RRAS сервер и настроить его в качестве VPN и NAT сервера.
- Настроить NAT сервер на публикацию CRL.
- Настроить учетную запись пользователя на использование dial-up соединений.
- Настроить IIS на сервере сертификации (Certificate Server), чтобы разрешить HTTP соединения для директории CRL.
- Настроить брандмауэр ISA с сервером PPTP VPN, SSL VPN и правилами веб публикации (CDP Web Publishing Rules).
- Настроить HOSTS файл для VPN клиента.
- Использовать PPTP для соединения с VPN сервером.
- Получить сертификат CA Certificate с Enterprise CA.
- Настроить ISA Firewall с правилами публикации SSL VPN Server Publishing и CDP Web Publishing Rules.
- Настроить клиента на использование SSTP и подключить к серверу VPN через SSTP.
Установка IIS на сервере VPN
Возможно, вам покажется странным, что мы начинаем именно с этой процедуры, так как я рекомендую никогда не устанавливать вебсервер на устройство безопасности сети. Хорошая новость заключается в том, что нам не придется хранить вебсервер на VPN сервере, он понадобится нам лишь на некоторое время. Причина кроется в том, что регистрационный сайт, включенный в Windows Server 2008 Certificate Server, более не является полезным для запроса сертификатов компьютера. На самом деле он вообще бесполезен. Интересно то, что если вы все же решите использовать регистрационный сайт для получения сертификата компьютера, все будет выглядеть так, словно сертификат получен и установлен, однако на самом деле это не так, сертификат не установлен.
Для решения этой проблемы мы воспользуемся преимуществом того, что используем enterprise CA. При использовании Enterprise CA, можно посылать запрос на интерактивный сервер сертификации. Интерактивный запрос на получение сертификата компьютера возможен, когда вы используете мастера IIS Certificate Request Wizard и запрашиваете то, что теперь называется сертификатом домена 'Domain Certificate'. Это возможно только в том случае, если запрашивающая машина принадлежит тому же домену, что и Enterprise CA.
Для установки роли IIS Web server на сервере VPN выполните следующие шаги:
- Откройте Windows 2008 Server Manager.
- В левой панели консоли кликните на вкладке Роли.
Рисунок 2- Жмем в меню Добавить роли с правой стороны правой панели.
- Жмем Далее на странице Прежде чем начать.
- Ставим галочку напротив строкиWeb Server (IIS) на странице Выбрать роли сервера. Жмем Далее.
Рисунок 3- Можете прочесть информацию на странице Web Server (IIS), если пожелаете. Это довольно полезная общая информация об использовании IIS 7 в качестве вебсервера, но поскольку мы не собираемся использовать IIS вебсервер на VPN сервере, эта информация не совсем применима в нашей ситуации. Жмем Далее.
- На странице Выбрать службы ролей несколько опций уже выбраны. Однако если вы используете опции по умолчанию, вы не сможете воспользоваться мастером Certificate Request Wizard. По крайней мере, так было, когда я тестировал систему. Нет службы роли для мастера Certificate Request Wizard, поэтому я пытался ставить галочки напротив каждой опции Безопасность, и, кажется, сработало. Сделайте то же самое у себя и нажмите Далее.
Рисунок 4- Просмотрите информацию на странице Подтвердить выбор установок и нажмите Установить.
- Нажмите Закрыть на странице Результаты установки.
Рисунок 5Запрос сертификата машины (Machine Certificate) для VPN сервера с помощью мастера IIS Certificate Request Wizard
Следующий шаг – это запрос сертификата машины для VPN сервера. VPN серверу требуется сертификат машины для создания SSL VPN соединения с компьютером клиента SSL VPN. Общее название сертификата должно соответствовать имени, которое VPN клиент будет использовать для соединения с компьютером шлюза SSL VPN. Это означает, что вам нужно будет создать публичную DNS запись для имени на сертификате, который будет разрешать внешний IP адрес VPN сервера, или IP адрес NAT устройства перед VPN сервером, которое будет переадресовывать соединение на SSL VPN сервер.
Для запроса сертификата машины на сервер SSL VPN выполните следующие шаги:
- В Server Manager, разверните вкладку Роли в левой панели, а затем разверните вкладку Web Server (IIS). Нажмите на Internet Information Services (IIS) Manager.
Рисунок 6- В консоли Internet Information Services (IIS) Manager, которая появится справа в левой панели, нажмите на имени сервера. В этом примере имя сервера будет W2008RC0-VPNGW. Нажмите на иконку Сертификаты сервера в правой панели консоли IIS.
Рисунок 7- В правой панели консоли жмем на ссылку Создать сертификат домена.
Рисунок 8- Введите информацию на странице Определенные свойства имени. Самым важным объектом здесь будет Общее имя. Это то имя, которое VPN клиенты будут использовать для соединения с VPN сервером. Вам также понадобится публичная DNS запись для этого имени с тем, чтобы распознавать внешний интерфейс VPN сервера, или публичный адрес NAT устройства перед VPN сервером. В этом примере мы используем общее имя sstp.msfirewall.org. Позже мы создадим записи HOSTS файла на компьютере VPN клиента, чтобы он мог распознавать это имя. Жмем Далее.
Рисунок 9- На странице Интерактивный источник сертификатов жмем кнопку Выбрать. В диалоговом окне Выбрать источник сертификатов, жмем на имени Enterprise CA и нажимаем OK. Вводим дружественное имя в строке Friendly name. В этом примере мы использовали имя SSTP Cert, чтобы знать, что оно используется для шлюза SSTP VPN.
Рисунок 10- Жмем Закончить на странице Интерактивный источник сертификатов.
Рисунок 11- Мастер будет запущен, а затем исчезнет. После этого вы увидите, как появится сертификат в консоли IIS. Кликнем дважды на сертификате и увидим общее имя в секции Назначен для, и теперь у нас есть частный ключ, соответствующий сертификату. Жмем OK, чтобы закрыть диалоговое окно Сертификат.
Рисунок 12Теперь, когда у нас есть сертификат, мы можем установить роль RRAS Server Role. Обратите внимание на то, что очень важно установить сертификат до того, как устанавливать роль RRAS Server Role. Если вы этого не сделаете, вы наживете себе большие головные боли, поскольку вам придется использовать довольно сложную рутину командных строк, чтобы связать сертификат с клиентом SSL VPN.
Установка роли RRAS Server Role на VPN сервере
Для установки роли RRAS Server Role нужно выполнить следующие шаги:
- В Server Manager, нажмите на вкладку Роли в левой панели консоли.
- В секции Общие сведения ролей нажмите на ссылку Добавить роли.
- Нажмите Далее на странице Прежде чем начать.
- На странице Выбрать роли сервера поставьте галочку напротив строки Политика сети и службы доступа. Нажмите Далее.
Рисунок 13- Прочтите информацию на странице Политика сети и службы доступа. Большая ее часть касается Network Policy Server (который ранее назывался Internet Authentication Server [IAS] и по сути был RADIUS сервером) и NAP, ни один из элементов не применим в нашем случае. Нажимаем Далее.
- На странице Выбрать службы роли ставим галочку напротив строки Маршрутизация и службы удаленного доступа. В результате этого будут выбраны пункты Службы удаленного доступа и Маршрутизация. Жмем Далее.
Рисунок 14- Жмем Установить в окне Подтвердить выбранные установки.
- Жмем Закрыть на странице Результаты установки.
Активация RRAS Server и его настройка в качестве VPN и NAT сервера
Теперь, когда роль RRAS установлена, нам нужно активировать сервисы RRAS, также как мы делали это в предыдущих версиях Windows. Нам нужно активировать функцию VPN сервера и сервисы NAT. С активацией компонента VPN сервера все понятно, но вы можете поинтересоваться, зачем нужно активировать NAT сервер. Причина активации сервера NAT кроется в том, что внешние клиенты могут получать доступ к серверу сертификации (Certificate Server), чтобы соединяться с CRL. Если клиент SSTP VPN не сможет загрузить CRL, SSTP VPN соединение работать не будет.
Для того, чтобы открыть доступ к CRL, мы настроим VPN сервер в качестве NAT сервера и опубликуем CRL, используя обратимый NAT. Клиент SSL VPN сначала соединится с брандмауэром ISA Firewall. На ISA Firewall будет настроено правило веб публикации Web Publishing Rule, разрешающее соединения с URL, требуемыми для доступа к CRL. Это правило Web Publishing Rule также настроено на передачу запроса к внешнему интерфейсу NAT сервера. NAT сервер на VPN сервере будет настроен на передачу HTTP запроса на сервер сертификации, содержащий CRL.
Для активации сервиса RRAS выполните следующие шаги:
- В Server Manager разверните вкладку Роли в левой панели консоли. Разверните вкладку Политика сети и Службы доступа и кликните по вкладке Маршрутизация и Удаленный доступ. Правой клавишей кликните по вкладке Маршрутизация и Удаленный доступ и нажмите Настроить и активировать маршрутизацию и удаленный доступ.
Рисунок 15- Нажмите Далее в окне Welcome to the Routing and Remote Access Server Setup Wizard.
- На странице Конфигурация выберите опцию Доступ к виртуальным частным сетям (VPN) и NAT и нажмите Далее.
Рисунок 16- На странице VPN соединение выберите NIC в секции Интерфейсы сети, которая представляет внешний интерфейс VPN сервера. Затем нажмите Далее.
- На странице Назначение IP адресов выберите опцию Автоматически. Мы можем выбрать эту опцию, потому что у нас установлен DHCP сервер на контроллере домена за VPN сервером. Если у вас нет DHCP сервера, тогда вам нужно будет выбрать опцию Из определенного списка адресов, а затем внести список адресов, которые VPN клиенты смогут использовать при подключении к сети через шлюз VPN. Жмем Далее.
Рисунок 17- На странице Управление удаленным доступом нескольких серверов выбираем Нет, использовать маршрутизацию и удаленный доступ для аутентификации запросов соединения. Эту опцию мы используем, когда недоступны NPS или RADIUS серверы. Поскольку VPN сервер является членом домена, можно аутентифицировать пользователей, используя учетные записи домена. Если VPN сервер не входит в домен, тогда только локальные учетные записи VPN сервера можно использовать, если только вы не решите использовать NPS сервер. Я напишу статью об использовании NPS сервера в будущем. Жмем Далее.
Рисунок 18- Прочтите общую информацию на странице Завершение работы мастера настройки маршрутизации и удаленного доступа и нажмите Закончить.
- Нажмите OK в диалоговом окне Маршрутизация и удаленный доступ, которое говорит вам о том, что распределение DHCP сообщений требует агента распределения DHCP.
- В левой панели консоли разверните вкладку Маршрутизация и удаленный доступ и затем нажмите на вкладке Порты. В средней панели вы увидите, что WAN Miniport соединения для SSTP теперь доступны.
Рисунок 19Настройка NAT сервера для публикации CRL
Как я говорил ранее, клиент SSL VPN должен иметь возможность загружать CRL для подтверждения того, что сертификат сервера на сервере VPN не был поврежден или отозван. Для этого нужно настроить устройство перед сервером сертификации для направления HTTP запросов о расположении CRL на Сервер сертификации.
Как узнать, к какому URL нужно подключиться SSL VPN клиенту, чтобы загрузить CRL? Эта информация содержится в самом сертификате. Если вы снова перейдете на VPN сервер и дважды кликните на сертификате в IIS консоли, как делали прежде, вы сможете найти эту информацию.
Жмем на кнопку Детали на сертификате и листаем вниз до записи Точки распределения CRL, затем жмем на эту запись. В нижней панели показаны различные точки распределения, основанные на протоколе, используемом для получения доступа к этим точкам. В сертификате, показанном на рисунке ниже, видно, что нам нужно открыть доступ клиенту SSL VPN к CRL через URL:
http://win2008rc0-dc.msfirewall.org/CertEnroll/WIN2008RC0-DC.msfirewall.org.crl
Рисунок 20Именно поэтому нужно создавать публичные записи DNS для этого имени, чтобы внешние VPN клиенты смогли относить это имя к IP адресу на внешнем интерфейсе ISA Firewall. В этом примере нам нужно связать win2008rc0-dc.msfirewall.org с IP адресом на внешнем интерфейсе ISA Firewall. Когда соединение достигает внешнего интерфейса брандмауэра ISA Firewall, он перенаправит соединение на NAT сервер на VPN сервере, который потом выполняет обратимый NAT и отправляет соединение к CA, содержащему CDP.
Следует отметить, что использование имени CRL сайта по умолчанию может быть менее безопасной опцией, поскольку оно раскрывает частное имя компьютера в Интернете. Вы можете создавать пользовательскую CDP (CRL Distribution Point), чтобы этого избежать, если считаете, что раскрытие частного имени вашей CA в публичной DNS записи создает угрозу безопасности. Дополнительную информацию об изменении этих значений можно найти в статье Как изменить настройки политики для Certification Authority (CA) в Windows 2000.
Для настройки RRAS NAT для направления HTTP запросов на сервер сертификации выполните следующие шаги:
- В левой панели Server Manager разверните вкладку Маршрутизация и удаленный доступ, а затем разверните вкладку IPv4. Кликните по вкладке NAT.
- Во вкладке NAT кликните правой клавишей на внешнем интерфейсе в средней панели консоли. В данном примере имя внешнего интерфейса было Local Area Connection. Нажмите на Свойства.
Рисунок 21- В диалоговом окне Свойства Local Area Connection поставьте галочку напротив Web Server (HTTP). Это вызовет диалоговое окно Служба редактирования. В текстовой строке Частный адрес введите IP адрес сервера сертификации во внутренней сети. Нажмите OK.
Рисунок 22- Нажмите OK в диалоговом окне Свойства Local Area Connection.
Рисунок 23Теперь, когда NAT сервер установлен и настроен, мы можем перенести наше внимание на настройку сервера CA и клиента SSTP VPN.
Заключение
Эту статью мы начали с обсуждения трудностей получения удаленного VPN доступа в гостиницах и того, как SSTP протокол помогает решить эти проблемы, позволяя создавать VPN соединения с помощью SSL подключения через TCP порт 443, который разрешен всеми брандмауэрами в этих условиях. Затем мы установили службы сертификации на VPN сервере, чтобы можно было получить сертификат компьютера. После установки сертификата на SSL VPN сервер, мы установили RRAS VPN и NAT сервисы для шлюза VPN. И закончили мы настройкой NAT сервера на VPN шлюзе с тем, чтобы он перенаправлял входящие HTTP соединения, направленные ISA Firewall для задержки на CA, содержащем CDP. На следующей неделе мы закончим настройку CA сервера, брандмауэра ISA Firewall и клиента SSTP VPN.

Программа для учета трафика и контроля интернет активности пользователей компании, использующей Microsoft ISA Server 2004/2006.
Набор бесплатных утилит, облегчающих работу администратора Microsoft ISA Server.
Программа для контроля Интернет-канала организации и учета трафика, проходящего через Microsoft ISA Server
и другие прокси-серверы. Позволяет отслеживать кто, когда, куда, откуда и зачем выходил в Интернет.
Программа для учета трафика и контроля эффективности работы Microsoft Exchange Server и других почтовых серверов.
Позволяет отслеживать сколько, кто, кому, когда отправлял электронных писем.
Программа для мониторинга принтеров Вашей организации. Позволяет отслеживать кто, когда и сколько распечатал страниц.
RSS