Mikä on SSH ja miten se toimii?

Mikä on SSH-salaus ja miten se toimii


Smuuta turvallisuutta heikentäviä puutteita shell (SSH) on yleisesti toteutettu tietoturvaprotokolla, jolla on erilaisia ​​käyttötapoja. Sen tunnetuimman sovelluksen avulla käyttäjät voivat pääsy turvallisesti etätietokoneisiin ja palvelimiin, mutta sitä voidaan käyttää myös tunnelointiin, porttien edelleenlähettämiseen, suojattuihin tiedostonsiirtoihin ja muihin.

Tässä oppaassa kerrotaan mikä SSH on, mihin sitä käytetään, protokollan historia, sen tekniset yksityiskohdat, sekä turvallisuusongelmat tämä on otettava huomioon.

SSH koostuu kolmesta erillisestä protokollasta: kuljetuskerros, todennuskerros ja yhteyskerros. Yhdessä nämä auttavat todentamaan yhteyden toisen osapuolen, tarjoamaan luottamuksellisuuden salaamalla ja tarkistamaan tietojen eheyden. SSH toteutetaan nyt yleisimmin joko omistamana SSH-2: na tai avoimen lähdekoodin iteraationa, OpenSSH.

SSH: n käyttö

SSH on monipuolinen protokolla. Sen rakenne ja tietoturvaominaisuudet mahdollistavat sen käytön monilla tavoilla, kuten etäkäyttöön, portin edelleenlähettämiseen, tunnelointiin ja suojattuun tiedostojen siirtoon.

Etäyhteys

Etäkäyttö antaa käyttäjille tien päästä kirjaudu sisään toiseen tietokoneeseen tai palvelimeen omasta koneestaan. Sitä käytetään pääsemään kohdekoneen paikallisiin tiedostoihin tai suorittamaan palveluita sillä kaikella ilman, että sinun on fyysisesti oltava siellä.

Telnetin ja rloginin kaltaisilla ohjelmilla on myös tämä toiminto, mutta niistä puuttuu SSH: n suojausominaisuudet. SSH: hon liittyvät salaus- ja todennustoimenpiteet sallivat käyttäjän muodostaa yhteyden toiseen palvelimeen tai tietokoneeseen suojatulla tavalla, jopa potentiaalisesti vaarallisen välivaiheen kautta..

Etäkäyttö SSH: lla toteutetaan yleensä siten, että työntekijät voivat työskennellä etäyhteyden kautta tai antaa IT-osastolle mahdollisuuden suorittaa tehtäviä ilman, että hänen tarvitsee fyysisesti mennä koneelle. Sitä voidaan käyttää etähallintaan, verkkoinfrastruktuurin hallintaan, automatisoinnin asettamiseen, varmuuskopioiden luomiseen ja muuhun.

Portin uudelleenohjaus

Portin edelleenlähetystä käytetään pyyntöjen siirtämiseen yhdestä osoitteesta ja porttinumerosta toiseen. Se soveltaa NAT-verkon osoitteiden muuntamista porttien uudelleenohjaamiseen paikallisen verkon ja etätietokoneen välillä, jolloin voit käyttää laitetta verkon ulkopuolelta.

Satamahuolinta voidaan tehdä kolmella eri tavalla:

  • paikallinen portin uudelleenohjaus - Paikallisen portin edelleenlähetys antaa sinun yhdistää paikallinen asiakas ja ulkoinen verkko. Se voi olla tehokas esimerkiksi tekemällä pääsy paikallisesti estettyihin verkkosivustoihin tai muodostamalla yhteys palomuurin takana olevaan tietokantaan..
  • Etäportin edelleenlähetys - Tämän tyyppinen edelleenlähetys antaa palvelinpuolen sovellusten käyttää palveluita asiakaspuolella. SSH: n etäportin edelleenlähetys antaa käyttäjille mahdollisuuden muodostaa turvallisen yhteyden etäpalvelimiin paikallisen tietokoneen kautta ohjaamalla paikallisen portin etä SSH-palvelimeen.
  • Dynaaminen portin uudelleenohjaus - Tämän avulla käyttäjät voivat lähettää tietyn tietyn portin kautta etätietokoneelle tai palvelimelle käyttämällä useita välityspalvelimina toimivia SSH-palvelimia..

