Az - Azure Network

Reading time: 18 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Osnovne Informacije

Azure pruža virtuelne mreže (VNet) koje omogućavaju korisnicima da kreiraju izolovane mreže unutar Azure oblaka. Unutar ovih VNets, resursi kao što su virtuelne mašine, aplikacije, baze podataka... mogu biti sigurno hostovani i upravljani. Mrežno povezivanje u Azure podržava kako komunikaciju unutar oblaka (između Azure usluga), tako i povezivanje sa spoljnim mrežama i internetom.
Pored toga, moguće je povezati VNets sa drugim VNets i sa lokalnim mrežama.

Virtuelna Mreža (VNET) i Podmreže

Azure Virtuelna Mreža (VNet) je reprezentacija vaše vlastite mreže u oblaku, koja pruža logičku izolaciju unutar Azure okruženja posvećenog vašoj pretplati. VNets vam omogućavaju da obezbedite i upravljate virtuelnim privatnim mrežama (VPN) u Azure, hostujući resurse kao što su Virtuelne Mašine (VM), baze podataka i usluge aplikacija. One nude potpunu kontrolu nad mrežnim podešavanjima, uključujući opsege IP adresa, kreiranje podmreža, tabele ruta i mrežne prolaze.

Podmreže su pododeljenja unutar VNet-a, definisana specifičnim opsegom IP adresa. Segmentacijom VNet-a u više podmreža, možete organizovati i osigurati resurse prema vašoj mrežnoj arhitekturi.
Po defaultu, sve podmreže unutar iste Azure Virtuelne Mreže (VNet) mogu komunicirati jedna sa drugom bez ikakvih ograničenja.

Primer:

  • MyVNet sa opsegom IP adresa 10.0.0.0/16.
  • Podmreža-1: 10.0.0.0/24 za web servere.
  • Podmreža-2: 10.0.1.0/24 za servere baza podataka.

Enumeracija

Da biste naveli sve VNets i podmreže u Azure nalogu, možete koristiti Azure Command-Line Interface (CLI). Evo koraka:

bash
# List VNets
az network vnet list --query "[].{name:name, location:location, addressSpace:addressSpace}"

# List subnets of a VNet
az network vnet subnet list --resource-group <ResourceGroupName> --vnet-name <VNetName> --query "[].{name:name, addressPrefix:addressPrefix}" -o table

Grupa za bezbednost mreže (NSG)

Grupa za bezbednost mreže (NSG) filtrira mrežni saobraćaj kako prema tako i od Azure resursa unutar Azure Virtuelne Mreže (VNet). Sadrži skup pravila bezbednosti koja mogu da odrede koje portove otvoriti za dolazni i odlazni saobraćaj prema izvoru porta, izvornoj IP adresi, odredišnom portu i moguće je dodeliti prioritet (manji broj prioriteta, veći prioritet).

NSG-ovi se mogu povezati sa podmrežama i NIC-ovima.

Primer pravila:

  • Pravilo za dolazni saobraćaj koje dozvoljava HTTP saobraćaj (port 80) iz bilo kog izvora ka vašim web serverima.
  • Pravilo za odlazni saobraćaj koje dozvoljava samo SQL saobraćaj (port 1433) ka određenom opsegu odredišnih IP adresa.

Enumeracija

bash
# List NSGs
az network nsg list --query "[].{name:name, location:location}" -o table
az network nsg show --name <nsg-name>

# Get NSG rules
az network nsg rule list --nsg-name <NSGName> --resource-group <ResourceGroupName> --query "[].{name:name, priority:priority, direction:direction, access:access, protocol:protocol, sourceAddressPrefix:sourceAddressPrefix, destinationAddressPrefix:destinationAddressPrefix, sourcePortRange:sourcePortRange, destinationPortRange:destinationPortRange}" -o table

# Get NICs and subnets using this NSG
az network nsg show --name MyLowCostVM-nsg --resource-group Resource_Group_1 --query "{subnets: subnets, networkInterfaces: networkInterfaces}"

Azure Firewall

Azure Firewall je upravljana mrežna sigurnosna usluga u Azure-u koja štiti cloud resurse inspekcijom i kontrolom saobraćaja. To je stanje svestan firewall koji filtrira saobraćaj na osnovu pravila za slojeve 3 do 7, podržavajući komunikaciju kako unutar Azure-a (east-west saobraćaj) tako i ka/od eksternih mreža (north-south saobraćaj). Postavljen na nivou Virtuelne Mreže (VNet), pruža centralizovanu zaštitu za sve podmreže u VNet-u. Azure Firewall automatski skalira kako bi zadovoljio zahteve saobraćaja i osigurava visoku dostupnost bez potrebe za ručnom konfiguracijom.

