Удаленный доступ (Remote Access) на сегодняшний день очень важен. С ростом числа людей, нуждающихся в доступе к информации, хранящейся на домашних и рабочих компьютерах, возможность получать такой доступ из любой точки стала решающей. Прошли те дни, когда люди говорили: «я отправлю вам эту информацию, как только доберусь до своего компьютера». Вам нужна эта информация немедленно, если вы хотите достойно конкурировать в сегодняшнем деловом мире.
В каменном веке компьютеризации способом получения удаленного доступа к своему компьютеру было использование dial-up соединения. RAS dial-up соединения работали через обычные POTS (Простая старая телефонная служба – Plain Old Telephone Service) линии при скорости передачи данных примерно до 56kbps. Скорость была основной проблемой таких соединений, но еще более серьезной проблемой была цена соединения, когда получение доступа требовало больших расстояний.
С ростом популярности сети Интернет, соединения RAS стали использоваться все реже. Причиной этого стало появление соединений по VPN (виртуальная частная сеть). Соединения VPN обеспечивали такую же подключаемость точек между собой, как и соединения dial-up RAS, но делали это быстрее и дешевле, поскольку скорость VPN соединения может быть одинаковой со скоростью подключения к Интернет, а стоимость соединения не зависит от расположения места назначения. Единственное, за что приходится платить, это подключение к Интернет.
Виртуальные частные сети (Virtual Private Networking)
Соединение VPN позволяет компьютеру создавать виртуальное и частное подключение к сети через Интернет. Соединение виртуальное, потому что когда компьютер создает VPN подключение через Интернет, то создающий это подключение компьютер выполняет функцию узла, напрямую подключенного к сети, как если бы он был соединен с сетью посредством кабеля локальных сетей Ethernet. Пользователь имеет такой же доступ к ресурсам, какой он имел бы при прямом подключении к сети с помощью кабеля. Однако в случае VPN подключения клиента к VPN серверу соединение виртуально, поскольку нет действительного подключения Ethernet с местом назначения. VPN соединение частное, поскольку содержание потока данных внутри этого соединения зашифровано, поэтому никто в Интернет не может перехватить и прочесть данные, передаваемые посредством VPN соединения.
Серверы Windows Servers и клиенты поддерживали VPN соединения со времен Windows NT и Windows 95. Хотя клиенты и серверы Windows поддерживают VPN соединения на протяжении десятилетия, тип поддержки VPN эволюционировал со временем. Windows Vista Service Pack 1 и Windows Server 2008 на сегодняшний день поддерживают три типа VPN соединений. Это следующие типы:
- PPTP
- L2TP/IPSec
- SSTP
PPTP – это туннельный протокол от точки к точке. PPTP – это самый простой способ создания VPN соединения, но, к сожалению, он и наименее безопасен. Причина, по которой этот тип наименее безопасный, заключается в том, что мандаты пользователя передаются по небезопасному каналу. Говоря другими словами, шифрование VPN соединения начинается после того, как мандаты были переданы. Хотя действительная информация мандатов не передается между клиентами и серверами VPN, переданные значения хэш-функции могут использоваться опытными хакерами для получения доступа к VPN серверам и подключения к корпоративной сети.
Более надежным является VPN протокол L2TP/IPSec. L2TP/IPSec был совместно разработан компаниями Microsoft и Cisco. L2TP/IPSec более безопасен чем PPTP, поскольку безопасная сессия IPSec создается до того, как мандаты пересылаются по проводам. Хакеры не могут получить доступ к мандатам, а, следовательно, не смогут украсть их, чтобы впоследствии использовать. Более того, IPSec обеспечивает взаимную аутентификацию машин, поэтому неизвестные машины не смогут соединиться с каналом L2TP/IPSec VPN. IPSec обеспечивает взаимную аутентификацию, целостность данных, конфиденциальность и невозможность отказа от авторства. L2TP поддерживает PPP и EAP механизмы аутентификации пользователей, которые обеспечивают высокую безопасность входа, поскольку требуется аутентификация как машины, так и пользователя.
Windows Vista SP1 и Windows Server 2008 на сегодняшний день поддерживают новый тип VPN протокола ‘ Secure Socket Tunneling Protocol или SSTP. SSTP использует зашифрованные в SSL HTTP соединения, чтобы создавать VPN подключения к VPN шлюзам. SSTP безопасен, так как мандаты пользователя не передаются до тех пор, пока безопасный туннель SSL для соединения с VPN шлюзом не будет открыт. SSTP также известен как PPP через SSL, это означает, что вы можете использовать PPP и EAP механизмы аутентификации, чтобы сделать ваше SSTP соединение более безопасным.
Приватный не значит безопасный
Следует отметить, что VPN соединения скорее частные, чем безопасные. Хотя я и признаю, что приватность является основным компонентом безопасности коммуникаций, однако сама по себе не обеспечивает этой безопасности. Технологии VPN обеспечивают частный компонент при соединении через Интернет, который не позволяет посторонним лицам читать содержимое вашей коммуникации. Технологии VPN также позволяют вам быть уверенными в том, что только авторизированные пользователи могут подключаться к данной сети через шлюз VPN. Однако частный компонент, аутентификация и авторизация не обеспечивают всеобъемлющей безопасности.
Допустим, у вас есть сотрудник, которому вы открыли доступ VPN. Поскольку ваш Windows Server 2008 VPN протокол поддерживает EAP аутентификацию пользователя, вы решили создать смарт-карты для ваших пользователей и использовать L2TP/IPSec VPN протокол. Комбинация смарт-карт и протокола L2TP/IPSec позволяет требовать аутентификации пользователя и использования здоровой машины. Ваше решение по использованию смарт-карт и протокола L2TP/IPSec работает отлично, и все довольны.
Все довольны до тех пор, пока однажды один из ваших пользователей не заходит на ваш SQL сервер, чтобы получить бухгалтерскую информацию, и начинает делиться ею с другими сотрудниками. Что произошло? Разве соединение VPN было небезопасным? Нет, VPN соединение было безопасным ровно настолько, чтобы обеспечить частный (приватный) компонент, аутентификацию и авторизацию, но оно не обеспечивало контроля над доступом, а контроль над доступом является одним из основополагающих компонентов компьютерной безопасности. На самом деле можно даже говорить о том, что без контроля над доступом все остальные меры безопасности представляют сравнительно малую ценность.
Для VPN, чтобы быть на самом деле безопасными, вам нужно убедиться в том, что ваш VPN шлюз способен обеспечить контроль над доступом пользователей/групп с тем, чтобы вы смогли открывать необходимый уровень доступа пользователям VPN. Более совершенные VPN шлюзы и брандмауэры, такие как ISA Firewall, могут обеспечивать такой контроль на VPN соединениях. Плюс ко всему, такие брандмауэры, как ISA Firewall, могут обеспечивать проверку адресных пакетов и уровня приложений на клиентских VPN соединениях.
Хотя сервер Windows Server 2008 VPN не обеспечивает контроль над доступом пользователей и групп, есть другие способы, посредством которых вы можете настраивать контроль доступа на самом сервере, если вы не хотите платить за приобретение более совершенных брандмауэров и VPN шлюзов. В данной статье мы заостряем наше внимание только на компонентах VPN серверов.
Зачем использовать новый VPN протокол?
Microsoft уже создали два жизнеспособных протокола VPN, позволяющих пользователям соединяться с корпоративной сетью, так зачем же создавать третий? SSTP – это отличное дополнение для пользователей Windows VPN, поскольку SSTP не имеет проблем с брандмауэрами и устройствами NAT в отличие от протоколов PPTP и L2TP/IPSec. Для того чтобы PPTP работал через устройство NAT, это устройство должно поддерживать PPTP с помощью редактора NAT для PPTP. Если такой NAT редактор для PPTP отсутствует на данном устройстве, то PPTP соединения не будут работать.
L2TP/IPSec имеет проблемы с устройствами NAT и брандмауэрами, поскольку брандмауэру необходимо иметь L2TP порт UDP 1701, открытый для исходящих соединений, IPSec IKE порт, UDP 500 открытый для исходящих соединений, и IPSec NAT порт просмотра-обхода, UDP 4500 открыт для исходящих соединений (порт L2TP не требуется при использовании NAT-T). Большинство брандмауэров в общественных местах, таких как гостиницы, центры конференций, рестораны и т.д. имеют малое количество портов, открытых для исходящих соединений, например, HTTP, TCP порт 80 и HTTPS (SSL), TCP порт 443. Если вам нужна поддержка не только протоколов HTTP и SSL, когда вы покидаете офис, ваши шансы на успешное соединение значительно снижаются. Вы можете и не получить порты, требуемые для протоколов PPTP или L2TP/IPSec.
В отличие от предыдущих протоколов, SSTP VPN соединения проходят по каналу SSL, используя TCP порт 443. Поскольку все брандмауэры и устройства NAT имеют открытый порт TCP 443, вы сможете использовать протокол SSTP где угодно. Это значительно облегчает жизнь путешественникам, которые используют VPN соединения для подключения к офису, а также значительно облегчает жизнь корпоративных администраторов, которым нужно поддерживать путешественников, а также помогать служащим в общественных местах обеспечивать доступ к Интернет в гостиницах, конференц-центрах и т.д.
Процесс соединения SSTP
Далее будет показано, как работает процесс SSTP соединения:
- SSTP VPN клиент создает TCP соединение с SSTP VPN шлюзом между случайным TCP портом источника клиента SSTP VPN и TCP портом 443 шлюза SSTP VPN.
- SSTP VPN клиент отправляет SSL Client-Hello сообщение, указывая на то, что он хочет создать SSL сеанс с SSTP VPN шлюзом.
- SSTP VPN шлюз отправляет сертификат компьютера клиенту SSTP VPN.
- Клиент SSTP VPN подтверждает сертификат компьютера, проверяя базу сертификатов Trusted Root Certification Authorities, чтобы убедиться в том, что CA сертификат, подписанный сервером, находится в этой базе. Затем SSTP VPN клиент определяет способ шифрования для SSL сеанса, генерирует ключ SSL сеанса и шифрует его с помощью SSTP VPN ключа публичного шлюза, после чего отправляет зашифрованную форму ключа SSL сеанса на SSTP VPN шлюз.
- Шлюз SSTP VPN расшифровывает зашифрованный ключ SSL сеанса с помощью личного ключа сертификатов компьютера. Все последующие соединения между SSTP VPN клиентом и SSTP VPN шлюзом будут зашифрованы оговоренным методом шифрования и ключа SSL сеанса.
- SSTP VPN клиент отправляет HTTP через SSL (HTTPS) сообщение запроса на SSTP VPN шлюз.
- SSTP VPN клиент обсуждает SSTP канал с SSTP VPN шлюзом.
- SSTP VPN клиент обсуждает PPP соединение с SSTP сервером. Эти переговоры включают аутентификацию мандатов пользователя посредством стандартного PPP метода аутентификации (или даже EAP аутентификации) и конфигурирование настроек для трафика Интернет протокола четвертой версии (IPv4) или Интернет протокола шестой версии (IPv6).
- Клиент SSTP начинает отправку IPv4 или IPv6 трафика через PPP соединение.
Те, кому интересны характеристики архитектуры VPN протоколов, могут посмотреть их на рисунке ниже. Обратите внимание, что SSTP имеет дополнительный заголовок в отличие от двух других VPN протоколов. Это благодаря дополнительному HTTPS шифрованию, помимо заголовка SSTP. L2TP и PPTP не имеют заголовков уровня приложений для шифровки соединения.
Мы возьмем для примера простую сеть из трех машин, чтобы посмотреть, как работает SSTP. Названия и характеристики этих трех машин следующие:
Vista:
Vista Business Edition
Vista Service Pack 1
Non-domain member
W2008RC0-VPNGW:
Windows Server 2008 Enterprise Edition
Two NICs ‘ Internal and External
Domain member
WIN2008RC-DC:
Windows Server 2008 Enterprise Edition
Domain Controller of MSFIREWALL.ORG domain
DHCP Server
DNS Server
Certificate Server (Enterprise CA)
Обратите внимание, что Vista Service Pack 1 используется в качестве VPN клиента. Хотя в прошлом были обсуждения по поводу Windows XP Service Pack 3, поддерживающей SSTP, дело может закончиться совсем не так. Я недавно установил пробную версию Windows XP Service Pack 3 на тестовый компьютер и не нашел никаких доказательств поддержки SSTP. И это действительно плохо, поскольку на сегодняшний день слишком много ноутбуков используют ОС Windows XP, а факты говорят о том, что Vista слишком медлительна для работы ноутбуков. Возможно, проблемы производительности Vista будут решены с помощью пакета обновления Vista Service Pack 1.
Высокоуровневая конфигурация примерной сети показана на рисунке ниже.
Заключение
В этой статье мы рассмотрели краткую историю соединений удаленного доступа с компьютерными сетями. Затем мы обсудили основные протоколы VPN, поддерживаемые серверами и клиентами Windows, а также некоторые моменты безопасности традиционных протоколов Windows VPN. Далее мы рассмотрели то, как SSTP решает проблемы безопасности и доступности, которые встречаются при работе с протоколами PPTP и L2TP/IPSec. Наконец, мы вкратце взглянули на лабораторную сеть, которая будет использоваться в следующей статье, посвященной совмещению решений простых SSTP VPN клиентов и серверов при использовании Windows Server 2008 и Windows Vista Service Pack 1. До встречи! Том.
Автор: Томас Шиндер (Thomas Shinder)
Источник: msexchange.ru
3 комментов оставлено (Add 1 more)