tunnelointi

SSH-2

Tunneliprotokollat ​​käyttävät kapselointia tiedon siirtämiseen verkkojen välillä. Tunnelit voidaan ottaa käyttöön, jotta muut kuin alkuperäiskansojen protokollat ​​voivat kulkea verkkojen kautta, jotka normaalisti eivät tue niitä. Toinen yleinen käyttö on turvallisuuden tarjoaminen vaarallisella verkolla.

Tunnelointiprotokollat ​​käärittävät kriittiset paketit toisen paketin hyötykuorman sisään. SSH-tunneloinnin avulla käyttäjät voivat kiertää verkon tietoturvaa, linkittää laitteita ei-alkuperäisellä verkkoprotokollalla ja suojata siirrettävää tietoa. Niitä käytetään usein yhdistämään etäkäyttäjät organisaationsa online-resursseihin turvallisella tavalla.

SFTP

FTP (SSH File Transfer Protocol), joka tunnetaan joskus nimellä Secure File Transfer Protocol, tarjoaa turvallisen tavan käyttää tiedostoja, siirtää niitä ja hallita niitä. Se on turvallinen vaihtoehto FTP: lle ja hyödyntää SSH-protokollaa tiedostojen turvalliseen lähettämiseen, vastaanottamiseen ja hallintaan.

SCP

Suojattu kopiointiprotokolla (SCP) on samanlainen kuin SFTP, mutta rajoitetumpi. Se sallii vain suojatut tiedostojen siirrot sen sijaan, että täydet ominaisuudet, jotka sallivat SFTP: n toimia etä tiedostojärjestelmäprotokollana.

Platforms & sovellukset, jotka käyttävät SSH: ta

Omistettua SSH: ta tai OpenSSH: ta voidaan käyttää kaikissa tärkeimmissä käyttöjärjestelmissä. Se on saatavana Unix-pohjaisilla alustoilla, kuten OpenBSD, macOS, Linux ja Solaris, kun taas Windows-käyttäjät voivat käyttää SSH: ta PowerShellin kautta.

SSH: n historia

Tatu Ylönen kehitti SSH: n Teknillisessä korkeakoulussa vuonna 1995 vastauksena salasananhavaitsevaan hyökkäykseen yliopiston verkossa. Sen tarkoituksena oli tarjota vaihtoehto sellaisille protokollille kuin FTP, TELNET, rsh ja rlogin, joka ei taannut luottamuksellisuutta tai todennut käyttäjiä turvallisella tavalla.

SSH julkaistiin ilmaiseksi yleisölle vuonna 1995, ja se otettiin hyvin vastaan. Ylönen perusti nopeasti hyväksyttyään SSH Communications Securityn saman vuoden loppuun mennessä jatkaakseen SSH: n kehitystä ja kaupallistaakseen.

Vuonna 1995 Ylönen julkaisi myös Internet Engineering Task Force (IETF) Internet Draft -luonnoksen dokumentoitu SSH-1-protokolla. Rajoitukset löytyivät pian protokollasta, eikä niihin voida puuttua vaikuttamatta taaksepäin yhteensopivuuteen. Ratkaisu oli uusi versio protokollasta, ja Ylönenin yritys käynnisti SSH-2: n vuonna 1996.

SSH-2: ssa oli uusia algoritmeja, jotka saivat IETF: n perustamaan työryhmän, joka pyrkii standardisoimaan protokollaa. Ryhmä sai lempinimen SECSH, secure shell, ja se julkaisi ensimmäisen SSH-2-Internet-luonnoksensa vuonna 1997.

SSH-2: n ohjelmisto julkaistiin vuonna 1998, mutta sitä ei otettu välittömästi käyttöön laajalti sen rajoittavien lisensointien takia.. IETF muutti vuonna 2006 standardiksi muutetun version protokollasta. Tämä oli turvallisempaa, käyttämällä viestin todennuskoodeja eheyden tarkistamiseen ja Diffie-Hellman-avainten vaihtoa todennusta varten.

