Быстрый и безопасный удаленный доступ к локальной сети

Программа удалённого администрирования — программа или функция операционной системы, позволяющая получить удалённый доступ к компьютеру через Интернет или локальную сеть и производить управление и администрирование удалённого компьютера в реальном времени. Программы удалённого администрирования предоставляют почти полный контроль над удалённым компьютером: они дают возможность удалённо управлять рабочим столом и всей операционной системой компьютера, возможность копирования или удаления файлов, установки и запуска приложений и так далее.

Большинство хостинг-провайдеров за определённую плату предоставляет клиентам доступ к их домашнему каталогу по SSH. Это может быть удобно как для работы в командной строке, так и для удалённого запуска программ (в том числе графических приложений).

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 25 октября 2018 года; проверки требуют 26 правок.

Особенности версии 5.2, используемой в Windows Server 2003 SP2 и в Windows XP SP3:

  • Поддержка 32-битного цвета (в дополнение к 8-, 15-, 16- и 24-битному в предыдущих версиях);
  • Возможность использовать 128-битовое шифрование по алгоритмам RC4, AES или 3DES с проверкой целостности хешем MD5 или SHA1, по умолчанию не используется, значение безопасности RDP в Windows 2003 по умолчанию — RC2 (56 бит) c хешем MD5 с откатом на DES (40 бит) (из-за слабого шифрования RC2 и DES при использовании настройки по умолчанию трафик может быть расшифрован по пути, см. тип уязвимости «man-in-the-middle vulnerability»);
  • Поддержка Transport Layer Security (только при использовании шифрования RC4, AES или 3DES), по умолчанию не включена;
  • Звук с удалённого ПК переадресовывается и воспроизводится на локальном компьютере;
  • Позволяет подключать локальные ресурсы к удалённой машине (mapping);
  • Позволяет использовать локальный или сетевой принтеры на удалённом ПК;
  • Позволяет приложениям, выполняющимся в пределах текущего сеанса, обращаться к локальным последовательным и параллельным портам;
  • Можно обмениваться информацией через буфер обмена.

В Windows Vista используется версия 6 протокола RDP, в Windows Server 2008 — версия 6.1, в Windows 7 — версия 7 (по умолчанию, в SP1 можно обновить), в Windows 8 — версия 8.

Так как RDP по умолчанию создаёт виртуальные консоли, то для подключения не к ним, а непосредственно к консоли 0 (основная консоль-мышь/клавиатура) нужно запустить RDP-клиент с параметром console.

Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики.
Продолжая посещать сайты проектов вы соглашаетесь с нашей
Политикой в отношении файлов cookie

Нельзя сказать, что задача удаленного доступа к устройствам в домашней локальной сети является очень распространенной и, вероятно, большая часть пользователей с ней даже никогда не встречалась. Однако все чаще в локальной сети появляются устройства и сервисы, с которыми хотелось бы работать удаленно. В качестве примера можно назвать сетевые накопители с библиотекой файлов, видеокамеры, устройства домашней автоматизации. В некоторых случаях может быть достаточно предоставляемых производителями собственных реализаций облачного доступа или даже просто проброса портов на роутере. Но если таких устройство много, существенно удобнее иметь возможность прямого обращения ко всей сети сразу, что может быть обеспечено сервисами VPN. Кроме того, этим технологии помогут и объединить две или несколько сетей в одну с прозрачным обменом данными между ними.

В данной публикации нет задачи максимально подробно рассказать про все распространенные протоколы VPN и их особенности. Сосредоточимся преимущественно на практической стороне вопроса сценария подключения удаленного клиента и попробуем сравнить разные варианты по удобству и производительности.

Сервисы VPN сегодня все чаще встречаются в прошивках беспроводных роутеров и, пожалуй, наибольшее их число представлено в решениях Keenetic, так что именно они и будут использованы в статье. Заметим, что если говорить именно о скорости, очень многое в данном случае зависит и от аппаратной платформы роутера и от программной реализации. Причем второй аспект может быть даже важнее. Кроме того, поскольку прошивки обычно закрытые, то и доступные через Web-интерфейс набор параметров серверов может отличаться. Влияние на производительность, конечно, оказывают и настройки сервисов. В данной статье я обычно использовал заданные производителем значения по умолчанию.

