Top-office11.ru

IT и мир ПК
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Vpn сервер sstp

VPN:Настройка VPN-клиентов для подключения SSTP

Содержание

Windows 7

Типичные ошибки, возникающие при подключении клиента: https://support.microsoft.com/ru-ru/kb/947031 Подключение производится с помощью встроенного клиента операционной системы.

Установка сертификата

  • Нажать комбинацию клавиш Win+R, набрать certmgr.msc и нажать OK.

  • В появившемся окне нажать «Вид» и выбрать «Параметры».
  • В окне «Параметры просмотра» выбрать опцию «физические хранилища» и нажать «ОК».

  • Поочередно выбрать «Доверенные корневые центры сертификации» => «Локальный компьютер» => «Сертификаты».

  • Кликнуть правой кнопкой на сертификаты и поочередно выбрать «Все задачи» => «Импорт…».

  • В первом окне «Мастера импорта сертификатов» нажать «Далее».

  • Во втором окне нажать обзор и выбрать предоставленный сертификат и нажать «Далее».

  • В третьем окне ничего не менять и нажать «Далее».

  • В последнем окне нажать «Готово».

Настройка VPN-клиента

Подключение производится с помощью встроенного клиента операционной системы.

  • Нажать «Пуск» и выбрать «Панель управления».

  • В верху справа в меню «Просмотр» должно стоять «Крупные значки». Если стоит «Категория» или что-то другое, то надо кликнуть и выбрать «Крупные значки».

  • Выбрать «Центр управления сетями и общим доступом».

  • Выбрать «Настройка нового подключения или сети».

  • Выбрать «Подключение к рабочему месту».

  • Выбрать «Использовать мое подключение к Интернету (VPN).

  • В строке «Интернет-адрес» ввести адрес VPN-сервера. Если вам не известен адрес подключения, то его можно посмотреть в сертификате сервера. Как это сделать указано в разделе «Определение адреса подключения». В строке «Имя местоназначения» ввести понятное имя для подключения может быть любым. Поставить галочку «Не подключаться сейчас, только выполнить установку для подключения в будущем».

  • На следующем экране нажать «Создать».

  • На следующем экране нажать «Закрыть».

  • В «Центр управления сетями и общим доступом» выбрать «Изменение параметров адаптера».

  • Выбрать созданное ранее подключение, кликнуть по нему правой клавишей мыши и выбрать свойства.

  • Выбрать «Тип VPN»: SSTP. В опциях внизу оставить галку только на «Протокол Microsoft CHAP версии 2». Нажать «OK».

  • Ввести имя пользователя, пароль и нажать «Подключение».

  • Начать пользоваться ресурсами удаленной сети.

Определение адреса подключения

Кликнуть два раза на сертификате сервера и посмотреть поле «Кому выдан:». Значение этого поля и есть адрес подключения. На приведенном скриншоте это: mikrotik.vetriks.ru.

VPN-сервер SSTP

В интернет-центре Keenetic можно настроить сервер SSTP. Он позволяет организовать удаленное подключение клиентов к локальной сети интернет-центра.

NOTE: Важно! Основным преимуществом туннеля SSTP (Secure Socket Tunnel Protocol) является его способность работать через облако, т.е. он позволяет установить подключение между клиентом и сервером, даже при наличии серых IP-адресов с обеих сторон. Все остальные VPN-сервера требуют наличия белого IP-адреса.
Передача данных в SSTP-туннеле происходит при помощи https-трафика.
Так как сервер SSTP работает через облачные серверы Keenetic Cloud, его скорость зависит от числа пользующихся облаком пользователей и их активности.

Для подключения к SSTP-серверу не требуется установка дополнительных программ в ОС Windows актуальных версий, а в Android потребуется установка дополнительного приложения для подключения к SSTP-серверу интернет-центра. В качестве клиента SSTP может выступать сам Keenetic. Дополнительную информацию вы найдете в статье «Настройка SSTP-клиента».

