SSH

Wikipediasta
(Ohjattu sivulta Secure Shell )
Siirry navigaatioon Siirry hakuun

Secure Shell eli SSH on salattuun tietoliikenteeseen tarkoitettu protokolla . Yleisin SSH:n kayttotapa on ottaa etayhteys SSH- asiakasohjelmalla SSH- palvelimeen paastakseen kayttamaan toista konetta merkkipohjaisen konsolin kautta. SSH:lla voidaan myos suojata FTP -, HTTP - tai muuta liikennetta, joka toimii samalla tasolla. Rlogin , telnet , rsh , rcp ja rdist suositellaan korvattavaksi SSH:lla, koska naiden yhteydenottotapojen suojaustaso on varsin heikko.

SSH-protokollan ensimmaisen version (SSH1) kehitti vuonna 1995 tekniikan lisensiaatti Tatu Ylonen , joka tyoskenteli tuolloin tutkijana teknillisessa korkeakoulussa . Sittemmin han perusti SSH Communications Security -nimisen yrityksen. [1] Toisen version (SSH2) kehitti IETF , jota tyoryhma kutsui nimella "Secsh" kehitysvaiheessa. SSH2 julkaistiin vuonna 1998. RFC-dokumentit on julkaistu vuonna 2006, jonka jalkeen Secsh-tyoryhma lopetti toimintansa. [2]

Vuonna 1999 OpenBSD -projektin yhteydessa alettiin kehittaa vapaata versiota SSH:ta. OpenSSH perustuu Tatu Ylosen ssh 1.2.12 -julkaisuun, joka oli viimeinen vapaalla lisensilla julkaistu. [3]

SSH-asiakasohjelma kuuluu nykyisin useimpien Unix -sukuisten kayttojarjestelmien oletusasennukseen, ja se on yleensa kaytettavissa komentorivilta komennolla ssh . Windows -koneilla suosittu SSH-etakayttoohjelma on PuTTY .

SSH1 ja SSH2

[ muokkaa | muokkaa wikitekstia ]

SSH-protokollasta on kaksi versiota, SSH1 ja SSH2, jotka eroavat monin tavoin. [4] [5] Eras ero johtuu RSA -algoritmin patenteista, joka on sittemmin vanhentunut. [6] [5] SSH2 kayttaa useampaa protokollaa eri tarkoituksiin kun SSH1:ssa on yksi monoliittinen protokolla. [5]

SSH1:n kayttama CRC - tarkistussumma todettiin haavoittuvaksi ja se on SSH2:ssa korvattu viestin todennuskoodialgoritmien (MAC, Message Authentication Code) kaytolla. [6] [4]

SSH1 tukee vain RSA-algoritmia julkisen avaimen autentikaatioon kun SSH2:ssa vaihtoehtoja ovat myos DSA ja OpenPGP . Lisaksi Rhosts on poistettu turvattomana. SSH2 kayttaa Diffie-Hellman avaimenvaihtoa palvelinavaimen sijaan. [4]

SSH2:ssa istuntoavaimet voi vaihtaa. [5]

DSA on OpenSSH:ssa oletuksena pois kaytosta vuodesta 2015 lahtien ja aikomus on poistaa se kokonaan vuoteen 2025 mennessa. Syyna tahan on DSA:n heikkous, mutta SSH2:n dokumentaatiossa se on ollut ainoa pakollinen algoritmi johtuen muiden algoritmien patenteista. RSA on laajalti kaytossa, mutta uutta kehitysta ovat ECDSA ja EdDSA , joissa on suorituskykyyn ja turvallisuuteen liittyvia parannuksia. [7]

Sertifikaatit

[ muokkaa | muokkaa wikitekstia ]