Также стоит отметить, что конкретно у решений Keenetic есть очень подробная база знаний на сайте, в статьях которой приводятся примеры настройки и использования дополнительных сервисов, включая все описанные в статье.

Так что по сути, если взять по одному представителю на каждом чипе, можно охватить всю линейку роутеров компании в описываемой задаче, поскольку Wi-Fi, порты USB и объемы памяти здесь не существенны.

Для теста использовались устройства Keenetic City KN-1510 (младшая из двухдиапазонных) и Keenetic Ultra KN-1810 (старшая модель на данный момент).

Напомним, что прошивки у данного производителя модульные, так что в общем случае каждый пользователь может собрать свой уникальный вариант из требуемых сервисов и функций. Однако если для старших моделей с флешпамятью большой емкости можно не переживать про объем, то для младших ситуация существенно сложнее. В частности в данном тестировании приходилось добавлять на Keenetic City не более двух серверов за один раз. Кроме того, при анализе результатов не забываем, что эта модель имеет только 100 Мбит/с порты, что в определенных режимах будет выступать ограничением.

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

Тестирование проводилось с прошивками версии 3.3.16. Режим подключения к Интернет – IPoE. В тестировании оценивалась скорость доступа внешнего клиента к компьютеру внутри локальной сети за роутером.

PPTP и L2TP

Одни из наиболее известных протоколов для реализации удаленного доступа – PPTP и L2TP. Первый уже считается небезопасным, хотя продолжает использоваться из-за невысокой требовательности к ресурсам. Заметим, что в нем предусмотрен как вариант без шифрования трафика, так и с ним. Одной из особенностей данного решения является использование специального протокола туннелирования, который часто бывает заблокирован домашними провайдерами, что приводит к невозможности использования данного типа подключения. Кроме того, используемые алгоритмы шифрования обычно не «ускоряются» специальными блоками в SoC.

Второй запомнился, прежде всего, использованием в сети одного из крупных отечественных провайдеров и отсутствием его поддержки у недорогих роутеров многих производителей.

Штатные клиенты для этих протоколов существуют во многих операционных системах, включая мобильные, что упрощает настройку подключения. Заметим, однако, что для L2TP обычно используется вариант L2TP/IPSec, в котором кроме привычного имени и пароля пользователя нужно также указать и общий ключ. Он и будет протестирован в этот раз.

Подключить сервисы несложно – после установки соответствующих модулей необходимо в меню «Управление» — «Приложения» включить серверы.

Кроме того, для PPTP можно разрешить подключения без шифрования, а для L2TP/IPSec необходимо установить общий секретный ключ.

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

При настройке клиентов необходимо указать внешний адрес роутера (IP или имя хоста, что можно реализовать, например, через KeenDNS), аккаунт пользователя, для L2TP/IPSec – дополнительно общий секретный ключ. При работе с PPTP и штатным клиентом Windows необходимо учесть описанные в статье базы знаний особенности.

Читайте также:  Shared hosting Cpanel что это такое - и нужен ли он вам!? | Sprintsite

Keenetic City в PPTP без шифрования показывает близкие к скорости портов результаты. Хотя, вероятно, мало кого устроит незащищенное от перехвата данных подключение. Использование MPPE в PPTP снижает показатели примерно до 30 Мбит/с, что, в целом, очень неплохо для относительно недорогой модели (напомню, что сходные цифры будут и на самом младшем устройстве текущей линейки). Что касается L2TP/IPSec, то здесь можно рассчитывать не более чем на 10 Мбит/с, поскольку в данном случае применяется шифрование DES, а в Keenetic City оно не поддерживается аппаратно.

Заметно более мощная платформа Keenetic Ultra показывает и более высокие результаты: до 300 Мбит/с в PPTP без шифрования и в среднем около 80 Мбит/с в PPTP с шифрованием и L2TP/IPSec.

Итого мы видим, что данные реализации обеспечивают хорошую производительность, за исключением L2TP/IPSec на младшей модели, и просты в настройке благодаря стандартным клиентам.

