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 21:36]
octavian.guzu
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ă).+ 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''​
  
-Asigurati-va ca ati importat masinile virtuale Tom si Jerry. Detalii in sectiunea [[uso:​laboratoare:​new:​10-sec:​setup|]]. 
  
-==== 1. SSH pe masina TOM ====+ <​code bash>  
 + ​student@tom:​~$ sudo dhclient enp0s8  
 + </​code> ​
  
-Inainte ​de exercitiile urmatoarevrem sa ne putem conecta ​la masina TOM prin ssh ca pana acum, folosind parola. ​Porniti masina TOM.+   
 + ​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**
  
-Pentru a face o conexiune SSH între stația fizică și mașina virtuală ''​tom''​ va trebui să avem interfața activată, pe mașina virtuală ''​tom''​. Pentru aceasta rulați comanda 
-<code bash> 
-student@tom:​~$ sudo dhclient enp0s8 
-</​code>​ 
-care va asigura obținerea, prin DHCP, a parametrilor de rețea pentru interfața ''​enp0s8''​. 
- 
-Folosind comanda 
-<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 
-    inet 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>​ 
-aflăm adresa IP a mașinii virtuale ''​tom''​. În cazul de față este vorba de ''​192.168.56.101''​. 
- 
-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ă. 
- 
-Verificati ca va puteti conecta prin ssh la TOM. **NU treceti mai departe daca nu va merge conexiunea**. 
- 
-==== 2. SSH cu chei publice/​private ==== 
- 
-**[2a]** Generati o pereche de chei ssh folosind ''​ssh-keygen'',​ apasati Enter de cateva ori: 
- 
-<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]** Copiati cheia publica create mai devreme pe TOM, folosind ''​ssh-copy-id''​. ''​HINT:​ ssh-copy-id user@ipaddress''​ 
- 
-**[2c]** Daca copierea a avut loc cu succes, conectati-va prin ssh la TOM. Veti observa ca autentificarea se face pe baze cheii publice si nu mai este ceruta parola. 
- 
-**[2d]** Creati un user nou pe masina TOM numit ''​gion'',​ cu ce parola doriti voi. 
- 
-**[2e]** Dezactivati autentificarea cu parola prin ssh. ''​HINT:​ /​etc/​ssh/​sshd_config''​. Incercati apoi sa va conectati prin ssh mai intai cu **student**,​ iar apoi cu **gion**. 
- 
- 
-==== 3. Least privilege ​ ==== 
  
 + ==== 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.1544297807.txt.gz · Last modified: 2018/12/08 21:36 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