SSH protokoll

Ez az oldal az SSH protokollról szól. A mögötte álló vállalatról lásd: SSH kommunikációs biztonság. A Linux ssh parancs használatáról lásd: ssh parancs használata. Az SSH kliensekről, kiszolgálókról és technikai információkról lásd az SSH (Secure Shell) kezdőlapját.

Az SSH protokoll (más néven Secure Shell) az egyik számítógépről a másikra történő biztonságos távoli bejelentkezés módszere. Számos alternatív lehetőséget biztosít az erős hitelesítéshez, és erős titkosítással védi a kommunikáció biztonságát és integritását. Biztonságos alternatívája a nem védett bejelentkezési protokolloknak (például telnet, rlogin) és a nem biztonságos fájlátviteli módszereknek (például FTP).

A SSH protokoll tipikus felhasználási területei

A protokollt a vállalati hálózatokban a következőkre használják:

  • biztonságos hozzáférés biztosítása a felhasználók és az automatizált folyamatok számára

  • interaktív és automatizált fájlátvitel

  • távoli parancsok kiadása

  • a hálózati infrastruktúra és más kritikus rendszerelemek kezelése.

Hogyan működik az SSH protokoll

A protokoll kliens-kiszolgáló modellben működik, ami azt jelenti, hogy a kapcsolatot az SSH-kliens hozza létre, aki csatlakozik az SSH-kiszolgálóhoz. Az SSH-kliens irányítja a kapcsolat létrehozásának folyamatát, és nyilvános kulcsú kriptográfiát használ az SSH-kiszolgáló személyazonosságának ellenőrzésére. A beállítási fázis után az SSH protokoll erős szimmetrikus titkosítást és hashing algoritmusokat használ az ügyfél és a kiszolgáló között kicserélt adatok titkosságának és integritásának biztosítására.

A lenti ábra egy biztonságos shell-kapcsolat egyszerűsített beállítási folyamatát mutatja be.

Elégerős hitelesítés SSH-kulcsokkal

A felhasználó hitelesítésére több lehetőség is kínálkozik. A leggyakoribbak a jelszavak és a nyilvános kulcsos hitelesítés.

A nyilvános kulcsos hitelesítési módszert elsősorban automatizálásra és néha a rendszergazdák használják egyszeri bejelentkezéshez. Kiderült, hogy sokkal szélesebb körben használják, mint azt valaha is gondoltuk volna. Az ötlet lényege, hogy rendelkezünk egy kriptográfiai kulcspárral – nyilvános és magánkulccsal -, és a nyilvános kulcsot egy kiszolgálón úgy konfiguráljuk, hogy az engedélyezze a hozzáférést, és bárkinek, aki rendelkezik a magánkulcs másolatával, hozzáférést biztosítson a kiszolgálóhoz. A hitelesítéshez használt kulcsokat SSH-kulcsoknak nevezzük. A nyilvános kulcsú hitelesítést az olyan intelligens kártyáknál is használják, mint például az amerikai kormány által használt CAC és PIV kártyák.

A kulcsalapú hitelesítés fő felhasználási területe a biztonságos automatizálás lehetővé tétele. Az automatizált biztonságos shell-fájlátviteleket az alkalmazások zökkenőmentes integrálására és az automatizált rendszerek & konfigurációkezeléséhez is használják.

Megállapítottuk, hogy a nagy szervezetek sokkal több SSH-kulccsal rendelkeznek, mint azt elképzelik, és az SSH-kulcsok kezelése nagyon fontossá vált. Az SSH-kulcsok ugyanúgy hozzáférést biztosítanak, mint a felhasználónevek és jelszavak. Hasonló rendelkezésre bocsátási és megszüntetési folyamatokat igényelnek.

Egyes esetekben több millió SSH-kulcsot találtunk, amelyek az ügyfélkörnyezetekben a termelési szerverekhez való hozzáférést engedélyezték, és a kulcsok 90%-a valójában kihasználatlan volt, és olyan hozzáférést jelentett, amelyet már rendelkezésre bocsátottak, de soha nem szüntettek meg. A megfelelő irányelvek, folyamatok és ellenőrzések biztosítása az SSH-használatra is kritikus fontosságú a megfelelő személyazonosság- és hozzáférés-kezelés szempontjából. A hagyományos személyazonosság-kezelési projektek az SSH-kulcsok figyelmen kívül hagyásával az összes hitelesítő adat 90%-át figyelmen kívül hagyták. Szolgáltatásokat és eszközöket nyújtunk az SSH-kulcsok kezelésének megvalósításához.

Az SSH erős titkosítást és integritásvédelmet biztosít

Amint létrejön a kapcsolat az SSH-ügyfél és a kiszolgáló között, a továbbított adatok titkosítása a beállítás során egyeztetett paramétereknek megfelelően történik. A tárgyalás során az ügyfél és a kiszolgáló megegyezik a használandó szimmetrikus titkosítási algoritmusról, és létrehozza a használandó titkosítási kulcsot. A kommunikáló felek közötti adatforgalmat az iparági szabványos erős titkosítási algoritmusok (például az AES (Advanced Encryption Standard)) védik, és az SSH protokoll tartalmaz egy olyan mechanizmust is, amely szabványos hash-algoritmusok (például az SHA-2 (Standard Hashing Algorithm)) használatával biztosítja a továbbított adatok integritását.

IETF SSH szabvány és részletes műszaki dokumentáció

Az alapprotokoll

Amikor az SSH protokoll népszerűvé vált, Tatu Ylonen az IETF elé vitte szabványosítás céljából. Ma már internetes szabvány, amelyet a következő dokumentumok írnak le:

RFC 4251 – A Secure Shell (SSH) protokoll architektúraRFC 4253 – A Secure Shell (SSH) szállítási réteg protokollRFC 4252 – A Secure Shell (SSH) hitelesítési protokollRFC 4254 – A Secure Shell (SSH) csatlakozási protokoll

SFTP fájlátviteli protokoll

Az SFTP (SSH File Transfer Protocol) ma valószínűleg a legszélesebb körben használt biztonságos fájlátviteli protokoll. SSH-n keresztül fut, és jelenleg a draft-ietf-secsh-filexfer-02-ben van dokumentálva

A nyilvános kulcsú fájlformátum

A nyilvános kulcsú fájlformátum nem hivatalos szabvány (ez egy tájékoztató dokumentum), de számos implementáció támogatja ezt a formátumot.RFC 4716 – A Secure Shell (SSH) nyilvános kulcsú fájlformátum

Hogyan idézzük az SSH-t

Hogyan idézzük az SSH-t egy kutatási tanulmányban, kérjük, használja a következőket:

Tatu Ylonen: SSH - Secure Login Connections over the Internet.Proceedings of the 6th USENIX Security Symposium, pp. 37-42,USENIX, 1996.