Vuonna 1999 OpenBSD-projekti julkaisi OpenSSH: n. OpenSSH on protokollan ilmainen versio joka perustuu muutoksiin, jotka Björn Grönvall teki SSH 1.1.12: een. Kehittäjät palasivat tähän vanhaan versioon ja muuttivat sitä huomattavasti, koska se oli viimeinen SSH-versio, joka oli täysin avoin lähdekoodi. OpenSSH on nyt eniten käytetty vaihtoehto, ja se on sittemmin otettu käyttöön monissa käyttöjärjestelmissä, kuten Windows, macOS, Linux, Solaris ja muut..

SSH-1 vs. SSH-2 vs. OpenSSH

Kuten yllä todettiin, SSH-1 on ensimmäinen versio protokollasta, joka julkaistiin alun perin avoimen lähdekoodin lisenssi. Sitä pidetään turvattomana, eikä sitä pitäisi panna täytäntöön. Tämä jättää patentoidun version SSH-2 ja vapaasti saatavana olevan version OpenSSH käyttökelpoisiksi vaihtoehdoiksi..

SSH-2 ja OpenSSH ovat pohjimmiltaan samat, kun on kyse heidän arkkitehtuuristaan ​​ja työstään. Suurin ero on, että patentoidussa versiossa on joukko tukivaihtoehtoja, kun taas OpenSSH: n käyttäjien on luotettava yhteisön vapaasti luomiin resursseihin..

SSH: Tekniset yksityiskohdat

SSH-1 toimi yhtenä protokollina, mutta emme käsittele sitä täällä, koska se on vanhentunut. Sen sijaan keskitymme SSH-2: een ja OpenSSH: iin, jotka molemmat koostuvat kolmesta erillisestä protokollasta:

  • Kuljetusprotokolla - Tämä muodostaa yhteyden ja tarjoaa suojauksen.
  • Todennusprotokolla - Tätä kerrosta käytetään asiakkaan todentamiseen.
  • Yhteysprotokolla - Tämä protokolla käsittelee kanavia, joiden kautta dataa siirretään.

Jokaisella näistä protokollista on ainutlaatuinen rooli, joka toimii yhteyden luomisessa ja turvaamisessa, toisen osapuolen todentamisessa ja tiedon siirtämisessä. Oletus TCP-yhteysportti on 22, ja yhteydet muodostetaan SSH-asiakkaan ja SSH-palvelimen välillä asiakas-palvelin-malli.

SSH: n etäkirjautumisprosessi etenee seuraavan perusrakenteen mukaisesti (variaatioilla konfiguraatiosta riippuen), joita käsittelemme yksityiskohtaisemmin myöhemmin:

  • Asiakas ottaa yhteyttä SSH-palvelimeen yhteyden muodostamiseksi.
  • Tämän jälkeen palvelin lähettää julkisen avaimensa asiakkaalle henkilöllisyyden todentamiseksi.
  • Osapuolet neuvottelevat yhteyden parametrit, perustavat sitten turvallisen kanavan näitä linjoja pitkin.
  • Sitten käyttäjä kirjautuu palvelinpalvelimen käyttöjärjestelmään ja voi nyt hallita tehtäviään etäyhteyden kautta.

Kuljetusprotokolla

Kuljetuskerros on matalan tason protokolla, joka huolehtii seuraavista tehtävistä.

  • Palvelimen isäntätodennus
  • Avaimenvaihto
  • Salaus tietojen luottamuksellisuuteen
  • Eheyden tarkistaminen varmistaa, että tietoja ei ole muutettu
  • Perustetaan istunnon tunnus, jota voidaan käyttää muissa protokolloissa

siirtoprotokolla todentaa vain palvelimen eikä asiakkaan (asiakkaan todennus tehdään todennusprotokollassa, jos sitä vaaditaan).

Kuljetuskerroksessa asiakas aloittaa yhteyden ja osapuolet neuvottelevat sitten kuinka avaimet vaihdetaan, mitä julkisen avaimen algoritmia käytetään, mikä symmetrisen avaimen salaus salaa tiedot, mitä viestin todennusalgoritmia käytetään tietojen tarkistamiseksi ja mikä pakkausmenetelmä (jos sellainen on) otetaan käyttöön.

