Differences

This shows you the differences between two versions of the page.

Link to this comparison view

uso:laboratoare:new:10-sec:need-to-know [2018/12/08 20:53]
octavian.guzu created
uso:laboratoare:new:10-sec:need-to-know [2019/12/02 11:57] (current)
elena.stoican [1. SSH pe mașina tom]
Line 1: Line 1:
-===== Need to know =====+ ===== Need to know =====  
 + Dacă nu se precizează altfel, în această secțiune veți rula comenzile pe **stația fizică** (sau pe mașina virtuală ''​uso''​ dacă lucrați acasă).  
 +   
 + ​Asigurați-vă că ați importat mașinile virtuale Tom și Jerry. Detalii în secțiunea [[uso:​laboratoare:​new:​10-sec:​setup|]].  
 +   
 + ==== 1. SSH pe mașina tom ====  
 +   
 + ​Înainte de exercițiile următoare, vrem să ne putem conecta la mașina ''​tom''​ prin ssh ca până acum, folosind parola. Porniți mașina ''​tom''​.  
 +   
 + ​Pentru a face o conexiune SSH între stația fizică și mașina virtuală ''​tom''​ va trebui să avem interfața activată, pe mașină virtuală ''​tom''​. Pentru aceasta rulați comanda de mai jos care vă asigură obținerea, prin DHCP, a parametrilor de rețea pentru interfața ''​enp0s8''​. ​
  
-==== 1. SSH pe masina TOM ====+ 
 + <​code bash>  
 + ​student@tom:​~$ sudo dhclient enp0s8  
 + </​code>​  
 + 
 +   
 + ​Folosind comanda de mai jos aflăm adresa IP a mașinii virtuale ''​tom''​. În cazul de fată este vorba de ''​192.168.56.101''​.  
 + <​code bash>  
 + ​student@tom:​~$ ip a s enp0s8  
 + 3: enp0s8: <​BROADCAST,​MULTICAST,​UP,​LOWER_UP>​ mtu 1500 qdisc fq_codel state UP group default qlen 1000  
 +     ​link/​ether 08:​00:​27:​71:​db:​21 brd ff:​ff:​ff:​ff:​ff:​ff  
 +     ineț 192.168.56.101/​24 brd 192.168.56.255 scope global enp0s8  
 +        valid_lft forever preferred_lft forever  
 +     inet6 fe80::​a00:​27ff:​fe71:​db21/​64 scope link  
 +        valid_lft forever preferred_lft forever  
 + </​code>​  
 +   
 +Este posibil ca adresa IP pentru mașina virtuală ''​tom''​ să fie alta în rularea voastră. Folosiți în continuare adresa IP obținută din rularea voastră.  
 +   
 +<note important>​ 
 + ​Verificați că vă puteți conecta prin ssh la ''​tom''​. **NU treceți mai departe dacă nu vă merge conexiunea**.  
 +</​note>​ 
 +   
 + ==== 2. SSH cu chei publice/​private ====  
 +   
 + ​**[2a]** Generați o pereche de chei ssh folosind ''​ssh-keygen'',​ apăsați ''​Enter''​ de fiecare dată când vi se cere să introduceți date.  
 +   
 + <​code bash>  
 + ​student@uso:​~$ ssh-keygen  
 + ​Generating public/​private rsa key pair.  
 + Enter file in which to save the key (/​home/​student/​.ssh/​id_rsa): ​  
 + Enter passphrase (empty for no passphrase): ​  
 + Enter same passphrase again: ​  
 + Your identification has been saved in /​home/​student/​.ssh/​id_rsa.  
 + Your public key has been saved in /​home/​student/​.ssh/​id_rsa.pub.  
 + The key fingerprint is:  
 + ​SHA256:​Ob3LFt6KV0yTz006l8Zhjj8stJe6mKWsRmWoZs/​CDSk student@uso  
 + The key's randomart image is:  
 + ​+---[RSA 2048]----+  
 + ​| ​                |  
 + ​| ​                |  
 + ​| ​         .  .   |  
 + ​| ​        + o+  o.|  
 + ​| ​       S +o +=+o|  
 + ​| ​    E * o..oo==o|  
 + ​| ​     = *..+..=o.|  
 + ​| ​      o B=.*o * |  
 + ​| ​       ++=* o= .|  
 + ​+----[SHA256]-----+  
 + </​code>​  
 +   
 + ​**[2b]** Copiați cheia publică creată mai devreme ​pe ''​tom'',​ folosind ''​ssh-copy-id''​. ''​HINT:​ ssh-copy-id user@ipaddress''​  
 +   
 + ​**[2c]** Dacă copierea a avut loc cu succes, conectați-vă prin ssh la ''​tom''​. Veți observa că autentificarea se face pe baze cheii publice și nu mai este cerută parola.  
 +   
 + ​**[2d]** Creați un user nou pe mașina ''​tom''​ numit ''​gion'',​ cu ce parolă doriți voi.  
 +   
 + ​**[2e]** Dezactivați autentificarea cu parolă prin ssh. ''​HINT:​ /​etc/​ssh/​sshd_config''​. Încercați apoi să vă conectați prin ssh mai întâi cu **student**,​ iar apoi cu **gion**.  
 + 
 + 
 + ==== 3. Least privilege ​ ====  
 +   
 + ​**Principle of least privilege** se referă la faptul că un utilizator, program, modul, etc va putea accesa doar informațiile și resursele necesare pentru desfășurarea activității **intenționate**. ​  
 +   
 + Cu alte cuvinte, utilizatorul **student** va putea accesa doar fișierele și directoarele care îl privesc, nu și cele ce conțin date private ale altor utilizatori,​ de exemplu directorul ''/​home/​gion'',​ care este home-ul utilizatorului ''​gion''​.  
 +   
 + În Linux, acest lucru se definește folosind permisiuni. Ne amintim de suita de comenzi ''​chown'',​ ''​chgrp'',​ ''​chmod''​ din laboratoarele trecute. Dorim de exemplu să îi dăm drepturi doar utilizatorului student pe directorului sau de home:  
 +   
 + <​code bash>  
 +   
 + ​student@uso:​~$ sudo chown student /​home/​student/​  
 + ​student@uso:​~$ sudo chgrp student /​home/​student/​  
 + ​student@uso:​~$ sudo chmod 700 /​home/​student/​  
 + ​student@uso:​~$ ls -l /home/  
 + total 4  
 + ​drwx------ 23 student student 4096 dec  8 23:30 student  
 +   
 + </​code>​  
 +   
 + Cu ''​chown''​ schimbăm **ownerul** directorului,​ cu ''​chgrp''​ schimbat **group ownerul**, iar cu ''​chmod''​ îi permitem doar utilizatorului ''​student''​ să vadă sau modifice conținutul directorului ''/​home/​student''​.  
 +   
 + ​**Principle of least privilege** se aplică foarte mult în zona de web. Se asigură astfel faptul ca dacă o pagină a unui site a fost compromisă,​ nu va fi compromis întreg site-ul sau chiar întreg server-ul. ​
uso/laboratoare/new/10-sec/need-to-know.1544295190.txt.gz · Last modified: 2018/12/08 20:53 by octavian.guzu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0