This is an old revision of the document!
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ă).
Asigurati-va ca ati importat masinile virtuale Tom si Jerry. Detalii in sectiunea Înainte de laborator.
Inainte de exercitiile urmatoare, vrem sa ne putem conecta la masina TOM prin ssh ca pana acum, folosind parola. Porniti masina 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șina virtuală tom
. Pentru aceasta rulați comanda
student@tom:~$ sudo dhclient enp0s8
care va asigura obținerea, prin DHCP, a parametrilor de rețea pentru interfața enp0s8
.
Folosind comanda
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
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.
[2a] Generati o pereche de chei ssh folosind ssh-keygen
, apasati Enter de cateva ori:
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]-----+
[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.
Principle of least privilege se refera la faptul ca un utilizator, program, modul, etc va putea accesa doar informatiile si resursele necesare pentru desfasurarea activitatii intentionate.
Cu alte cuvinte, utilizatorul student va putea accesa doar fisierele si directoarele care il privesc, nu si cele ce contin date private ale altor utilizatori, de exemplu directorul /home/gion
, care este home-ul utilizatorului gion
.
In Linux, acest lucru se defineste folosind permisiuni. Ne amintim de suita de comenzi chown
, chgrp
, chmod
din laboratoarele trecute. Dorim de exemplu sa ii dam drepturi doar utilizatorului student pe directorului sau de home:
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
Cu chown
schimbam ownerul directorului, cu chgrp
schimbat group ownerul, iar cu chmod
ii permitem doar utilizatorului student' sa vada sau modifice continutul directorului
/home/student''.
Principle of least privilege se aplica foarte mult in zona de web. Se asigura astfel faptul ca daca o pagina a unui site a fost compromisa, nu va fi compromis intreg site-ul sau chiar intreg serve-ul.