Kun yhteys on muodostettu, sekä palvelimen että asiakkaan on lähetettävä tunnistemerkkijonon kautta, joka sisältää protokollaversion (2.0)..

Algoritmi-neuvottelut

Yhteyden parametrien asettamiseksi molemmat osapuolet lähettävät paketin, joka sisältää luettelon seuraavista vaihtoehdoista:

tavu SSH_MSG_KEXINIT

tavu [16] eväste (satunnainen tavu)
nimiluettelo kex_algorithms
nimiluettelon palvelin_host_key_algorithms
nimiluettelon salaus_algorithms_client_to_server
nimiluettelon salaus_algorithms_server_to_client
nimiluettelo mac_algorithms_client_to_server
nimiluettelo mac_algorithms_server_to_client
nimilista pakkaus_algoritmit_asiakas_palvelin
nimiluettelon pakkaus_algorithms_server_to_client
nimiluettelon kielet_asiakas_palvelin
nimiluettelo kielet_palvelin_toimi
boolean first_kex_packet_follows
uint32 0 (varattu tulevalle laajennukselle)

Kumpikin puoli sisältää pilkuilla erotetut parametrit, jotka he ovat valmiita hyväksymään yhteydessä. Ensisijainen algoritmi olisi lueteltava ensin.

varten avaimenvaihto (kex_algorithms), ensimmäinen algoritmi, jota molemmat osapuolet tukevat, valitaan yhteydeksi (voi olla myös muita tekijöitä, jotka on täytettävä, riippuen siitä, mikä algoritmi on valittu). Jos osapuolet eivät löydä näitä vaatimuksia tyydyttävää vastavuoroisesti tuettua algoritmia, yhteys epäonnistuu.

Palvelimen isäntäavainalgoritmit ovat palvelimen isäntäavaimen tuettuja algoritmeja. Palvelin asettaa algoritmit, joille sillä on isäntäavaimet, kun taas asiakas määrittelee algoritmit, jotka se on valmis hyväksymään. Valinta riippuu siitä, vaatiiko ratkaistu ratkaisu avaintenvaihtomenetelmällä salausominaisuuksia omaavaa avainta vai digitaalista allekirjoitusta

Molemmat osapuolet luettelevat symmetrisen avaimen algoritmeja että he ovat valmiita hyväksymään suosituimmat menetelmät yläosassa. Ensimmäistä vaihtoehtoa, joka esiintyy asiakasluettelossa, joka sattuu olemaan myös palvelimen luettelossa, on käytettävä. Jos sopimusta ei voida tehdä, yhteys epäonnistuu.

Molemmat MAC-algoritmi ja pakkausalgoritmi neuvotellaan samalla tavalla.

Avaimenvaihto

Avainvaihto on vastuussa palvelimen todennus, ja se määrittää avaimet, joita käytetään yhteyden suojaamiseen seuraavissa vaiheissa. Se alkaa yleensä siitä, että osapuolet lähettävät tuettujen algoritmien luettelot toisilleen. Kumpikin osapuoli voi vaihtoehtoisesti arvata toisen puolen ensisijaisen algoritmin ja lähettää paketin, joka sopii kyseisen algoritmin parametreihin alussa.

Jos toisen osapuolen arvaus on oikea, kyseistä pakettia käytetään ensimmäisenä avaimenvaihtopaketina. Jos kumpikaan arvaus ei ole oikea, niin kummankin osapuolen on askel taaksepäin ja lähetettävä luettelot suosituista algoritmeista. Jos avaintenvaihtoviesti sisältää palvelimen digitaalisen allekirjoituksen todisteena palvelimen laillisuudesta, se katsotaan nimenomainen palvelimen todennus. Jos se käyttää jaettua salaisuutta sen sijaan, siihen viitataan implisiittinen palvelimen todennus.

Avainvaihto on myös vastuussa yhteisen salaisuuden ja tiivisteen luomisesta. Alkuperäisen avaimenvaihdon hash-arvosta tulee istunnon yksilöllinen tunniste, ja sitä käytetään myös osana digitaalisia allekirjoituksia, jotka todistavat, että osapuoli on yksityisen avaimensa todellinen omistaja.

