Sunteți pe pagina 1din 20

Protocolul SSH

Protocolul SSH.
 Protocolul SSH.
 Avantajele protocolului SSH.
 Utilizarea protocolului SSH.
 Securizarea protocolului SSH.
Ce este protocolul SSH?


SSH (Secure Shell) este un protocol de nivel
aplicație care permite accesul securizat la un
sistem remote. Poate fi utilizat pentru
administrarea remote a calculatorului și
transfer de fișiere.

După funcționalitatea sa, SSH se aseamănă
cu protocoale Telnet și rlogin, însă, spre
deosebire de ele, SSH criptează tot traficul
de date.
Istoria SSH.
SSH-1 a fost creat da către colaboratorul
Universității Tehnice din Helsinki, Tatu
Yl'nen, în anul 1995 ca o alternativă
securizată protocoalelor Telnet, rlogin și rsh.
În 1996 a fost creeată versiune SSH-2,
incompatibilă cu SSH-1, însă mult mai
securizată. În 2000, protocolul SSH era
utilizat pe peste 2 milioane de calculatoare.
În 2006 SSH-2 a fost adoptat ca standard de
către IETF.
De ce SSH?
Protocoalele Telnet și rlogin au următoarele
dezavantaje:
 Datele și parolele nu se criptează;
 Datele transmise pot fi liber interceptate și
modificate de terța parte;
 Atacatorul poate sa se autentifice pe server,
utilizînd hash-ul parolei utilizat mai devreme.
 Poate fi utilizat pentru transmiterea datelor
oricărui alt protocol de nivel aplicație.
SSH este un protocol securizat.
Spre deosebire de Telnet și rlogin, SSH conține
următoarele metode de securizare:

Utilizează criptarea asimetrică pentru
informația de autentificare a utilizatorului
(algoritmele RSA, DSA);

Utilizează criptarea cu cheia simetrică pentru
datele transmise (algoritmele AES, Blowfish,
3DES);

Verifică integritatea datelor transmise
(SSH-1 – CRC32; SSH-2 – SHA1, MD5).
Cum utilizăm SSH?
Pentru a utiliza SSH, avem nevoie de server
SSH și client SSH.
 Serverul SSH ”ascultă” conexiunile de șa
clienți pe un port specificat (de obicei, portul
TCP nr. 22), execută comenzile primite și
transmite rezultatul clientului.
 Clientul SSH se utilizează pentru
conectarea la serverul SSH și transmiterea
comenzilor către serverul SSH.
Servere SSH.
Există mai multe realizări a serverului SSH,
pentru diferite sisteme de operare și diferite
platforme:
 Linux: dropbear, lsh-server, openssh-server,
ssh.
 MS Windows: freeSSHd, OpenSSH sshd,
WinSSHD, ProSSHD, Dropbear SSH
Server.
Clienți SSH.
Există mai multe realizări a clientului SSH,
pentru diferite sisteme de operare și diferite
platforme:

Linux: ssh, putty, openssh-client, lsh-client.

MS Windows: PuTTY, SecureCRT,
SSHWindows, ProSSHD, ZOC, ShellGuard.

MacOS: Nifty Telnet SSH.

Symbian OS: PuTTY.

Java: MindTerm, AppGate Security Server.
Metode de autentificare prin
SSH.
SSH suportă următoarele metode de
autentificare:
 prin adresa clientului;
 prin cheia publică a utilizatorului;
 Prin parolă.
Autentificarea prin adresa
clientului.
Autentificarea este reușită, doar dacă adresa de
pe care este efectuată conexiunea este în ista
hosturilor permise. Lista hosturilor permise se
află în fișierele /etc/hosts.equiv și
/etc/ssh/shosts.equiv.
Se recomandă ca serverul să fie setat astfel încît
să verifice cheile RSA a clienților, astfel
protejîndu-se de falsificarea adresei clientului.
În acest caz, serverul va căuta adresa și cheia
corespunzătoare în fișierul
/etc/ssh/ssh_known_hosts
Autentificarea prin cheia publică
a utilizatorului.
Este identică autentificării după adresă, însă
se verifică nu adresa a hostului de pe care
se efectuează conexiunea, ci cheia publică
și numele utilizatorului.
Fiecărui utilizatori pe server îi corespunde o
cheie publică. Dacă clientul are cheia
privată ce corespunde cheii publice a
utilizatorului respectiv, autentificarea este
reușită.
Autentificarea prin parolă

Clientul și servereul produc schimbul de chei


asimetrice.
După aceasta, către server se transmite hash-
ul parolei criptat cu cheia privată a clientului.
Cum ne conectăm?
În Linux sau FreeBSD, formatul comenzii de
conectare este următorul:
$ ssh [opțiuni] utilizator@host

În MS Windows, putem utiliza programul


PuTTY, care are o interfața grafică simplă și
intuitivă pentru setarea conexiunii.
SFTP - o versiune securizată de
FTP
Permite ca și FTP copierea de fișiere de pe o
mașină pe alta, diferența fiind că în cazul
SFTP tunelul prin care se desfășoară
comunicația este criptat. SFTP se rulează în
felul următor:
# sftp user1@remote_server
și implementează majoritatea comenzilor pe
care FTP le implementează. Este pur și
simplu același lucru însă într-un tunel criptat.
SCP - copierea securizată de
fișiere.
SCP se rulează din linia de comandă și
permite copierea oricărui fișier sau director
de la sau către o mașină remote.
Exemplu de utilizare:
# scp fișier.txt user1@remote_server:~/
# scp user1@remote_server:~/file.txt .
Există programe cu interfața grafică pentru
SCP, de ex. Krusader pe Linux, WinSCP pe
Windows.
Tunele VNC prin SSH
Exemplul următor permite unui utilizator să se
conecteze la o sesiune existentă X11 pe o
mașină Linux.
Pornim tunelul ssh de pe mașina locală către
server astfel:
# ssh -L 5900:localhost:5900 [user]@[linux-
box]
Pornim orice tip de VNCVIEWER și ne
conectăm pe localhost portul 5900.
X11 - rularea de aplicații grafice
de la distanță.
Forwardarea protocolului X ne poate permite
să rulăm aproape orice aplicație X de la
distanță, fără a ne compromite securitatea
muncii pe care o depunem. Este de ajuns să
ne conectam pe mașina respectiva cu
opțiunea -X:
# ssh -X user1@remote_server
Astfel afișarea tuturor aplicațiilor ce necesită
X11 executate de acum încolo vor fi
forwardate pe serverul X11 local.
Recomandări pentru securizare
SSH.
 Interzicerea accesului cu drepturi de
administrator.
 Interzicerea conectării cu parola nulă.
 Utilizarea portului diferit de 22 pentru server
SSH.
 Limitarea adreselor de pe care este permisă
conexiune.
 Verificarea frecventă a mesajelor de
autentificare eronată.
Mulțumesc pentru atenție!

S-ar putea să vă placă și