Использование протоколов TELNET, SSH Использование протоколов TELNET, SSH

  1. Протокол TELNET
    1. для чего предназначен TELNET
    2. схема работы TELNET
    3. недостатки, проблемы безопасности
    4. обзор telnet-клиентов и telnet-серверов
  2. Протокол SSH
    1. для чего предназначен SSH
    2. схема работы SSH
    3. недостатки и достоинства
    4. обзор и сравнительные таблицы SSH -клиентов
  3. Литература
  1. Протокол TELNET
    1. для чего предназначенTELNET
      Tenet - протокол линии передачи данных Интернет, который дает возможность компьютеру функционировать как терминал, работающий под управлением удаленного компьютера.
      Telnet - протокол эмуляции терминала, обычно используемый в сети Интернет и в сетях, работающих по протоколам, основанным на TCP/IP. Это позволяет пользователю терминала или персонального компьютера, регистрироваться в системе удаленного компьютера и выполнять программы. Протокол telnet был первоначально разработан для ARPAnet и является важной частью протокола передачи данных TCP/IP.

    2. схема работыTELNET
      Telnet - клиент-серверный протокол, основанный на TCP, и клиенты в общем случае соединяется с портом 23 на удаленном компьютере, предоставляющем такую услугу (хотя, подобно многим протоколам, используемым в сети Интернет, используемый для соединения порт можно изменить, другими словами 23 номер порта – всего лишь общий случай). Частично из-за конструкции протокола и частично из-за гибкости, обычно снабжаемой программами telnet, можно использовать программу telnet, чтобы установить интерактивное подключение TCP с некоторой другой услугой удаленного компьютера. Классическим примером такого использования клиентской части протокола может послужить соединение при помощи программы telnet с портом 25 удаленного компьютера (где обычно находиться SMTP сервер) чтобы отладить сервер почты.
      Протокол telnet может быть представлен в виде ядра и наборов дополнений. Ядро протокола описано в соответствии с IETF документами RFC 854 и RFC 855, которые также собраны вместе в STD 8, который определяет только базисные эксплуатационные показатели протокола и способы определения и осуществления дополнений к нему. Имеется много дополнений, некоторые из которых были приняты как стандарты Интернет, некоторые нет. IETF STD документы с номерами от 27 до 32 описывают различные дополнения протокола telnet (большинство из которых являются чрезвычайно общими). Из оставшихся дополнений наиболее полезные – вероятно те, которые находятся на рассмотрении IETF в качестве будущих стандартов.

    3. недостатки, проблемы безопасности
      Имеются три главных проблемы связанные с использованием telnet, делая его плохим выбором для современных систем с точки зрения безопасности:
      • Используемые по умолчанию демоны telnet имеют несколько уязвимостей, обнаруженных за эти годы, и вероятно еще несколько до сих пор существуют.
      • Telnet не шифрует никакие данные, которые посылаются через установленную связь (включая пароли), и таким образом становится возможным прослушивание связи и использование пароля позже для злонамеренных целей.
      • Отсутствие системы аутентификации в telnet не дает никакой гарантии, что связь, установленная между двумя удаленными хостами не будет прервана в середине.
      Нежелательно использование протокола telnet в системах, для которых важна безопасность, таких как общественный Интернет. Сеансы telnet не поддерживают шифрование данных. Это означает это любой, кто имеет доступ к любому маршрутизатору, коммутатору или шлюзу в сети между двумя удаленными компьютерами, соединенными сеансом связи по протоколу telnet, может перехватить проходящие пакеты и легко получить логин и пароль для доступа в систему (или завладеть любой другой информацией, которой обмениваются эти компьютеры) при помощи любой общедоступной утилиты подобно tcpdump и Ethereal.

    4. обзор telnet-клиентов и telnet-серверов
      Среди telnet-клиентов выделяют:
      • z/Scope Express VT - действительно хороший telnet/SSH-клиент для Windows.
      • AbsoluteTelnet - клиент для всех версий Windows, включая telnet, SSH1 и SSH2.
      • tn3270 – свободно распространяемый telnet-клиент для Macintosh созданный для работы с системами IBM, использующими протокол TN3270.
      • PuTTY - свободно распространяемый клиент для протоколов SSH, Telnet, rlogin и чистого TCP.
      Среди telnet-серверов можно выделить telnetd. Telnetd - это сервер, который обслуживает протокол telnet. Обычно telnetd запускается через сервис Internet (inetd), в некоторых системах может быть запущен и вручную. Telnetd обслуживает TCP-порт 23, но может быть запущен и на другой порт.
      Принцип работы сервера заключается в том, что он "слушает" порт TCP. В случае поступления запроса на обслуживание, telnetd назначает каждому удаленному клиенту псевдотерминал (pty) в качестве стандартного файла ввода (stdin), стандартного файла вывода (stdout) и стандартного файла ошибок (stderr). При установке взаимодействия с удаленным клиентом telnetd обменивается командами настройки (эхо, обмен двоичной информацией, тип терминала, скорость обмена, переменные окружения). Telnetd реализует протокол telnet частично. При работе по telnet никогда не используется сигнал Go Ahead(GA). Двоичный режим передачи данных можно реально использовать только для одинаковых операционных сред.

  2. Протокол SSH
    1. для чего предназначен SSH
      SSH - (Secure Shell) — сетевой протокол, позволяющий производить удалённое управление компьютером и передачу файлов. Сходен по функциональности с протоколом Telnet и rlogin, однако использует алгоритмы шифрования передаваемой информации.
      Недостатки telnet привели к очень быстрому отказу от использования этого протокола в пользу более безопасного и функционального протокола SSH. SSH предоставляет все те функциональные возможности, которые представлялись в telnet, с добавлением эффектного кодирования с целью предотвращения перехвата таких данных, как логины и пароли. Введенная в протоколе SSH система аутентификации с использованием публичного ключа гарантирует, что удаленный компьютер действительно является тем, за кого себя выдает.

    2. схема работы SSH
      Описание технологии протокола SSH-1:
      Сначала клиент посылает серверу запрос на установление SSH соединения и создание нового сеанса. Соединение будет принято сервером, если он принимает сообщения подобного рода и готов к открытию нового сеанса связи. После этого клиент и сервер обмениваются информацией, какие версии протоколов они поддерживают. Соединение будет продолжено, если будет найдено соответствие между протоколами и получено подтверждение о готовности обеих сторон продолжить соединение по данному протоколу. Сразу после этого сервер посылает клиенту постоянный публичный и временный серверный ключи. Клиент использует эти ключи для зашифровки сессионного ключа. Несмотря на то, что временный ключ посылается прямым текстом, сессионный ключ по-прежнему безопасный. После этого сессионный ключ шифруется временным ключом и публичным ключом сервера и, таким образом, только сервер может его расшифровать. На этом этапе и клиент и сервер обладают сессионным ключом и, следовательно, готовы к безопасному сеансу передачи зашифрованных пакетов.
      Аутентификация сервера происходит исходя из его возможности расшифровки сессионного ключа, который зашифрован публичным ключом сервера. Аутентификация клиента может происходить различными способами, в том числе DSA, RSA, OpenPGP или по паролю.
      Сессия продолжается до тех пор, пока и клиент и сервер способны аутентифицировать друг друга. Установленное соединение по протоколу SSH-1 позволяет защитить передаваемые данные стойким алгоритмом шифрования, проверкой целостности данных и сжатием.
      Описание технологии протокола SSH-2:
      Оба протокола, по сути, выполняют одни и те же функции, но протокол SSH-2 делает это более элегантно, более безопасно и более гибко. Основное различие между протоколами заключается в том, что протокол SSH-2 разделяет все функции протокола SSH между тремя протоколами, в то время как протокол SSH-1 представляет собой один единый и неделимый протокол. Модуляцией функций протокола SSH в трех протоколах – протоколе транспортного уровня, протоколе аутентификации и протоколе соединения, делает протокол SSH-2 наиболее гибким и мощным механизмом создание безопасных туннелей. Ниже дано краткое описание и назначение каждого из трех протоколов, составляющих протокол SSH-2:
      • Протокол транспортного уровня – предоставляет возможность шифрования и сжатия передаваемых данных, а также реализует систему контроля целостностью данных.
      • Протокол соединения – позволяет клиентам устанавливать многопоточное соединение через оригинальный SSH туннель, таким образом снижая нагрузку, которую создают клиентские процессы.
      • Протокол аутентификации – протокол аутентификации отделен от протокола транспортного уровня, т.к. не всегда бывает необходимым использование системы аутентификации. В случае, если нужна аутентификация, процесс защищается оригинальным безопасным каналом, установленным через протокол транспортного уровня.
      ам по себе, протокол транспортного уровня является достаточным для установления защищенного соединения, он является основой протокола SSH-2 и протоколы соединения и аутентификации основаны на нем. Протокол аутентификации отделен от протокола транспортного уровня, т.к. иногда возникает ситуация, когда использование аутентификации не только не обязательно, но и даже нежелательно. Например, некая организация предоставляет на своем FTP сервер анонимный доступ к патчам безопасности для любого человека (или системы), которая захочет их скачать. В этом случае аутентификация требоваться не будет, в то время как шифрование, сжатие и контроль целостности данных будут обеспечиваться протоколом транспортного уровня. Более того, при наличии канала высокой пропускной способности, клиенты смогут организовать многопоточное соединение через оригинальное SSH соединение, используя протокол соединения.

    3. недостатки и достоинства
      Криптографическая защита протокола SSH не фиксирована, возможен выбор различных алгоритмов шифрования. Клиенты и серверы, поддерживающие этот протокол, доступны для различных платформ. Кроме того, протокол позволяет не только использовать безопасный удалённый shell на машине, но и туннелировать графический интерфейс — X Tunnelling (только для Unix-подобных ОС или приложений, использующих графический интерфейс X Window System). Так же SSH способен передавать через безопасный канал (Port Forwarding) любой другой сетевой протокол, обеспечивая (при надлежащем конфигурировании) возможность безопасной пересылки не только X-интерфейса, но и, например, звука.
      Однако протокол SSH не решает всех проблем сетевой безопасности. Он лишь фокусирует свое внимание на обеспечении безопасной работы таких приложений, как эмуляторы терминала. Использование реализаций протокола SSH на серверах и в клиентских приложениях помогает защитить данные лишь в процессе передачи. Протокол SSH ни коим образом не является заменой брандмауэров, систем обнаружения вторжений, сетевых сканеров, систем аутентификации и других инструментов, позволяющих защитить информационные системы и сети от атак.
      Безопасность SSH:
      Клиентские приложения обычно посылают запрос на открытие сессии серверу на определенный порт, который прослушивается запущенными на сервере сервисами на поступающие специфические запросы. Cамые известные из них:
      • 21 – ftp
      • 80 – http
      • 25 – smtp
      • 23 – telnet
      Многие из этих клиентских приложений осуществляют запросы прямым текстом. Протокол SSH позволяет обезопасить такие подключения. Сначала пакеты будут посланы на некий известный на сервере порт, после чего они будут переадресованы на 22 порт (который обслуживается сервером SSH) и там будут преобразованы в защищенные SSH пакеты, инкапсулированные в защищенное соединение.
      OpenSSH (Open Secure Shell - открытый безопасный shell) - набор программ, предоставляющих шифрование сеансов связи по компьютерным сетям с использованием протокола SSH. Он был создан под руководством Тео де Раадта как открытая альтернатива проприетарного ПО от SSH Communications Security. Разработчики OpenSSH утверждают, что он более безопасен чем оригинальный Secure Shell, благодаря их политике чистки и аудита кода. Хотя исходный код также доступен для оригинального SSH, различные ограничения, накладываемые на его использование, делают OpenSSH более привлекательным проектом для большинства программистов.
      PuTTY (от TTY — телетайп, англ. putty — замазка) - свободно распространяемый клиент для протоколов SSH, Telnet, rlogin и чистого TCP. Изначально разрабатывался для Windows, однако позднее портирован на Unix. В разработке находятся порты для Mac OS и Mac OS X. Сторонние разработчики выпустили неофициальные порты на другие платформы, такие как мобильные телефоны под управлением Symbian OS. Программа выпускается под лицензией MIT. Незаменимая вещь для системных администраторов.

    4. обзор и сравнительные таблицы SSH -клиентов
      SSH-клиент – это программа, использующая протокол SSH для установления соединения с удаленным компьютером. Среди SSH-клиентов выделяют: OpenSSH, PuTTY, SecureCRT, SFTPPlus, TeraTerm и др.
      Название MS Windows Mac OS X Linux BSD Solaris
      lsh Нет Да Да Частично Да
      Open SSH Нет Включен Включен Включен Да
      PuTTY Да Частично Да Да -
      SecureCRT Да Нет Нет Нет Нет
      SFTPPlus Да Нет Да Нет Да
      TeraTerm Да Нет Нет Нет Нет

      Название Пользовательский интерфейс SSH-1 SSH-2 Telnet rlogin SOCKS SFTP/SCP FTP/SFTP мост IPv6
      lsh коммандная строка Нет Да Нет Нет - - Нет Нет
      Open SSH коммандная строка Да Да Нет Нет Да Да Нет Да
      PuTTY коммандная строка или GUI Да Да Да Да Да Да Нет Да
      SecureCRT коммандная строка или GUI Да Да Да Да Да Да Нет Да
      SFTPPlus коммандная строка или GUI Да Да Да Да Да Да Нет Нет
      TeraTerm GUI Да Да Да - Да Нет Нет Да

  3. Литература
    1. Семенов Ю.А., Удаленный доступ (TELNET)
    2. Telnet // Free encyclopedia Wikipedia
    3. SSH // Free encyclopedis Wikipedia
      Hosted by uCoz

      Hosted by uCoz