Käytetty hash-funktio riippuu neuvotteluissa päätetystä avaimenvaihtomenetelmästä. Kun avaintenvaihto on valmis, kaikki tulevat viestinnät käyttävät uutta näppäin- ja algoritmit.

Internet Engineering Task Force (IETF) Internet luonnoksen mukaan seuraavia avainvaihtomenetelmiä pidetään turvallisina:

  • curve25519-sha256
  • curve448-SHA512
  • Diffie-Hellman--ryhmä-vaihto-sha256
  • Diffie-Hellman-group14-sha256
  • Diffie-Hellman-group15-SHA512
  • Diffie-Hellman-ryhmää16-SHA512
  • Diffie-Hellman-group17-SHA512
  • Diffie-Hellman-group18-SHA512
  • ecdh-SHA-2-nistp256
  • ecdh-SHA-2-nistp384
  • GSS-group14-sha256
  • GSS-group15-SHA512
  • GSS-ryhmää16-SHA512
  • GSS-group17-SHA512
  • GSS-group18-SHA512
  • GSS-nistp256-sha256
  • GSS-nistp384-sha384
  • GSS-nistp521-SHA512
  • GSS-curve25519-sha256
  • GSS-curve448-SHA512
  • rsa2048-sha256

Palvelimen isäntäavainalgoritmi

Näitä julkisen avaimen algoritmeja käytetään palvelimen todennus sekä jaetun istunnon tunnuksen turvallinen perustaminen. Niitä voidaan myös käyttää valinnaisesti isännän todentamiseksi. SSH on suunniteltu toimimaan useiden julkisen avaimen algoritmien, koodaustyyppien ja muotojen kanssa:

  • Se käyttää julkisen avaimen algoritmeja salaukseen ja / tai digitaalisiin allekirjoituksiin.
  • Voidaan toteuttaa joukko koodausmenetelmiä, jotka sallivat konfiguroinnin erilaisilla datamuodoilla, täyte- ja tavujärjestyksellä.
  • Eri avaintomuodot mahdollistavat avainten koodaamisen eri tavoin, samoin kuin joukon varmenteiden esityksiä.

Oletusalgoritmit sisältävät seuraavat, mutta on myös joitain muita muunnelmia, jotka voidaan myös toteuttaa:

  • ssh-rsa
  • ssh-RSA sha256
  • ssh-DSS
  • ssh-DSS-sha256
  • x509v3-sign-dss
  • x509v3-sign-DSS-sha256
  • x509v3-sign-rsa
  • x509v3-sign-RSA sha256

Salausalgoritmit

Symmetriset avaimet -algoritmit ovat tottuneet salaa tiedot ja tarjoaa luottamuksellisuutta. Salausprosessissa käytetyt parametrit ja jaettu avain määritetään yhteyden aikaisemmissa vaiheissa. Valittu algoritmi salaa hyötykuorman, paketin pituuden, täytepituuden ja täytekentät.

SSH: ssa hyväksytään useita erilaisia ​​salausalgoritmeja, mutta turvallisuussyistä on parasta pysyä AES: n kanssa. Näppäimien tulee olla vähintään 128-bittisiä, mutta suurempia näppäimiä suositaan.

MAC-algoritmit

Kuljetusprotokolla tarkistaa datan eheyden lisäämällä pakettiin sanoman todennuskoodin (MAC). Tämä MAC perustuu jaettuun salaisuuteen (joka muodostetaan avaintenvaihtoon), paketin järjestysnumeroon ja paketin sisältöön. Se lasketaan ennen salausta.

Toteutusten on tarjottava riippumaton algoritmi suorittamiseksi kumpaankin suuntaan, vaikkakin on ihanteellista, jos samaa käytetään molemmilla puolilla. Laaja valikoima viestien todennusalgoritmeja voidaan toteuttaa, kuitenkin SHA-256: ta ja sitä uudempaa tulisi käyttää useimmissa tilanteissa korkean tietoturvan varmistamiseksi..

Puristus

Pakkaus ei ole pakollinen SSH-protokollassa, ja sen toteutusten on sallittava yhteyksien eteneminen ilman pakkaamista. Pakkaus voidaan toteuttaa vain lisävarusteena, kuten esimerkiksi zlib. Jos pakkausta käytetään, se vaikuttaa vain hyötykuormaan. MAC ja paketin pituuskenttä lasketaan sitten pakatun hyötykuorman perusteella.

