This shows you the differences between two versions of the page.
uso:laboratoare:new:10-sec:setup [2018/12/08 17:45] octavian.guzu created |
uso:laboratoare:new:10-sec:setup [2019/12/04 07:32] (current) lucian.teodorescu [Resurse Git] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | setup | + | ===== Înainte de laborator ===== |
+ | |||
+ | ==== Comenzi și fișiere folosite în laborator ==== | ||
+ | |||
+ | ^ Comandă/fișier ^ Rol ^ | ||
+ | | base64 | encriptarea / decriptarea unui fișier utilizând formatul base64| | ||
+ | | openssl | encriptarea / decriptarea unui fișier| | ||
+ | | md5sum| hash-uirea unui fișier utilizând funcția md5| | ||
+ | | unshadow | combinarea fișierelor /etc/passwd și /etc/shadow pentru a fi folosite de John the Ripper| | ||
+ | | john | spargerea parolelor| | ||
+ | | pwgen| generare de parole pe Linux| | ||
+ | | pass | manager de parole Linux| | ||
+ | | ssh-keygen | generare pereche chei publica/privată| | ||
+ | | ssh-copy-id | copierea cheii publice | | ||
+ | | fcrackzip | spargerea unui zip cu parolă | | ||
+ | | wireshark | analizare capturi de rețea| | ||
+ | |||
+ | ==== Obiective ==== | ||
+ | |||
+ | * Să înțeleagă ce impact poate avea (ne)securizarea sistemelor | ||
+ | * Să înțeleagă diverse tipuri de atacuri și amenințări | ||
+ | * Să fie capabili să prevină un atac prin cele mai de bază (și importante) setări: autentificare, chei, permisiuni | ||
+ | * Să fie capabili să identifice probleme de securitate și să vină cu soluții pentru a le rezolva | ||
+ | |||
+ | |||
+ | ==== Mașini virtuale ==== | ||
+ | |||
+ | Pe parcursul laboratorului curent vom folosi două mașini virtuale VirtualBox care pot comunica între ele, numite ''tom'' și ''jerry''. | ||
+ | |||
+ | Pe sistemele din sălile de laborator găsiți imaginea OVA a celor două mașini virtuale în directorul ''/mnt/unfrozen/uso/mv/''. De acolo importați în VirtualBox fișierul ''/mnt/unfrozen/uso/mv/USO_tom_jerry.ova''. | ||
+ | |||
+ | Pentru a putea folosi mașinile virtuale va trebui să importați fișierul ''USO_tom_jerry.ova'' în VirtualBox. Pentru aceasta, în fereastra VirtualBox, accesați meniurile și opțiunile ''%%File -> Import Appliace%%'' și apoi alegeți calea către fișierul ''USO_tom_jerry.ova''. După ce ați declansat operația de importare, va dura câteva minute să fie importate mașinile virtuale. După ce ați importat mașinile virtuale, veți vedea în fereastra principală VirtualBox intrările ''USO_tom'' și ''USO_jerry''. Porniți ambele mașini virtuale dând click pe intrări și apoi folosind butonul ''Start''. | ||
+ | |||
+ | După aceasta veți avea două ferestre VirtualBox, câte una pentru fiecare mașină virtuală. Mașinile virtuale ''tom'' și ''jerry'' au doar interfața în linia de comandă, **nu** au interfață grafică. Le veți identifica după prompt-ul de autentificare afișat, respectiv ''tom login:'' și ''jerry login:''. Vă puteți autentifica la mașinile virtuale folosind numele de utilizator ''student'' iar apoi parola ''student''. | ||
+ | |||
+ | <note> | ||
+ | Dacă **nu** aveți un sistem Linux pe care rulați VirtualBox, adică dacă rulați pe Windows sau macOS, aveți nevoie și de mașina virtuală ''uso''. Pentru a descărca fișierul ''USO_tom_jerry.ova'' care conține mașinile virtuale ''tom'' și ''jerry'' folosiți [[:uso:resurse:mv#masini_virtuale_carte_si_laborator|indicațiile de aici]]. | ||
+ | </note> | ||
+ | |||
+ | <note tip> | ||
+ | Pe ambele mașini virtuale (''tom'' și ''jerry''), contul de utilizator ''student'' are permisiuni de ''sudo''. Dacă doriți accesarea contului de utilizator ''root'' folosiți comanda | ||
+ | <code> | ||
+ | sudo su | ||
+ | </code> | ||
+ | iar la prompul de parolă scrieți parola utilizatorului ''student'', adică ''student''. | ||
+ | </note> | ||
+ | |||
+ | === Interfețe de rețea în mașinile virtuale === | ||
+ | |||
+ | Mașinile virtuale ''tom'' și ''jerry'' au interfața de //loopback// ''lo'' și trei interfețe de rețea, cu roluri dedicate: | ||
+ | * Interfața ''enp0s3'' este interfața pentru acces la Internet; această adresă este folosită pentru comunicarea mașinii virtuale. | ||
+ | * Interfața ''enp0s8'' este o interfață care leagă împreună într-o rețea mașinile virtuale ''tom'' și ''jerry'' cu sistemul gazdă și, dacă este cazul, cu mașina virtuală ''uso''. Această interfață nu are implicit adresă IP, adresa IP o vom configura automat prin DHCP după pornirea mașinii virtuale folosind comanda<code> | ||
+ | sudo dhclient enp0s8 | ||
+ | </code> Vom face această configurare mai târziu în laborator. | ||
+ | * Interfața ''enp0s9'' este o interfață care leagă împreună într-o rețea privată mașinile virtuale ''tom'' și ''jerry''. Această interfață **nu** poate fi fconfigurată prin DHCP. | ||
+ | ==== Resurse Git ==== | ||
+ | |||
+ | Resursele laboratorulului de USO se găsesc în [[https://github.com/systems-cs-pub-ro/uso|acest repository Git]]. | ||
+ | |||
+ | În laboratorul curent, pe mașina virtuală furnizată, aveți deja clonat repository-ul Git în directorul ''~/uso.git/''. Pe parcursul laboratorului vom folosi fișierele de suport de acolo. | ||
+ | |||
+ | <note important> | ||
+ | Pentru a pregăti infrastructura de laborator rulați comenzile de mai jos într-un terminal. Deschideți un terminal folosind combinația de taste ''Ctrl+Alt+t''. În listarea de mai jos ''student@uso:~$'' este promptul unde introduceți comenzile, pe acela nu-l tastați. | ||
+ | |||
+ | <code> | ||
+ | student@uso:~$ cd ~ | ||
+ | student@uso:~$ git clone https://github.com/systems-cs-pub-ro/uso-lab.git | ||
+ | </code> | ||
+ | |||
+ | </note> | ||
+ | |||
+ | <hidden> | ||
+ | În cazul în care aveți probleme cu proiectorul, puteți folosi [[https://tmate.io/|tmate]] pentru a face un screen-cast al terminalului vostru. | ||
+ | |||
+ | Puteți folosi package managerul pentru a-l instala. De ex. pe **Ubuntu** puteți folosi ''sudo apt-get install tmate''. | ||
+ | |||
+ | Odată instalat, rulați comanda ''tmate''. Vi se va deschide o fereastră ''tmux'' la care se pot conecta studenții, pentru a urmării **demo-ul**. | ||
+ | În cadrul acesteia, rulați comanda ''tmate show-messages''. | ||
+ | |||
+ | <code> | ||
+ | $ tmate show-messages | ||
+ | Fri Nov 23 15:36:25 2018 [tmate] Connecting to master.tmate.io... | ||
+ | Fri Nov 23 15:36:26 2018 Reloaded! | ||
+ | Fri Nov 23 15:36:26 2018 Reloaded! | ||
+ | Fri Nov 23 15:36:26 2018 [tmate] Note: clear your terminal before sharing readonly access | ||
+ | Fri Nov 23 15:36:26 2018 [tmate] web session read only: https://tmate.io/t/ro-5BXhC0r93ra5crftnwIc9Y1Fg | ||
+ | Fri Nov 23 15:36:26 2018 [tmate] ssh session read only: ssh ro-5BXhC0r93ra5crftnwIc9Y1Fg@am2.tmate.io | ||
+ | Fri Nov 23 15:36:26 2018 [tmate] web session: https://tmate.io/t/HvrzBkAV1vdGzndMsxFVgEexT | ||
+ | Fri Nov 23 15:36:26 2018 [tmate] ssh session: ssh HvrzBkAV1vdGzndMsxFVgEexT@am2.tmate.io | ||
+ | Fri Nov 23 15:36:46 2018 [tmate] Your tmate client can be upgraded to 2.2.1 | ||
+ | </code> | ||
+ | |||
+ | Din rezultatul comenzii de mai sus, ne interesează sesiunea de **ssh read only** | ||
+ | <code> | ||
+ | Fri Nov 23 15:36:26 2018 [tmate] ssh session read only: ssh ro-5BXhC0r93ra5crftnwIc9Y1Fg@am2.tmate.io | ||
+ | </code> | ||
+ | |||
+ | Folsind ''ssh ro-5BXhC0r93ra5crftnwIc9Y1Fg@am2.tmate.io'' studenții se vor conecta, read-only, "la" terminalul vostru. | ||
+ | |||
+ | </hidden> |