Secure Shell
SSH
SSH eli Secure Shell -järjestelmää käytetään ottamalla SSH-asiakasohjelmalla etäyhteys SSH-palvelimeen. SSH:ta käytetään yleisesti merkkipohjaisten konsolien yhteydessä, eli pääteyhteyksillä. SSH:ta voidaan käyttää myös tunneloimaan muita yhteyksiä. Palvelimen ja työaseman tunnistaminen tapahtuu siirtokerroksella ja perustuu palvelimella sijaitseviin julkisiin ja salaisiin avaimiin. Palvelimella voi olla useita avaimia, jotka voivat perustua useisiin erilaisiin salausalgoritmeihin. Sama salausavain voidaan jakaa useamman eri työaseman kesken. Työaseman ja palvelimen välinen yhteys avataan ottamalla TCP (Transmission Control Protocol) -yhteys palvelimeen, minkä jälkeen työasema ja palvelin sopivat salauskäytännöistä. Salauskäytännöistä sopimisen jälkeen osapuolten välinen yhteys salataan SSH-siirtoprotokollalla. Työasema ja palvelin sopivat viestinnässä käytettävästä:
• pakkausmenetelmästä
• salauskirjoitusmenetelmästä
• viestien eheyden varmistamisessa käytettävästä tiivistefunktiosta
• menetelmästä, jolla sovitaan istuntoavaimesta
• menetelmästä, jolla palvelin tunnistetaan
Käyttäjätunnistuskerroksen tehtävänä on tunnistaa suojatun yhteyden osapuolet.
Tunnistusmenetelminä voidaan käyttää seuraavia:
• tunnistus käyttäjänimen ja salasanan perusteella
• tunnistus käyttäjänimen ja julkisen avaimen perusteella
• tunnistus käyttäjänimen ja työaseman perusteella.
Tunnistettaessa käyttäjä käyttäjänimen ja salasanan perusteella työasema lähettää käyttäjätunnuksen ja salasanan selkokielisenä.
Koska SSH-siirtoprotokolla salakirjoittaa työaseman ja palvelimen välisen liikenteen, käyttäjätunnus ja salasana eivät liiku selväkielisenä verkossa.
Käyttäjänimen ja julkisen avaimen perusteella tapahtuvassa tunnistuksessa työaseman antama julkinen avain tarkistetaan avainparin salaisella
avaimella, josta saadaan digitaalinen allekirjoitus yhteyttä koskevilla tiedoilla: käyttäjänimi, julkisen avaimen algoritmin nimi siirtoyhteyskerroksella
ja mahdollisesti muita tietoja.
Yhteysprotokollalla voidaan avata kanavia SSH-yhteyden sisälle. Kanavat on tunneloitu SSH-yhteyden kautta, ja jokaista kanavaa voidaan käyttää erillisenä
pääteyhteytenä tai minkä tahansa yhteyden välittämiseen. Kumpi tahansa osapuoli voi avata tunnelin, joka identifioidaan uniikilla
numerotunnisteella. Yksi SSH-tunneloinnin ominaisuuksista on portin uudelleenohjaus (port forwarding). Portin uudelleenohjaus mahdollistaa minkä tahansa TCP-yhteyden
muuttamisen salatuksi SSH-yhteydeksi. Usein TCP-yhteydessä portti toimii sovellustunnisteena. Sisään tuleva liikenne tunnistetaan portin perusteella
ja ohjataan oikealle sovellukselle.
SSH tukee kahta erilaista portin uudelleenohjausta. Nämä ovat paikallisen portin uudelleenohjaus ja etäportin uudelleenohjaus. Paikallisen portin
ohjauksessa SSH on asetettu kuuntelemaan tiettyä porttia, josta SSH kaappaa liikenteen ja lähettää sen SSH-tunnelia pitkin eteenpäin.
Vastaanottopäässä SSH-palvelin lähettää vastaanotetun liikenteen sovelluksen kuuntelemaan porttiin. Etäportin uudelleenohjauksessa SSH-sovellus
toimii etäpalvelimen puolesta. SSH-sovellus vastaanottaa verkkoliikenteen annettuun porttiin, ohjaa liikenteen uudelleenohjattuun porttiin ja lähettää
sen haluttuun osoitteeseen. Tämän tapaista porttiohjausta käytetään usein, kun sisäverkkoon ei ole sallittu etäyhteyksiä palomuurin läpi. Sisäverkosta voidaan usein avata yhteyksiä
ulospäin ja tätä hyödynnetään etäportin uudelleenohjauksessa.
Lähteet Hakala, M., Vainio, M. & Vuorinen, O. 2006. Tietoturvallisuuden käsikirja. Stallings 2011. Cryptography and Network Security Principles and practice. 5. painos.