Turvakest

Allikas: Vikipeedia

Turvakest (inglise keeles secure shell, SSH) on võrguprotokoll, mis võimaldab andmeid saata turvalise kanali kaudu.[1]

Põhiliselt kasutatakse SSH-d võrguarvutisse sisselogimisel autentimiseks. SSH asendab Telneti, mis saadab kogu teabe, kaasa arvatud paroolid, krüpteerimata lihttekstina[2]. SSH krüpteering pakub konfidentsiaalsust turvamata võrkudes, näiteks internetis.

Definitsioon[muuda | muuda lähteteksti]

SSH kasutab avaliku võtme krüpteerimist, et autentida võrguarvuti ja vajadusel ka kasutaja.

SSH-d kasutatakse enamasti võrguarvutisse sisselogimiseks ja seal tegutsemiseks, kuid SSH toetab ka tunneldamist, TCP portide suunamist ja X11 ühendusi. SSH-ga saab faile edastada SFTP või SCP partnerprotokollide kaudu. SSH põhineb kliendi-serveri arhitektuuril.

Standardne TCP port 22 on määratud SSH serveritega ühenduse loomiseks[3].

Tavaliselt kasutatakse SSH klientprogrammi, et luua ühendus SSH serveriga, mis võtab vastu SSH-ühendusi. Mõlemad on reeglina kaasas enamikus uuemates operatsioonisüsteemides, näiteks Mac OS, Linux, FreeBSD, Solaris ja OpenVMS. Tegelikkuses saab SSH serveriks olla mistahes operatsioonisüsteem, ka Windows, kui leidub vastav tarkvara.

Ajalugu ja areng[muuda | muuda lähteteksti]

Versioon 1.0[muuda | muuda lähteteksti]

1995. aastal kirjutas Helsingi Tehnikaülikooli insener Tatu Ylönen esimese versiooni (SSH-1) tema ülikoolis korraldatud paroolinuhi (password-sniffing) rünnaku tõttu. SSH eesmärk oli asendada rlogin, Telnet ja rsh protokollid, mis ei pakkunud erilist turvalisust ega konfidentsiaalsust. Ylönen väljastas oma programmi vabavarana 1995. aasta juulis ja see muutus kiiresti populaarseks. 1995. aasta lõpuks oli SSH kasutajate hulk kasvanud 20 000 inimeseni 50 riigist.

1995. aasta detsembris asutas Ylönen ettevõtte SSH Communications Security, et müüa ja arendada SSH-d. Originaalversioon kasutas paljusid vabavara lõike, näiteks GNU libgmp, kuid hilisemad versioonid olid üha enam mõeldud äriliseks kasutamiseks.

Versioon 2.0[muuda | muuda lähteteksti]

SSH versiooni 2.0 kirjutas Internetiehituse töörühma (IETF) üksus Secsh[4]. 1996 muutus uuendatud versioon standardiks (SSH-2), mis ei ühildunud SSH-1 -ga. SSH-2 lisab funktsionaalsust ja suurendab turvalisust. Näiteks turvalisuses (Diffie-Hellmani võtmevahetus) ja funktsionaalsuses võimaldab SSH-2 luua mitu ühendust ühe SSH tunneli kaudu[5].

SSH kompensatsioonirünnaku tuvasti[muuda | muuda lähteteksti]

1998. aastal avastati SSH 1.5 turvaauk, mis lubas pahalasel sisestada andmeid krüpteeritud SSH andmevoogu. Viga tulenes kasutusel olevast CRC-32 ebapiisavast terviklikkuse kontrollist.[6] Enamikus SSH versioonides võeti kasutusele rünnakutuvasti (inglise keeles SSH Compensation Attack Detector), mis selle turvaaugu parandas.[7]

OpenSSH[muuda | muuda lähteteksti]

1999. aastal tekkis arendajatel idee luua uus vabavaraline SSH rakendus. Björn Grönvall kirjutas OSSH, mis põhines SSH versioonil 1.2.12, mis oli viimane vabavara litsentsiga versioon. Kohe pärast seda tegid OpenBSD arendajad Grönvalli koodiga tubli arendustööd, luues OpenSSH, mis lasti välja koos OpenBSD versiooniga 2.6. Sellest versioonist loodi "mobiilne" haru, võimaldamaks OpenSSH-d ka teistes operatsioonisüsteemides kasutada.

Aastal 2000 oli SSH-l hinnanguliselt 2 000 000 kasutajat.[8]

Alates 2005. aastast on OpenSSH kõige populaarsem SSH rakendus, olles vabavarana kaasas paljudes operatsioonisüsteemides. OSSH on käibelt kadunud.[9]

SSH-2 kui internetistandard[muuda | muuda lähteteksti]

Originaalpublikatsioon[muuda | muuda lähteteksti]

2006. aasta jaanuaris pakkus IETF-i töörühm Secsh välja idee võtta SSH-2 internetistandardiks.

  • RFC 4250, The Secure Shell (SSH) Protokollis määratud numbrid
  • RFC 4251, The Secure Shell (SSH) Protokolli arhitektuur
  • RFC 4252, The Secure Shell (SSH) Autentimise protokoll
  • RFC 4253, The Secure Shell (SSH) Transpordikihi protokoll
  • RFC 4254, The Secure Shell (SSH) Ühenduse protokoll
  • RFC 4255, Secure Shelli turvaline avalikustamine DNS-i (SSH) Võtme sõrmejälgede (Key Fingerprints) abil
  • RFC 4256, Üldine autentimine sõnumite vahetuse jaoks (SSH)
  • RFC 4335, The Secure Shell (SSH) Seansi kanali lõpetamise laiend
  • RFC 4344, The Secure Shell (SSH) Transpordikihi krüpteerimise režiimid
  • RFC 4345, Parandatud Arcfour režiimid SSH transpordikihi protokollile

Hilisemad muudatused[muuda | muuda lähteteksti]

Hiljem muudeti ja laiendati standardit järgmistes publikatsioonides.

  • RFC 4419, Diffie-Hellman Group Exchange Secure Shell (SSH) Transport Layer Protocol (märts 2006)
  • RFC 4432, RSA Key Exchange for the Secure Shell (SSH) Transport Layer Protocol (märts 2006)
  • RFC 4716, The Secure Shell (SSH) Public Key File Format (november 2006)

Lihttekstirünnak[muuda | muuda lähteteksti]

2008. aastal avastati SSH-2 viga, mis lubas teatud tingimustel kuni 4 baiti lihtteksti SSH andmevoost kätte saada.[10] Seda nimetatakse lihttekstirünnakuks (Plaintext Recovery Attack). See on ära parandatud, muutes vaikekrüpteeringu režiime alates OpenSSH 5.2-st.[11]

Failiedastus SSH kaudu[muuda | muuda lähteteksti]

Lõpuks muutus failiedastusprotokolli tunneldamine SSH-protokolli abil uueks protokolliks. Näiteks:

  • SSH failiedastusprotokoll (SFTP), mis tulenes FTP-st SSH kaudu
  • Turvakoopiaprotokoll (SCP), mis tulenes RCP-st SSH kaudu
  • Failiedastus käsurea protokolli abil (FISH) väljastati 1998. See tulenes Unixi käsurea kasutamisest SSH kaudu.

IETF-i standardid ei ole mõeldud nende protokollide jaoks. IETF on koostanud hunniku visandeid SFTP jaoks, kuid alates aastast 2006 on nende arendamine seisatud, põhjuseks vaidlus teemal, et SFTP olevat failisüsteem.[12]

Vaata ka[muuda | muuda lähteteksti]

Viited[muuda | muuda lähteteksti]