Secure Shell

Secure Shell
SSH
Название:

Secure Shell

Уровень (по модели OSI):

Прикладной

Семейство:

TCP/IP

Порт/ID:

22/TCP

Назначение протокола:

Удалённый доступ

Спецификация:

RFC 4251

Основные реализации (клиенты):

PuTTY, SecureCRT

Основные реализации (серверы):

эс-эс-аш, эс-эс-эйч, эс-эс-ха и под. англ. Secure Shell — «безопасная оболочка»[1]) — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Сходен по функциональности с протоколами rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы имеются для большинства сетевых операционных систем.

SSH позволяет безопасно передавать в незащищенной среде практически любой другой сетевой протокол, таким образом, можно не только удаленно работать на компьютере через командную оболочку, но и передавать по шифрованному каналу звуковой поток или видео (например, с веб-камеры)[2]. Также SSH может использовать сжатие передаваемых данных для последующего их шифрования, что удобно, например, для удаленного запуска клиентов X Window System.

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

Содержание

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

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

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

Однако, в некоторых странах (Франция, Россия, Ирак и Пакистан) до сих пор требуется специальное разрешение в соответствующих структурах для использования определенных методов шифрования, включая SSH. См. закон Российской Федерации «О федеральных органах правительственной связи и информации».

Распространены две реализации SSH: собственническая коммерческая и бесплатная свободная. Свободная реализация называется OpenSSH. К 2006 году 80 % компьютеров сети Интернет использовало именно OpenSSH. Собственническая реализация разрабатывается организацией SSH Inc., она бесплатна для некоммерческого использования. Эти реализации содержат практически одинаковый набор команд.

Существуют две версии протокола SSH: SSH-1 и SSH-2. В первой версии протокола есть существенные недостатки, поэтому в настоящее время SSH-1 практически нигде не применяется.

Многие взломщики сканируют сеть в поиске открытого порта SSH, особенно адреса хостинг-провайдеров, обычно пытаясь подобрать пароль суперпользователя.

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

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

Поддержка SSH реализована во всех анализаторов трафика и способов нарушения работы локальных сетей, как альтернативное небезопасному протоколу

SSH-серверы

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

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

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

Рекомендации по безопасности использования SSH

  1. Запрещение удаленного root-доступа.
  2. Запрещение подключения с пустым паролем или отключение входа по паролю.
  3. Выбор нестандартного порта для SSH-сервера.
  4. Использование длинных SSH2 RSA-ключей (2048 бит и более). По состоянию на 2006 год система шифрования на основе RSA считалась надёжной, если длина ключа не менее 1024 бит.
  5. Ограничение списка IP-адресов, с которых разрешен доступ (например, настройкой файрвола).
  6. Запрещение доступа с некоторых потенциально опасных адресов.
  7. Отказ от использования распространенных или широко известных системных логинов для доступа по SSH.
  8. Регулярный просмотр сообщений об ошибках аутентификации.
  9. Установка детекторов атак (IDS, Intrusion Detection System).
  10. Использование ловушек, подделывающих SSH-сервис (honeypots).

Примеры использования SSH

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

$ ssh -p30000 pacify@127.0.0.1

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

$ puttygen -t rsa -b 4096 -o sample

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

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

SSH туннелирование

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

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

  • Созданием Socks-прокси для приложений, которые не умеют работать через SSH-туннель, но могут работать через Socks-прокси
  • Использованием приложений, умеющих работать через ssh-туннель.

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

SSH — это протокол прикладного уровня (или уровня приложений). SSH-сервер обычно прослушивает соединения на TCP-порту 22. Спецификация протокола SSH-2 содержится в RFC 4251. Для аутентификации сервера SSH использует алгоритм Диффи — Хеллмана (DH). Для аутентификации клиента — шифрование с открытым ключом (оно сравнительно медленное). Для шифрования передаваемых данных — более быстрое симметричное шифрование. Среди алгоритмов шифрования с открытым ключом чаще всего используются DSA. Из симметричных алгоритмов — AES, 3DES. Целостность переданных данных проверяется с помощью CRC32 в SSH1 или SHA1/MD5 в SSH2.

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

См. также

  • SCP
  • TLS