Kuljetusprotokollipaketti

Kuljetusprotokollipaketti on muotoiltu sisältämään seuraavat tiedot (samoin kuin jotkut vähemmän merkitykselliset yksityiskohdat, jotka on jätetty pois):

  • Paketin pituus
  • Pehmusteen pituus
  • Hyötykuorma
  • täyte
  • Viestin todennuskoodi (MAC)

SSH-3

Todennusprotokolla

Palvelin käyttää tätä protokollaa todentaa asiakas. Se voi tehdä tämän useilla erilaisilla mekanismeilla, joista monet luottavat siirtoprotokollaan asetettuun istunnon tunnukseen. Jotkut käyttävät salaus- ja eheystarkistuksia siirtoprotokollasta samoin kuin istunnon tunnus, kun taas toiset käyttävät näitä algoritmeja itse.

Palvelin käyttää paikallista käytäntöään päättääkseen, mitkä todennusmenetelmät se hyväksyy yksittäiseltä käyttäjältä. Koska palvelin on jo todennettu kuljetusprotokollassa, Palvelinta ei tarvitse todentaa uudelleen.

Todennusprotokollan turvallisuus on riippuvainen kuljetusprotokollasta, jota se kulkee. Jos kuljetusprotokolla ei voi taata luottamuksellisuutta tai tarkistaa tietojen eheyttä, tämä rajoittaa sitä, kuinka todennusprotokollaa voidaan turvallisesti käyttää.

Esimerkiksi, jos eheydensuojaa ei sovelleta kuljetusprotokollassa, niin salasanan muutoksia koskevia pyyntöjä ei pitäisi sallia, koska tämä jättäisi hyökkääjien mahdollisuudet peukaloida tietoja huomaamatta.

Todennusprotokolla käyttää julkisen avaimen todennusta olettaen, että palvelimen isäntän yksityistä avainta eikä asiakasisäntön avainta ei ole vaarannettu. Jos palvelin on vaarannettu, tämä voi johtaa asiakkaan käyttäjänimen ja salasanan vapauttamiseen hyökkääjälle.

Jotta isäntäpohjainen todennus olisi turvallinen, asiakasta ei saa vaarantaa. Jos tämä on mahdollista, niin muut todennusmenetelmät tulisi lisätä. On tärkeää huomata se todennusprosessi on vain yhtä vahva kuin palvelimen hyväksymä heikoin vaihtomenetelmä.

Todennusprotokollaprosessi

Todennusprotokolla alkaa, kun palvelin lähettää asiakkaalle luettelon hyväksytyistä todennusmenetelmistä. Asiakas voi sitten valita näistä menetelmistä mistä tahansa järjestyksestä. Tämä prosessi antaa palvelimelle hallinnan, mutta antaa myös riittävän joustavuuden, jotta asiakas voi järjestää käyttämään sopivinta tapaa.

Yleisimpiä asiakastodennusmenetelmiä ovat:

  • Julkinen avain - Tämä menetelmä käyttää algoritmeja, kuten RSA, DSA ja ECDSA, asiakkaan todentamiseen julkisen avaimen salauksella. Jotkut toteutukset käyttävät myös x.509-varmenteita. Palvelin tarkistaa asiakkaan digitaalisen allekirjoituksen julkista avainta vastaan ​​asiakkaan henkilöllisyyden todentamiseksi.
  • Salasana - Salasanoja voidaan käyttää myös asiakkaan todentamiseen. Asiakas lähettää salasanansa (jonka pitäisi olla salattu kuljetusprotokollalla). Jos salasana vastaa palvelimen tallennettua arvoa, se hyväksytään ja todennus etenee.
  • GSSAPI - Tämän menetelmän mukaisesti ulkoisia järjestelmiä, kuten Kerberos, voidaan käyttää kertakirjautumiseen.
  • Interaktiivinen näppäimistö - Tämä tekniikka tarjoaa kertaluonteisen salasanan todennuksen siten, että palvelin pyytää asiakasta tietoja.

