Виртуальные частные сети снискали заслуженную популярность. Это надежное и
безопасное средство, предназначенное для организации межсайтовой сетевой
инфраструктуры и подключений удаленного доступа. В последние годы среди
существующих VPN-протоколов особое место занимает PPTP. Решения на его базе
распространены, легко внедряются и обеспечивают уровень защиты, достаточный для
большинства компаний.
Почему именно PPTP?
Туннельный протокол PPTP позволяет зашифровать мультипротокольный трафик, а
затем инкапсулировать (упаковать) его в IP-заголовок, который будет отправлен по
локальной или глобальной сети. PPTP использует:
- TCP-подключение для управления туннелем;
- модифицированную версию GRE (общая инкапсуляция маршрутов) для
инкапсулирования PPP-фреймов туннелированных данных.
Полезная нагрузка передаваемых пакетов может быть зашифрована (с помощью
протокола шифрования данных MPPE), сжата (используя алгоритм MPPC) или
зашифрована и сжата.
PPTP легок в развертывании, не требует инфраструктуры сертификатов и
совместим с подавляющим большинством NAT-устройств. Все версии Microsoft Windows,
начиная с Windows 95 OSR2, включают в свой состав PPTP-клиент. Также клиенты для
подключения по PPTP есть в Linux, xBSD и Mac OS X. Провайдеры знают об этих
преимуществах, и именно поэтому для организации подключения к интернету часто
используют PPTP, даже несмотря на то, что изначально у него защищенность ниже,
чем у L2TP, IPSec и SSTP (PPTP чувствителен к словарным атакам, кроме того,
VPN-подключение, основанное на протоколе PPTP, обеспечивает конфиденциальность,
но не целостность передаваемых данных, так как отсутствуют проверки, что данные
не были изменены при пересылке).
Стоит отметить: в больших сетях PPTP предпочтительнее PPPoE. Ведь при
использовании последнего поиск сервера производится путем рассылки
широковещательных пакетов, которые могут потеряться на свичах, да и сеть такие
пакеты "наводняют" весьма прилично.
Аутентификация и шифрование
В Vista и Win2k8 список опознавательных протоколов PPP заметно сокращен.
Исключены SPAP, EAP-MD5-CHAP и MS-CHAP, которые давно признаны небезопасными (в
них используются алгоритмы хеширования MD4 и шифрования DES). Список доступных
протоколов теперь выглядит так: PAP, CHAP, MSCHAP-v2 и EAP-TLS (требует наличия
пользовательских сертификатов или смарт-карт). Настоятельно рекомендуется
использовать MSCHAP-v2, поскольку он надежнее и обеспечивает взаимную
аутентификацию клиента и сервера. Также посредством групповой политики предпиши
обязательное применение сильных паролей.
Для шифрования VPN-соединения при помощи MPPE используются 40, 56 и
128-битные RSA RC4 ключи. В первых версиях Windows из-за ограничений на экспорт
военных технологий был доступен только 40-битный ключ и с некоторыми оговорками
– 56-битный. Они уже давно признаны недостаточными, и, начиная с Vista,
поддерживается исключительно 128-битная длина ключа. Может возникнуть ситуация,
что у клиента поддержки такой возможности нет, поэтому для старых версий Windows
надо накатить все сервис-паки или обновления безопасности. Например, WinXP SP2
без проблем подключится к серверу Win2k8.
Чтобы самостоятельно просмотреть список поддерживаемых системой
алгоритмов и длин ключей, обратись к ветке реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL.
В частности, настройки алгоритмов шифрования находятся в ветке
Ciphers\RC4. Принудительно активировать нужную опцию можно, создав
параметр dword "Enabled" и установив его значение в "ffffffff". Есть и
другой способ, который Microsoft не рекомендует, – активировать
поддержку 40/56-битных RC4 ключей на сервере Win2k8. Для этого
необходимо установить в "1" параметр реестра
HKLM\System\CurrentControlSet\Services\Rasman\Parameters\AllowPPTPWeakCrypto
и перезапустить систему.
Настройка сервера PPTP в Win2k8
Типичная конфигурация для работы VPN состоит из контроллера домена, серверов
RRAS (Routing and Remote Access) и NPS (Network Policy Server). В процессе
настройки этих ролей дополнительно будут активированы сервисы DHCP и DNS.
Сервер, которому предстоит выполнять роль VPN, перед установкой роли RRAS должен
быть присоединен к домену. В отличие от L2TP и SSTP, сертификаты при работе PPTP
не нужны, поэтому сервер сертификатов (Certificate Services) не потребуется.
Сетевые устройства, которые будут участвовать в построении VPN (в том числе,
ADSL и подобные модемы), должны быть подсоединены и настроены соответствующим
образом (Пуск –> Панель управления –> Диспетчер устройств). Для некоторых схем
VPN (с использованием NAT и при соединении двух сетей) потребуется, как минимум,
два сетевых устройства.
Используя мастер установки ролей (Диспетчер сервера –> Роли –> Установить
роль), устанавливаем роль "Службы политики сети и доступа" (Network Access
Services) и переходим к выбору служб ролей, где отмечаем все компоненты "Службы
маршрутизации и удаленного доступа" (Routing and Remote Access Services).
Нажимаем "Далее" и в следующем окне подтверждаем настройки щелчком по "Установить".
Служба удаленного доступа и маршрутизации установлена, но еще не настроена и
не запущена. Для настройки параметров работы переходим в "Диспетчере сервера" во
вкладку "Роли –> Службы политики сети и доступа -> Службы маршрутизации и
удаленного доступа"; как вариант, можно использовать консоль "Маршрутизация и
удаленный доступ", вызываемую из вкладки "Администрирование" меню "Пуск".
Отмечаем наш сервер в списке (консоль может быть подключена к нескольким
системам) и в контекстном меню щелкаем "Настроить и включить маршрутизацию и
удаленный доступ" (Configure and Enable Routing and Remote Access). Если до
этого предпринимались попытки настроить службу, то для повторной установки
некоторых параметров придется ее остановить, выбрав пункт "Отключить
маршрутизацию и удаленный доступ". При этом все настройки будут сброшены.
Появившийся мастер установки предложит выбрать типичную конфигурацию сервера,
которая наиболее точно соответствует предполагаемым задачам. В меню выбора –
пять пунктов, четыре из них предоставляют готовые установки:
- Удаленный доступ (VPN или модем) – позволяет пользователям подключаться
через удаленное (коммутируемое) или безопасное (VPN) подключение;
- Преобразование сетевых адресов (NAT) – предназначено для подключения к
интернету нескольких клиентов через один IP-адрес;
- Доступ к удаленной сети (VPN) и NAT – является миксом предыдущих
пунктов, предоставляет возможность выхода в интернет с одного IP-адреса и
удаленного подключения;
- Безопасное соединение между двумя сетями – подключение одной сети к
другой, удаленной.
Следующий шаг для каждого из этих пунктов будет индивидуальным. Например, при
настройке SSTP (см. статью "Слоеный VPN") мы выбирали третий
сценарий. Для PPTP подойдет любой из предложенных вариантов, хотя рекомендуемым
считается пункт "Удаленный доступ", установленный по умолчанию. Если есть
затруднения при выборе схемы, выбери пятый пункт "Особая конфигурация", либо по
окончании работы мастера продолжи настройку в ручном режиме. Кроме того, можно
обратиться к документации, нажав ссылку "Подробнее", расположенную внизу окна.
На следующем шаге отмечаем список служб, которые следует включить на сервере.
Таких пунктов пять, их названия говорят сами за себя:
- Доступ к виртуальной частной сети (VPN);
- Удаленный доступ (через телефонную сеть);
- Подключение по требованию (для маршрутизации отделений организации);
- Преобразование сетевых адресов (NAT);
- Маршрутизация локальной сети.
Собственно, все предустановки, о которых говорилось выше, сводятся к
активации этих служб в разной комбинации. В большинстве случаев следует выбрать
"Удаленный доступ (VPN или модем)", а затем – "Доступ к виртуальной частной сети
(VPN)". Далее просто нужно указать на сетевой интерфейс, который подключен к
интернету (отметив его мышкой). Если мастер обнаружит только одно активное
соединение, то он закончит работу с предупреждением, что для данного режима
требуется еще одна сетевая карта, либо предложит перейти к настройкам в режиме "Особая конфигурация".
Флажок "Безопасность с использованием фильтра статических пакетов"
рекомендуется оставить взведенным. Такие фильтры пропускают VPN-трафик только с
указанного интерфейса, а исключения для разрешенных VPN-портов придется
настраивать вручную. При этом можно настраивать статические фильтры и брандмауэр
Windows на одном интерфейсе, но не рекомендуется, так как это снизит
производительность.
На шаге "Назначение IP-адресов" выбери способ получения IP-адреса клиентами
при подключении к VPN-серверу: "Автоматически" либо "Из заданного диапазона
адресов". Проверка подлинности учетной записи может быть произведена как
сервером RRAS, так и любым другим сервером, поддерживающим протокол RADIUS. По
умолчанию предлагается первый вариант, но в большой сети с несколькими серверами
RRAS лучше использовать RADIUS. На этом работа мастера заканчивается. Нажимаем
кнопку "Готово", и появившееся окно сообщает, что необходимо настроить "Агент
ретрансляции DHCP". Если RRAS и DHCP-сервер находятся в одном сегменте, и нет
проблем с обменом служебных пакетов, тогда Relay agent настраивать необязательно
(кстати, на внутреннем интерфейсе он активируется по умолчанию).
Настройки в консоли
В окне консоли теперь будет доступно дерево установок. Желательно пройтись по
всем пунктам, чтобы разобраться, что где находится. Так, в пункте "Интерфейсы
сети" будут показаны все настроенные ранее сетевые интерфейсы. Выбрав в меню
пункт "Создать новый интерфейс вызова по требованию", можно добавить подключение
к VPN или PPPoE-серверам. Для просмотра списка протоколов, используемых портов и
их состояния переходим в "Порты". Кнопка "Настроить" в окне "Свойства" позволяет
изменить параметры работы выбранного протокола. Например, по умолчанию
количество PPTP-, L2TP- и SSTP-подключений (портов) ограничено 128, а также
разрешены все подключения (удаленного доступа и по требованию). В качестве
(необязательного) идентификатора сервера используется телефон, введенный в поле
"Номер телефона для этого устройства".
В пункте "Клиенты удаленного доступа" отображается список подключенных
клиентов. Цифра рядом с названием пункта подскажет их количество. При помощи
контекстного меню можно проверить состояние клиента и при необходимости его
отключить. Два пункта IPv4 и IPv6 позволяют настроить IP-фильтры, статические
маршруты, агент DHCP ретрансляции и некоторые другие параметры.
Когда все настройки завершены, можно попробовать подключиться
клиентом. На этом этапе часто сталкиваются с ошибкой 649: "Пользователь
не имеет прав для дозвона". По умолчанию проверка прав доступа
пользователя производится средствами Сервера политик сети – NPS.
Проверить установки можно, зайдя в "Администрирование -> Управление
компьютером –> Служебные программы -> Локальные пользователи и
группы". Поэтому при появлении такого сообщения разреши выбранной
группе подключаться к серверу политик (подробнее о NPS читай в статье "Сетевой
коп").
Работа со вкусом
Нельзя не рассказать о еще одной возможности, которая заметно упростит жизнь
администраторам - пакет администрирования диспетчера подключений CMAK (Connection
Manager Administration Kit). Мастер CMAK создает профиль, который позволит
пользователям входить в сеть только с теми свойствами подключения, которые
определит для них админ. Это не новинка Win2k8 – CMAK был доступен еще для Win2k
и поддерживает клиентов вплоть до Win95. Тем не менее, провайдеры до сих пор
снабжают пользователя мудреными инструкциями вместо того, чтобы предоставить ему
готовые файлы с настройками.
CMAK является компонентом Win2k8, но по умолчанию не инсталлируется.
Сам процесс установки при помощи "Диспетчера сервера" стандартен.
Выбираем "Компоненты – Добавить компоненты" и в появившемся мастере
отмечаем "Пакет администрирования диспетчера подключений". По окончании
установки одноименный ярлык появится в меню "Администрирование".
При вызове СМАК запустится мастер, который поможет создать профиль диспетчера
подключений. На первом шаге выбери ОС, для которой предназначен профиль.
Доступны два варианта: Vista и Windows 2000/2003/XP. Основное их отличие состоит
в том, что Vista поддерживает SSTP. Далее выбираем "Новый профиль". Есть
возможность использовать в качестве шаблона уже имеющийся профиль; последующие
шаги предлагают объединить нескольких профилей. Указываем название службы
(пользователи его увидят после установки пакета) и имя файла, куда будет
сохранен профиль. При создании профиля службы мастер CMAK копирует все входящие
в этот профиль файлы в Program Files\CMAK\Profiles. В некоторых сетях при
проверке подлинности используется имя области (Realm name), например, в Windows
это имя AD домена (user@domain.com). Мастер позволяет задать такое имя области,
которое будет автоматически добавлено к логину. И, наконец, добавляем поддержку
VPN-подключений. Активируем флажок "Телефонная книга из этого профиля" и затем
выбираем "Всегда использовать один VPN-сервер" или "Разрешить пользователю
выбирать VPN-сервер перед соединением". Во втором случае требуется заранее
подготовить txt-файл со списком серверов (формат файла).
На этапе "Создать или изменить" выбираем "Изменить", чтобы появилось
окно "Правка VPN". Здесь три вкладки (при активном IPv6 – четыре). В
"Общие" отмечаем "Отключить общий доступ к файлам и принтерам" (в
большинстве случаев такая функциональность не требуется). В IPv4
указываются адреса основного и дополнительного DNS и WINS серверов.
Установкой соответствующих флажков можно указать на использование
PPTP-подключения как шлюза по умолчанию и активировать сжатие
IP-заголовков. Настройки безопасности производятся в одноименной
вкладке. Здесь указываем, обязательно ли использовать шифрование, и
отмечаем необходимые методы аутентификации. Список "Стратегия VPN"
позволяет указать, какой метод будет использован при подключении к
VPN-серверу. Возможно два варианта: только один протокол или перебор
протоколов до успешной активации соединения. В контексте статьи нас
интересует "Использовать только PPTP" или "Сначала PPTP". Здесь все,
закрываем окно и двигаемся дальше.
Страница "Добавить телефонную книгу" позволяет задать номера, используемые
для подключения к dial-up серверу. При необходимости можно также настроить
автоматическое обновление списка номеров. Страница "Настроить записи удаленного
доступа к сети", а также окно, появляющееся при нажатии "Изменить", сходны по
содержанию с "Создать или изменить". Следующий шаг позволяет модифицировать
таблицы маршрутизации на подключившихся клиентах: в большинстве случаев лучше
оставить "Не изменять таблицы маршрутизации". Если нужно, указываем параметры
прокси для IE. Кроме стандартных установок, мастер позволяет установить
действия, которые могут быть выполнены на разных этапах подключения клиента
(например, запустить программу). Далее задаем значки для разных ситуаций (окна
подключения, телефонной книги и так далее), выбираем файл справки, сведения о
поддержке. При необходимости включаем в профиль диспетчер подключений. Это может
быть полезно для клиентских систем, на которых установлена ОС, не содержащая
диспетчер. Сюда же можно добавить текстовый файл с лицензионным соглашением и
дополнительные файлы, которые будут поставляться с профилем. На этом работа
мастера окончена – в резюме будет показан путь к установочному файлу. Копируем
его в общедоступную папку, чтобы пользователи могли свободно скачать.
Теперь юзерам достаточно запустить исполняемый файл и ответить на
один-единственный вопрос: сделать это подключение доступным для "Всех
пользователей" или "Только мне". После чего значок нового соединения будет
добавлен в "Сетевых подключениях", и появится окно регистрации, в котором
необходимо ввести свой логин и пароль. Очень удобно!
Управление RRAS при помощи Netsh
Некоторыми настройками RRAS-сервера можно управлять при помощи утилиты Netsh
(network shell). Добавить тип проверки подлинности учетной записи можно при
помощи команды:
> Netsh ras add authtype PAP|MD5CHAP|MSCHAPv2|EAP
Для ранних версий Windows еще и MSCHAP|SPAP. Режим проверки:
> Netsh ras set authmode STANDARD|NODCC|BYPASS
Зарегистрировать компьютер как RRAS-сервер в AD:
> Netsh ras add registeredserver
Добавить расширение PPP:
> Netsh ras add link SWC|LCP
Расширение SWC обеспечивает программное сжатие, а LCP активирует одноименное
расширение протокола PPP. Типы многоканальной связи поддерживаемых PPP:
> Netsh ras add multilink MULTI|BACP
Свойства учетной записи задаются следующим образом:
> Netsh ras set user
При помощи "set client" можно просмотреть статистику или отключить клиента.
Сохранить и восстановить конфигурацию RRAS при помощи Netsh также просто:
> Netsh ras dump > "filename"
> Netsh exec "filename"
Кроме этого, очень много настроек содержит контекст "ras aaaa".
Подробно о Netsh смотри в статье "Командный забег в лагерь Лонгхорна" в
февральском номере журнала за 2009 год.
INFO
PPTP был разработан еще до создания стандартов IPsec и PKI и в настоящее
время является самым популярным VPN-протоколом.
Читай о SSTP в статье "Слоеный VPN" (августовский номер Х за 2008 год).
Про настройку PoPToP/MPD читай в статье "Виртуальная сеть для Windows
клиента" в июльском номере Х за 2007 год.
WWW
Протокол PPTP документирован в RFC 2637 -
www.ietf.org/rfc/rfc2637.txt.
MPPE (Microsoft Point-to-Point Encryption) -
www.ietf.org/rfc/rfc3078.txt.
MPPC (Microsoft Point-to-Point Compression) -
www.ietf.org/rfc/rfc2118.txt.
|