Примечания

  1. Вариант перевода из [1]
  2. Для этого используется Port Forwarding соединения Инструкция по установке ssh-сервера для Windows через Cygwin [2]

Ссылки

Стандарты
Программы терминального доступа
Программы доступа к файлам
  • FTP Commander Deluxe — популярная программа поддерживает все безопасные протоколы
  • [3] — Microsoft Windows
  • SftpDrive [4] — Microsoft Windows
  • SSH Filesystem [5] — позволяет подключить директорию, доступную на удаленной машине по ssh, как локальную директорию в GNU/Linux.
Прочее
Уровень представления XDR
Транспортный уровень  ·  ·  ·  ·  · Сетевой уровень IPv4  ·  ·  ·  ·  · Канальный уровень  · 802.11 WiFi  · Token ring  ·  · PPP  ·  ·  ·  · DTM  ·  · Frame Relay  · Физический уровень  ·  ·  ·  ·
URI scheme
Официальные aaa: · aaas: · acap: · cap: · cid: · crid: · data: ·  · dict: · dns: · fax: · file: · ftp: · go: · gopher: ·  · http: · https: · im: · imap: · ldap: · mailto: · mid: ·  · nfs: · nntp: · pop: · pres: ·  · sip: · sips: · snmp: ·  ·  · urn: ·  · xmpp:
Неофициальные about: · aim: · bolo: · bzr: ·  · cvs: ·  · ed2k: · feed: · fish: ·  · gizmoproject: · iax2: · irc: · ircs: ·  · ldaps: · magnet: · mms: · msnim: · psyc: ·  · secondlife: ·  · ssh: ·  ·  · smb: ·  ·  ·  ·  · ut2004: · view-source: · vzochat: · webcal: · xfire: · ymsgr:

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Secure Shell" в других словарях:

  • Secure Shell — or SSH is a network protocol that allows data to be exchanged using a secure channel between two networked devices. RFC 4252] Used primarily on Linux and Unix based systems to access shell accounts, SSH was designed as a replacement for TELNET… …   Wikipedia

  • Secure Shell — Fonction Session à distance sécurisée Sigle SSH Port 22 RFC …   Wikipédia en Français

  • Secure shell — Pile de protocoles 7 • Application 6 • Présentation 5 • Session 4 • Transport …   Wikipédia en Français

  • Secure Shell — SSH im TCP/IP‑Protokollstapel: Anwendung SSH Transport TCP Internet IP (IPv4, IPv6) Netzzugang Ethernet Token …   Deutsch Wikipedia

  • Secure shell — SSH Название: Secure Shell Уровень (по модели OSI): Прикладной Семейство: TCP/IP Порт/ID: 22/TCP Назначение протокола: Удалённый доступ Спецификация: RFC 4251 Основные реализации (клиенты): PuTTY, SecureCRT Основные реализации (сервер …   Википедия

  • Secure Shell — «SSH» redirige aquí. Para el aeropuerto, véase Aeropuerto Internacional de Sharm el Sheij. Secure Shell (SSH) Familia: Función: Sirve para acceder a máquinas remotas a través de una red. Ubicación en la pila de protocolos Aplicac …   Wikipedia Español

  • Secure Shell — SSH (Secure SHell) es el nombre de un protocolo y del programa que lo implementa. Este protocolo sirve para acceder a máquinas remotas a través de una red, de forma similar a como se hace con telnet. La diferencia principal es que SSH usa… …   Enciclopedia Universal

  • Secure Shell Filesystem — (SSHFS) es un sistema de archivos para Linux (y otros sistemas operativos con una implementación FUSE, tal como en Mac OS X), que opera sobre archivos en una computadora remota usando un entorno seguro de acceso. En la computadora local donde se… …   Wikipedia Español

  • Secure shell file system — (ou SSHFS) permet le partage d un système de fichiers de manière sécurisée en utilisant le protocole SSH. Sommaire 1 Principes de fonctionnement 2 Installation et configuration du client SSHFS 3 Utilisation …   Wikipédia en Français

  • Secure FTP — im TCP/IP‑Protokollstapel: Anwendung FTP SSH Transport TCP Internet IP (IPv4, IPv6) Netzzugang …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»