A UNIX rendszereknél már a tervezéskor szempont volt, hogy távolról elérhetőek legyenek a szerverek. A biztonságot eleinte a terminálokhoz való hozzáférés korlátozásával biztosították. A hálózatok méretének növekedése azonban ezt a megoldást elavulttá tette.
rsh
Az rsh program az rlogin csomag része, amelyet a BSD alapú Unix rendszerek 1983 óta tartalmaznak. Az rsh-t azóta a legtöbb Unix és Linux rendszerre meghonosították (portolták).
A felhasználót felhasználónév/jelszó párossal azonosítja, majd a kívánt utasítást továbbítja a „távoli” szervernek.
A kapcsolat nem titkosított, tehát egy passzív megfigyelő is érzékeny adatokat tudhat meg a távoli rendszerről.
Használata a korszerű rendszereken csak kiegészítő biztonsági intézkedések mellett javasolt.
ssh
Az ssh az rsh biztonsági továbbfejlesztésének tekinthető. A legfontosabb újítása, hogy bevezette a titkosított és adatintegritás ellenőrzéssel kiegészített adatátvitelt.
Az adatintegritás ellenőrzése elvi hibát tartalmaz, ennek ellenére az adott feladatra megfelel.
Többféle azonosítási technikát, illetve azok kombinációját teszi lehetővé.
Az alap a felhasználónév/jelszó alapú azonosítás. Ez az rsh-nál is használt, jól ismert módszer, azonban az adatok továbbítása itt már titkosítva történik, így a támadónak nem állnak rendelkezésre olvasható formátumban sem az azonosítási adatok, sem a munkamenet adatai.
Kétkulcsos azonosítás (public key authentication). Ebben az esetben nem szükséges a jelszót beírni (vagy scriptben szerepeltetni), hanem a felhasználó a saját titkos kulcsával azonosítja magát, így szkriptből is a biztonsági protokollok megsértése nélkül lehet a távoli számítógépen programot futtatni.
Az ssh-t az összes fontosabb operációs rendszerre kiadták, így például Linuxra, Windowsra, OS X-re, Solarisra.
Az ssh köré az évek során egészen komoly szolgáltatás rendszer épült ki, amely rugalmasan bővíthető:
- scp: Egy, az ftp-hez hasonló fájlátviteli protokoll, amely az adatokat titkosítva és integritás ellenőrzéssel továbbítja
- tuneling: Egy port forgalmát titkosítja, ezzel az eredetileg nem titkosított protokollok is biztonságosabbá tehetőek
- VPN kapcsolat: Az OpenVPN-hez hasonló biztonságú kapcsolat alakítható ki a segítségével
- SSHFS: Az ssh szerveren keresztül megvalósított fájlmegosztás titkosított adatforgalommal
- rsync: Az rsync gyakran ssh-n keresztül valósítja meg az adatátvitelt
Az SSH különböző megvalósításaiban többször találtak biztonsági kockázatot (amelyek mindig javításra kerültek), ezért a rendszeres frissítések mellett a beállításokat érdemes folyamatosan felülvizsgálni, és mindig az „elfogadható legszigorúbb” beállításokat használni. Mint általában, itt is erősen ajánlott a root (admin, rendszergazda, administrator, toor) felhasználók közvetlen bejelentkezésének tiltása. Ha adminisztátori jogkörre van szükség, bátran használjuk a sudo (su, RunAs) parancsokat.
Ha az ssh-t a többi biztonsági rendszerrel együtt (például tűzfal) használjuk, akkor nagymértékben hozzájárulhat a hálózatunk biztonságához.
Hasznos linkek
Putty Windowsos ssh terminál
FreeSSHd Ingyenes ssh szerver Windows-hoz