14
Protocolul SSH Chiriac Igor

Protocolul Ssh

Embed Size (px)

DESCRIPTION

prezentare protocolul ssh

Citation preview

Protocolul SSH

Chiriac Igor

Ce este SSHSecure Shell (SSH) este

un protocol de rețea criptografic ce permite ca datele să fie transferate

folosind un canal securizat intre dispozitive

de rețea.(Wikipedia)

Acest protocol a fost creat inițial de Tatu

Ylönen, Finland cu scopul de a înlocui Telnet,

rlogin, rcp, rsh care intre timp au devenit

vulnerabile.

SSH istorie• Prima versiune a fost creată în anul 1995 , SSH-1 a fost

primit cu succes si în primul an era deja utilizat de 20,000 de utilizatori ca dupa 5 ani sa fie utilizat de 2 milioane de utilizatori.

• OpenSSH a fost creat în anul 1999 si a fost creat cu scopul de a oferi o versiune “open source” a ssh. OpenSSH a fost creata extinzând SSH-1.

• SSH-2 a fost creat în anul 2006 , o securitate mai buna a fost adaugată prin utilizarea protocolului Diffie–Hellman pentru schimbul de chei. A fost adaugat suport pentru crearea mai multor sesiuni asupra unei singure conexiuni ssh.

SSH vulnerabilități• 1.x - conține mai multe vulnerabilități si este recomandat sa nu

mai fie folosit. Printre acestea sunt : introducerea de conținut in fluxul de date securizat , posibilitatea de a comuta autentificarea spre un server cu date false etc.

• 2.x - În 2008 a fost găsită o vulnerabilitate teoretica care permitea extragerea a 32 de biți din fluxul de date securizat din cauza utilizarii modului de encriptare standart CBC , însa folosirea criptării CTR aceasta vulnerabilitate nu mai e valabilă.

• În 2014 a fost publicat un articol în care Edward Snowden sugera că NSA poate decripta traficul SSH , însa nu au fost oferite ceva date tehnice pentru a demonstra aceasta.

SSH ne protejeaza împotriva la :

• Înterceptarea datelor transmise prin rețea.

• Manipularea datelor la un element intermediar in retea.

• Ip address spoofing - in aceasta situatie hostul atacator pretinde a fi un host sigur prin trimiterea unor pachete cu sursa adresei a hostului de incredere.

• DNS spoofing al unor host denumiri/IP adrese care sunt sigure.

• Rutarea IP surselor

SSH nu ne poate proteja daca :

• Este configurat incorect sau utilizat gresit.

• Contul de utilizator root este compromis.Dacă conectarea se face de pe un host la server atacatorul poate prelua controlul al uneia dintre parti si poate intercepta sesiunea prin citirea de pe un pseudo-terminal dispozitiv, chiar daca SSH este criptat in retea , SSH trebuie sa comunice in text necriptat cu dispozitivul terminal.

• Directorul Home nu este sigur: daca atacatorul poate modifica in directorul Home el poate sa amagească SSH.

Funcții• Securizarea datelor prin utilizarea unei criptari puternice

(ARCFOUR, Blowfish, DES, IDEA, and triple-DES (3DES))

• Integritatea datelor , garantând ca ele nu au fost modificate

• Autentificare, i.e., dovada identitatii clientului si serverului.

• Autorizare, i.e., acces si control al conturilor.

• Port Forwarding, inclusiv X11 forwarding.

• Transfer de fişiere securizat.

Protocolul SSH-2 arhitectură

• Transport layer - acesta serveste schimbul de chei inițial si autentificarea la server

• User authentication layer - asigura autentificarea clientului

• Connection layer - acesta defineste conceptul de canal , o singură conexiune poate avea mai multe canale ce transmit datele in ambele parți.

SSH arhitectură

Stabilirea unei conexiuni securizate

• Clientul contacteaza serverul.

• Clientul si serverul fac cunoscute versiunea protocolului SSH pe care o suporta.

• Clientul si serverul comuta la un protocol bazat pe pachete

• Serverul se identifică pe sine clientului si ofera parametrii pentru sesiune.

• Clientul trimite serverului o cheie (de sesiune) secretă.

• Ambele părți activeaza criptarea si fac autentificarea completa.

• Conecțiunea securizata este stabilită.

Port Forwarding• Foarte puternic şi versatil.

• poate securiza aplicaţii TCP/IP diverse cum ar fi e-mail, contactarea unor baze de date la distanţă, etc.

• poate securiza transferul de date pentru aplicaţii TCP/IP oarecare

• ssh –L localport:tohost:toport remotehost

• Exemplu: ascultăm portul 5110 local; pachetele ajunse aici sînt trimise către mailserver, port 110:

• ssh -L 5110:mailserver:110 mailserver

Port Forwading

Referințe

• http://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol - “SSH File Transfer Protocol”

• http://docstore.mik.ua/orelly/networking_2ndEd/ssh/index.htm - “SSH, The Secure Shell: The Definitive Guide. - O’REILLY February 2001”

• http://ham.elcom.pub.ro/asi/slides/ssh-sftp-rev1.3.pdf - “Protocoale la nivel de aplicație”