Dostupan je u tri SKU-a—Basic, Standard i Premium, svaki prilagođen specifičnim potrebama kupaca:

Kriterijum/OsobinaOpcija 1Opcija 2Opcija 3
Preporučeni slučaj upotrebeMala/Srednja preduzeća (SMB) sa ograničenim potrebamaOpšta preduzeća, filtriranje slojeva 3–7Veoma osetljiva okruženja (npr. obrada plaćanja)
PerformanseDo 250 Mbps propusnostiDo 30 Gbps propusnostiDo 100 Gbps propusnosti
Obaveštavanje o pretnjamaSamo obaveštenjaObaveštenja i blokiranje (maliciozni IP-ovi/domeni)Obaveštenja i blokiranje (napredna obaveštajna inteligencija)
L3–L7 filtriranjeOsnovno filtriranjeStanje svestan filtriranje preko protokolaStanje svestan filtriranje sa naprednom inspekcijom
Napredna zaštita od pretnjiNije dostupnaFiltriranje zasnovano na obaveštajnoj inteligencijiUključuje sistem za otkrivanje i prevenciju upada (IDPS)
TLS inspekcijaNije dostupnaNije dostupnaPodržava ulaznu/izlaznu TLS terminaciju
DostupnostFiksni backend (2 VM-a)Automatsko skaliranjeAutomatsko skaliranje
Jednostavnost upravljanjaOsnovne kontroleUpravljano putem Firewall Manager-aUpravljano putem Firewall Manager-a

Enumeration

bash
# List Azure Firewalls
az network firewall list --query "[].{name:name, location:location, subnet:subnet, publicIp:publicIp}" -o table

# Get network rules of a firewall
az network firewall network-rule collection list --firewall-name <FirewallName> --resource-group <ResourceGroupName> --query "[].{name:name, rules:rules}" -o table

# Get application rules of a firewall
az network firewall application-rule collection list --firewall-name <FirewallName> --resource-group <ResourceGroupName> --query "[].{name:name, rules:rules}" -o table

# Get nat rules of a firewall
az network firewall nat-rule collection list --firewall-name <FirewallName> --resource-group <ResourceGroupName> --query "[].{name:name, rules:rules}" -o table

Azure Tabele Rute

Azure Tabele Rute se koriste za kontrolu usmeravanja mrežnog saobraćaja unutar podmreže. One definišu pravila koja specificiraju kako paketi treba da se proslede, bilo ka Azure resursima, internetu, ili specifičnom sledećem skoku kao što su Virtual Appliance ili Azure Firewall. Možete povezati tabelu ruta sa podmrežom, i svi resursi unutar te podmreže će pratiti rute u tabeli.

Primer: Ako podmreža hostuje resurse koji treba da usmere izlazni saobraćaj kroz Network Virtual Appliance (NVA) na inspekciju, možete kreirati rutu u tabeli ruta da preusmerite sav saobraćaj (npr., 0.0.0.0/0) na privatnu IP adresu NVA kao sledeći skok.

Enumeracija

bash
# List Route Tables
az network route-table list --query "[].{name:name, resourceGroup:resourceGroup, location:location}" -o table

# List routes for a table
az network route-table route list --route-table-name <RouteTableName> --resource-group <ResourceGroupName> --query "[].{name:name, addressPrefix:addressPrefix, nextHopType:nextHopType, nextHopIpAddress:nextHopIpAddress}" -o table

Azure Private Link je usluga u Azure-u koja omogućava privatni pristup Azure uslugama osiguravajući da saobraćaj između vaše Azure virtuelne mreže (VNet) i usluge putuje isključivo unutar Microsoftove Azure backbone mreže. Efikasno dovodi uslugu u vašu VNet. Ova postavka poboljšava bezbednost ne izlažući podatke javnom internetu.

Private Link se može koristiti sa raznim Azure uslugama, kao što su Azure Storage, Azure SQL Database i prilagođene usluge deljene putem Private Link-a. Pruža siguran način za korišćenje usluga iz vaše vlastite VNet ili čak iz različitih Azure pretplata.