OpenVPN

Следующий по распространенности в серверах домашних роутеров протокол VPN – OpenVPN. Благодаря реализации с открытым исходным кодом на базе библиотеки OpenSSL, данный протокол очень часто встречается в совершенно разных продуктах, а найти под него клиента не составляет труда для большинства операционных систем.

Протокол использует через стандартные соединения TCP или UDP и позволяет выбрать порт. Так что работать с ним можно будет практически в любой ситуации.

В роутерах Keenetic нет отдельного пункта «сервер OpenVPN», данный тип соединений настраивается в разделе «Интернет» — «Другие подключения». Кроме того, потребуется настроить еще несколько опций в других местах (в частности правила для межсетевого экрана), а в некоторых случаях – и в консоли. На сайте поддержки Keenetic этому протоколу посвящено несколько подробных материалов. При определенном опыте, можно реализовать одновременное обслуживание сервером нескольких клиентов. Но это будет явно сложнее, чем простое добавление пользователей в общий список доступа. Для тестов использовался стандартный клиент для Windows с сайта OpenVPN.

По скорости на младшей модели мы получаем до 10 Мбит/с, а на старшей – примерно в два с половиной раза больше. Данный протокол, вероятно из-за своей гибкости, имеет определенные сложности работы через «ускорители», так что скорость работы принесена в жертву универсальности. Впрочем, на других SoC (в частности, топовых Broadcom) его реализация показывает в несколько раз более высокие результаты.

Данный вариант можно рекомендовать сторонникам открытого программного обеспечения и тем, кому требуется максимальная гибкость настройки сервисов. В плюсах также возможность работы по стандартным TCP/UDP соединениям и любым портам.

SSTP

Относительно недавно был представлен VPN-протокол SSTP, основанный на SSL. Его преимуществом является работа через HTTPS и стандартный порт 443. Так что в общем случае, можно считать, что он способен легко проходить через межсетевые экраны и прокси. Первоначально он был интегрирован в ОС семейства Windows, но сегодня встречается и на других платформах.

Реализация данного сервера в Keenetic интересна тем, что позволяет осуществлять удаленный доступ без белого адреса на роутере – через сервис Keenetic Cloud с шифрованием на всем пути. Заметим, что при работе через облако Keenetic Cloud, по своей сути, невозможно обеспечить гарантированную скорость доступа, поскольку нагрузка зависит от числа пользователей и их активности. В тестах использовалось прямое подключение и штатный клиент в Windows.

Настройки в данном случае также очень простые. После обязательной регистрации на KeenDNS, получения сертификата SSL, разрешения доступа к роутеру из Интернет по HTTPS идем в «Управление» — «Приложения» и включаем VPN-сервер SSTP. В параметрах можно разрешить множественный вход, выход в Интернет через роутер, выбрать выдаваемые пользователям адреса, а также указать разрешенные для этого сервиса учетные записи.

В целом результаты аналогичны предыдущему участнику – до 10 Мбит/с на младшей модели и до 30 Мбит/с на старшей.

Основным плюсом данного сервиса является работа по стандартному протоколу HTTPS и возможность использования через облачный сервер без наличия белого адреса на роутере. Минус – необходимость использования сторонних клиентов на отличных от Windows операционных системах.

IPSec

Эта группа протоколов, пожалуй, наиболее часто упоминается для решения задачи объединения сетей у «больших компаний на серьезном оборудовании». Основной проблемой при работе с IPSec для обычных пользователей является сложность настройки, так что на наш взгляд, его использование с домашним оборудованием является уделом хорошо подготовленных сотрудников ИТ-отделов или энтузиастов. С другой стороны, его реализация в Keenetic присутствует, а на сайте поддержки есть соответствующие статьи базы знаний. Потратив немного больше времени, чем с другими участниками, вполне можно настроить его работу со стандартным клиентом Windows.

