SSH Az informatikai biztonság alapjai II. Készítette: Póserné Oláh Valéria poserne.valeria@nik.bmf.hunik.bmf.hu Tóth Ákos Toth.akos@nik.bmf.hu
Mi az az SSH (Secure Shell, biztonságos héj ) Segédprogram, protokoll, titkosító eszköz ügyfél-kiszolgáló alkalmazás és parancsfelület is egyben. Kiegyensúlyozott rugalmas megoldás különféle biztonsági és szolgáltatási kérdésekre, amelyek egy vállalat hálózatán belül felmerülhetnek Cél: két számítógép között egy potenciálisan nem biztonságos hálózaton (pl Internet) keresztül egy titkosított kommunikációs út kiépítése. SSH története SSH1 A UNIX nem biztonságos r-parancsainak lecserélésére készült 1995-ben. IETF 1997-ben kiadta az SSH2 változatát ami az SSH1 képességeit és biztonságát tovább növelte. SSH alkalmazási platformjai Macintosh, Microsoft Windows, UNIX, Linux, Cisco útválasztó mobil eszközök, stb. 2
SSH funkciói Leggyakoribb használati módja a telnettel megegyező módon a távoli bejelentkezéssel kapott biztonságos parancsértelmező. Biztonságos állományátvitel. Biztonságos végpontáthelyezés (port forward). Általános célú titkosított csatorna kiépítése amely alkalmas akár e-mail kapcsolatok titkosítására. 3
SSH működése Miért van szükség a telnet leváltására? A telnet nem titkosított formában dolgozik, ezért a hálózati forgalom megfigyelhető, hamisítható. Vannak nyílt forráskódú eszközök is, pl http://www.ethereal.com. Lehetőség van a nyílt jelszavak lehallgatására amik birtokában a támadó már bármit megtehet. A csomagok IP szintű hamisítására is lehetőség van. Az SSH két különböző végpont titkosított kommunikációs csatornával való összekötésére szolgál. Legegyszerűbb formájában TCP segítségével kapcsolódik a géphez, felhasználónevet és jelszót kér az azonosításhoz. Ha a hitelesítés sikeres, elkezdi titkosítani az adatokat. 4
Az SSH biztonsági összetevői (1) Hitelesítés A hitelesítési fázis során választja ki és cseréli ki a kapcsolati kulcsokat. SSH1 esetén RSA-t, SSH2 esetén DSA-t használ. A titkos kulcsot kódolva tárolja, a nyilvános kulcs a megfelelően hitelesített felhasználó gépén tárolódik. Ez teszi lehetővé az SSH kliensszoftverek számára az automatikus hitelesítést. Titkosítás SSH1 esetén DES,3DES,IDEA, DES,IDEA, BLOWFISH SSH2 esetén 3DES, BLOWFISH, TWOFISH, ARCFOUR, CAST128-CBC 5
Az SSH biztonsági összetevői (2) Adatépség biztosítása Csomagszintű adatépség-biztosítást is nyújt, a munkamenetek MD5 vagy SHA1 típusú kivonatolásával. Ellenőrzés Az z IP cím vagy a gépnév alapján képes engedélyezni vagy letiltani a csomópontokat (IP és DNS szűrés). Az SSH lehetővé teszi bizonyos, a végpont (port) számával azonosított forgalom SSH alagúton történő átirányítását 6
SSH kiszolgálók OpenSSH (www.openssh.com): Ingyenes program Unixra és Windowsra SSH2 (www.ssh.com): SSH kereskedelmi változata, üzleti használatért fizetni kell, nem üzleti használatra ingyenes VanDyke Software (www.vandyke.com). Kereskedelmi SSH változat. 7
OpenSSH PuTTY SecureCrt WinScp SSH ügyfelek és még számos program 8
OpenSSH telepítése Windows-on on Készítsen egy teszt felhasználót! Nézze meg, hogy milyen portokon figyel a Windows! (netstat -an parancs) a 22-es porton nem figyel senki. 9
Netstat an SSH előtt 10
Töltse le a http://nik.bmf.hu/poserne/iba/install/ címről az openssh35p1-3.zip 3.zip fájlt és kicsomagolás után telepítse! 11
Hagyjuk az alapbeállításokat érvényben 12
Fontos, hogy olvassuk el a readme.txt vagy a quickstart.txttxt fájl tartalmát, ugyanis a további beállításokat a parancssorból kell megtennünk! 13
Váltson a c:\program files\openssh openssh\bin kt.-ba és mkgroup -l >>..\etc\group parancs a local felhasználók csoportjára! Legyártja a local userek csoportját, létrejön az etc könyvtárban egy szövegszerkesztővel olvasható fájl. mkpasswd -l -u username >>..\etc etc\passwd Elkészíti a username-hez tartozó passwordot és az etc könyvtárba rakja. -l azt jelenti hogy local userről van szó. A username kicserélendő valós username-re! re! 14
Indítsa el a szolgáltatást a net start opensshd paranccsal! Ellenőrizze, hogy a szolgáltatás elindult-e! netstat an Látjuk, a 22 es kapu figyel, ez az SSH szolgáltatás 15
SSH ügyfélprogramok Parancssoros felület SSH Communication SSH OpenSSH Grafikus felület PuTTY SecureCRT WinSCP És még sok más program 16
Töltse le az alábbi helyről http://nik.bmf.hu/poserne/iba/install/ a putty.exe programot és inditsa el! A PuTTY ügyfélprogram 17
Ha biztosak vagyunk abban hogy a megfelelő gépre léptünk be, fogadjuk el az ujjlenyomatot! 18
Felhasználónév és password megadása után sikeresen beléptünk a másik operációs rendszerbe. 19
Biztonságos fájlmásolás WinSCP egy ingyenes biztonságos másolóprogram (SCP Secure copy) Windows felületre. http://winscp.net vagy http://nik.bmf.hu/poserne/iba/install/ nik.bmf.hu/poserne/iba/install/winscp375.exe Töltse le és indítsa el! 20
Ha megbízhatónak találjuk a szervert fogadjuk el a host key-t! 21
Sikeresen beléptünk és így lehetőségünk van fájlok másolására átnevezésére és még sok mindenre. Fedezzük fel a program menürendszerét! 22
Feladatok 1. Hozzon létre egy másik felhasználót a virtuális gépen, állítsa be úgy, hogy SSH kapcsolattal tudja kezelni. 2. Lépjen be a szomszédja gépére és próbálja ki milyen parancsokat tud végrehajtani. (DIR, MD, RD, TIME, netstat, ipconfig stb.) 3. Biztonságos fájlmásolás segítségével másoljon át fájlokat az egyik gépről a másikra. 23
http://nik.bmf.hu/poserne/iba/install/vnc-4_1_1- x86_win32.exe 24
25
26
27
28
29
30
Indítsa el a VNC viewert 31
Ha jól adta meg az adatokat akkor el tudja érni a szomszédja gépet. Ez a kapcsolat így még nem biztonságos, ezért tereljük át a forgalmat SSH2-es kapcsolatra port forward segítségével. Szükség lesz egy SSH kapcsolatra, amit a már megismert módon építünk fel, ezután pedig a SecureCRT program segítségével port átirányítást végzünk. 32
http://www.vandyke.com/products/securecrt/inde x.html vagy http://nik.bmf.hu/poserne/iba/install/scrt613.exe 33
34
35
A SecureCRT Egy titkosított SSH munkakörnyezetet létesít, jelszóval és 256 bites titkosított adatcsatornával. Egyaránt képes kapcsolódni Windows, Unix vagy Linux SSH szerverekhez. TCP/IP portokat használó helyi alkalmazások számára az SSH szerver és a helyi gép között áramló adatokat egy titkosított adatcsatornába vezeti. Lehetővé teszi azt is, hogy a szerver az adatokat további szerverekhez ugyancsak védett módon továbbítsa: pl. SMTP, POP és IMAP biztosítása "port forwarding"-gal. gal. Magasszintű konfigurálhatóság: az SSH, telnet és más protokollok számára "session management" eszköztár. 36
37
SSH Tunneling Készítette: Windisch Gergely windisch.gergely@nik.bmf.hunik.bmf.hu
SSH Tunneling (1) SSH alagút létesítésének célja: titkosított adatfolyam titkosítással nem rendelkező protokollok, csatornák esetén: FTP kapcsolat, HTTP, POP3 kapcsolódás közvetlenül a szerverre Vezeték nélküli hálózat a vezeték nélküli hálózaton menő rész áthidalása 39
SSH Tunneling (2) SSH tunnel létesítése két számítógép között http://oldsite.precedence.co.uk/nc/putty.html 40
SSH Tunneling (3) A kliensen kell beállítani - azonos szerver ssh -L localport:remotehost:remoteportremoteport Putty: Connection/SSH/ Tunnels/ Source: 80 Destination: localhost:80 41
SSH Tunneling (4) A kliensen kell beállítani - másik szerver destination: mail.freemail.hu:110 Putty: Connection/SSH/ Tunnels/ Source port: 110 Destination: localhost:110 42
SSH Tunneling (5) A kliens beállítása után csatlakozzunk, jelentkezzünk be (netstat -an segítségével ellenőrizhetjük a csatorna létrejöttét - a kliens figyelni kezdi a megadott portot) A használt alkalmazás címzettje: localhost 43
SSH Tunneling (6) Töltse le a http://nik.bmf.hu/poserne/iba/install/ címről a TinyWebSlimFTPd.zip fájlt és kicsomagolás után futtassa az install.bat-ot. netstat -an -nel ellenőrizzük, hogy figyel-e valaki a 8080-as és a 21-es portokon Töltse le a http://nik.bmf.hu/poserne/iba/install/ címről a Wireshark-setup-1.0.6.exeexe fájlt és telepítse fel a programot. 44
SSH Tunneling (7) Indítsuk el a Wiresharkot, válasszuk ki a megfelelő IP-t, majd capture, start Próbáljuk ki: http://virtualis_ip:8080/index.html Ha valami bejön, akkor jó. Jelentkezzünk be, töltsük le a linken található txt fájlt. Nézzük meg a Wiresharkot: capture, stop. Jelszó, üzenet, minden megtalálható Készítsük el az SSH csatornát: 21, localhost:21, 8080, localhost:8080 Ismételjük el az előzőeket, és nézzük meg most az eredményt. 45