Movatterモバイル変換


[0]ホーム

URL:


Перайсці да зместу
Вікіпедыя
Пошук

SSH

Неправераная
З Вікіпедыі, свабоднай энцыклапедыі

Статус версіі старонкі

The page has not been checked

У гэтай старонкі нямаправераных версій, хутчэй за ўсё, яе якасцьне ацэньвалася на адпаведнасць стандартам.
Назва:Secure Shell
Узровень (памадэлі OSI):Прыкладны
Сямейства:TCP/IP
Порт/ID:22/TCP
Прызначэнне пратаколу:Аддалены доступ
Спецыфікацыя:RFC 4251
Асноўныя рэалізацыі (кліенты):OpenSSH,PuTTY,SecureCRT
Асноўныя рэалізацыі (серверы):OpenSSH

SSH (англ.:SecureShell — «надзейная абалонка») —сеціўны пратакол прыкладнога ўзроўню, дазваляе здзяйсняцьаддаленае кіраваннеаперацыйнай сістэмай ітунэляваннеTCP-злучэнняў (напрыклад, для перадачы файлаў). Падобны функцыйнасцю да пратаколаўTelnet іrlogin, але, у адрозненні ад іх,шыфруе ўвесьтрафік, уключаючы і перадаваныяпаролі. SSH дапускае выбар разнастайныхалгарытмаў шыфравання. SSH-кліенты і SSH-серверы даступны для большасці сеціўных аперацыйных сістэм.

SSH дазваляе бяспечна перадаваць у неабароненым асяроддзі практычна любы іншысеціўны пратакол. Такім чынам, можна не толькі аддалена кіраваць камп'ютарам празкамандную абалонку, але і перадаваць шыфраваным каналам гукавы струмень ці відэа (напрыклад звэб-камеры)[1]. Таксама SSH можа ўжывацьсцісканне перадаваных звестак для наступнага іх шыфравання, што зручна для аддаленага запуску кліентаўX Window System.

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

Стандарты і праграмныя рэалізацыі

[правіць |правіць зыходнік]

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

У2006 годзе пратакол быў зацверджаны рабочай групайIETF у якасці Інтэрнэт‐стандарту.

Аднак у некаторых краінах (Францыя,Расія,Ірак іПакістан) патрабуецца спецыяльны дазвол у адпаведных структурах для выкарыстання пэўных метадаў шыфравання, уключаючы SSH.

Распаўсюджаны дзве рэалізацыі SSH: прыватная камерцыйная і вольная бясплатная. Вольная рэалізацыя завецца OpenSSH. На 2006 год 80 % камп'ютараў сеціваІнтэрнэт карысталася менавіта OpenSSH. Прыватная рэалізацыя распрацоўваецца арганізацыяй SSH Communications Security, якая з'яўляецца стоадсоткавым падраздзяленнем карпарацыі Tectia[2], яна бясплатная для некамерцыйнага ўжывання. Гэтыя рэалізацыі змяшчаюць практычна аднолькавы набор каманд.

Пратакол SSH-1, у адрозненне ад пратаколаtelnet, устойлівы да атакі праслухоўвання трафіку («sniffing»), але няўстойлівы да атак «чалавек пасярэдзіне». Пратакол SSH-2 таксама ўстойлівы да атак праз далучэнне ўсярэдзіне (англ.:session hijacking), бо немагчыма далучыцца ва ўжо ўсталяваную сесію ці перахапіць яе.

Дзеля прадухілення атакі «чалавек пасярэдзіне» пры далучэнні дахоста, ключ якога яшчэ невядомы кліенту, кліенцкаеПЗ паказвае карыстальніку «адбітак ключа» (англ.:key fingerprint). Пажадана дасканала спраўдзіць паказаны кліенцкім ПЗ «адбітак ключа» з адбіткам ключа сервера, атрыманым праз надзейныя каналы сувязі альбо асабіста.

Падтрымка SSH рэалізавана ва ўсіхUNIX‑падобных сістэмах, і ў большасці з іх сярод стандартныхутыліт прысутнічаюць кліент і сервер ssh. Існуе мноства рэалізацый SSH-кліентаў і для не-UNIX АС. Вялікую папулярнасць пратакол набыў пасля паўсюднага развіццяаналізатараў трафіку і спосабаў парушэння працы лакальных сетак, як альтэрнатыва ненадзейнаму пратаколуTelnet для кіравання важнымі вузламі.

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

Для злучэння сервер і кліент павінны стварыць пары ключоў — адкрытых і закрытых — і абмяняцца адкрытымі ключамі.Звычайна ўжываецца таксама і пароль.

SSH-серверы

[правіць |правіць зыходнік]

SSH-кліенты і абалонкі

[правіць |правіць зыходнік]
  • GNU/Linux, *BSD: kdessh, lsh-client, openssh-client, putty, ssh, Vinagre, Tectia SSH (SSH Communications Security) Client
  • MS Windows и Windows NT:PuTTY, 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: NiftyTelnet SSH
  • Symbian OS: PuTTY
  • Java: MindTerm, AppGate Security Server
  • J2ME: MidpSSH
  • iPhone: i-SSH, ssh (у камплекце з Terminal)
  • Android: connectBot, Server Auditor, JuiceSSH.
  • Blackberry: BBSSH
  • MAEMO 5: OpenSSH
  • MeeGo 1.2 Harmattan: OpenSSH

Парады бяспекі для ўжыванняSSH

