Sesiunea 5 din 12
Pregătire pentru VM Deployment
Porturi, RDP, SSH și reguli NSG
Astăzi nu creăm încă mașini virtuale — dar după această oră, veți înțelege exact ce se întâmplă în spatele lor: porturi, protocoale de acces și reguli de securitate.
Agenda sesiunii de astăzi
Parcurgem cinci capitole esențiale care pregătesc terenul pentru sesiunea viitoare, când vom crea primele mașini virtuale.
Ce este un Port?
Diferența dintre IP și Port — analogia clădirii cu apartamente.
RDP versus SSH
Cele două protocoale cu care veți lucra cel mai mult în Azure.
Structura unei reguli NSG
Cele șase elemente ale unui Network Security Group.
Exercițiu Practic
Creăm Resource Group, VNet și NSG cu o regulă reală.
Greșeli Clasice & Security Mindset
Ce să NU faceți niciodată în producție și cum gândește un arhitect de securitate.
Partea 1 · Porturi
Ce este un Port?
Hai să începem cu o întrebare simplă. Dacă adresa IP este adresa unei clădiri... cum ajungi la apartamentul corect? Știți strada, știți numărul. Dar clădirea are zece etaje și cincizeci de apartamente. Unde bați la ușă?
IP-ul este adresa clădirii. Portul este apartamentul. Un server poate avea un singur IP, dar poate asculta pe sute sau chiar mii de porturi simultan. Portul îți spune ce serviciu răspunde.
Porturile cele mai importante
Același server, același IP — dar în interior, servicii diferite ascultă pe porturi diferite.
Port 80 — HTTP
Traficul web obișnuit, nesecurizat. Browserul accesează site-uri prin acest port când adresa începe cu http://. În producție modernă, traficul pe portul 80 este de obicei redirecționat automat spre portul 443.
Port 443 — HTTPS
Traficul web securizat, criptat cu TLS/SSL. Orice site serios folosește HTTPS. Browserul afișează lacătul verde. Acesta este portul pe care îl deschideți pentru utilizatorii publici ai unui server web.
Port 3389 — RDP
Remote Desktop Protocol — pentru conexiuni vizuale la mașini Windows. Vă permite să vedeți desktopul și să lucrați de la distanță exact ca și cum ați sta în fața calculatorului.
Port 22 — SSH
Secure Shell — pentru conexiuni în terminal la servere Linux. Nu există interfață grafică: introduceți comenzi text, eficient și sigur. Conexiunea este criptată end-to-end.
Rețineti: Fără port, IP-ul singur nu vă spune nimic despre ce puteți face cu serverul respectiv. Portul este cel care direcționează traficul către serviciul corect.
Partea 2 · RDP vs SSH
RDP versus SSH: Cum accesăm serverele?
Acestea sunt cele două protocoale cu care veți lucra cel mai des în sesiunile viitoare de Azure. Înțelegerea diferenței dintre ele este esențială.
RDP — Remote Desktop Protocol
Port: 3389 · Sistem: Windows. Când te conectezi prin RDP la o mașină Windows, ai parte de o interfață grafică completă. Vedeți desktopul, puteți da click, puteți deschide aplicații, puteți naviga în File Explorer. Se folosește clientul mstsc.exe pe Windows sau „Microsoft Remote Desktop" pe Mac/iOS/Android. Interfață grafică completă, ideal pentru utilizatori Windows, ușor de folosit, consum mai mare de bandă.
SSH — Secure Shell
Port: 22 · Sistem: Linux. SSH este conexiunea pentru servere Linux. Nu există interfață grafică — aveți un terminal, un ecran cu text, și introduceți comenzi. Este mult mai eficient pentru administrarea serverelor: mai rapid, mai puțin consumator de resurse, complet scriptabil. Autentificarea se face cu parolă sau, mai sigur, cu chei SSH.
De ce contează alegerea protocolului?
Săptămâna viitoare vom crea împreună două mașini virtuale în Azure. Iată exact ce vom face:
VM Windows → RDP
Vom crea prima mașină virtuală cu Windows Server în Azure și ne vom conecta prin portul 3389 folosind Remote Desktop. Vom vedea desktopul și vom configura serverul vizual.
VM Linux → SSH
Vom crea o mașină virtuală cu Ubuntu Linux și ne vom conecta prin portul 22 folosind SSH. Vom rula comenzi în terminal și vom administra serverul eficient.
NSG → Securitate
Ambele conexiuni vor fi protejate de reguli NSG pe care le vom configura corect. Numai IP-ul nostru va putea accesa porturile de management.
Gândiți-vă la asta: Dacă deschid portul 3389 pentru toată lumea pe internet, oricine — orice bot, orice atacator — ar putea încerca să se conecteze la desktopul vostru. Acesta este exact motivul pentru care există NSG-urile.
Partea 3 · NSG
Network Security Group — Structura completă
Un NSG este o resursă Azure care conține o listă de reguli de securitate — fiecare regulă specifică ce trafic este permis sau blocat. NSG-ul poate fi asociat unui subnet sau direct unei plăci de rețea (NIC) a unei mașini virtuale.
Ce face un NSG?
Filtrează traficul de intrare (Inbound) și de ieșire (Outbound). Evaluează regulile în ordinea priorității, de la numărul cel mai mic la cel mai mare. Aplică prima regulă care se potrivește și ignoră restul. Are reguli implicite (default) care nu pot fi șterse, dar pot fi suprascrise.
Unde se poate atașa un NSG?
Subnet — protejează toate resursele dintr-un subnet. NIC (Network Interface Card) — protejează o singură mașină virtuală. Puteți aplica NSG-uri la ambele niveluri simultan pentru dublă protecție. Recomandat: NSG la nivel de subnet + NSG specific per VM critică.
Cele 6 Elemente ale unei Reguli NSG
Fiecare regulă NSG este definită prin șase câmpuri. Înțelegerea fiecărui câmp este esențială pentru configurarea corectă a securității.
Source
De unde vine traficul? Poate fi un IP specific (ex: 85.120.45.10), un range CIDR (ex: 192.168.1.0/24), un Service Tag (ex: Internet, VirtualNetwork) sau Any.
Source Port
Portul de pe care pleacă cererea. În general se lasă pe * (Any), deoarece portul sursă este ales aleatoriu de sistemul de operare.
Destination
Unde merge traficul? De obicei mașina voastră virtuală, un subnet specific, sau un Service Tag. Poate fi un IP, un range CIDR, sau Any.
Destination Port
Portul la care bate traficul. Aici specificați exact: 3389 pentru RDP, 22 pentru SSH, 443 pentru HTTPS. Puteți specifica un range: 8000-8080.
Protocol
TCP, UDP, sau Any. RDP și SSH folosesc TCP. Unele servicii (DNS, VoIP) folosesc UDP. Pentru majoritatea serviciilor web, specificați TCP.
Action + Priority
Allow sau Deny — lăsați să treacă sau blocați. Priority — număr între 100 și 4096. Regulile sunt evaluate de la cel mai mic număr la cel mai mare. Prima regulă care se potrivește câștigă.
Regulă de aur pentru priorități: Numerotați regulile cu salturi — 100, 200, 300 — nu 1, 2, 3. Astfel puteți insera reguli noi între ele fără să renumerotați totul.
Partea 4 · Exercițiu Practic
Exercițiu Practic — Creăm RG, VNet și NSG
Acum punem în practică tot ce am discutat. Urmați pașii în ordinea indicată. Durată estimată: 15–20 minute.
Pașii 1 și 2 — Resource Group și VNet
Creați un Resource Group
Navigați în Azure Portal la Resource Groups → + Create. Numiți-l rg-s05-[prenumele_vostru]. Alegeți regiunea West Europe. Dați Review + Create, apoi Create.
Creați o Rețea Virtuală (VNet)
În interiorul Resource Group-ului creat, adăugați o nouă resursă: Virtual Network. Numiți-o s05-vnet-[prenumele_vostru]. Lăsați valorile default pentru spațiul de adrese (10.0.0.0/16) și subnet-ul default (10.0.0.0/24).
Pașii 3 și 4 — NSG cu regulă RDP
Creați un Network Security Group
Adăugați o nouă resursă: Network Security Group. Numiți-l s05-nsg-[prenumele_vostru]. Același Resource Group, aceeași regiune. Explorați tab-urile Inbound / Outbound security rules — observați regulile default generate automat de Azure.
Adăugați o Regulă Inbound pentru RDP
În NSG → Inbound security rules → + Add. Name: Allow-RDP-MyIP. Source: My IP address. Source port ranges: * (Any). Destination: Any. Destination port ranges: 3389. Protocol: TCP. Action: Allow. Priority: 1000.
Diferența crucială: Source este „My IP Address", nu Any. Aceasta înseamnă că doar voi vă puteți conecta prin RDP. Nimeni altcineva din întreaga lume nu poate accesa portul 3389.
Verificare — Ce ar trebui să vedeți după exercițiu
| Câmp | Valoarea corectă | De ce? |
|---|---|---|
| Name | Allow-RDP-MyIP | Numele regulii este descriptiv — știți imediat ce face |
| Source | IP-ul vostru public (ex: 85.x.x.x) | Numai voi puteți accesa — securitate maximă |
| Destination Port | 3389 | Portul RDP — exact ce trebuie, nimic în plus |
| Protocol | TCP | RDP folosește TCP, nu UDP |
| Action | Allow | Permitem conexiunea de la sursa specificată |
| Priority | 1000 | Lăsăm spațiu pentru reguli mai urgente (100–900) |
Partea 5 · Greșeli Clasice
Cea mai periculoasă regulă pe care o puteți crea
Source: Any · Destination: Any · Port: Any · Action: Allow — Ce ați făcut cu această regulă? Ați deschis serverul complet. Oricine, de oriunde în lume, pe orice port, poate să intre. Este ca și cum ați lăsa ușa casei deschisă, ați stinge lumina și ați pleca în vacanță două săptămâni.
Niciodată în Producție
Source: Any, Port: Any, Action: Allow. Aceasta este o invitație pentru atacatori.
Practica Corectă
Source: IP-ul tău specific, Port: exact portul necesar, Action: Allow. Principiul least privilege.
Regula de Aur
Never Any-Any-Allow în producție. Niciodată. Fără excepții. Nu există o situație care să justifice această configurație.
Greșeli frecvente — Lista completă
Dincolo de Any-Any-Allow, există și alte greșeli comune pe care studenții (și uneori profesioniștii) le fac cu NSG-urile:
Deschiderea portului 22 sau 3389 din Any
Chiar dacă aveți parolă puternică, expunerea porturilor de management la internet înseamnă că serverul vostru va fi atacat constant prin brute force. Soluția: restricționați la IP-ul vostru sau folosiți Azure Bastion.
Folosirea priorităților consecutive (1, 2, 3...)
Dacă trebuie să inserați o regulă nouă între prioritatea 1 și 2, nu mai aveți unde. Folosiți întotdeauna salturi: 100, 200, 300. Lăsați spațiu pentru viitor.
Uitarea că IP-ul de acasă se schimbă
IP-urile rezidențiale sunt de obicei dinamice — se pot schimba după restart de router. Dacă v-ați restricționat accesul la IP-ul vechi, nu vă mai puteți conecta. Verificați și actualizați regula NSG.
NSG atașat la NIC, nu la subnet
Dacă aveți mai multe VM-uri într-un subnet, atașați NSG-ul la subnet pentru a proteja toate VM-urile simultan. Un NSG atașat doar la o NIC protejează o singură mașină.
Partea 6 · Security Mindset
Jocul Security Consultant
Sunteți consultantul de securitate al unui client. Clientul are un server web care trebuie să fie accesibil utilizatorilor din toată lumea. Ce reguli NSG configurați?
De ce deschideți 443 din Any?
Website-ul trebuie să fie public. Utilizatorii din toată lumea trebuie să îl acceseze. Nu puteți ști dinainte IP-urile lor. Prin urmare, Source = Any este corect și necesar pentru portul 443. Aceasta este o decizie de business, nu o greșeală de securitate.
De ce NU deschideți 3389/22 din Any?
Porturile de management (RDP, SSH) nu trebuie să fie niciodată publice. Numai administratorii se conectează — și aceștia au IP-uri cunoscute sau folosesc VPN/Bastion. Deschiderea acestor porturi public este o vulnerabilitate critică, nu o comoditate.
Securitatea nu înseamnă să blocați totul. Și nu înseamnă să deschideți totul. Înseamnă să deschideți exact ce trebuie, pentru exact cine trebuie. Aceasta este esența principiului Least Privilege. Fiecare regulă NSG pe care o creați trebuie să răspundă la trei întrebări: Cine? (Source), Ce? (Destination Port), De ce? (justificare de business). Dacă nu puteți răspunde la toate trei, nu creați regula.
Ce am învățat astăzi — Rezumat
1 Ce este un Port?
IP = adresa clădirii. Port = apartamentul. Un server ascultă simultan pe sute de porturi. Porturile cheie: 80 (HTTP), 443 (HTTPS), 3389 (RDP), 22 (SSH).
2 RDP vs SSH — care este diferența?
RDP (3389) = acces vizual la Windows, interfață grafică completă. SSH (22) = terminal text pentru Linux, eficient și scriptabil. Ambele sunt protocoale de management și trebuie protejate corespunzător.
3 Ce conține o regulă NSG?
6 elemente: Source, Source Port, Destination, Destination Port, Protocol, Action + Priority. Prima regulă care se potrivește câștigă. Evaluare de la prioritate mică la mare.
4 Care este regula de aur a securității NSG?
Never Any-Any-Allow în producție. Deschideți exact ce trebuie, pentru exact cine trebuie. Porturile de management (RDP, SSH) niciodată publice. Least Privilege mereu.
Important: Ștergeți Resursele după Exercițiu
Înainte să închidem sesiunea, o regulă importantă de igienă Azure pe care o vom respecta la fiecare sesiune.
Navigați la Resource Groups
În Azure Portal, căutați Resource Groups în bara de search.
Selectați rg-s05-[prenumele]
Click pe Resource Group-ul creat la exercițiu.
Delete Resource Group
Click pe Delete resource group, introduceți numele pentru confirmare, și confirmați ștergerea.
Așteptați confirmarea
Ștergerea durează 2–5 minute. Veți primi o notificare când s-a finalizat.
Azure taxează pentru resursele care rulează. Mașinile virtuale (pe care le vom crea în sesiunea 6) costă bani chiar și când sunt oprite — de aceea sunt importante regulile de curățenie.
Tema pentru Sesiunea 05
Tema are două puncte. Scopul nu este să copiați din documentație — ci să înțelegeți și să puteți explica cu propriile cuvinte.
Punctul 1 — Explicație în cuvinte proprii
Explicați în cinci propoziții ce este un port și ce este un NSG. Scrieți ca și cum ați explica unui coleg care nu știe nimic despre Azure sau rețele. Întrebări ghid: Ce face un port? De ce avem nevoie de el? Ce face un NSG? Cum funcționează regulile lui?
Punctul 2 — Analiză de securitate
Care este mai sigur și de ce? Varianta A: Allow port 3389 din Any. Varianta B: Allow port 3389 din My IP Address. Răspunsul trebuie să includă o justificare clară. Explicați ce risc concret există în varianta A și cum îl elimină varianta B.
Următoarea sesiune
Prima Mașină Virtuală!
Tot ce am discutat astăzi va prinde viață în sesiunea 6. Veți ști exact de ce funcționează, pentru că înțelegeți rețeaua și regulile care o guvernează.
Vă mulțumim pentru atenție! Ne vedem la Sesiunea 06.