Yhteytta muodostaessa SSH-asiakas pyytaa kayttajaa tarkistamaan palvelimen identiteetin ("isantaavain" eli "host key") kun yhteys muodostetaan ensimmaista kertaa. Tarkistus tehdaan "sormenjaljen" perusteella, joka on palvelimen julkisesta avaimesta muodostettu tiiviste (esimerkiksi SHA-256 ). Koska ihmiselle tarkistus on vaivalloista ja virheherkkaa, tiedot voidaan tallettaa tunnettujen palvelimien listaan tai ne voidaan jakaa DNSSECin avulla. Kuitenkin kayttaja luultavaksi hyvaksyy avaimen sormenjaljen sita tarkistamatta, [8] joten kaytannossa SSH-toimii "trust on first use" (TOFU) -periaatteella, jossa palvelimen sertifikaatti hyvaksytaan ensimmaista kertaa silla kaydessa ja kayttajaa varoitetaan jos se muuttuu.

Kayttaja tunnistautuu palvelimelle tyypillisesti salasanalla , mutta naiden heikkouksien vuoksi on parempi kayttaa avaimia, jolloin kayttajan ei tarvitse syottaa salasanoja. Sallitut avaimet voidaan tallettaa kayttajakohtaisesti palvelimella. Palvelimen avain ei muutu usein, mutta se voi muuttua palvelimen muutoksien tai domain-nimen muutoksen vuoksi. Myos kayttajat voivat tarvita uusia avaimia koska ne voidaan julkaista vahingossa tai ne voivat hukkua. [8]

OpenSSH tukee SSH-sertifikaattia, joka sisaltaa julkisen SSH-avaimen seka avaimeen liittyvaa metatietoa, jotka luotettava taho allekirjoittaa kryptografisesti. Sertifikaattia voidaan kayttaa julkisen avaimen sijaan kun muodostetaan yhteytta, jolloin ei tarvitse kasin tarkistaa avainta. [8]

Huomioitavaa salatun yhteyden muodostamisessa

[ muokkaa | muokkaa wikitekstia ]

Suojatun liikenteen yksi tarkeimmista periaatteista on, etta mahdollisimman monessa paikassa kaytetaan mahdollisimman monta erityyppista algoritmia. Nain krakkeri ei yhden liikenteen suojaukset murrettuaan osaa purkaa samalla keinolla muita yhteyksia. Siksi SSH-ohjelmissa on hyvin monia kaytettavissa olevia algoritmeja . Vaikka tieto, jota voisi kuljettaa verkon yli, ei olisikaan arkaluontoista, niin on silti suositeltavaa kayttaa salattuja yhteyksia, koska nain salasanakin sailyy suojattuna toisin kuin telnet-liikenteessa ja suojatun liikenteen maara verkossa lisaantyy. Tama hankaloittaa osittain krakkereita erottamasta arkaluontoista tietoa triviaalista informaatiosta.

Vaikka SSH luokitellaan turvalliseksi, siihen liittyy eraita haavoittuvuuksia, joita voidaan hyodyntaa hyokkayksissa. Ensimmaista yhteytta kahden pisteen valille muodostaessa vaihdetaan salausavaimet hyvin heikon salauksen voimin (ks. Potenssiinkorotusalgoritmi ). Jos krakkeri kayttaa mies valissa -tekniikkaa , niin han voi lukea kahden pisteen valille muodostettavat yhteydet. Tama ongelma voidaan valttaa lahettamalla salausavaimet perinteisessa postissa tai kuljettamalla avaimet taskussa pisteiden valilla. On ensiarvoisen tarkeaa huomioida, ettei tata ongelmaa ole kuin SSH-1-protokollaa kaytettaessa. SSH-2:ssa avaimien vaihto tapahtuu tietoturvallisesti.

Toisaalta esimerkiksi SSH-putkea ei kannata muodostaa missa tahansa. Jos et luota ymparistoon, missa olet, ala ota yhteytta. Jalleen taytyy salausavain saada molempien pisteiden valille, ja liian usein ihmiset jattavat palvelimen avaimen koneelle, jolta yhteys muodostettiin. Taman jalkeen krakkeri voi perustaa oman valepalvelimensa ja varastaa salasanoja muilta saman palvelimen kayttajilta aiemmin mainitulla tekniikalla.

