Основные принципы функционирования протокола РРТР
В настоящий момент самым распространенным протоколом для построения виртуальных ceтей является РРТР. Он был принят в качестве предварительного стандарта Internet, поддерживается различными фирмами-разработчиками, в том числе Microsoft, и обладает следующими достоинствами:
может обеспечивать доступ к услугам виртуальных частных сетей, компьютерам, которые имеют только стандартные средства удаленного доступа;
обеспечивает поддержку популярных протоколов сетевого уровня, передавая их пакеты через туннель;
позволяет использовать для организации виртуальных частных сетей существующее оборудование удаленного доступа;
имеет средства управления потоком данных.
Технология РРТР базируется на протоколах РРР, TCP и GRE (Generic Routing Encapsulation – общий метод инкапсуляции для маршрутизации) Все они являются стандартами Internet.
В любую виртуальную частную сеть, построенную с помощью технологии PPTP, входят:
клиент удаленного доступа;
сервер удаленного доступа провайдера;
сервер РРТР.
Только в том случае, когда и клиент, сервер РРТР имеют прямое подключение к локальной сети, сервер удаленного доступа провайдера не требуется. Этот способ подключения не будет рассматриваться, так как не предназначен для решения проблемы безопасного удаленного доспута, а используется для обеспечения безопасности информации в локальных сетях.
Наиболее типичным случаем использования технологии РРТР является подключение удаленного клиента к серверу РРТР с помощью локального (по отношению к клиенту) провайдера услуг Internet (рис. 2.7). Клиент соединяется с сервером удаленного доступа провайдера, который использует протоколы TCP/IP для передачи данных через Internet. После того, как установлено это первоначальное соединение, клиент инициирует дополнительное соединение, используя для этого уже установленное.
Для передачи данных через дополнительное соединение используются IP-пакеты, содержащие инкапсулированные РРР-пакеты. После установления вторичного соединения образуется туннель (на рис. 2.7 показан толстой линией), и виртуальная частная сеть начинает функционирование. Данный метод требует поддержки РРТР удаленным клиентом и поддержки протокола РРР сервером провайдера.
Если клиент удаленного доступа не имеет средств РРТР (например, это компьютер Microsoft Windows NT 3.51, или Microsoft Windows 95, или программное обеспечение удаленного доступа других фирм), то поддержку технологии РРТР должен обеспечить сервер удаленного доступа провайдера. В этом случае он должен выполнять функции клиента РРТР, участвуя в организации туннеля. Пограничными системами туннеля будут являться сервер удаленного доступа провайдера и серее РРТР (рис. 2.7, нижняя часть).
Особенности архитектуры
Для того, чтобы обеспечить безопасную передачу данных через виртуальную частную сеть, в технологии РРТР применяются три следующих средства:
протокол РРР;
управляющее соединение РРТР;
инкапсуляция данных.
Протокол РРР используется для связи клиента с сервером удаленного доступа провайдера. При этом, как обычно, протокол РРР обеспечивает:
установление, поддержание и разрыв звена передачи данных;
аутентификацию удаленного пользователя или компьютера;
передачу пакетов протокола IP в кадрах РРР.
Рис. 2.7. Топология виртуальной частной сети
Для взаимодействия между пограничными устройствами туннеля в стандарте PPTP предусмотрены управляющие сообщения. Эти сообщения предназначены для того, чтобы устанавливать, поддерживать и разрывать туннель. Сообщения с указанием их функций приведены в табл. 2.2.
Таблица 2.2. Сообщения РРТР
Управляющие сообщения пересылаются в поле данных сегментов протокола TCP. Между клиентом PPTP и сервером PPTP устанавливается соединение по протоколу TCP. Это соединение используется для обмена управляющими сообщениями. Пакеты, которые передаются через это соединение, содержат заголовок протокола IP, заголовок протокола TCP и управляющее сообщение РРТР (рис. 2.8).
Рис. 2.8. Формат управляющего сообщения PPTP
Следует заметить, что если клиент удаленного доступа не имеет поддержки РРТР, то в процессе обмена управляющими сообщениями он не участвует. Так как в этом случае сервер удаленного сообщения должен выполнять функции пограничного устройства, то именно он будет обмениваться управляющими сообщениями с сервером РРТР.
После установки туннеля происходит обмен данными пользователя между клиентом и сервером РРТР. Данные передаются в пакетах протокола IP, которые содержат в поле данных кадры протокола РРР. Для инкапсуляции пользуется модифицированная версия протокола GRE. Пакет протокола IP, созданный средствами РРТР, показан на рис. 2.9.
Внешний заголовок РРР предназначен для транспортировки пакетов протокола IP через линия передачи данных между клиентом и сервером удаленного доступа провайдера. Заголовок IP предназначен для маршрутизации пакета через сеть TCP/IP. Заголовок GRE используется для того, чтобы разместить кадр РРР внутри пакета IP. Кадр РРР, инкапсулированный с помощью GRE, создается средствами клиента удаленного доступа. Данные, которые содержатся в нем, представляют собой пакет какого-либо Протокола сетевого уровня могут быть зашифрованы.
Обеспечение безопасности
Протокол РРТР позволяет использовать все средства аутентификации и шифрования, доступные компьютерам, поддерживающим связь по протоколу РРР. Кроме того, можно настроить сервер РРТР так, чтобы он игнорировал любые пакеты, кроме пакетов РРТР.
Сервер удаленного доступа провайдера может потребовать проведения аутентификации от клиента (чаще всего для подсчета времени сеанса связи с последующим внесением в счет к оплате). При этом метод аутентификации определяется возможностями клиента и сервера, а также политикой безопасности, принятой на них.
Сервер PРТР отвечает за безопасность доступа к локальной сети и поэтому проводит аутентификацию всех клиентов РРТР сразу после установки туннеля. При этом используются стандартные протоколы аутентификации РРР. Например, если на сервере РРТР используется служба Windows NT RAS, то могут применяться протоколы CHAP и РАР. При этом, как обычно, для аутентификации используется база данных пользовательских бюджетов Windows NT, упpaвляeмaя с помoщью пpилoжeния User Маnager for Domains и обеспечивающая централизованное управление. Следует заметить, что удаленный сеанс, организованный с помощью РРТР, более уязвим программ, которые с помощью повторяющихся попыток подбирают сочетание “имя пользователя-пароль”. Поэтому особенно важным является правильное использование политики бюджетов, с помощью которой можно установить блокировку бюджета после определенного количества неудавшихся попыток регистрации и предписать выбор трудных для угадывания паролей, которые должны содержать буквы в обоих регистрах, цифры и специальные символы.
При шифровании данных используется способ, реализованный в конкретной системе удаленного доступа. В самом стандарте РРТР такой способ не предусмотрен. Например, в службе Windows NT RAS используется процесс шифрования с помощью известного обеим сторонам соединения пароля, в качестве которого служит пароль пользователя. Другие методы шифрования используют технологию общего ключа.
Таким образом, технология РРТР использует алгоритм шифрования, который реализован фирмой-разработчиком средств удаленного доступа в качестве расширения протокола РРР. Для согласования технологии шифрования между клиентом и сервером используется один из протоколов группы NCP – протокол ССР (Compression Control Protocol – протокол управления сжатием).
Имя пользователя и пароль доступны как на клиенте РРТР, так и на сервере РРТР, так и на сервере PPTP. Сорокабитный ключ шифрования для сеанса генерируется из хэшированного пароля. При этом используется стандарт RSA RC4. С помощью этого ключа шифруются все данные, отправляемые через Internet, что обеспечивает безопасность удаленного соединения.
Данные в кадре РРР шифруются. Кадр РРР, содержащий блок зашифрованных данных, помещается в поле данных пакета IP для отправки на сервер РРТР через Internet. Если злоумышленник сможет перехватить этот пакет, то он сможет распознать только заголовок кадра в формате той физической сети, где был перехвачен пакет, заголовок IP, и заголовок РРР, за которым следует блок зашифрованных данных. Расшифровать эти данные он не сможет.
Для того чтобы повысить безопасность системы, можно задействовать фильтрацию пакетов РРТР. Фильтрация предусматривает блокирование сервером удаленного доступа предприятия любого другого трафика, приходящего из сети общего пользования или уходящего в нее, кроме трафика РРТР. Это позволяет обеспечить обмен данными с внешним миром только с помощью виртуальных частных сетей, обеспечивающих аутентификацию удаленных узлов и шифрование данных.
Управляющие сообщения РРТР используют порт протокола TCP с номером 1723, а для передачи инкапсулированных кадров РРР используется идентификатор протокола в заголовке IP, равный 47. Это позволяет использовать технологию РРТР вместе с большинством маршрутизаторов и межсетевых экранов. Для этого достаточно разрешить прохождение данных, предназначенных для ТСР-порта с номером 1723 и данных с идентификатором протокола 47.
Применение межсетевых экранов позволяет значительно повысить общий уровень информационной безопасности в локальной сети, подсоединенной к Internet. Организация может разместить свой сервер РРТР в локальной сети, защищенной межсетевым экраном. При этом сервер РРТР будет принимать от межсетевого экрана пакеты, полученные из Internet, извлекать из них кадры РРР, расшифровывать пакеты IP из поля данных этих кадров и отправлять эти пакеты компьютерам в локальной сети, для которых они предназначены.
2.5.4. Реализация в программныхсредствах фирмы Microsoft
Компьютер, предназначенный для использования в качестве сервера РРТР, должен соответствовать минимальным требованиям к техническим средствам для Windows NT Server версии 4.0. Кроме того, если компьютер выполняет роль шлюза, то он должен иметь два адаптера локальной сети. Один из них подключается к Internet, другой – к локальной сети организации. Одним из основных достоинств стандарта РРТР является то, что он устраняет необходимость в наличии специализированного оборудования удаленного доступа на сервере РРТР. Модемы и адаптеры ISDN размещаются на сервере удаленного доступа провайдера и на клиентах удаленного доступа.
Процедуры, необходимые для развертывания виртуальной частной сети на базе технологии PPTP на компьютерах соперационными системами Microsoft Windows NT и Windows 95, кратко описаны ниже.
Сервер РРТР должен включать в себя следующие компоненты:
операционную систему Windows NT Server;
адаптеры локальных сетей (один или более);
протоколы TCP/IP с их привязкой к адаптерам и назначенными статическими адресами;
сетевые протоколы, используемые в виртуальных частных сетях, с их привязкой к адаптору, подлюченному к локальной сети организации;
установленную и сконфигурированную службу RAS.
Для того, чтобы установить РРТР на сервер, необходимо выполнить следующие действия:
установить поддержку протокола РРТР; при установке следует указать количество поддерживаемых сервером виртуальных частных сетей (туннелей);
добавить логические устройства виртуальных частных сетей (рис. 2.10); устанавливаемые устройства должны быть сконфигурированы для использования в режиме Receive calls only (только входящие звонки).
Конфигурирование сервера РРТРвключает в себя две фазы: настройку метода аутентификации и настройку фильтрации РРТР.
Настройка метода аутентификации и режима шифрования данных, пересылаемых через Internet. Аутентификация удаленного клиента и шифрование данных обеспечиваются средствами протокола РРР. Для этого требуется сконфигурировать каждое из установленных логических устройств виртуальных частных сетей. Этот процесс ничем не отличается от настройки параметров шифрования для обычных устройств удаленного доступа, например, модемов. Процедура настройки была описана в разделе 2.3.3. Следует выбрать вариант “Require Microsoft encrypted authehtication” (“Требовать аутентификацию с использованием алгоритма Microsoft”). Это заставляет службу Windows NT RAS производить аутентификацию удаленных клиентов только с использованием метода MS-СНАР. Кроме того, флажок “Require data encryption” (“Требовать шифрование данных”) обязывает сервер обмениваться с удаленным клиентом только зашифрованными данными;
Настройка фильтрации РРТР (рис. 2.11). Фильтрация позволяет блокировать прием пакетов, отличных от пакетов РРТР. Если сервер имеет несколько адаптеров локальной сети, то фильтрацию РРТР следует включить на том, через который устанавливаются туннели. Другими словами, если удаленные клиенты получают доступ к локальной сети организации через Internet, то следует включить фильтрацию РРТР на адаптере, который подключает сервер РРТР к Internet. Следует заметить, что после включения фильтрации никакие пакеты, кроме принадлежащих РРТР, в локальную сеть из Internet не проходят. Это относится и к служебным средствам ТСР/IР (включая команду ping, предназначенную для проверки связи между локальным удаленным узлами, и команду traceroute предназначенную для построения списка маршрутизаторов, находящихся на пути следования пакетов от локального узла к удаленному), поэтому диагностика в такой конфигурации будет затруднена.
В качестве клиента РРТР можно использовать любой компьютер с установленной на нем операционной системой Windows NT Workstation версии 4.0, Windows NT Server версии 4.0, Windows 95 или Windows 98. Минимальные требования к техническим средствам клиента PPTP сооветствуют минимальным требованиям соответствующей операционной системы. Кроме того, требуется дополнительное оборудование для поддержки удаленного доступа (модем или адаптер ISDN) и подключение к линии.
Рис. 2.11. Настройка фильстрации пакетов PPTP
Для клиента РРТР использующего Windows NT должны быть установлены следующие компоненты:
операционная система Windows NT Workstation версии 4.0 или Windows NT Server версии 4.0;
протоколы TCP/IP;
служба RAS;
устройство удаленного доступа (модем или адаптер ISDN), сконфигурированное для использования службой RAS.
Для того, чтобы установить средства клиента РРТР на Windows NT, необходимо выполнить следующие действия:
установить поддержку протокола РРТР; при установке следует указать количество поддерживаемых сервером виртуальных частных сетей (туннелей);
добавить логические устройства виртуальных частных сетей; устанавливаемые устройства должны быть сконфигурированы для использования в режиме Dial out only (только исходящие звонки).
Конфигурирование клиента РРТР на Windows NT включает в себя две фазы, описанные ниже.
Создание записи для сервера удаленного доступа провайдера (рис. 2.12). Ничем не отличается от создания записи для доступа к Internet через этого провайдера. В качестве устройства, через которое будет устанавливаться соединение, следует выбрать реальное устройство удаленного доступа (модем или адаптер ISDN). Параметры записи (например, сжатие передаваемых данных, метод аутентификации, адрес сервера DNS) зависят от настройки сервера удаленного доступа провайдера.
Рис. 2.12. Создание записи для доступа к провайдеру
Создание записи для сервера РРТР (рис. 2.13). В качестве устройства, через которое будет устанавливаться соединение, следует выбрать логическое устройство виртуальной частной сети. Вместо телефонного номера, на который производится звонок, указывается адрес Internet сервера PPTP. Если этот адрес внесен в службу доменных имен DNS (Domian Name System), то можно указать имя. Параметры записи (например, используемые сетевые протоколы, сжатие и шифрование передаваемых данных, метод аутентификации) должны соответствовать настройкам сервера.
Рис. 2.13. Создание записи для доступа к серверу РРТР
Технология L2F
Фирма Cisco Systems предложила технологию для организации виртуальных частных сетей. Протокол получила название L2F (Layer 2 Forwarding – пересылка второго уровня) и был принят в качестве предварительного стандарта Internet. Фирмы Northern Telecom и Shiva Corporation заявили о поддержке стандарта. Кроме того, было предложено выработать объединенный стандарт, совместимый как с L2F, так и с РРТР, который называется L2TP (Layer 2 Tunneling Protocol – туннельный протокол второго уровня). Отличительными особенностями L2F являются:
возможность применения различных протоколов удаленного доступа для связи клиента с сервером провайдера (не только РРР, но и SLIP и других протоколов);
возможность применения различных протоколов сетевого уровня для переноса данных через туннель (не только IP).
Традиционная служба удаленного доступа предусматривает обеспечение аутентификации пользователей самим сервером провайдера, возможно, с использованием протокола удаленной аутентификации. Если реализована технология L2F, то сервер удаленного доступа провайдера использует аутентификацию только для того, чтобы определить, какой удаленный узел обратился к нему, и с каким сервером виртуальной частной сети ему следует связаться, так как сервер провайдера может производить учет времени связи и вести протокол каждого сеанса. При этом проверка пароля не производится. После того, как сервер провайдера свяжется с сервером виртуальной частной сети, сервер виртуальной частной сети проводит аутентификацию с помощью стандартных (или, возможно нестандартных) протоколов аутентификации удаленного доступа на основании информации, которую получил от удаленного узла сервер провайдера. Кроме того, сразу после установки туннеля механизм обеспечения безопасности L2F генерирует для него уникальный случайный ключ, что помогает предотвратить подмену пакетов. Может быть также реализовано шифрование пакетов средствами инкапсулирующего протокола L2F.
В случае использования традиционной службы удаленного доступа на сервер возлагается обязанность поддержания учетной записи (профиля) для каждого удаленного пользователя. Как указывалось ранее, для этих целей может использоваться протокол удаленной аутентификации. В профиль могут включаться фильтры портов и адресов, разрешенное время доступа, максимальная продолжительность сеанса и так далее. Все это может усложнять процесс регистрации и замедлять работу сервера удаленного доступа. В случае применения протокола L2F эта обязанность перекладывается на сервер виртуальной частной сети, что позволяет разгрузить сервер провайдера и сделать систему управления доступом в целом более гибкой, так как позволяет поддерживать только те атрибуты профиля, которые для нее необходимы.