Yhteysprotokolla

Yhteysprotokolla esitetään kuinka useita datakanavia yhdistetään suojatun kuljetuskerroksen yli. Se käsittelee myös parametreja, joita käytetään pääsemään suojattuihin alajärjestelmiin palvelimen isäntänä, samoin kuin välityspalvelimen edelleenlähetys ja pääsy kuoriin.

Yhteysprotokolla istuu kuljetuskerroksen ja todennusprotokollien päällä. Se mahdollistaa komentojen etäsuorittamisen sekä edelleenlähetetyt X11- ja TCP / IP-yhteydet. Jos joko palvelin tai asiakas on vaarannettu, yhteysprotokolla ei ole suojattu.

kanavat

Kanavat ovat viestinnän perusreittejä, ja molemmat osapuolet voivat avata ne. Kanavat voivat sisältää pääteistunnot, välitetyt yhteydet ja muut viestinnän muodot. Kun kanavia on useita, ne kanavoidaan yhdeksi yhteydeksi.

Kanavien avaaminen

Jokainen kanava on numeroitu molemmissa päissä, vaikka numerot voivat olla erilaisia ​​molemmilla puolilla. Kun toinen puoli pyytää kanavan avaamista, se lähettää kanavanumeronsa osana viestiä sekä tietoja kanavasta ikkunan alkuperäinen koko ja paketin enimmäiskoko.

Ikkunan alkuperäinen koko ilmoittaa, kuinka paljon kanavaa avaava osapuoli voi vastaanottaa. Jos on tarpeen lähettää enemmän tietoja, ikkuna on ensin säädettävä. Samoin paketin enimmäiskoko määrittelee, kuinka suuri paketti voidaan vastaanottaa.

Kun toinen puoli vaatii kanavan avaamista, toinen puoli avaa kanavan, jos siihen mahtuu. Jos ei, se lähettää virheilmoituksen. Kanavien avaaminen voi epäonnistua seuraavista syistä:

  • Hallinto on kieltänyt sen
  • Yhteys epäonnistui
  • Tuntematon kanavatyyppi
  • Resurssien puute

Jos yhteyden molemmat puolet haluaa lähettää enemmän tietoja kuin ikkuna tällä hetkellä sallii, he voivat lähettää viestin, jossa pyydetään lisäämään tavuja.

Kanavien sulkeminen

Kun yhteyden toinen puoli on suorittanut tiedonsiirron, sen tulisi lähettää viesti, joka osoittaa, että se on lopettanut kanavan käytön. Tästä huolimatta kanava pidetään auki, ja toinen osapuoli voi edelleen lähettää tietoja. Jos osapuoli haluaa lopettaa kanavan kokonaan, se tekee sen erillisellä lopetusviestillä.

SSH-suojaus

SSH: n eri versioilla on jokaisella ollut omat tietoturvaongelmansa, vaikkakin nykyiset konfiguraatiot SSH-2 ja OpenSSH pidetään paljon turvallisempina kuin SSH-1.

SSH-1

SSH-1: tä pidetään yleensä puutteellisena, ja sillä on erilaisia ​​haavoittuvuuksia. Näihin sisältyy virhe SSH 1.5: ssä, jonka avulla luvattomat käyttäjät voivat lisätä sisältöä SSH-tietovirtaan. Tämä hyökkäys hyödyntää CRC-32-algoritmin minimaalista tietojen eheyden suojausta.

Tätä hyökkäystä lievennettiin SSH Compensation Attack Detectorilla, joka integroitiin useimpiin uusimpiin toteutuksiin. Tämä korjaus sisälsi uuden haavoittuvuuden, jolla oli valta suorittaa mielivaltainen koodi root-oikeuksilla.

On myös haavoittuvuus, jonka avulla vastakkaiset voivat muuttaa IDEA-salausta käyttävän istunnon viimeisen lohkon, sekä yhden, joka sallii vaarannetun palvelimen välittää asiakkaan todennusprosessin toiselle palvelimelle..

Näiden turvallisuusongelmien takia SSH-2: ta tulisi käyttää sen sijaan. Jotta toteutus olisi turvallinen, sinun pitäisi myös poista uudelleenneuvottelut SSH-1: n kanssa, koska hyökkäykset voivat hyödyntää tätä pääsyäsi tietoihisi SSH-1: n heikomman suojaustason kautta.