Для настройки сервера обязательно нужно установить компонент системы «SSTP VPN-сервер». Сделать это можно на странице «Общие настройки» в разделе «Обновления и компоненты», нажав на «Изменить набор компонентов».

После этого перейдите на страницу «Приложения». Здесь вы увидите раздел «VPN-сервер SSTP».

Для работы сервера нужно зарегистрировать интернет-центр в облачной службе KeenDNS, получив имя из домена keenetic.link или keenetic.pro, поддерживающих работу с сертификатом безопасности SSL. Иначе, подключающийся к серверу клиент не сможет установить доверенное https-соединение. Информацию о том как зарегистрировать имя KeenDNS вы найдете в статье «Сервис доменных имен KeenDNS».
Помимо этого, нужно разрешить доступ из Интернета по протоколу HTTPS. Сделать это можно на странице «Пользователи и доступ». В разделе «Удаленный доступ» включите доступ к веб-конфигуратору по протоколам «HTTP и HTTPS» или «Только HTTPS».

Теперь перейдем к настройке сервера SSTP.

На странице «Приложения» нажмите по ссылке «VPN-сервер SSTP».

Выполните настройку сервера.

Параметр «Множественный вход» управляет возможностью устанавливать к серверу несколько одновременных подключений, используя при этом одни и те же учетные данные. Это не является рекомендованным сценарием в связи с понижением уровня безопасности и неудобствами при мониторинге. Однако, при первоначальной настройке, или для случаев, когда требуется разрешить установку туннеля с нескольких устройств одного пользователя, опцию можно оставить включенной.

NOTE: Важно! При выключенной опции «Множественный вход», появляется возможность назначить постоянный IP-адрес для SSTP-клиента. Сделать это можно на странице настройки VPN-сервера в разделе «Пользователи».

По умолчанию в конфигурации сервера включена опция «NAT для клиентов». Эта настройка служит для доступа клиентов VPN-сервера в Интернет. В клиенте, встроенном в ОС Windows, такая функция включена по умолчанию и при установке туннеля запросы в Интернет будут отправляться через него. В случае режима доступа «Через облако» (настройка сервиса KeenDNS), рекомендуем не использовать настройку «NAT для клиентов», поскольку пропускная способность туннеля при облачном подключении может быть ниже, чем пропускная способность подключения к Интернету сервера, либо клиента.

NOTE: Важно! Если отключить функцию «NAT для клиентов» на сервере, но не перенастроить политику маршрутизации по умолчанию в Windows-клиенте, то после установки туннеля на компьютере может не работать доступ в Интернет. Дополнительная информация представлена в статье «Изменение политики маршрутизации VPN-подключения в Windows, при выключенной опции «NAT для клиентов» на сервере».

Читать еще:  Как отключить антивирусник windows 10

В настройках сервера в поле «Доступ к сети» также можно указать отличный от Домашней сети сегмент, если это необходимо. Через туннель в таком случае будет доступна сеть указанного сегмента.

Общее количество возможных одновременных подключений задается настройкой размера пула IP-адресов. Как и начальный IP-адрес, эту настройку не рекомендуется менять без необходимости.

NOTE: Важно! Если «Начальный IP-адрес» попадает в диапазон сети указанного в поле «Доступ к сети» сегмента, включается функция ARP-Proxy, что позволит обращаться к такому VPN-клиенту из указанного локального сегмента. Например, если в поле «Доступ к сети» выбрана домашняя сеть 192.168.1.0 с маской 255.255.255.0 и настройками DHCP-сервера: «Н ачальный адрес пула»: 192.168.1.33, «Размер пула адресов»: 120, вы можете задать «Начальный IP-адрес» VPN-сервера 192.168.1.154, который попадает в диапазон 192.168.1.1-192.168.1.254, и иметь доступ из домашней сети к VPN-клиентам наравне с доступом к локальным устройствам.

В разделе «Пользователи» выберите пользователей, которым хотите разрешить доступ к SSTP-серверу и в локальную сеть. Здесь же вы можете добавить нового пользователя, указав имя и пароль.

После настройки сервера переведите переключатель в состояние Включено.

Нажав на ссылку «Статистика подключений» вы можете посмотреть статус подключения и дополнительную информацию об активных сессиях.

Если вы хотите организовать доступ клиентов не только к локальной сети VPN-сервера, но и в обратную сторону, т.е. из сети VPN-сервера в удаленную сеть VPN-клиента, чтобы обеспечить обмен данными между двумя сторонами VPN-туннеля, обратитесь к инструкции «Маршрутизация сетей через VPN».

TIP: Примечание

Для подключения к серверу в качестве клиента можно использовать:

Windows Server 2012 R2 Remote Access — Настраиваем VPN сервер на использование протокола SSTP

Прошло уже более года, после того как мы начали работу с VPN соединениями на базе протокола L2TP/IPsec и авторизацией через RADIUS . Накопился некоторый опыт использования описанной конфигурации, были выявлены её плюсы и минусы, сделаны определённые выводы. Опираясь на эти выводы, в данной заметке мы продолжим развитие темы настройки безопасных VPN соединений и рассмотрим шаги, необходимые для организации возможности работы по протоколу SSTP (Secure Socket Tunneling Protocol).

Опыт использования L2TP/IPsec VPN показал, что при наличии внятной пошаговой инструкции по подключению, большинство пользователей способны без особых проблем настроить такое VPN-подключение самостоятельно. Но всё-таки всегда остаются индивидуумы, которые умудряются наделать ошибок даже в таких условиях, и поэтому мысль о необходимости упрощения процесса создания VPN-подключения всегда мелькала где-то на заднем фоне. К тому же в ряде ситуаций мы столкнулись с проблемой блокировки некоторых портов, необходимых для L2TP/IPsec VPN, обнаруженной на уровне интернет-провайдеров. Причём иногда дело доходило до абсурда, когда у одного и того-же интернет-провайдера трафик L2TP/IPsec в одном конце города транслировался беспрепятственно, а в другом конце города блокировался. Мы уже даже мысленно поделили для себя зоны разных интернет-провайдеров на сегменты, где L2TP/IPsec VPN будет работать без нареканий, и на зоны, где точно будут проблемы и нам потребуется подумать об альтернативных вариантах доступа к ресурсам локальной корпоративной сети. Помимо этого, были и случаи, когда командированные пользователи и «отпускники», удалённо пытающиеся подключиться через «гостиничный интернет», испытывали проблемы в силу всё тех же проблем с блокировкой нужных портов. Разумеется перед внедрением L2TP/IPsec VPN мы понимали все эти риски и в подавляющем большинстве проблемных ситуаций находилось какое-то обходное решение, но «осадочек» от каждой такой ситуации оставался неприятный.

Я начал вспоминать, почему же ранее мой выбор пал именно на L2TP/IPsec. Определяющих факторов было два – приемлемый уровень безопасности и поддержка более широкого круга клиентских ОС. Помню, что в то время меня заинтересовал протокол SSTP, но было пару факторов, которые заставили меня отстраниться от данной технологии. Во первых, на то время у нас было ещё достаточное количество клиентов на базе Microsoft Windows XP, а в этой ОС протокол SSTP, как известно, не поддерживается. Во вторых, у меня не было возможности использовать публичный сертификат с корпоративными доменными именами для защиты SSTP соединений, а заменять его на сертификат внутреннего выделенного ЦС не было желания, так как это влекло за собой проблемы связанные с распространением его корневого сертификата на интернет-клиентов и публикации списка отзыва сертификатов (Certificate Revocation ListCRL) в Интернет.

Но прошло время, клиентов с Windows XP стало на порядок меньше (усиление корпоративной политики ИБ и агрессивные рекламные компании Microsoft по обновлению ОС сделали своё дело), а у меня появилась возможность работы с публичным сертификатом. К тому же на глаза мне попалась информация о том, что на таких OC, как Linux и Apple Mac OS X, клиентское ПО для поддержки SSTP подключений уже давно вполне успешно эксплуатируется, несмотря на то, что в своё время этому протоколу пророчили «Win-изоляцию» в силу его проприетарности.

Таким образом, совершенно определённо, для нас настало время испытать на практике все преимущества SSTP, в частности возможность работы практически в любых условиях, везде, где только есть возможность использования стандартного Интернет-соединения по протоколу HTTPS (TCP 443). То есть при использовании SSTP, теоретически, у вас нигде не должно возникнуть проблем с VPN подключением, ни из дома (даже при условии использования всяких там NAT-ов и всевозможных кривых настроек местного сетевого оборудования интернет-провайдеров), ни в гостинице (даже при условии использования прокси), ни где быто ни было ещё. К тому же процедура настройки VPN-соединения с использованием SSTP на клиентской системе упрощается до безобразия и не подразумевает манипуляций с цифровыми сертификатами (при условии, что на стороне сервера используется публичный сертификат).

Читать еще:  Как защитить код c
Основные требования к клиентам и их настройка

Если речь вести о клиентских системах на базе ОС Microsoft Windows, то нужно учесть, что SSTP работает на системах начиная с Windows Vista SP1 и более поздних. Для клиентских систем ниже Windows Vista SP1, в том числе и для ещё «живых мамонтов» в виде Windows XP, как и ранее, предполагается использование протокола L2TP/IPsec со всеми вытекающими обстоятельствами, о которых я говорил выше. От использования протокола PPTP, как уже давно скомпрометированного, предлагается отказаться вовсе. Ссылки на обновлённые инструкции по настройке SSTP соединения на клиентских ОС Windows можно найти в конце этой статьи.

Для клиентских систем на базе ОС Linux вполне жизнеспособным себя показывает проект с открытым исходным кодом SSTP-Client. Мной уже подготовлены пошаговые инструкции для не особо искушённых пользователей Linux-систем на примере настройки в Ubuntu Linux 14.04 и 15.04/15.10 .

По поводу клиентских систем на базе ОС Apple Mac OS внятного пока ничего сказать не могу, так как под руками их у меня попросту нет. По имеющейся поверхностной информации можно использовать SSTP-Client (в качестве консольного варианта), а можно использовать созданный на его основе пакет iSSTP с управлением через графический интерфейс. Надеюсь, что в ближайшее время Виталий Якоб нас порадует соответствующей инструкцией пользователя.

Общее для все клиентов требование — клиент SSTP VPN должен иметь возможность проверять списки отзыва сертификатов (CRL) для подтверждения того, что сертификат предоставляемый VPN-сервером не был отозван. Такого рода проверка может быть отключена на стороне клиента, но это не самое лучшее решение с точки зрения безопасности, и его имеет смысл использовать лишь в крайних случаях.

Основные требования к VPN-серверу и его настройка

Серверную часть VPN-соединения в нашем случае будет представлять собой расширение к созданной ранее конфигурации VPN-сервера на базе Windows Server 2012 R2 с ролью Remote Access.

Из основных требований к VPN-серверу, как уже наверно понятно из всего вышесказанного, является наличие на нём установленного сертификата. Получить такой сертификат можно из публичных ЦС и, как правило, такие сертификаты стоят немалых денег. Но есть и бесплатные варианты, например WoSign Free SSL Certificates . Сам я пока опыта общения с таким ЦС не имел, и поэтому будет интересно выслушать Ваши комментарии по этому поводу.

Требования к сертификату VPN-сервера

Важным для SSTP является то, что при генерации запроса на получение сертификата от стороннего публичного ЦС нужно помнить про то, что в запрашиваемом сертификате должна присутствовать политика применения (Extended Key Usage, EKU) — Server Authentication (1.3.6.1.5.5.7.3.1). Само собой для такого сертификата должен быть разрешён экспорт закрытого ключа, так как возможно нам потребуется установка сертификата на несколько VPN-серверов в случае, если, например, используется кластерная конфигурация.

Обязательным требованием к получаемому сертификату является также то, что список отзыва сертификатов (CRL) указанный в сертификате обязательно должен быть доступен в Интернете, так как в самом начале создания SSTP соединения клиентский компьютер будет пытаться проверить не является ли предоставленный VPN-сервером сертификат отозванным. Не будет доступного CRL – не будет SSTP соединения.

Полученный сертификат устанавливается на VPN-сервере в хранилище сертификатов Local ComputerPersonal и должен иметь привязку к закрытому ключу этого сертификата.

Также разумеется, что ЦС выдавшему сертификат должны доверять не только наши VPN-серверы, но и все наши внешние Интернет-клиенты, которые будут подключаться к этим серверам по протоколу SSTP. То есть корневой сертификат (их может быть и несколько) должен присутствовать на всех компьютерах в хранилище сертификатов Local ComputerTrusted Root Certification Authorities. Информацию об этих требованиях можно найти в статье TechNet Library — Configure RRAS with a Computer Authentication Certificate . В большинстве современных клиентских ОС коллекция публичных корневых сертификатов обновляется автоматически при наличии постоянного подключения к Интернет.

Настройка роли Remote Access

После того, как на VPN-сервере установлен сертификат, откроем оснастку Routing and Remote Access и в свойствах сервера VPN на вкладке Security выберем этот сертификат для SSTP в разделе SSL Certificate Binding

Изменение этой опции выведет предложение об автоматическом перезапуске служб RRAS. Соглашаемся с перезапуском служб.

Далее в разделе Ports добавим порты SSTP. В нашем примере под SSTP соединения отдаётся большая часть портов и небольшая часть портов выделяется для клиентов без поддержки SSTP, например Windows XP. Возможность же подключения по протоколу PPTP отключаем совсем.

Информацию о том, как правильно отключить возможность подключения по протоколу PPTP, можно найти в статье Routing How To. Add PPTP or L2TP ports . Пример на скриншоте:

Читать еще:  Телефоны со степенью защиты ip68

После сделанных изменений проверим TCP прослушиватели (TCP Listener) работающие на нашем VPN-сервере. Среди них должен появиться прослушиватель для 443 порта, на который VPN-сервером будут приниматься клиентские подключения по протоколу SSTP:

Не забываем настроить брандмауэр, включив уже имеющееся после установки и настройки роли Remote Access правило Secure Socket Tunneling Protocol (SSTP-In)

Поимо этого можно отключить разрешающее правило для входящих PPTP-подключений на порт TCP 1723 (в конфигурации по умолчанию это правило называется «Routing and Remote Access (PPTP-In)«)

Так как наш VPN-сервер является членом NLB-кластера, нам потребуется дополнительно создать правило разрешающее балансировку порта TCP 443.

Сделанных настроек вполне достаточно для того чтоб наш VPN-сервер смог успешно принимать SSTP подключения.

Проверяем подключение VPN-клиента

На клиентской машине имеющей прямой доступ в интернет по 443 порту настраиваем проверочное VPN-соединение и выполняем подключение…

На стороне сервера при этом убеждаемся в том, что клиент использует один из свободных созданных нами ранее SSTP портов…

Инструкции для пользователей

Как уже отмечалось ранее, для пользователей выполняющих подключение к корпоративным VPN-серверам из Интернет необходимо разработать чёткие пошаговые инструкции. Мне удалось протестировать (и параллельно разработать пошаговые инструкции для пользователей) VPN-подключения в составе следующих операционных систем:

  • Windows XP 32-bit RU SP3
    (Инструкция переписана с учётом использования L2TP/IPsec, но при отсутствии работающего PPTP. Запрос и установка сертификата делаются в два этапа разными скриптами)
  • Windows VistaBusiness 32-bit RU SP2 (SSTP)
  • Windows 7Pro 32-bit RU SP1 (SSTP)
  • Windows 8.1 Pro 64-bit RU (SSTP)
  • Ubuntu Desktop Linux14.04 64-bit (SSTP)
  • Ubuntu Desktop Linux15.04 64-bit (SSTP)
  • Ubuntu Desktop Linux14.10 64-bit (SSTP)

Инструкции в формате DOCX (а также нужными исполняемыми файлами), которые, при желании, вы можете адаптировать под своё окружение можно скачать по ссылке . Часть инструкций доступна для онлайн просмотра и обсуждения на нашем Вики .

Как устроен VPN через SSTP

Нашёл буквально несколько упоминаний о SSTP на Хабре, в связи с чем хочу рассказать про устройство этого протокола. Secure Socket Tunneling Protocol (SSTP) – протокол VPN от Microsoft, основанный на SSL и включённый в состав их ОС начиная с Windows 2008 и Windows Vista SP1. Соединение проходит с помощью HTTPS по 443 порту. Для шифрования используется SSL, для аутентификации — SSL и PPP. Подробнее про устройство — под катом.

Серверная часть протокола включена в ОС Windows Server 2008, 2008 R2, 2012, 2012 R2. Далее рассказывается про текущую (и, кажется, единственную) версию — 1.0.
В основном используется для подключения типа узел-узел или узел-сеть. По умолчанию для соединения используется 443 порт, но можно настроить и на другие порты.

Условная схема пакета с данными

Условно стек протоколов при передаче данных выглядит так (показаны только заголовки, относящиеся к VPN, без подлежащих уровней):

Структура собственно SSTP пакета:

Флаг C = 0 если пакет с данными, и C = 1, если пакет управляющий.

Немного слов об используемой криптографии
Порядок установления соединения

1. Клиентом устанавливается TCP соединение на 443-ий порт SSTP сервера.
2. Проходит установление SSL/TLS соединения поверх TCP соединения. Клиент проверяет сертификат сервера.
3. Проходит HTTPS приветствие.
4. Начинается установление SSTP соединения. Все SSTP пакеты идут внутри HTTPS. Клиент посылает запрос на установление соединения (Call Connect Request message). В этом сообщении передаётся номер протокола, который будет использоваться внутри SSTP; в текущей версии стандарта это всегда PPP.
5. Сервер проверяет запрос и, если всё ОК, отвечает на него подтверждением (Call Connect Acknowledge message), в котором сообщает 32-битное случайное число (ClientNonce), используемое в следующем ответе клиента для защиты от повторения, а так же список хэш-функций для подписи следующего ответа (SHA1 и/или SHA256).
6. Происходит PPP авторизация. Все пакеты PPP вложены в SSTP пакеты и, соответственно, зашифрованы SSL.
7. Клиент посылает Call Connected message, в которое включаются ClientNonce и Хэш сертификата сервера (ClientCertificateHash), полученного при установлении SSL соединения.
Это сообщение подписывается с помощью указанной сервером хэш-функции (точнее HMAC на её основе) и ключа, полученного в процессе PPP авторизации. Таким образом осуществляется cryptographic binding. Если для авторизации в PPP используется протокол, не поддерживающий генерацию ключей для MPPE (PAP или CHAP), то HMAC вычисляется с использованием ключа, равного нулю; т. е. фактически cryptographic binding не производится и описанная выше атака человек посередине возможна.
8. Сервер проверяет Call Connected message, на этом SSTP считается установленным.
9. Заканчивается установление параметров PPP.
Всё, соединение установлено. Дальше стороны обмениваются пакетами с данными.

Обрыв соединения

Что бы отличить простой канала от разрыва связи стороны «пингуют» друг друга. Если в течение 60 секунд обмена пакетами не было, посылается Echo Request (управляющий пакет протокола SSTP). Если в течение следующих 60 секунд нет ответа, соединение разрывается.

Завершение соединения

Завершение соединения происходит без особых нюансов, стороны обмениваются SSTP-сообщениями об окончании соединения и через несколько секунд рвут соединение.

Ссылка на основную публикацию
Adblock
detector
×
×