SSH-asiakaspaateohjelmia ja palvelinversioita on hyvin monenlaisia. Yhden valmistajan SSH-paateohjelma ei valttamatta ole yhteensopiva toisen valmistajan palvelinohjelman kanssa, koska asiakasohjelma ei valttamatta tue palvelimen vaatimia suojausalgoritmeja. Tama on kuitenkin hyvin harvinaista.

SFTP ( SSH File Transfer Protocol tai Secure File Transfer Protocol ) on SSH:n mukana tuleva ohjelma, joka on tarkoitettu tiedonsiirtoon. [9] Silla ei ole yhteyksia vanhempaan FTP -protokollaan. [9]

OpenSSH-kehittajat ovat julistaneet tiedostoja SSH-yhteyden yli kopioivan scp-ohjelman ja protokollan vanhentuneeksi. scp:n ongelmana on, etta jokerimerkit laajennetaan etajarjestelmassa, joten kayttaja ei voi tietaa mita tiedostoja han on vastaanottamassa, ja voi vahingossa ylikirjoittaa tiedostoja. OpenSSH suosittelee kaytettavaksi sftp:ta tai rsync :ia tiedostojen siirtoon. [10]

SSH onnistui korvaamaan vakiintuneessa kaytossa olleita tyokaluja turvallisemmalla vaihtoehdolla. SSH:n eduiksi sanotaan vastaavat toiminnot ja helpompi kaytettavyys seka avoin standardi. Arvioiden mukaan vuoden 2000 lopussa SSH:lla oli kaksi miljoonaa kayttajaa. [11]

  • 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 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 4716 The Secure Shell (SSH) Public Key File Format
  • RFC 4819 Secure Shell Public Key Subsystem

Kaytettavissa olevia salaus- ja tunnistusmenetelmia

[ muokkaa | muokkaa wikitekstia ]
  1. Daniel J. Barrett, Richard E. Silverman, Robert G. Byrnes: ”1.5”,  SSH, The Secure Shell: The Definitive Guide, 2nd Edition . O'reilly Media, 2005. ISBN 978-0-596-00895-6 . (englanniksi)
  2. Secsh Protocol Documents vandyke.com . Viitattu 23.1.2024. (englanniksi)
  3. https://www.openssh.com/history.html
  4. a b c Exploiting the SSH CRC32 Compensation Attack Detector Vulnerability (PDF) giac.org . Viitattu 23.1.2024. (englanniksi)
  5. a b c d SSH Frequently Asked Questions snailbook.com . Viitattu 23.1.2024. (englanniksi)
  6. a b https://www.openssh.com/goals.html
  7. Damien Miller: OpenSSH announces DSA-removal timeline lwn.net . 11.1.2024. Viitattu 2.2.2024. (englanniksi)
  8. a b c Lars Wirzenius: Using certificates for SSH authentication lwn.net . 8.11.2022. Viitattu 23.11.2022. (englanniksi)
  9. a b Justin Ellingwood: How To Use SFTP to Securely Transfer Files with a Remote Server digitalocean.com . Viitattu 26.7.2021. (englanniksi)
  10. https://www.openssh.com/txt/release-8.0
  11. Nicholas Rosasco & David Larochelle: How and Why More Secure Technologies Succeed in Legacy Markets: Lessons from the Success of SSH (PDF) Arkistoitu . Viitattu 23.1.2024. (englanniksi)

Aiheesta muualla

[ muokkaa | muokkaa wikitekstia ]
  • OpenSSH ? Avoin versio SSH-ohjelmistopaketista.
  • SSH Tectia ? Ohjelmiston alkuperaisen kehittajan paketti.
  • SSH ? OS/2:lle
  • WebSSH ? SSH verkkosivun
  • SSHtools ? Ilmaisia SSH-sovelluksia
  • LSH ? GNU-lisenssilla oleva SSH2-asiakasohjelma.
  • ZOC ? Maksullinen SSH-asiakasohjelma.
  • WinSCP SSHFS asiakasohjelma.