Как и для OpenVPN, работа с IPSec осуществляется в разделе «Интернет» — «Другие подключения».  Набор параметров явно не для новичка в сетевых технологиях. Нужно выбрать вариант идентификации, опции для двух фаз осуществления соединения, маршруты и так далее. Непросто настроить и соединение со стороны клиента. Можно конечно попробовать действовать «по картинкам», но если что-то пойдет не так, разобраться, не имея определенной базы знаний, будет сложно. Посмотрим, стоила ли игра свеч с точки зрения скорости.

Судя по результатам – вполне. Младшая модель способна обеспечить защищенное соединение со скоростью порядка 50 Мбит/с, а старшая работает в три раза быстрее. Да, конечно это решение не для всех, учитывая сложности настройки. Скорее данный тип соединения будет интересен для сценария объединения сетей, а не подключения удаленных клиентов.

Кстати, в прошивках Keenetic есть и специальный сервер IPSec (Virtual IP), который позволяет легко настроить доступ к роутеру и локальной сети за ним с мобильных устройств на Android и iOS через их штатные клиенты. В нем используется общий ключ и учетная запись пользователя. Остальные параметры установлены автоматичеки по требованиям совместимости с клиентами.

WireGuard

Еще один новый игрок в сегменте VPN-сервисов – протокол WireGuard. Можно сказать, что ему буквально на днях исполнилось два года. Он похож на OpenVPN по своему статусу программного обеспечения с открытым исходным кодом. При этом авторы WireGuard постарались сосредоточиться на использовании современных технологий и протоколов согласования ключей и шифрования и обойти узкие места других реализаций. Это позволило существенно сократить объем кода, оптимизировать скорость и реализовать решение в виде модуля для ядра Linux. В настоящий момент есть клиенты для всех распространенных операционных систем для компьютеров и мобильных устройств.

Сложность настройки в текущей реализации Keenetic можно оценить как среднюю. Сервис заводится в разделе «Интернет» — «Другие подключения» и позволяет также объединять сети, а не только подключать удаленных клиентов. Сначала производится генерация пары ключей (закрытого и публичного) для сервера. На тоже клиенте будет проведена аналогичная операция. В настройках пиров нужно будет указывать публичные ключи второй стороны. Также на стороне роутера присутствует выбор номера порта, подсетей и другие параметры. В случае вопросов, лучше обратиться на сайт поддержки Keenetic, где описаны процедура настройки этого сервиса. Кроме того, потребуется настройка правил межсетевого экрана и маршрутизации. В случае необходимости выхода удаленного клиента в Интернет через роутер нужно будет поработать и в консоли. В фирменном клиенте для Windows конфигурация задается в виде текстового файла. Параметры аналогичны настройкам в роутере. При необходимости на стороне сервера можно запрограммировать несколько пиров, что позволит одному серверу обслуживать одновременно несколько клиентов.

Читайте также:  Как сделать и разместить статический сайт на Gatsby в Yandex.Cloud / Хабр

Тестирование показало, что данных протокол выступает по скорости очень хорошо и его результаты сравнимы с традиционным IPSec. Младшая модель способна показать 40-50 Мбит/с, а старшая – 150-220 Мбит/с.

Заключение

Все рассмотренные протоколы удаленного доступа имеют свои уникальные особенности и выбор будет зависеть от условий и требований пользователя, включая уровень подготовки и тип операционной системы на клиенте. С точки зрения простоты настройки оптимальным универсальным вариантом можно считать L2TP/IPSec. Однако на младших моделях он все-таки небыстрый, так что и PPTP найдется место. SSTP имеет смысл в случае отсутствия белого адреса на роутере. Если же хочется скорости, то стоит посмотреть в сторону WireGuard, но нужно будет потратить немного больше времени на настройку. OpenVPN и IPSec выберут те, кто уже знаком с этими протоколами и умеет с ними обращаться.

  • RDP клиенты удаленного доступа для Linux. Блог компании Селектел (8 сентября 2020). Дата обращения: 4 февраля 2021. Архивировано 1 марта 2021 года.
  • Description of the Remote Desktop Connection 7.0 client update for Remote Desktop Services (RDS) for Windows XP SP3, Windows Vista SP1, and Windows Vista SP2. Дата обращения: 15 апреля 2013. Архивировано 11 марта 2015 года.
  • The Microsoft Platform: Remote Desktop Protocol 10, zoom option to support remoting into Windows 7 with hiDPI client. Microsoft.com. Дата обращения: 12 января 2015. Архивировано 1 августа 2015 года.
  • Remote Desktop Protocol (RDP) 10 AVC/H.264 improvements in Windows 10 and Windows Server 2016 Technical Preview. Microsoft.com. Дата обращения: 12 января 2016. Архивировано 17 августа 2016 года.

