Введение
Удалённый доступ к домашнему или офисному ПК стал не просто прихотью, а настоящей необходимостью, особенно если ваша работа связана с постоянными командировками. К сожалению, рассмотреть все мыслимые решения удалённого доступа сегодня просто не представляется возможным. Однако общим требованием для них является защита данных (то есть шифрование). Стандартным решением для такого рода задач можно назвать использование технологий виртуальных частных сетей (virtual private network, VPN).
Традиционно для построения VPN использовались протоколы IPsec и PPTP, которые позволяли обеспечивать защищённый доступ мобильных пользователей по шифрованному туннелю. Такие решения позволяли подключать пользователей, присваивать им IP-адрес удалённой сети, то есть фактически делали его полноправным членом сети. Конечно, с учётом ограничений, заданных на сервере VPN.
По своей природе, протоколы VPN очень чувствительны к изменениям в аппаратной части и в сети (особенно это касается IPsec), а также могут требовать установку специализированного ПО. Всё это повышает сложность и усложняет поиск неисправностей, если они возникнут. Вряд ли кому понравиться общаться по телефону с удалённым пользователем, который не может подключиться и не может разобраться в сути проблемы.
Сегодня появилось ещё одно решение удалённого доступа, лишённое многих проблем. VPN на основе протокола SSL (Secure sockets layer) активно завоёвывают эту нишу, в частности, это связано с простотой внедрения по сравнению с традиционными VPN. В большинстве случаев достаточно web-браузера и небольшого апплета или компонента ActiveX для создания туннеля.
Однако не стоит думать, что поддерживается работа только web-приложений. SSL VPN позволяют использовать все те же службы, что и VPN на базе IPsec.
В этом материале мы рассмотрим популярное решение для построения SSL VPN, основанное на открытом исходном коде. Разработкой занимается компания 3SP Ltd, продукт носит название SSL Explorer и позволяет обеспечивать защищённый удалённый доступ к файлам, ресурсам сети, а также обеспечивать удалённое управление ПК, пользуясь web-браузером с поддержкой Java.
Требования и функциональность
SSL Explorer доступен в двух вариантах: базовом – Community и расширенном – Enterprise. Полные списки функций каждой из версий можно найти на сайте разработчика, мы же приведём наиболее интересные.
Community.
- Гибкое управление правами на основе политик;
- нет ограничений на одновременный доступ пользователей;
- удалённый доступ к файловым системам Windows через Windows Explorer;
- функция обратного прокси для web-перенаправления;
- настраиваемые схемы аутентификации;
- удалённый доступ к рабочему столу;
- подключение через любой современный web-браузер;
- отсутствие необходимости в каких-либо специализированных решениях;
- поддержка Wake-On-LAN – удалённого включения ПК;
- поддержка Microsoft Windows XP/2000/2003 и Red Hat Linux 8.0 и выше (другие версии Linux поддерживаются неофициально).
Enterprise (в добавление к описанным выше).
- Поддерживается на коммерческой основе;
- расширенная аутентификация, включая сертификаты SSL, LDAP, открытые ключи;
- двунаправленное раздельное туннелирование;
- подробный аудит и отчёты;
- облегчённые апплеты удалённого управления с поддержкой протоколов SSH1, SSH2, Telnet и VNC;
- интерфейс удалённого управления CLI (alpha) на основе SSL.
Ещё одно важное отличие в клиентах Java VPN версий Enterprise и Community состоит в том, что в клиенте Enterprise соединение больше похоже на VPN через IPsec, а в клиенте Community – на перенаправление портов и туннелирование. Поддержка для обеих версий является платной. Подробнее об этом можно прочитать на сайте 3SP Ltd.
В нашем материале мы рассмотрим версию Community.
Программа SSL Explorer может работать на весьма скромном ПК и создать из него полноценный шлюз SSL VPN. Отметим, что SSL Explorer распространяется на условиях лицензии GPL и написан на Java, поэтому всё, что нужно для его работы, – это Windows 2000/XP/2003 и Java Runtime Environment 5.0 (JRE). Также возможна установка и на дистрибутивы Linux Redhat и Fedora. Но в нашем материале мы остановимся только на платформе Windows.
Всё, что требуется от клиента, – это web-браузер с поддержкой Java, например, Microsoft Internet Explorer или Mozilla Firefox. SSL Explorer, как мы уже отмечали, может работать на очень скромном ПК. Так, для подключения до пяти пользователей достаточно системы Windows XP с 2-ГГц процессором Intel Celeron и 256 Мбайт ОЗУ. В случае использования Linux требования окажутся ещё скромнее.
Готовимся к установке
Версия Community распространяется в виде архива с исходным кодом, который нужно скомпилировать при помощи утилиты Apache ANT, доступной на сайте ant.apache.org. Также потребуется 1.5.0 Java Runtime Environment (JRE), доступная на сайте java.sun.com. Отметим, что необходимо использовать JRE версии не ниже 1.5.0. При этом JRE требуется как для Apache ANT, так и для SSL Explorer.
Сначала нужно скачать и установить JRE, затем Apache ANT. ANT поставляется в архиве без установщика, поэтому нужно лишь распаковать его в любое удобное место, например, в C:Program FilesApache ANT.
Следующим шагом нужно задать переменные окружения для работы исполняемых файлов ANT и Java. Переходим в панель управления Windows, выбираем “Система/System”. В окне “Свойства системы/System Properties”, выбираем закладку “Дополнительно/Advanced”, нажимаем кнопку “Переменные среды/Environment Variables” и делаем следующее:
- Создаём новую системную переменную ANT_HOME, значением которой указываем путь к каталогу с ANT. В нашем случае это C:Program FilesApache ANTapache-ant-1.6.5.
- Создаём ещё одну переменную Java_HOME, значением которой будет путь к каталогу JRE. У нас – C:Program FilesJavajre1.5.0_07.
- Изменяем значение переменной PATH. Добавляем следующую строку:
;%Java_HOME%bin;%ANT_HOME%bin;
Точка с запятой здесь используется для разделения записей PATH. После такой подготовки можно переходить непосредственно к установке SSL Explorer itself.
Установка
Скачиваем SSL Explorer версии Community с sourceforge.net. Распаковываем архив в выбранный каталог. В нашем случае в C:Program Filessslexplorer-0.2.4. После этого нужно скопировать файл tools.jar из каталога C:Program Filessslexplorer-0.2.4sslexplorerlib в C:Program FilesApache ANTapache-ant-1.6.5lib.
Запускаем командную строку (“Пуск/Start” -> “Выполнить/Run”, команда “cmd”). Заходим в каталог SSL Explorer (cd C:Program Filessslexplorer-0.2.4) и выполняем команду для компиляции/установки: ant install.
При этом окно будет выглядеть так, как показано на рис. 1.
Рис. 1. Окно командной строки после завершения компиляции.
Придётся подождать пару минут, пока ANT компилирует исходный код, после чего должен запуститься web-браузер, и перейти по адресу локальной машины на порт 28080. Этот порт используется только для настройки основных параметров. Перед тем, как запускать сервер, нужно настроить хранилище ключей и сертификатов SSL.
При установке SSL Explorer на ПК с активным брандмауэром Windows, придётся, как минимум, однажды столкнуться с сообщением, показанным на рис. 2.
Рис. 2. Сообщение брандмауэра Windows.
Нужно выбрать “Разблокировать/unblock”, если, конечно, вы хотите настроить систему. Если всё прошло гладко, то браузер покажет экран, подобный рис. 3.
Рис. 3. Выбор типа сертификата. Нажмите на картинку для увеличения.
Если ничего не произошло, то можно самостоятельно запустить браузер и перейти по адресу http://127.0.0.1:28080.
Генерация сертификата
Первый шаг настройки заключается в выборе сертификата, который использовать. На рис. 3 показан экран выбора между использованием существующего сертификата и генерацией нового. Сертификат SSL используется для шифрования трафика, передаваемого между системой SSL Explorer и удалённым ПК. Мы сгенерируем собственный неподписанный (untrusted) сертификат (неподписанный на самом деле означает, что он не имеет цифровой подписи конечного центра генерации – Certificate Signing Authority). Перед генерацией сертификата нужно задать пароль для защиты ключа (keystore password), как показано на рис. 4.
Рис. 4. Пароль для защиты ключа. Нажмите на картинку для увеличения.
Далее необходимо задать информацию, идентифицирующую сертификат (рис. 5).
Рис. 5. Генерация сертификата. Нажмите на картинку для увеличения.
База пользователей, Super User, web-сервер
Далее нужно выбрать, откуда получать базу пользователей. SSL Explorer может работать с аутентификацией Active Directory и рядом других механизмов. Мы выберем встроенную систему – “built-in” (рис. 6).
Рис. 6. Настройка базы пользователей. Нажмите на картинку для увеличения.
На следующем этапе нужно создать учётную запись “Super User” (рис. 7), под которой можно будет выполнять административные задачи, включая создание учётных записей новых пользователей.
Рис. 7. Создание учётной записи Super User. Нажмите на картинку для увеличения.
Закончив с этим, мы можем изменить такие параметры web-сервера, как, например, номер порта (рис. 8). Пока мы оставим все значения по умолчанию и перейдём к следующему разделу.
Рис. 8. Экран настройки web-сервера. Нажмите на картинку для увеличения.
Прокси, расширения
На этапе “Настройки прокси/Configure Proxies” (рис. 9) нужно указать, используется ли в вашей сети прокси-сервер (web-прокси). Мы оставили настройки по умолчанию и перешли далее.
Рис. 9. Экран настройки прокси. Нажмите на картинку для увеличения.
Переходим к экрану “Установка корпоративной версии/Install Enterprise Edition” (рис. 10). Поскольку нас пока не интересует настройка корпоративной версии, то и этот экран мы пропускаем.
Рис. 10. Экран настройки. Нажмите на картинку для увеличения.
Затем мы перешли к разделу установки дополнительных расширений “Install other extensions”, где поставили флажок PuTTY (рис. 11). Остальное можете выбирать, как считаете нужным. На следующем этапе мы установим, ещё одно расширение, которого нет в списке – TightVNC.
Рис. 11. Добавляем расширение PuTTY. Нажмите на картинку для увеличения.
Последним этапом установки является страница “Summary” (рис. 12), на которой отображаются все выбранные ранее параметры. Поэтому, если возникло желание изменить какой-то из них, то самое время сделать это. Если же всё указано верно, то нажмите кнопку “Закончить/Finish”.
Рис. 12. Summary. Нажмите на картинку для увеличения.
После того, как увидите экран “Установка завершена/Install Complete” (рис. 13), можно переходить к созданию учётных записей пользователей, установке дополнительного модуля TightVNC и настройке ссылок на необходимые службы.
Рис. 13. Установка завершена. Нажмите на картинку для увеличения.
Добавление пользователей
Перед тем, как переходить к созданию новых учётных записей, нужно установить SSL Explorer в качестве службы, чтобы он автоматически запускался при включении ПК. Для этого в командной строке выполняем следующую команду “ant install-service.”
Примечание. Если какая-то другая программа в вашей системе уже работает на 443 порту, то придётся её остановить.
Для запуска сервера в командной строке нужно выполнить “ant start” (в дальнейшем запуск будет выполняться автоматически). После запуска можно приступать к работе – запускаем браузер и переходим по адресу https://localhost/. Должно появиться окно входа, подобное показанному на рис. 14.
Рис. 14. Окно входа.
Указываем имя и пароль созданной учётной записи “Super User”. После правильного вода имени и пароля появится экран консоли управления.
Рис. 15. Экран консоли управления. Нажмите на картинку для увеличения.
В разделе меню “Контроль доступа/Access Control” щёлкаем по ссылке “Учётные записи/Accounts”, где отобразится список пользователей системы (рис. 16).
Рис. 16. Список пользователей. Нажмите на картинку для увеличения.
Для создания новой учётной записи нужно в правом верхнем углу экрана выбрать “Создать учётную запись/Create Account”. Для примера мы создали учётную запись John Smith (рис. 17).
Рис. 17. Экран создания учётных записей. Нажмите на картинку для увеличения.
Указываем данные нового пользователя. Мы выбрали группу “Пользователи/Users” и нажали кнопку “Добавить/Add”. После этого нужно нажать на кнопку “Сохранить/Save”, и для завершения процесса создания пользователя задать пароль (рис. 18).
Рис. 18. Ввод пароля. Нажмите на картинку для увеличения.
Ещё раз нажимаем на кнопку “Сохранить/Save”, после чего попадаем на экран “Учётные записи/Accounts”, где отображается как учётная запись “Super User”, так и вновь созданная.
Рис. 19. Учётные записи. Нажмите на картинку для увеличения.
Удалённый доступ к файлам SMB/CIFS NAS
На этом этапе мы получили работающий сервер SSL, можно переходить к проверке и пробовать выполнить любые операции. Обратимся к проверке наиболее важной функции – к безопасному удалённому доступу. Нужно настроить перенаправление порта 443 с внешнего интерфейса маршрутизатора на порт 443 компьютера с установленным SSL Explorer. После этого доступ к SSL Explorer будет возможен непосредственно из браузера по внешнему IP-адресу маршрутизатора (WAN), то есть по адресу, выданному провайдером. Напомним, что в некоторых случаях провайдер не выдаёт постоянный адрес. Поэтому, если вы планируете регулярно использовать только что установленную службу и не имеете возможности получить статический адрес от провайдера, мы настоятельно рекомендуем воспользоваться сервисом dynamic DNS или подобным.
Одной из наиболее востребованных задач является удалённый доступ к общим каталогам. Для работы нужно создать ярлык, который будет указывать на службу или приложение, трафик которого будет передаваться по шифрованному туннелю SSL Explorer.
Например, создадим ярлык для внутреннего файл-сервера SMB/CIFS локальной сети с именем ANAKIN. В этом случае, в роли файл-сервера выступает Linksys NSLU2 mini-NAS с двумя дисками USB. Нам нужно организовать доступ через SSL Explorer для трёх ресурсов на ANAKIN. Сначала щёлкаем по ярлыку “Сетевое окружение/Network Places” в разделе меню “Управление ресурсами/Resource Management” (рис. 20).
Рис. 20. Экран сетевого окружения. Нажмите на картинку для увеличения.
В правом верхнем углу выбираем “Создать новый ресурс/Create Network Place” (рис. 21).
Рис. 21. Создать новый ресурс. Нажмите на картинку для увеличения.
Указываем имя и описание ресурса, после чего переходим к следующему экрану, где указываем путь (рис. 22).
Рис. 22. Путь. Нажмите на картинку для увеличения.
После указания пути попадаем на следующий экран, где назначаются права доступа к ресурсу (рис. 23).
Рис. 23. Настройка. Нажмите на картинку для увеличения.
В этом примере мы добавили разрешение для всех, на следующем шаге появится экран с предварительно заданными параметрами ресурса, которые можно изменить (рис. 24).
Рис. 24. Настройка. Нажмите на картинку для увеличения.
Проверяем параметры, и если всё устраивает, то нажимаем “Закончить/Finish”. Создав ярлык, вы снова попадёте в раздел “Сетевое окружение/Network Places” (рис. 25). Как видно, там появились все три ресурса.
Рис. 25. Сетевое окружение. Нажмите на картинку для увеличения.
Поскольку мы уже выполнили вход в систему, можем щёлкнуть по одному из ярлыков, показанных на рис. 25, в результате чего попадём на графический интерфейс, который позволяет передавать файлы и работать с ними. Если же вход не выполнен, то появится страница входа, на которой нужно ввести имя пользователя и пароль, после чего перейти в раздел “Сетевое окружение/Network Places” в меню “Управление ресурсами/Resource Management” и открыть нужный ресурс.
Рис. 26. Экран сетевого окружения.
Для наглядности можно просмотреть Flash-ролик на сайте 3SP, в котором показаны все особенности работы с “Сетевым окружением/Network Places”.
Подключение к удалённому рабочему столу с использованием TightVNC
Работа с общими файловыми ресурсами – лишь один из примеров использования SSL Explorer. Ниже мы покажем способ удалённого доступа к рабочему столу Windows средствами решения, основанного на открытом исходном коде – TightVNC, совмещённом с туннелированием SSL Explorer.
Вы спросите: почему нужно использовать TightVNC, если в SSL Explorer уже есть поддержка RDP? На самом деле, поддержка RDP есть, и вовсе не обязательно использовать TightVNC. К сожалению, не все ОС поддерживают RDP, например Windows XP Home.
Кроме того, RDP является протоколом Windows, а VNC – кросс-платформенным. Другими словами, расширение Windows TightVNC, установленное на компьютер с SSL Explorer, позволит работать не только с Windows, но и с Linux и другими системами, на которые установлен сервер VNC. VNC является решением, основанным на открытом исходном коде, и не требует покупки лицензии, а также его можно самостоятельно изменять по мере необходимости. Кстати, для SSL Explorer есть расширения с поддержкой и других протоколов, таких как Citrix ICA для пользователей серверов Citrix.
Для настройки TightVNC нужно сделать всего три шага.
- Установить поддержку TightVNC в SSL Explorer в разделе “Управление расширениями/Extension Manager”.
- Установить TightVNC на ПК, к которому нужно предоставить удалённый доступ.
- Создать ярлык для подключения SSL Explorer к нужному ПК.
Шаг 1
Скачиваем TightVNC. В архиве есть XML-файл для интеграции с SSL Explorer.
Заходим в раздел “Управление расширениями/Extension Manager” в меню “Конфигурация/Configuration” (рис. 27).
Рис. 27. Экран расширений. Нажмите на картинку для увеличения.
В правом верхнем углу экрана нужно выбрать “Закачать расширение/Upload Extension” (рис. 28).
Рис. 28. Экран закачки расширения. Нажмите на картинку для увеличения.
Нажимаем “Найти/Browse”, выбираем местоположение скачанного TightVNC. Нажимаем кнопку “Закачать/Upload” для установки на SSL Explorer.
Шаг 2
Надо установить TightVNC на ПК, к которому нужен удалённый доступ. ПО можно скачать, например, здесь. После скачивания, нужно установить его на ПК. Убедитесь, что оно установилось как служба. Отметим, что также нужно задать пароль для доступа к серверу TightVNC. Закладка настройки находится в разделе “Показать свойства пользователя/Show current user properties” – рис. 29.
Рис. 29. Настройка TightVNC.
Этот пароль будет нужно указывать при каждом подключении к ПК с клиента VNC (в том числе через SSL Explorer). Рекомендуем отметить “разрешить локальные подключения/allow loopback connections” в разделе администрирования (рис. 30).
Рис. 30. Администрирование TightVNC.
Примечание. SSL Explorer использует порт TCP 443, TightVNC – TCP 5900. На компьютере с серверной частью VNC брандмауэр должен разрешать входящие подключения на порт TCP 5900.
Шаг 3
Создадим ярлык для подключения TightVNC. Выбираем “Приложения/Applications” в меню “Управление ресурсами/Resource Management” (рис. 31).
Рис. 31. Приложения. Нажмите на картинку для увеличения.
Выбираем тип ярлыка. В нашем случае “TightVNC for Windows” (рис. 32).
Рис. 32. Ярлык. Нажмите на картинку для увеличения.
Указываем название и описание ярлыка (рис. 33).
Рис. 33. Описание. Нажмите на картинку для увеличения.
Указываем IP-адрес и порт TightVNC, по умолчанию порт – 5900 (рис. 34).
Рис. 34. Настройки приложения. Нажмите на картинку для увеличения.
Нужно выбрать политику для ресурса. В нашем случае – “Все/Everybody” (рис. 35).
Рис. 35. Политика. Нажмите на картинку для увеличения.
На следующем экране (рис. 36) подтверждаем выбор. Если всё указано верно, то нажимаем “Завершить/Finish”.
Рис. 36. Проверка параметров. Нажмите на картинку для увеличения.
На последнем экране (рис. 37) нужно подтвердить создание ярлыка. Нажимаем “Завершить работу мастера/Exit Wizard”, после чего возвращаемся в главное меню.
Рис. 37. Подтверждение настроек. Нажмите на картинку для увеличения.
Проверяем работу Remote Desktop
В правом верхнем углу экрана нажимаем “Выход/Logout” для завершения сеанса Super User. Выполняем вход от имени только что созданного пользователя (в нашем случае John Smith). После входа видим список доступных ярлыков “My Favorites”, в котором показаны все установленные приложения.
Рис. 38. Консоль пользователя. Нажмите на картинку для увеличения.
Экран, показанный на рис. 38, – именно то, что увидит пользователь при работе с SSL Explorer. Выбираем TightVNC, после чего SSL Explorer запустит клиента Java VPN, настроит туннель и запустит клиента TightVNC для удалённого подключения к рабочему столу ПК. Если всё настроено правильно, то появится экран входа TightVNC, где нужно указать соответствующий пароль (рис. 39).
Рис. 39. Аутентификация TightVNC.
После аутентификации появится окно рабочего стола. На рис. 40 показан пример.
Рис. 40. Удалённый рабочий стол TightVNC. Нажмите на картинку для увеличения.
Для наглядной демонстрации настройки можно просмотреть Flash-ролик на сайте 3SP, в котором показаны основные этапы настройки удалённого администрирования. Несмотря на то, что в ролике показана настройка SSL Explorer со встроенным клиентом RDP, основные параметры для TightVNC будут те же. Более подробно о TightVNC можно почитать на сайте tightvnc.com.
Заключение
SSL Explorer является прекрасным шлюзом удалённого доступа для домашней сети или для сети небольшого офиса. Система позволяет предоставлять удалённый доступ к данным и приложениям. При этом обеспечивается простота настройки и надёжность. Что касается функциональности, то она также оказалась на высоте, хотя за рамками нашей статьи осталась огромная часть функций.
Надеемся, этот материал поможет избежать мучений с настройкой IPsec и PPTP и сделать выбор в пользу SSL VPN. Возможно, теперь не придётся ходить на работу из-за каждой мелочи, а решать задачи, не выходя из дома?
Дополнительная информация
Хотя 3SP не даёт бесплатную поддержку SSL Explorer Community Edition, на сайте компании и SourceForge доступно немало материалов.
- На странице SourceForge, посвящённой SSL Explorer, доступно большое количество документации.
- На SourceForge находится форум пользователей SSL Explorer
- Кроме роликов по настройке сетевого окружения и удалённого рабочего стола, на сайте 3SP есть и другие ролики.
Итоговая информация | |
Продукт | 3SP Ltd. SSL Explorer Community Edition SSL VPN 0.2.4 |
Итог | Многофункциональный сервер SSL VPN, основанный на открытом ПО |
Преимущества | – Простота установки и настройки – Работа через любой web-браузер с поддержкой Java – Требует открыть для Интернета только один порт – Широкие возможности настройки – Бесплатная версия |
Недостатки | – Некоторые возможности доступны только в платной версии Enterprise – Ограниченная поддержка |