caution

NSG-ovi se ne primenjuju na privatne krajnje tačke, što jasno znači da povezivanje NSG-a sa podmrežom koja sadrži Private Link neće imati efekta.

Primer:

Razmotrite scenario u kojem imate Azure SQL Database koju želite da pristupite sigurno iz vaše VNet. Obično bi to moglo uključivati prolazak kroz javni internet. Sa Private Link-om, možete kreirati privatnu krajnju tačku u vašoj VNet koja se direktno povezuje sa Azure SQL Database uslugom. Ova krajnja tačka čini da baza podataka izgleda kao da je deo vaše vlastite VNet, dostupna putem privatne IP adrese, čime se osigurava siguran i privatni pristup.

Enumeration

bash
# List Private Link Services
az network private-link-service list --query "[].{name:name, location:location, resourceGroup:resourceGroup}" -o table

# List Private Endpoints
az network private-endpoint list --query "[].{name:name, location:location, resourceGroup:resourceGroup, privateLinkServiceConnections:privateLinkServiceConnections}" -o table

Azure Service Endpoints

Azure Service Endpoints proširuju privatni adresni prostor vaše virtuelne mreže i identitet vašeg VNet-a na Azure usluge preko direktne veze. Omogućavanjem servisnih krajnjih tačaka, resursi u vašem VNet-u mogu sigurno da se povežu sa Azure uslugama, kao što su Azure Storage i Azure SQL Database, koristeći Azure-ovu osnovnu mrežu. Ovo osigurava da saobraćaj iz VNet-a ka Azure usluzi ostaje unutar Azure mreže, pružajući sigurniju i pouzdaniju putanju.

Primer:

Na primer, Azure Storage nalog je po defaultu dostupan preko javnog interneta. Omogućavanjem servisne krajnje tačke za Azure Storage unutar vašeg VNet-a, možete osigurati da samo saobraćaj iz vašeg VNet-a može pristupiti nalogu za skladištenje. Zatim se vatrozid naloga za skladištenje može konfigurisati da prihvata saobraćaj samo iz vašeg VNet-a.

Enumeration

bash
# List Virtual Networks with Service Endpoints
az network vnet list --query "[].{name:name, location:location, serviceEndpoints:serviceEndpoints}" -o table

# List Subnets with Service Endpoints
az network vnet subnet list --resource-group <ResourceGroupName> --vnet-name <VNetName> --query "[].{name:name, serviceEndpoints:serviceEndpoints}" -o table

Razlike između Servisnih Krajnih Tačaka i Privatnih Linkova

Microsoft preporučuje korišćenje Privatnih Linkova u docs:

Servisne Krajne Tačke:

  • Saobraćaj iz vašeg VNet-a do Azure servisa putuje preko Microsoft Azure backbone mreže, zaobilazeći javni internet.
  • Krajna tačka je direktna veza sa Azure servisom i ne obezbeđuje privatnu IP adresu za servis unutar VNet-a.
  • Sam servis je i dalje dostupan putem svoje javne krajna tačke sa spoljašnje strane vašeg VNet-a, osim ako ne konfigurišete vatrozid servisa da blokira takav saobraćaj.
  • To je odnos jedan na jedan između podmreže i Azure servisa.
  • Jeftinije je od Privatnih Linkova.

Privatni Linkovi:

  • Privatni Link mapira Azure servise u vaš VNet putem privatne krajna tačke, koja je mrežni interfejs sa privatnom IP adresom unutar vašeg VNet-a.
  • Azure servis se pristupa koristeći ovu privatnu IP adresu, čineći da izgleda kao da je deo vaše mreže.
  • Servisi povezani putem Privatnog Linka mogu se pristupiti samo iz vašeg VNet-a ili povezanih mreža; nema javnog pristupa internetu do servisa.
  • Omogućava sigurnu vezu sa Azure servisima ili vašim sopstvenim servisima hostovanim u Azure-u, kao i vezu sa servisima koje dele drugi.
  • Pruža detaljniju kontrolu pristupa putem privatne krajna tačke u vašem VNet-u, za razliku od šire kontrole pristupa na nivou podmreže sa servisnim krajnih tačaka.