[правіць |правіць зыходнік]
  1. Забарона аддаленагаroot-доступу.
  2. Забарона далучэння з пустым паролем ці выключэнне ўваходу праз пароль.
  3. Выбар нестандартнага порта дляSSH-сервера.
  4. Ужыванне доўгіхSSH2 RSA-ключоў (2048 біт і болей). Сістэмы шыфравання на асновеRSA лічацца надзейнымі, калі даўжыня ключа не менш за 1024 біт[4].
  5. Абмежаванне спісуIP-адрасоў, з якіх дазволены доступ (напрыклад, наладкайфайрвола).
  6. Забарона доступу з некаторых патэнцыйна небяспечных адрасоў.
  7. Адмова ад ужывання распаўсюджаных ці шырока вядомых сістэмныхлагінаў для доступу празSSH.
  8. Рэгулярны прагляд паведамленняў аб памылкахаўтэнтыфікацыі.
  9. Усталяваннесістэмы выяўлення ўварвання(IDS).
  10. Выкарыстанне пастак, якія падрабляюцьSSH-сэрвіс(honeypot).

Прыклад выкарыстання SSH

[правіць |правіць зыходнік]

Каманда далучэння да лакальнага SSH-сервера з каманднага радка GNU/Linux альбоFreeBSD для карыстальніка pacify (сервер слухае нестандартны порт 30000):

$ ssh -p 30000 pacify@127.0.0.1

Генераванне пары ключоў (у UNIX-падобных АС) здзяйсняецца камандай

$ ssh-keygen

Генераванне пары SSH-2 RSA-ключоў даўжынёй 4096 біт праграмай puttygen у UNIX‐падобных АС:

$ puttygen -t rsa -b 4096 -o sample

Некаторыя кліенты, напрыклад, PuTTY, маюць таксамаграфічны інтэрфейс карыстальніка.

Для карыстання SSH у Python існуюць такія модулі, як python-paramiko і python-twisted-conch.

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-L4430:jabber.example.com:443somehost

У дадзеным выпадку Jabber-кліент наладжваецца на далучэнне да порта 4430 сервераlocalhost (калі ssh-кліент запушчаны на той жа машыне, што і Jabber-кліент).

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

Тэхнічная інфармацыя аб пратаколе

[правіць |правіць зыходнік]

SSH — гэта пратакол прыкладнога ўзроўню. SSH-сервер звычайна чакае злучэння на TCP-порт 22. Спецыфікацыя пратакола SSH-2 змяшчаецца ўRFC 4251. Для аўтэнтыфікацыі сервера ў SSH ужываецца пратакол аўтэнтыфікацыі бакоў на аснове алгарытмаўэлектронна-лічбавага подпісуRSA альбоDSA. Для аўтэнтыфікацыі кліента таксама можа выкарыстоўвацца ЭЛП RSA альбо DSA, але дапускаецца таксама аўтэнтыфікацыя з дапамогай паролю (рэжым зваротнай сумяшчальнасці зTelnet) і нават ip-адраса хоста (рэжым зваротнай сумяшчальнасці зrlogin). Аўтэнтыфікацыя паролем найбольш распаўсюджана; яна бяспечная, бо пароль перадаецца праз шыфраваны віртуальны канал. Аўтэнтыфікаыя ip-адрасам небяспечная, гэтую магчымасць часцей за ўсю выключаюць. Для стварэння агульнага сакрэту (сеансавага ключа) ужываеццаалгарытм Дыфі — Хелмана (DH). Для шыфравання перадаванай інфармацыі ўжываеццасіметрычнае шыфраванне, алгарытмыAES,Blowfish ці3DES. Цэльнасць перадаванай інфармацыі спраўджваецца празCRC32 у SSH1 ціHMAC-SHA1/HMAC-MD5 у SSH2.

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

Гл. таксама

[правіць |правіць зыходнік]

Зноскі

  1. Дзеля гэтага ўжываеццаPort ForwardingАрхівавана 16 снежня 2005. злучэнняTCP.
  2. About SSH Communications SecurityАрхівавана 9 ліпеня 2012.(англ.)
  3. Інструкцыя ўсталявання ssh-сервера для Windows праз CygwinАрхівавана 20 студзеня 2009.
  4. CyberSecurity.ru:«768-бітны ключ RSA паспяхова ўзламаны»Архівавана 14 студзеня 2010.. 08.01.2010

Спасылкі

[правіць |правіць зыходнік]
Стандарты
  • 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
SSH-кліенты
Праграмы доступу да файлаў
Іншае
⚙️ 
  Слоўнікі і энцыклапедыі
Нарматыўны кантроль
GND4628726-7 ·Microsoft147734436
АсноўныяпратаколыTCP/IP паводле ўзроўняўмадэлі OSI
Фізічны
Канальны
Сеткавы
Транспартны
Сеансавы
Уяўленні
Прыкладны
Іншыя прыкладныя
СхемыURI
Афіцыйныя
aaa· aaas· acap· cap· cid· crid· data· dav· dict· dns· fax· file· ftp· go· gopher· h323· http· https· im· imap· ldap· mailto· mid· news· nfs· nntp· pop· pres· rtsp· sip· sips· snmp· tel· telnet· urn· wais· xmpp:
Неафіцыйныя
about· aim· bolo· btc· bzr· callto· chrome· cvs· daap· ed2k· ed2kftp· feed· fish· git· gizmoproject· iax2· irc· ircs· lastfm· ldaps· magnet· mms· msnim· psyc· rsync· secondlife· skype· ssh· svn· sftp· smb· sms· soldat· steam· unreal· ut2004· view-source· vzochat· webcal· xfire· ymsgr:
Узята з "https://be.wikipedia.org/w/index.php?title=SSH&oldid=4991857"
Катэгорыі:
Схаваная катэгорыя:

[8]ページ先頭

©2009-2026 Movatter.jp