SSH-2

SSH-2 on alttiina teoreettiselle hyökkäykselle sen oletussalausmenetelmää (CBC) vastaan. Sen avulla hyökkääjä voi palauttaa jopa 32 bittiä selkeää tekstiä salatusta lohkosta. Tätä voidaan vähentää käyttämällä laskuritilaa (CTR) ja kääntämällä sen sijaan lohkosalaus stream-salaukseksi.

Der Spiegel julkaisi vuoden 2014 lopussa NSA-asiakirjat, jotka viittasivat siihen, että NSA voisi joskus rikkoa SSH: n. Tämän vuotaneen NSA PowerPointin mukaan NSA voi “Mahdollisesti palauttaa käyttäjänimet ja salasanat”, Vaikka tarkempia tietoja ei ole annettu. Ei ole tiedossa, millä menetelmillä virasto käytti tätä, mutta vaikuttaa epätodennäköiseltä, että se valehtelisi kykyjään omassa sisäisessä dokumentaatiossaan..

Vuoden 2017 Vault 7 -vuoto paljasti sen CIA: lla oli kaksi työkalua, joita voidaan käyttää sieppaamaan ja varastamaan SSH-kirjautumisia ja salasanoja. BothanSpy kohdisti Windows Xshell -asiakkaita, kun taas Gyrfalconia käytettiin OpenSSH-asiakasohjelmaa vastaan ​​useissa eri Linux-jakeluissa..

Nämä työkalut pystyvät varastamaan käyttöoikeustiedot ja lähettämään ne sitten takaisin CIA-palvelimelle. Kumpikaan näistä hyökkäyksistä ei voi rikkoa protokollaa itse; he vain käyttävät muita sivukanavahyökkäyksiä, jotka voivat kiertää sen tietyissä toteutuksissa.

Näistä hyökkäyksistä huolimatta SSH-2: ta pidetään turvallisena useimmissa tilanteissa, kunhan se on toteutettu asianmukaisesti. Korkean arvon kohteiden tai vanhentuneita tai huonoja toteutuksia käyttävien tulee harkita muita vaihtoehtoja.

OpenSSH

OpenSSH-versiossa 2, havaittiin hyökkäys, joka hyödynsi SSH-binaaripaketin heikkoutta. Hyökkäys antoi Lontoon yliopiston tutkijoille mahdollisuuden palauttaa 14 bittiä selkeää tekstiä salatusta lohkosta. Tätä lievennettiin julkaisussa 5.2 saattamalla protokolla lukemaan koko kelpaamattoman paketin pituuden tai viestin todennuskoodin sen sijaan, että yhteys lopetettiin..

Versioissa 6.8 ja 6.9, Linuxia voidaan käyttää suorittamaan mielivaltaisia ​​komentoja muiden käyttäjien päätelaitteissa. Tämä toteutettiin etuoikeuksien eskalaatioheikkouden avulla, jonka avulla hyökkääjät saivat merkkejä TIOCSTI-tulo- / lähtöohjauksella.

Onko SSH turvallinen?

Vaikka voi näyttää siltä, ​​että SSH: lla on paljon turvallisuusongelmia, se on suhteellineny on normaalia, että useita haavoittuvuuksia löytyy protokollan useista toteutuksista. Tämä ei tarkoita, että SSH-protokolla olisi vaarallinen. Sen sijaan se tarkoittaa vain sitä se on pantava täytäntöön oikein.

Niin kauan kuin käytät jompaakumpaa SSH-2 tai OpenSSH ja se on konfiguroitu käytöllesi sopivalla tavalla, sinun on oltava varma suojauksesta, jonka SSH tarjoaa yhteydellesi. Siksi se on edelleen niin usein käytetty protokolla, etenkin etäkäyttöä ja tunnelointia varten.

Katso myös: Yleiset salauslajit selitetty

Tietoverkkoteknologinen tausta TheDigitalArtist lisensoitu CC0

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me

Add a Comment

Your email address will not be published. Required fields are marked *

62 − = 60