Ukratko, dok i Servisne Krajne Tačke i Privatni Linkovi pružaju sigurnu povezanost sa Azure servisima, Privatni Linkovi nude viši nivo izolacije i sigurnosti osiguravajući da se servisi pristupaju privatno bez izlaganja javnom internetu. Servisne Krajne Tačke, s druge strane, lakše se postavljaju za opšte slučajeve gde je potrebna jednostavna, sigurna povezanost sa Azure servisima bez potrebe za privatnom IP adresom u VNet-u.

Azure Front Door (AFD) & AFD WAF

Azure Front Door je skalabilna i sigurna ulazna tačka za brzu isporuku vaših globalnih web aplikacija. Kombinuje različite usluge kao što su globalno opterećenje balansiranje, ubrzanje sajta, SSL offloading i Web Application Firewall (WAF) mogućnosti u jedinstvenu uslugu. Azure Front Door pruža inteligentno usmeravanje na osnovu najbliže ivice lokacije korisniku, osiguravajući optimalne performanse i pouzdanost. Pored toga, nudi usmeravanje zasnovano na URL-u, višesajtno hostovanje, afinitet sesije i sigurnost na aplikacionom nivou.

Azure Front Door WAF je dizajniran da štiti web aplikacije od napada zasnovanih na web-u bez modifikacije pozadinskog koda. Uključuje prilagođena pravila i upravljane skupove pravila za zaštitu od pretnji kao što su SQL injekcija, cross-site scripting i drugih uobičajenih napada.

Primer:

Zamislite da imate globalno distribuiranu aplikaciju sa korisnicima širom sveta. Možete koristiti Azure Front Door da usmerite korisničke zahteve ka najbližem regionalnom data centru koji hostuje vašu aplikaciju, čime se smanjuje latencija, poboljšava korisničko iskustvo i brani je od web napada sa WAF mogućnostima. Ako određena regija doživi prekid rada, Azure Front Door može automatski preusmeriti saobraćaj na sledeću najbolju lokaciju, osiguravajući visoku dostupnost.

Enumeracija

bash
# List Azure Front Door Instances
az network front-door list --query "[].{name:name, resourceGroup:resourceGroup, location:location}" -o table

# List Front Door WAF Policies
az network front-door waf-policy list --query "[].{name:name, resourceGroup:resourceGroup, location:location}" -o table

Azure Application Gateway i Azure Application Gateway WAF

Azure Application Gateway je balanser opterećenja web saobraćaja koji vam omogućava da upravljate saobraćajem ka vašim web aplikacijama. Pruža balansiranje opterećenja na Layer 7, SSL terminaciju i mogućnosti vatrozida za web aplikacije (WAF) u okviru Application Delivery Controller (ADC) kao usluge. Ključne karakteristike uključuju usmeravanje zasnovano na URL-u, afinitet sesije zasnovan na kolačićima i offloading sigurnih soketa (SSL), što je ključno za aplikacije koje zahtevaju složene mogućnosti balansiranja opterećenja kao što su globalno usmeravanje i usmeravanje zasnovano na putanji.

Primer:

Razmotrite scenario u kojem imate e-commerce veb sajt koji uključuje više poddomena za različite funkcije, kao što su korisnički nalozi i obrada plaćanja. Azure Application Gateway može usmeriti saobraćaj ka odgovarajućim web serverima na osnovu URL putanje. Na primer, saobraćaj ka example.com/accounts može biti usmeren ka servisu za korisničke naloge, a saobraćaj ka example.com/pay može biti usmeren ka servisu za obradu plaćanja.
I zaštitite svoj veb sajt od napada koristeći WAF mogućnosti.

Enumeracija

bash
# List the Web Application Firewall configurations for your Application Gateways
az network application-gateway waf-config list --gateway-name <AppGatewayName> --resource-group <ResourceGroupName> --query "[].{name:name, firewallMode:firewallMode, ruleSetType:ruleSetType, ruleSetVersion:ruleSetVersion}" -o table

Azure Hub, Spoke & VNet Peering

VNet Peering je mrežna funkcija u Azure koja omogućava različitim Virtuelnim Mrežama (VNets) da budu povezane direktno i neprimetno. Kroz VNet peering, resursi u jednoj VNet mogu komunicirati sa resursima u drugoj VNet koristeći privatne IP adrese, kao da su u istoj mreži.
VNet Peering se takođe može koristiti sa lokalnim mrežama postavljanjem site-to-site VPN-a ili Azure ExpressRoute.