Техническая информация о протоколеПравить

  • Аутентификация по паролю наиболее распространена. При каждом подключении подобно https вырабатывается общий секретный ключ для шифрования трафика.
  • При аутентификации по ключевой паре предварительно генерируется пара открытого и закрытого ключей для определённого пользователя. На машине, с которой требуется произвести подключение, хранится закрытый ключ, а на удалённой машине — открытый. Эти файлы не передаются при аутентификации, система лишь проверяет, что владелец открытого ключа также владеет и закрытым. При данном подходе, как правило, настраивается автоматический вход от имени конкретного пользователя в ОС.

Для создания общего секрета (сеансового ключа) используется алгоритм Диффи — Хеллмана (DH). Для шифрования передаваемых данных используется симметричное шифрование, алгоритмы AES, Blowfish или 3DES. Целостность передачи данных проверяется с помощью CRC32 в SSH1 или HMAC-SHA1/HMAC-MD5 в SSH2.

Для сжатия шифруемых данных может использоваться алгоритм LempelZiv (LZ77), который обеспечивает такой же уровень сжатия, что и архиватор ZIP. Сжатие SSH включается лишь по запросу клиента, и на практике используется редко.

История и разработка

В декабре 1995 года Юлёнен основал SSH Communications Security для продвижения и разработки SSH. Первоначальная версия программного обеспечения SSH использовала различные части бесплатного программного обеспечения, такие как GNU libgmp, но более поздние версии, выпущенные SSH Communications Security, превратились во всё более проприетарное программное обеспечение.

Было подсчитано, что к 2000 году количество пользователей выросло до 2 миллионов.

«Secsh» было официальным названием группы инженеров Интернета (IETF) для рабочей группы IETF, ответственной за версию 2 протокола SSH. В 2006 году обновлённая версия протокола SSH-2 была принята в качестве стандарта. Эта версия несовместима с SSH-1. SSH-2 отличается как безопасностью, так и улучшенными функциями по сравнению с SSH-1. Например, лучшая безопасность достигается за счёт обмена ключами Диффи-Хеллмана и строгой проверки целостности с помощью кодов аутентификации сообщений. Новые функции SSH-2 включают возможность запускать любое количество сеансов оболочки через одно соединение SSH. Из-за превосходства и популярности SSH-2 над SSH-1 некоторые реализации, такие как libssh (v0.8.0 +),  Lsh  и Dropbear , поддерживают только протокол SSH-2.

В январе 2006 года, намного позже, чем была создана версия 2.1, RFC 4253 указывал, что сервер SSH, который поддерживает как 2.0, так и предыдущие версии SSH, должен идентифицировать свою прототипную версию как 1.99. Это не актуальная версия, а метод определения обратной совместимости.

OpenSSH и OSSH

В 1999 году разработчики, желающие иметь свободную реализацию, вернулись к старому выпуску 1.2.12 исходной программы SSH, который последний раз выпускался под лицензией с открытым исходным кодом. Пакет OSSH Бьорна Грёнвалля был разработан на основе этой кодовой базы. Вскоре после этого разработчики OpenBSD использовали код Грёнвалля и, проделав большую работу над ним, создали OpenSSH, который поставлялся с версией OpenBSD 2.6. Начиная с этой версии, была сформирована ветвь «переносимости» для переноса OpenSSH на другие операционные системы.

Стандарты и программные реализации

Первая версия протокола, SSH-1, была разработана в 1995 году исследователем Тату Улёненом из Технологического университета Хельсинки (Финляндия). SSH-1 был написан для обеспечения большей конфиденциальности, чем протоколы rlogin, telnet и rsh. В 1996 году была разработана более безопасная версия протокола, SSH-2, несовместимая с SSH-1. Протокол приобрёл ещё большую популярность, и к 2000 году у него было около двух миллионов пользователей. В настоящее время под термином «SSH» обычно подразумевается именно SSH-2, так как первая версия протокола ввиду существенных недостатков сейчас практически не применяется.

В 2006 году протокол был утверждён рабочей группой IETF в качестве Интернет‐стандарта.

Протокол SSH-1, в отличие от протокола telnet, устойчив к атакам прослушивания трафика («снифинг»), но неустойчив к атакам «человек посередине». Протокол SSH-2 также устойчив к атакам путём присоединения посередине (англ. ), так как невозможно включиться в уже установленную сессию или перехватить её.

Для предотвращения атак «человек посередине» при подключении к хосту, ключ которого ещё не известен клиенту, клиентское ПО показывает пользователю «слепок ключа» (англ. ). Рекомендуется тщательно сверять показываемый клиентским ПО «слепок ключа» со слепком ключа сервера, желательно полученным по надёжным каналам связи или лично.

Поддержка SSH реализована во всех UNIX‑подобных системах, и на большинстве из них в числе стандартных утилит присутствуют клиент и сервер ssh. Существует множество реализаций SSH-клиентов и для не-UNIX ОС. Большую популярность протокол получил после широкого развития анализаторов трафика и способов нарушения работы локальных сетей, как альтернативное небезопасному протоколу Telnet решение для управления важными узлами.

Для работы по SSH нужен SSH-сервер и SSH-клиент. Сервер прослушивает соединения от клиентских машин и при установлении связи производит аутентификацию, после чего начинает обслуживание клиента. Клиент используется для входа на удалённую машину и выполнения команд.

Для соединения сервер и клиент должны создать пары ключей — открытых и закрытых — и обменяться открытыми ключами. Обычно используется также и пароль.

  • BSD: OpenSSH
  • Linux: dropbear, lsh-server, openssh-server, ssh, Tectia SSH Server

SSH-клиенты и оболочки

  • GNU/Linux, *BSD: kdessh, lsh-client, openssh-client, putty, ssh, Vinagre, Tectia SSH (SSH Communications Security) Client
  • MS Windows и Windows NT: PuTTYKiTTY, SecureCRT, ShellGuard, Axessh, ZOC, SSHWindows, ProSSHD, XShell, Tectia SSH (SSH Communications Security) Client
  • MS Windows Mobile: PocketPuTTy, mToken, sshCE, PocketTTY, OpenSSH, PocketConsole, Tectia SSH (SSH Communications Security) Client
  • Mac OS: iTerm2, NiftyTelnet SSH, vSSH,
  • Symbian OS: PuTTY
  • Java: MindTerm, AppGate Security Server
  • J2ME: MidpSSH
  • iPhone: i-SSH, ssh (в комплекте с Terminal), Termius, OpenTerm, LibTerm, Shelly
  • Blackberry: BBSSH
  • MAEMO 5: OpenSSH
  • MeeGo 1.2 Harmattan: OpenSSH

СсылкиПравить

Реализации для GNU/Linux и других юниксоподобных ОС

  • xrdp — сервер (Ноябрь 10 2013г версия 0.6.1)
  • rdesktop — клиент (последняя версия 1.9.0, 11 октября 2019 г.)
  • FreeRDP — клиент (форк rdesktop, активно развивается)
  • remmina — клиент под GTK+ (последняя версия 1.0, февраль 2012 г.)
Читайте также:  Освойте искусство программирования и системного администрирования

SSH-туннелированиеПравить

SSH-туннель — это туннель, создаваемый посредством SSH-соединения и используемый для шифрования туннелированных данных. Используется для того, чтобы обезопасить передачу данных в Интернете (аналогичное назначение имеет IPsec). При пересылке через SSH-туннель незашифрованный трафик любого протокола шифруется на одном конце SSH-соединения и расшифровывается на другом.

Практическая реализация может выполняться несколькими способами:

  • Созданием Socks-прокси для приложений, которые не умеют работать через SSH-туннель, но могут работать через Socks-прокси.
  • Использованием приложений, умеющих работать через SSH-туннель.
  • Созданием VPN-туннеля, подходит практически для любых приложений.
  • Если приложение работает с одним определённым сервером, можно настроить SSH-клиент таким образом, чтобы он пропускал через SSH-туннель TCP-соединения, приходящие на определённый TCP-порт машины, на которой запущен SSH-клиент. Например, клиенты Jabber подключаются по умолчанию на порт 443. Тогда, чтобы настроить подключение к серверу Jabber через SSH-туннель, SSH-клиент настраивается на перенаправление подключений с любого порта локальной машины (например, с порта 4430) на удалённый сервер (например, jabber.example.com и порт 443):

$ ssh -L :jabber.example.com:443 somehost

В данном случае Jabber-клиент настраивается на подключение к порту 4430 сервера localhost (если ssh-клиент запущен на той же машине что и Jabber-клиент).

Для создания ssh-туннеля необходима машина с запущенным ssh-сервером и доступом к jabber.example.com. Такая конфигурация может использоваться в случае, если с локальной машины доступ к jabber.example.com закрыт файрволом, но есть доступ к некоторому ssh-серверу, у которого ограничения доступа в Интернет отсутствуют.

  • RFC 4250 (англ.) — The Secure Shell (SSH) Protocol Assigned Numbers
  • RFC 4251 (англ.) — The Secure Shell (SSH) Protocol Architecture
  • RFC 4252 (англ.) — The Secure Shell (SSH) Authentication Protocol
  • RFC 4253 (англ.) — The Secure Shell (SSH) Transport Layer Protocol
  • RFC 4254 (англ.) — The Secure Shell (SSH) Connection Protocol
  • RFC 4255 (англ.) — Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints
  • RFC 4256 (англ.) — Generic Message Exchange Authentication for the Secure Shell Protocol (SSH)
  • RFC 4335 (англ.) — The Secure Shell (SSH) Session Channel Break Extension
  • RFC 4344 (англ.) — The Secure Shell (SSH) Transport Layer Encryption Modes
  • RFC 4345 (англ.) — Improved Arcfour Modes for the Secure Shell (SSH) Transport Layer Protocol
  • RFC 4419 (англ.) — Diffie-Hellman Group Exchange for the Secure Shell (SSH) Transport Layer Protocol
  • RFC 4432 (англ.) — RSA Key Exchange for the Secure Shell (SSH) Transport Layer Protocol
  • RFC 4716 (англ.) — The Secure Shell (SSH) Public Key File Format
  • OpenSSH — свободная библиотека и набор утилит для поддержки шифрования
  • PuTTY — популярный кроссплатформенный SSH-клиент
  • https://serverauditor.com/ — популярный мобильный кроссплатформенный SSH-клиент (Android, iOS, Google Chrome)
  • Сравнение SSH-клиентов (англ.)

Программы доступа к файлам

  • WinSCP — SFTP-клиент для Microsoft Windows
  • FileZilla — SFTP-клиент для Microsoft Windows, Linux, MacOS
  • Уязвимость в SSH Архивная копия от 6 апреля 2011 на Wayback Machine
  • Теория и практика использования SSH
  • Analyzing Malicious SSH Login Attempts
  • Команды Linux / SSH
  • SSH для администратора

Используемые протоколыПравить

Собственно для цели передачи команд администрирования и вывода экрана используются протоколы удалённого администрирования: RDP, VNC, X11, Telnet, Rlogin, RFB, ARD, ICA, ALP и собственные. Для шифрования трафика в программах удалённого администрирования используются протоколы SSH, SSL, TLS и др.

Программы демонстрации экранаПравить

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

Большинство программ удалённого администрирования имеет также функцию демонстрации экрана без возможности удалённого управления.

Команда подключения к локальному SSH-серверу из командной строки GNU/Linux или FreeBSD для пользователя pacify (сервер прослушивает нестандартный порт 30000):

Генерация пары ключей (в UNIX-подобных ОС) осуществляется командой

Генерация пары SSH-2 RSA-ключей длиной 4096 бита программой puttygen под UNIX‐подобными ОС:

$ puttygen -t rsa -b 4096 -o sample

Некоторые клиенты, например, PuTTY, имеют и графический интерфейс пользователя.

Для использования SSH в Python существуют такие модули, как python-paramiko и python-twisted-conch.

Специализированные программы удалённого администрированияПравить

Существует множество реализаций программ удалённого администрирования. Все реализации различаются по интерфейсу и используемым протоколам. Отображаемый интерфейс может быть визуальным или консольным.

Для удаленного управления с помощью консольных команд (shell) был создан протокол telnet. Огромное количество сетевых устройств поддерживает удаленное управление при помощи данного протокола. Впрочем, telnet не лишён недостатков (в частности, отсутствует шифрование передаваемых данных) и в дальнейшем был разработан более совершенный защищённый протокол Secured Shell для управления ПК и серверами под управлением операционных систем Unix, FreeBSD, Linux и т. п. Для подключения и удаленного управления по протоколам telnet и ssh среди системных администраторов и специалистов технической поддержки получила широкое распространение программа-клиент PuTTy — небольшого размера, кроссплатформенная, бесплатная, свободная и с открытым исходным кодом. Тем не менее существует множество других программ-клиентов с поддержкой протоколов telnet и ssh, как бесплатных, так и коммерческих под все виды операционных систем и платформ. Для удаленного управления такими персональными компьютерами и серверами в режиме отображения графического рабочего стола операционных систем класса Unix широко применяется также протокол VNC и соответствующие программы-клиенты.

  • Вариант перевода из Семёнов Ю. А. Архивная копия от 2 февраля 2008 на Wayback Machine
  • Для этого используется Port Forwarding Архивная копия от 16 декабря 2005 на Wayback Machine соединения TCP.
  • Инструкция по установке ssh-сервера для Windows через Cygwin. Дата обращения: 27 января 2009. Архивировано из оригинала 20 января 2009 года.
  • CyberSecurity.ru: «768-битный ключ RSA успешно взломан» Архивная копия от 14 января 2010 на Wayback Machine. 08.01.2010

История версийПравить

  • Версия 5.0, появившаяся в Windows Server 2000, имеет дополнительные возможности, например, печать на локальные принтеры, и лучше использует пропускную способность сети.
  • Версия 5.1, появившаяся в Windows XP Professional, включала поддержку 24-битного цвета и звука.
  • Версия 5.2, появившаяся с Windows Server 2003, включает поддержку консоли, каталог сеанса и подключение (mapping) локальных ресурсов. Начиная с этой версии поддерживается проверка подлинности сервера по сертификату SSL и шифрование соединения по протоколу TLS 1.0.
  • Версия 6.1 была выпущена в феврале 2007 и включена в Windows Server 2008, и в пакет обновления Windows Vista SP1 и Windows XP SP3.В дополнение к изменениям, связанным с улучшенным доступом к консоли, эта версия включает новые функциональные возможности, появившиеся в Windows Server 2008, такие как Terminal Services Easy Print driver (новая клиентская система перенаправления принтера, которая позволяет выполнять локальную печать из приложений, выполняющихся на сервере, не устанавливая драйвер печати на сервере).

Поддержка аутентификации сетевого уровня () — снижает риск успешной атаки типа DoSУвеличение производительности ядра RDPПоддержка технологии Windows Aero (Aero over Remote Desktop)Поддержка технологий Direct2D и Direct3D 10.1 в приложенияхПолноценная поддержка мультидисплейных конфигурацийУлучшения в работе с мультимедиаПоддержка технологии Media FoundationПоддержка технологии DirectShowСнижена длительность задержки при воспроизведении аудио

  • Запрет на удалённый root-доступ.
  • Запрет подключения с пустым паролем или отключение входа по паролю.
  • Выбор нестандартного порта для SSH-сервера.
  • Запрет доступа с некоторых потенциально опасных адресов.
  • Регулярный просмотр сообщений об ошибках аутентификации.
  • Использование ловушек, подделывающих SSH-сервис (honeypot).
  • Реализация технологии.
Оцените статью
Хостинги