Долго говорить о самом SSTP Server нет необходимости, информацию о нем можно найти очень много в Интернете. Основное для понимания SSTP — это инкапсулируемый в HTTPs туннельный протокол и соответственно работает на порту 443. Это делает его достаточно доступным из любых сетей передачи данных. Сегодня сложно встретить сети с заблокированным HTTPs.
SSTP — это разработка Microsoft и данный протокол был представлен на Windows Server 2008 и Vista начиная с SP1.
Для шифрования используется SSL, для аутентификации — SSL и PPP. SSL соединение авторизует клиент сервер по SSL сертификату, а сервер клиента по PPP (MS-CHAP, EAP, PEAP). Примерный путь прохождения SSTP соединения:
TCP->SSL->HTTPS->SSTP->PPP->Туннель
Сервер SSTP на MikroTik
Перед началом работ сделаем резервную копию:
FILES --> BACKUP
Создадим пул для адресов VPN клиентов:
IP --> POOL
Создаем профиль SSTP Сервера:
PPP --> PROFILES
Создадим пользователя:
PPP --> SECRETS
Поднимаем сервер сертификации (CA):
Здесь:
Name: Имя центра сертификации (На фантазию)
Country: RU (двухсимвольный код страны)
State, Locatity, Organization, Unit: по желанию
Common Name: VPN IP adress (тут у меня IP адрес сервера, но при наличии реального доменного имени на этот IP можно использовать доменное имя, с учетом того, что клиент будет проверять сертификат и его DNS имя)
Key Size: длина ключа (2048 бит, можно меньше, можно больше)
Days Valid: 3650 (я выбрал 10 лет, тут на выбор)
Далее Key Usage:
Это головной сертификат нашего CA и его роль только подписывать сертификаты выданные им самим. Оставляем только этот функционал: выдача приватных и публичных ключей.
Нажимаем Apply далее Sign:
Создаем сертификат SSTP сервера:
Нажимаем Apply далее Sign и подписываем сертификатом нашего CA:
Запускаем сервер VPN SSTP:
PPP --> INTERFACE --> SSTP SERVER
Сервер SSTP готов.
Убедимся что 443 порт открыт на файерволе. Если нет, открываем:
Подробно останавливаться не буду. Команда через консоль:
ip firewall filter> add chain=input action=accept protocol=tcp dst-port=443
Настройка клиента
Экспортируем сертификат центра сертификации:
SYSTEM --> CERTIFICATES
Забираем файл сертификата из FILES и устанавливаем на компьютер клиента.
Сертификат должен быть помещен в контейнер: Trusted Root Certification Authorities. Можно установить командой:
certutil -addstore Root C:\Path_to\CA.crt
Далее создаем VPN подключение:
Клиент готов. На этом все.
Отличный обзор. Отличный блог. Благодарю.