Azure Hub i Spoke je mrežna topologija koja se koristi u Azure za upravljanje i organizovanje mrežnog saobraćaja. "Hub" je centralna tačka koja kontroliše i usmerava saobraćaj između različitih "spokes". Hub obično sadrži deljene usluge kao što su mrežni virtuelni uređaji (NVAs), Azure VPN Gateway, Azure Firewall ili Azure Bastion. "Spokes" su VNets koje hostuju radne opterećenja i povezuju se sa hub-om koristeći VNet peering, omogućavajući im da koriste deljene usluge unutar huba. Ovaj model promoviše čist raspored mreže, smanjujući složenost centralizovanjem zajedničkih usluga koje više radnih opterećenja iz različitih VNets mogu koristiti.

[!CAUTION] > VNET povezivanje nije tranzitivno u Azure, što znači da ako je spoke 1 povezan sa spoke 2, a spoke 2 je povezan sa spoke 3, tada spoke 1 ne može direktno komunicirati sa spoke 3.

Primer:

Zamislite kompaniju sa odvojenim odeljenjima kao što su Prodaja, Ljudski resursi i Razvoj, svako sa svojom VNet (spokes). Ove VNets zahtevaju pristup deljenim resursima kao što su centralna baza podataka, vatrozid i internet prolaz, koji se svi nalaze u drugoj VNet (hub). Korišćenjem modela Hub i Spoke, svako odeljenje može sigurno da se poveže sa deljenim resursima kroz hub VNet bez izlaganja tih resursa javnom internetu ili kreiranja složene mrežne strukture sa brojnim vezama.

Enumeration

bash
# List all VNets in your subscription
az network vnet list --query "[].{name:name, location:location, addressSpace:addressSpace}" -o table

# List VNet peering connections for a given VNet
az network vnet peering list --resource-group <ResourceGroupName> --vnet-name <VNetName> --query "[].{name:name, peeringState:peeringState, remoteVnetId:remoteVnetId}" -o table

# List Shared Resources (e.g., Azure Firewall) in the Hub
az network firewall list --query "[].{name:name, location:location, resourceGroup:resourceGroup}" -o table

Site-to-Site VPN

Site-to-Site VPN u Azure-u omogućava vam da povežete vašu lokalnu mrežu sa vašom Azure Virtual Network (VNet), omogućavajući resursima kao što su VM-ovi unutar Azure-a da izgledaju kao da su na vašoj lokalnoj mreži. Ova veza se uspostavlja putem VPN gateway-a koji enkriptuje saobraćaj između dve mreže.

Primer:

Firma čija se glavna kancelarija nalazi u Njujorku ima lokalni data centar koji treba da se sigurno poveže sa svojom VNet u Azure-u, koja hostuje njene virtualizovane radne opterećenja. Postavljanjem Site-to-Site VPN-a, kompanija može osigurati enkriptovanu povezanost između lokalnih servera i Azure VM-ova, omogućavajući resursima da se sigurno pristupa kroz oba okruženja kao da su u istoj lokalnoj mreži.

Enumeration

bash
# List VPN Gateways
az network vnet-gateway list --query "[].{name:name, location:location, resourceGroup:resourceGroup}" -o table

# List VPN Connections
az network vpn-connection list --gateway-name <VpnGatewayName> --resource-group <ResourceGroupName> --query "[].{name:name, connectionType:connectionType, connectionStatus:connectionStatus}" -o table

Azure ExpressRoute

Azure ExpressRoute je usluga koja pruža privatnu, posvećenu, visok brzu vezu između vaše lokalne infrastrukture i Azure data centara. Ova veza se uspostavlja putem provajdera konekcije, zaobilazeći javni internet i nudeći veću pouzdanost, brže brzine, niže latencije i veću sigurnost od tipičnih internet konekcija.

Primer:

Multinacionalna korporacija zahteva doslednu i pouzdanu vezu sa svojim Azure uslugama zbog velikog obima podataka i potrebe za visokim protokom. Kompanija se odlučuje za Azure ExpressRoute kako bi direktno povezala svoj lokalni data centar sa Azure-om, olakšavajući velike transfere podataka, kao što su dnevni backup-i i analitika podataka u realnom vremenu, uz poboljšanu privatnost i brzinu.

Enumeration

bash
# List ExpressRoute Circuits
az network express-route list --query "[].{name:name, location:location, resourceGroup:resourceGroup, serviceProviderName:serviceProviderName, peeringLocation:peeringLocation}" -o table

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks