Windows 7 и Windows Server 2008 R2: новое в сетевых возможностях
Сергей «grinder» Яремчук (grinder@synack.ru)
В операционках от Microsoft, недавно ушедших «на золото», появилось несколько новых сетевых функций, способных упростить работу мобильных и филиальных пользователей, а также значительно улучшить производительность в загруженных сетях. Причем в соответствии с концепцией «Better Together» новинки будут доступны только при «правильном» сочетании ОС, то есть когда в качестве клиентской системы будет выступать Win7, а серверной — Win2k8R2.
Содержание:
- Прозрачный доступ к внутренней сети с DirectAccess
- Развертывание End-to-Edge DirectAccess
- Супер кэш BranchCache
- Transparent Caching и Offline Files
- Заключение
- Врезка: Еще больше возможностей
- Боковые выносы
Прозрачный доступ к внутренней сети с DirectAccess
Долгое время для подключения «из вне» к ресурсам внутренней сети компании использовались VPN подключения по протоколам PPTP, L2TP, IPsec, SSTP, SSL, SSH. Но личный опыт показывает, что одни из решений сложны в настройке, вторые проблемно работают через NAT-устройства, третьи для подключения и переподключения требуют от юзера выполнения определенных действий и ожидания проверки подлинности. Технология выполняет функции VPN и упрощает процесс подключения удаленному пользователю и настройки админу. Как только будет обнаружено соединение с интернет, клиент DirectAccess устанавливает подключение к корпоративной сети в фоновом режиме, причем абсолютно прозрачно для пользователя и даже до его входа в систему. В случае обрыва соединения переподключение производится также автоматически. То есть юзверь теперь не должен задумываться о том, куда нажать, и что дальше делать. Как только ему понадобится информация из удаленного офиса, он тут же ее сможет получить. Не менее важно, что интернет-трафик идет по прямому пути, не затрагивая DirectAccess подключение. Большинство же реализаций VPN пропускают через себя весь трафик, в том числе и внешний, что увеличивает нагрузку на канал. Такая возможность в DirectAccess реализуется за счет использования механизма NRPT (Name Resolution Policy Table), который позволяет указать, какие DNS-сервера использовать в каком случае. При обращении к корпоративным ресурсам клиент направит запрос к корпоративному DNS-серверу, в остальных — разрешение имен производится обычным образом через DNS’ы провайдера. Используя настройки, администратор вообще может запретить или ограничить внешний трафик.
Технология DirectAccess позволяет гарантировать, что все подключения соответствуют установленным политикам безопасности (наличие последних обновлений, антивирусного ПО и так далее), для этого DirectAccess интегрируется с технологией контроля доступа к сети — Network Access Protection (подробнее о NAP читай в декабрьском номере ][ за 2008 год). Соединение устанавливается с использованием протокола IPsec и IPv6. Протокол IPsec для шифрования трафика использует алгоритмы 3DES или AES. При необходимости для аутентификации пользователя могут быть задействованы смарт-карты. Учитывая, что IPv6 пока не получил широкого распространения, а использование IPsec по ряду причин может быть не возможно, DirectAccess кроме "чистой" IPv6/IPsec среды поддерживает другие сетевые сценарии, обеспечивающие работу без IPsec и/или IPv6, автоматически перебираются возможные туннели: IPv6-over-IPv4, 6to4, Teredo и наконец IP-HTTPS. Администраторы могут напрямую подключаться к клиентским системам, использующим DirectAccess, для управления ими, даже если пользователь еще не вошел в систему. Кроме того, DirectAccess предоставляет возможность по максимуму использовать новинки, появившиеся в Win7 - Federated Search (поиск данных во внутренней сети), Folder Redirection (автоматическая синхронизация папок на нескольких системах), централизованное хранение настроек и данных пользователя.
Подключение производится следующим образом. Клиент DirectAccess на компьютере пользователя, работающего под управлением Win7, пытается соединиться с внутренним веб-сервером, если он получает доступ, клиент понимает, что находится в интранет, процесс инициализации DirectAccess останавливается. Иначе производится подключение по одному из указанных выше протоколов (перебираются последовательно) с сервером DirectAccess - Win2k8R2, который одновременно является шлюзом, обеспечивающим доступ к ресурсам корпоративной сети. При этом с использованием IPsec ESP (Encapsulating Security Payload, инкапсуляция зашифрованных данных) устанавливается два туннельных соединения:
-
туннель, соединяющий клиентскую систему с DNS-сервером и контроллером домена, находящимся в корпоративной сети, поднимается до входа пользователя в ОС и обеспечивает применение групповых политик. Для обеспечения соединения используется сертификат компьютера.
-
туннель, обеспечивающий доступ пользователя к ресурсам внутренней сети, при соединении используются сертификаты компьютера и учетных данных зарегистрировавшегося пользователя.
Настройки на сервере DirectAccess позволяют контролировать ресурсы и приложения, к которым может получить доступ пользователь.
В зависимости от используемых протоколов и наличия в сети серверов Win2k8, клиенты могут подключиться к корпоративной сети одним из двух способов:
-
End-to-End - производится прозрачное защищенное подключение через сервер DirectAccess к *каждому* внутреннему серверу, к которому имеются права доступа (как доменные, так и предоставленные сервером DirectAccess). Этот способ считается наиболее безопасным, но возможен только при использовании внутри сети протоколов IPv6 и IPsec, в качестве серверных ОС подходят только Win2k8 и Win2k8R2.
-
End-to-Edge - менее защищенный вариант, в этом случае клиент устанавливает защищенное подключение со шлюзом IPsec (может быть и шлюзом DirectAccess), который уже обеспечивает доступ к серверам внутри сети. Внутренний трафик не шифруется (как и в VPN), поэтому такой вариант считается менее безопасным, но для его реализации нет необходимости переводить интранет на IPv6, а сервера на Win2k8R2.
Учитывая, что во многих организациях используются серверные ОС разного поколения, вариант End-to-Edge, вероятно, будет наиболее востребован в ближайшее время. Помимо всего прочего, он не требует изменения структуры и настроек во внутренней сети, более прост в развертывании. Для повышения доступности в сети возможно использование нескольких серверов DirectAccess с балансировкой нагрузки.
Поскольку применение DirectAccess для внедоменных компьютеров невозможно, стоит отметить новую функцию семерки - "VPN Reconnect", которая будет полезна, когда используется VPN. В случае отключения от сети, соединение будет произведено автоматически и прозрачно, что очень актуально для пользователей мобильных компьютеров, работающих через WiFi. Для определения подключения используется расширение IKEv2 (Internet Key Exchange) к IPsec.
Развертывание End-to-Edge DirectAccess
Чтобы установить DirectAccess, понадобится сервер под управлением ОС Win2k8R2, клиентские системы — только Win7/2k8R2. На других компонентах сети: контроллере домена, DNS- и DHCP-сервере можно использовать Win2k8R2 или Win2k8SP2. Кроме того, в домене должна быть развернута инфраструктура управления открытыми ключами PKI (Public Key Infrastructure), а на сервере DirectAccess функционировать два сетевых интерфейса. Для упрощения будем считать, что все системы установлены, роли «Active Directory Domain Services» (при этом активируется DNS-компонент), «Active Directory Certificate Services» и «DHCP Server» настроены, на сервере DirectAccess функционирует «Web Server (IIS)», компьютеры заведены в домен, необходимые учетные записи созданы.
В настройках роли «DHCP Server» на шаге «Configure DHCPv6 Stateless Mode» выбираем «Disable DHCPv6 stateless mode for this server» и в следующем окне «Authorize DHCP Server page» отмечаем «Use current credentials». В «Active Directory Users and Computers» создаем отдельную группу для пользователей DirectAccess. В настройках «Windows Firewall with Advanced Security» предписываем правила, разрешающие входящие и исходящие ICMPv4/ICMPv6 «Echo Request» пакеты. Осталось исключить протокол ISATAP (Intra-Site Automatic Tunnel Addressing Protocol) из DNS блок-листа (по умолчанию в него включены WPAD и ISATAP), введя команду:
> dnscmd /config /globalqueryblocklist wpad
После этого в списках останется только WPAD (Web Proxy AutoDiscovery).
DirectAccess является компонентом системы (Features), и процесс его установки стандартен. Вызываем Диспетчер сервера (Server Manager), выбираем «Add Features» и отмечаем «DirectAccess Management Console», подтверждаем появившийся запрос на установку дополнительных компонентов. По окончании установки соответствующая вкладка появится в Диспетчере сервера, также в меню «Administrative Tools» будет доступна консоль «DirectAccess Management» (DAMgmt.msc).
В первом окне DAMgmt хочу обратить внимание на ссылку «Checklist: Before you configure DirectAccess», выбор которой откроет окно документа, где расписаны все шаги, необходимые для того, чтобы DirectAccess заработал. Консоль предлагает два меню: Setup и Monitoring. Для дальнейшей настройки переходим в Setup. Если все требования выполнены, мы увидим упрощенную схему сети с указанием дальнейших шагов (Step1…Step4), иначе будут выведены предупреждения о том, что нужно выполнить. Устраняем и нажимаем кнопку «Retry», чтобы проверить правильность выполненных настроек.
Шаг первый — «Remote Clients», нажав кнопку Configure, находящуюся в одноименной области, вызываем мастер настройки клиента. Далее жмем Add и указываем группу Active Directory, куда входят компьютеры, работающие через DirectAccess. На следующем шаге — «DirectAccess Server» — щелкаем по Configure. В появившемся окне будут схематически показаны сетевые подключения к серверу DirectAccess. Здесь требуется указать, к какому из них подключены WAN и LAN. Кнопка Detail покажет подробные настройки по интерфейсам. Флажок внизу «Require smart card login for remote users…» активирует функцию аутентификации пользователей по смарт-картам. В следующем окне — «Certificate Components» — выбираются корневой и HTTPS-сертификаты, которые будут использоваться соответственно для проверки сертификатов и соединения. По окончании нажимаем кнопку Finish. На третьем шаге «Infrastructure Servers» настраиваются все сервера, которые будут задействованы в работе DirectAccess. Первый этап настройки — «Location», здесь указываем имя HTTPS-сервера, к которому будет обращаться клиент для определения своего местоположения (WAN или LAN). Обычно в этом качестве выступает веб-сервер компании, поэтому отмечаем «Network Location Server is run on highly» и в поле пишем URL вида https://server.ru/. Если эту роль будет играть сам сервер DirectAссess, то перемещаем флажок в нижний чекбокс и выбираем в списке сертификат сервера. Далее мастер определяет DNS и DC сервера, которые будут использоваться DirectAссess для разрешения внутренних имен. Если визард допустил ошибку, поправляем настройки вручную. На этапе «Management» (опционально) указываются сервера, которые будут управлять клиентскими подключениями (например NAP). И на последнем шаге «Application Servers» настраиваются серверы приложений, к которым будут получать доступ клиенты DirectAссess. Так как мы выбирали схему End-to-Edge, то оставляем переключатель в положении «Require no additional end-to-end authentication». Нажимаем Save и после сохранения настроек выходим нажатием Finish, проверяем установки в окне Review и подтверждаем их щелчком по Apply. Начнется процесс конфигурирования политик, который займет некоторое время. Обновляем на клиентах групповые политики и сетевые настройки:
> gpupdate > net stop iphlpsvc > net start iphlpsvc
Все, конфигурирование DirectAссess завершено, клиенты теперь могут подключаться к корпоративной сети из любого места.
Одним из способов уменьшения нагрузки на внешний канал является кэширование данных. Если пользователь запрашивает некоторый объект (например, файл или веб-страницу), который есть в кэше, то он получает его практически мгновенно. Технология BranchCache как раз и реализует такую возможность, но в отличие от классических кэширующих серверов, к которым мы привыкли, имеет свои особенности. Так BranchCache может быть настроен в одном из двух режимов:
-
Distributed Cache (Распределенный кэш) — этот режим по работе напоминает P2P-сети: клиентские компьютеры под управлением Win7 локально кэшируют копии файлов и по запросу пересылают их другим системам, расположенным в одной LAN. Такой режим не требует наличия в сети сервера Win2k8R2, достаточно просто включить функцию BranchCache на клиентских системах. Для поиска файла используется широковещательный запрос.
-
Hosted Cache (Размещенный или централизованный кэш) — для централизованного хранения копий данных используется сервер Win2k8R2, которому клиенты пересылают скачанные файлы. Другие клиенты, запрашивающие это содержимое, получают его из размещенного кэша.
Вариант Distributed Cache подходит только для сравнительно небольших сетей. Учитывая, что в качестве Hosted Cache хранилища может выступать сервер, выполняющий другую роль (в том числе и Server Core), в разветвленных сетях лучше выбрать этот вариант. В таком случае повышается доступность данных, и снизится объем широковещательного трафика.
Работает BranchCache следующим образом. Первому обратившемуся пользователю сервер вместе с файлом передает уникальный хэш, полученные данные на клиентской стороне кэшируются (отправляются на Hosted Cache сервер). При повторном обращении к данным сервер проверяет права пользователя, если ему разрешен доступ, анализируется возможное наличие в кэше. В случае, если такое подтверждается (хэш есть), то вместо повторной передачи файла клиенту отдается только хэш, по которому клиент находит файл в локальной сети и получает его из кэша. В плане безопасности разработчики изрядно потрудились: при передаче информации BranchCache использует SSL, IPsec и подпись пакетов SMB.
Процесс настройки BranchCache как в Win7, так и в Win2k8R2 довольно прост. На клиентской стороне необходимо активировать службу BranchCache, указав режим работы. Это можно сделать при помощи редактора групповых политик: gpedit.msc — Administrative Templates — Network — BranchCache. По умолчанию под кэш выделяется 5% дискового пространства, изменить это значение можно при помощи политики «Set percentage of disk space used for client computer cache». Активация политики «Configure BranchCache for network files» позволит оптимизировать SMB-трафик.
Посредством команды Netsh настройки выглядят еще проще. Так для активации режима распределенного кэширования вводим:
> netsh branchcache set service mode=distributed
При этом будет активирована как сама служба, так и установлены соответствующие правила Windows Firewall. При использовании другого брандмауэра или GPO следует открыть порты 80, 443 и 3702. Для Hosted Cache дополнительно указываем сервер, на котором будет производиться кэширование:
> netsh branchcache set service mode=hostedclient \ location=cache.synack.ru
Проверить текущий статус и настройки службы BranchCache просто:
> netsh branchcache show status all
На сервере вначале необходимо при помощи Диспетчера сервера установить компонент BranchCache. Или в консоли:
> DISM.exe /Online /Enable-Feature /FeatureName:PeerDist
Затем указать режим работы службы кэширования:
> netsh branchcache set service mode=hostedserver \ clientauthentication=domain > net stop peerdistsvc > net start peerdistsvc
По умолчанию кэш располагается на системном разделе, предпочтительнее использовать другой раздел диска, для этого к вызову «set service mode» добавляем «set localcache directory=D:\Branchcache\Localcache«. Изменить размер кэша можно при помощи параметра «set cachesize«:
> netsh branchcache set cachesize size=20 persent=true
Теперь под кэш отведено 20% раздела жесткого диска. И обновим все параметры:
> netsh branchcache flush
После активации BranchCache будет автоматически кэшироваться и SMB-трафик. Чтобы изменить настройки для сетевых папок, нужно вызвать консоль «Share and Storage Manager», выбрать папку и во вкладке Caching свойств установить/снять флажок «Enable BranchCache».
Transparent Caching и Offline Files
Появлением BranchCache тема кэширования данных в новых окнах не исчерпана. Представим себе ситуацию: пользователь открыл файл на сетевом ресурсе, отредактировал его и закрыл. Затем несколько раз повторил эту операцию. Каждый раз программа загружала документ с удаленного ресурса, при этом нагружая сеть и заставляя пользователя ждать. В Win7/2k8R2 появилась функция прозрачного кэширования (Transparent Caching), по сути напоминающая кэш браузера, но работающая с файлами, открываемыми по SMB. При повторном открытии файла проверяется, изменялся ли исходный файл на источнике, если нет, то он выдается из локального кэша, без повторной его передачи по сети. Для сохранения целостности данных измененный файл всегда передается на удаленную систему. Важный момент: если сервер не доступен, пользователь не сможет получить файл из кэша.
В быстрых сетях Transparent Caching по умолчанию отключен, чтобы активировать данную функцию, следует применить групповую политику: GPOEdit — Computer configuration — Administrative Templates — Network — Offline Files — Enable Transparent Caching. После активации в поле «Enter Network latency…» указываем время задержки в сети (в миллисекундах), после превышения которого файлы будут открываться в режиме Transparent Caching.
Функцией Offline Files, наверное, пользуются многие еще со времен Win2k, она обеспечивает полную синхронизацию сетевых папок между сервером и клиентом, причем процесс происходит в фоновом режиме и абсолютно прозрачен для пользователя. Когда пользователь подключен к сети, все изменения между сервером и клиентом автоматически сохраняются, при редактировании данных в Offline режиме файлы синхронизируются автоматически при подключении к сети. В Win7 появился новый режим Slow link, предназначенный для медленных сетей. Синхронизация данных в Slow link производится по расписанию, указанному в политике «Configure Background Sync», а не постоянно. В группе политик «Offline Files» настраиваются и другие параметры, связанные с кэшированием:
- Default cache size — размер кэша;
-
Action on server disconnect — установка Work Offline разрешит использование локального кэша при недоступности сервера;
- Files not cached — расширения файлов, которые не будут кэшироваться.
И многие другие. Некоторые из групповых политик относятся к более ранним версиям Windows, поэтому следует быть внимательным и учитывать поле «Supported On».
Новые возможности, появившиеся в ОС Win7/2k8R2, позволяют повысить производительность работы и уменьшить нагрузку на сеть. Использование вместо традиционного VPN-решения технологии DirectAccess сделает процесс управления мобильными системами более удобным, а процесс подключения/переподключения к корпоративным ресурсам прозрачным. При этом новые функции довольно просто активируются. Осталось дождаться массового перехода на Win7/2k8R2.
Врезка: Еще больше возможностей
В Vista для настройки приоритета трафика появились новые возможности в виде Policy-based и qWAVE (Quality Windows Audio-Video Experience) QoS, позволяющие устанавливать приоритет трафика для приложений, учетных записей, компьютеров, протокола, IP-адресов, а также потокового аудио/видео. Но если на одном IP-адресе размещается несколько сервисов (например веб-сайты), то определить приоритет для каждого совсем не просто. В Win7/2k8R2 в настройках групповых политик (Computer Configuration — Windows Settings — Policy-based QoS) для конкретного правила можно указать адрес ресурса (URL-based QoS).
Клиенты DNS в новых системах поддерживают расширение DNSSEC (DNS Security Extensions), описанное в документах RFC 4033, 4034, 4035 и используемое для проверки целостности DNS-записей. Такая подпись, сделанная авторитетным DNS-сервером зоны, позволяет убедиться в том, что запись не изменена, и предотвратить атаки типа man-in-the-middle.
Помимо всех перечисленных новшеств, не следует забывать о SMB 2.0, который появился еще в Vista/Win2k8 и имеет большую скорость обмена данными, по сравнению с первой версией протокола. SMB 2.0 поддерживает символические ссылки, подпись сообщений SHA-256 и кэширование свойств файла.
INFO
-
Настройка службы защиты сетевого доступа NAP рассмотрена в декабрьском номере ][ за 2008 год, в статье "Сетевой коп".
-
Обзор возможностей Win2k8R2 читай в статье "Новое явление длиннорога", опубликованной в июньском номере ][ за 2009 год.
-
Служба BITS (Background Intelligent Transfer Service), предназначенная для фоновой передачи файлов (например, обновлений ОС), теперь умеет использовать кэш BranchCache, что может позитивно сказаться на эффективности работы в сегменте сети, где включен BranchCache.
WWW
- Страница, посвященная Win2k8R2 на TechNet —
- Страница, посвященная DirectAccess —
WARNING
- Использование DirectAccess для внедоменных компьютеров невозможно.
VIDEO
-
В видеоролике мы покажем, как установить и настроить компоненты DirectAccess, BranchCache в Win2k8R2, а также познакомимся с групповыми политиками, связанными с Transparent Caching и Offline Files.
Статья опубликована в ноябрьском номере журнала «Xakep» за 2009 год.





