You are on page 1of 28

SECURE SHELL

dr Milan Markovi, dipl.in. mr Goran orevi, dipl.in.

ta je SSH?

SSH je protokol koji omoguava zatieni udaljeni pristup mrenom serveru posredstvom nesigurnog komunikacionog kanala. SSH je alternativa za upotrebu telnet-a, rsh-a (remote shell), rlogin-a i moe da se koristi za nadogradnju ftp. Koristi mehanizme ifrovanja.

ta je nedostatak telnet-a?
Svi podaci se alju u otvorenom obliku. Host izmeu poiljaoca i primaoca poruke moe da nadgleda informacioni sadraj poruka.

Osobine
Prenos podataka je zatien. Podaci koji se prenose su kompresovani. Ne zahteva se login lozinka (password).

Istorija SSH
Kreirao ga student Helsinkog univerziteta Tatu Ylnen u julu 1995. Besplatna SSH1 verzija Osnovana SSH Communications Security, Ltd SSH 2 verzija Open SSH

Funkcije
Secure Command Shell Port Forwarding Secure file transfer.

Secure Command Shell


Omoguava pregled i menjanje sadraja (edit) fajlova. Pregled sadraja direktorijuma. Kreiranje korisnikih naloga (user accounts). Promena ovlaenja. Sve to se moe izvri iz lokalnog command prompt-a moe da se realizuje zatieno sa udaljenih lokacija.

Port Forwarding
Omoguava implementaciju zatite na TCP/IP baziranim aplikacijama ukljuujui e-mail, zatitu transakcionih i klijentskih baza podataka, korisnikih aplikacija. Omoguava zatitu podataka koji se prenose posredstvom TCP/IP protokola.

Port Forwarding

Secure File Transfer


Secure File Transfer Protocol (SFTP) je podistem Secure Shell protokola. Izdvojen protokol namenjen za podrku pri razmeni fajlova (file transfer).

SFTP

SFTP ifruje i par korisniko ime/lozinka (username/password) i podatke koji se prenose.

Koristi isti port kao i Secure Shell server, ime se eliminie potreba za otvaranje drugog porta na mrenoj barijeri (firewall) ili ruteru.

SFTP

SFTP moe da se postavi ispred mrene barijere (firewall) ili rutera tako da je mogue da mu pristupe i udaljeni korisnici i interni korisnici (demilitarizovana zona, DMZ).

Secure File Transfer Protocol


DMZ zona je jedan od najsigurnijih mehanizama koji omoguava se podaci sigurno razmenjuju sa klijentima, partnerima i udaljenim korisnicima bez izlaganja sensitivnih informacija na javnoj mrei. Korienjem SFTP u DMZ zoni se onemoguava pristup nelegalnim korisnicima, realizuje ifrovanje korisnikih imena, lozinki i podataka unutar fajlova.

Komponente Secure Shell


SSHD Server: Program koji dozvoljava prihvatanje dolazne SSH konekcije, realizaciju autentikacije i autorizaciju. Klijent: Program koji se konektuje sa SSH serverom i generie zahtev za odgovarajui servis. Sesija: Konekcija izmeu klijenta i servera. Zapoinje nakon to se klijent uspeno autentikuje.

SSH Arhitektura

Korisnik inicira poruku zahteva za SSH konekcijom. Korisnik pokuava da se konektuje na port 22 na udaljenom host-u. Ukoliko je konekcija uspostavljena, SSHD na udaljenom host-u formira poseban SSHD proces (deamon, thread). Dati proces prihvata i obrauje sve komande koje su pristigle od SSH klijenta. SSHD proces vri ifrovanje svake poruke koja se alje ka ssh klijentu. SSH klijent vri deifrovanje poruka i prosleuje ih ka korisnikoj aplikaciji.

Security Osobine
Korisnika autentikacija Autentikacija host-a ifrovanje podataka Mehanizmi za obezbeenje integriteta podataka

Korisnika autentikacija

Identitet korisnika Sistem vri verifikaciju identiteta korisnika tako da je pristup mogu iskljuivo autentikovanim korisnicima.

Autentikacija lozinkom
Lozinka, u kombinaciji sa korisnikim imenom, je jedan od moguih naina autentikacije korisnika. Ukoliko je lozinka i korisniko ime identino sa korisnikim imenom i lozinkom na udaljenom sistemu korisnik je autentikovan i omoguen mu je pristup.

Autentikacija sa javnim kljuem


Najsigurniji metod autentikacije korisnika pri korienju Secure Shell Autentikacija sa javnim kljuem koristi par asimtetrinih kljueva- javni i privatni klju. Duina kljueva je najee 1024 i 2048 bita.

Autentikacija sa javnim kljuem

Da bi se ostvario pristup na Secure Shell serveru potrebno je da server poseduje klijentski javni klju. Kada se klijent konektuje na server on mora da dokae da poseduje odgovarajui privatni klju.

Autentikacija hosta
Klju hosta je namenjen je za autentikaciju hosta na strani klijenta. Kljuevi host-a pripadaju grupi asimetrinih kljueva i persistentni su (tj. ne menjaju esto). Ukoliko se na raunaru instancira jedan SSH server, tada se koristi jedan klju host-a. Ukoliko se na raunaru pokrene vie instanci SSH servera, moe da postoji vie kljueva ili se moe koristiti jedan klju za vie servera. Autentikacija hosta obezbeuje zatitu od napada Man-in-the-Middle attack.

ifrovanje podataka

ifrovanje, esto se oznaava kao privacy, obezbeuje zatitu informacionog sadraja podataka koji moe biti ugroen korienjem alata za "sniffing" ili eavesdropping saobraaja na mrei.

ifrovanje podataka

Kada klujent uspostavi konekciju sa Secure Shell serverom, oni se usaglaavaju o tome koji mehanizam ifrovanja e se koristiti pri zatiti podataka. Server prezentuje listu kriptografskih algoritama koje podrava a klijent, nakon toga, selektuje prvi podrani mehanizam iz liste.

Intgritet podataka

Integritet podataka obezbeuje mehanizam koji omoguava prijemnoj strani da ustanovi da poruka u toku prenosa nije menjana. Secure Shell verzija 2 (SSH2) koristi Message Authentication Code (MAC) algoritam ime se bitno poboljava sigurnost u odnosu na upotrebu 32-bitnig CRC funkcija koje su se koristile u SSH1.

Izgled poruke
Duina paketa:

Duina ne ukljuuje duinu MAC koda Duina padding-a

Padding:

Payload:
Sadraj poruke Moe biti kompresovan Max duina 32768 bajta

Random padding:
4-255 bajta Ukupna duina poruke, bez MAC koda mora biti jednaka veliini bloka

ifrovani sadraj
Kompresovani sadraj

MAC:
Message Authentication Code Rauna se nad sadrajem poruke brojem sekvence

References

http://yakko.cs.wmich.edu/presentations/20021107ssh/slides/img7.html http://www.vandyke.com/solutions/ssh_overview/ssh_ov erview_functionalit http://michaelsteel.tripod.com/cgi-bin/ http://www.faqs.org/faqs/computer-security/ssh-faq/