mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['', 'src/pentesting-cloud/azure-security/az-services/vms/az-
This commit is contained in:
@@ -2,27 +2,25 @@
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Osnovne Informacije
|
||||
## 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.
|
||||
Azure provides **virtual networks (VNet)** koje omogućavaju korisnicima da kreiraju **izolovane** **mreže** unutar Azure oblaka. U tim VNets, resursi kao što su Virtual Machines (VMs), aplikacije, baze podataka... mogu biti bezbedno hostovani i upravljani. Mrežna arhitektura u Azure podržava kako komunikaciju unutar oblaka (između Azure usluga), tako i konekciju prema eksternim mrežama i internetu.\ Takođe je moguće **povezati** VNets sa drugim VNets i sa on-premise mrežama.
|
||||
|
||||
## Virtuelna Mreža (VNET) i Podmreže
|
||||
## Virtual Network (VNET) & Subnets
|
||||
|
||||
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.
|
||||
An Azure Virtual Network (VNet) is a representation of your own network in the cloud, providing **logical isolation** within the Azure environment dedicated to your subscription. VNets allow you to provision and manage virtual private networks (VPNs) in Azure, hosting resources like Virtual Machines (VMs), databases, and application services. They offer **full control over network settings**, including IP address ranges, subnet creation, route tables, and network gateways.
|
||||
|
||||
**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.
|
||||
**Subnets** are subdivisions within a VNet, defined by specific **IP address ranges**. By segmenting a VNet into multiple subnets, you can organize and secure resources according to your network architecture.\ By default all subnets within the same Azure Virtual Network (VNet) **can communicate with each other** without any restrictions.
|
||||
|
||||
**Primer:**
|
||||
**Example:**
|
||||
|
||||
- `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.
|
||||
- **Subnet-1:** 10.0.0.0/24 za web servere.
|
||||
- **Subnet-2:** 10.0.1.0/24 za baze podataka.
|
||||
|
||||
### Enumeracija
|
||||
|
||||
Da biste naveli sve VNets i podmreže u Azure nalogu, možete koristiti Azure Command-Line Interface (CLI). Evo koraka:
|
||||
Da biste nabrojali sve VNets i subnets u Azure nalogu, možete koristiti Azure Command-Line Interface (CLI). Evo koraka:
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
@@ -47,16 +45,16 @@ Select-Object Name, AddressPrefix
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## Grupa za bezbednost mreže (NSG)
|
||||
## Mrežne bezbednosne grupe (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).
|
||||
Mrežna bezbednosna grupa (NSG) filtrira mrežni saobraćaj i ka i od Azure resursa unutar Azure Virtual Network (VNet). Sadrži skup **bezbednosnih pravila** koja mogu odrediti **koje portove otvoriti za ulazni i izlazni saobraćaj** po izvornom portu, izvornoj IP adresi, portu odredišta, i moguće je dodeliti prioritet (manji broj prioriteta znači viši prioritet).
|
||||
|
||||
NSG-ovi se mogu povezati sa **podmrežama i NIC-ovima.**
|
||||
NSG 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.
|
||||
- Ulazno pravilo koje dozvoljava HTTP saobraćaj (port 80) sa bilo kog izvora ka vašim web serverima.
|
||||
- Izlazno pravilo koje dozvoljava samo SQL saobraćaj (port 1433) ka određenom rasponu odredišnih IP adresa.
|
||||
|
||||
### Enumeracija
|
||||
|
||||
@@ -71,7 +69,7 @@ az network nsg show --name <nsg-name>
|
||||
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}"
|
||||
az network nsg show --name <NSGName> --resource-group <ResourceGroupName> --query "{subnets: subnets, networkInterfaces: networkInterfaces}"
|
||||
```
|
||||
{{#endtab }}
|
||||
{{#tab name="PowerShell" }}
|
||||
@@ -81,32 +79,35 @@ Get-AzNetworkSecurityGroup | Select-Object Name, Location
|
||||
Get-AzNetworkSecurityGroup -Name <NSGName> -ResourceGroupName <ResourceGroupName>
|
||||
|
||||
# Get NSG rules
|
||||
(Get-AzNetworkSecurityGroup -ResourceGroupName <NSGName> -Name <ResourceGroupName>).SecurityRules
|
||||
Get-AzNetworkSecurityGroup -Name <NSGName> -ResourceGroupName <ResourceGroupName> |
|
||||
Select-Object -ExpandProperty SecurityRules |
|
||||
Select-Object Name, Priority, Direction, Access, Protocol, SourceAddressPrefix, DestinationAddressPrefix, SourcePortRange, DestinationPortRange
|
||||
|
||||
# Get NICs and subnets using this NSG
|
||||
(Get-AzNetworkSecurityGroup -Name <NSGName> -ResourceGroupName <ResourceGroupName>).Subnets
|
||||
(Get-AzNetworkSecurityGroup -Name <NSGName> -ResourceGroupName <ResourceGroupName>).NetworkInterfaces
|
||||
```
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## 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.
|
||||
Azure Firewall je upravljani, stateful vatrozid koji filtrira saobraćaj (L3–L7) za east–west i north–south tokove. Raspoređen na nivou **VNet**, centralizuje inspekciju za sve podmreže i automatski se skalira radi dostupnosti.
|
||||
|
||||
Dostupan je u tri SKU-a—**Basic**, **Standard** i **Premium**, svaki prilagođen specifičnim potrebama kupaca:
|
||||
Available SKUs: **Basic**, **Standard**, and **Premium**:
|
||||
|
||||
| Kriterijum/Osobina | Opcija 1 | Opcija 2 | Opcija 3 |
|
||||
| Criteria/Feature | Option 1 | Option 2 | Option 3 |
|
||||
| ------------------------------ | ------------------------------------------------- | ------------------------------------------- | --------------------------------------------------------- |
|
||||
| **Preporučeni slučaj upotrebe**| Mala/Srednja preduzeća (SMB) sa ograničenim potrebama | Opšta preduzeća, filtriranje slojeva 3–7 | Veoma osetljiva okruženja (npr. obrada plaćanja) |
|
||||
| **Performanse** | Do 250 Mbps propusnosti | Do 30 Gbps propusnosti | Do 100 Gbps propusnosti |
|
||||
| **Obaveštavanje o pretnjama** | Samo obaveštenja | Obaveštenja i blokiranje (maliciozni IP-ovi/domeni) | Obaveštenja i blokiranje (napredna obaveštajna inteligencija) |
|
||||
| **L3–L7 filtriranje** | Osnovno filtriranje | Stanje svestan filtriranje preko protokola | Stanje svestan filtriranje sa naprednom inspekcijom |
|
||||
| **Napredna zaštita od pretnji**| Nije dostupna | Filtriranje zasnovano na obaveštajnoj inteligenciji | Uključuje sistem za otkrivanje i prevenciju upada (IDPS) |
|
||||
| **TLS inspekcija** | Nije dostupna | Nije dostupna | Podržava ulaznu/izlaznu TLS terminaciju |
|
||||
| **Dostupnost** | Fiksni backend (2 VM-a) | Automatsko skaliranje | Automatsko skaliranje |
|
||||
| **Jednostavnost upravljanja** | Osnovne kontrole | Upravljano putem Firewall Manager-a | Upravljano putem Firewall Manager-a |
|
||||
| **Preporučena primena** | Mala/srednja preduzeća (SMBs) sa ograničenim potrebama | Opšta upotreba u preduzećima, filtriranje slojeva 3–7 | Visoko osetljiva okruženja (npr. obrada plaćanja) |
|
||||
| **Performanse** | Do 250 Mbps propusnosti | Do 30 Gbps propusnosti | Do 100 Gbps propusnosti |
|
||||
| **Obaveštavanje o pretnjama** | Samo upozorenja | Upozorenja i blokiranje (maliciozni IP-ovi/domeni) | Upozorenja i blokiranje (napredna obaveštajna analiza pretnji) |
|
||||
| **Filtriranje L3–L7** | Osnovno filtriranje | stateful filtriranje preko protokola | stateful filtriranje sa naprednom inspekcijom |
|
||||
| **Napredna zaštita od pretnji**| Nije dostupno | Filtriranje zasnovano na obaveštavanju o pretnjama | Uključuje Intrusion Detection and Prevention System (IDPS) |
|
||||
| **TLS inspekcija** | Nije dostupno | Nije dostupno | Podržava dolaznu i odlaznu TLS terminaciju |
|
||||
| **Dostupnost** | Fiksni backend (2 VMs) | Automatsko skaliranje | Automatsko skaliranje |
|
||||
| **Jednostavnost upravljanja** | Osnovne kontrole | Upravljanje preko Firewall Manager | Upravljanje preko Firewall Manager |
|
||||
|
||||
### Enumeration
|
||||
### Enumeracija
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
@@ -141,11 +142,16 @@ Get-AzFirewall
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## Azure Tabele Rute
|
||||
## Azure Route Tables
|
||||
|
||||
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.
|
||||
Azure **Route Tables (UDR)** vam omogućavaju da nadjačate podrazumevano rutiranje definisanjem odredišnih prefiksa (npr. `10.0.0.0/16` ili `0.0.0.0/0`) i next hop (Virtual Network, Internet, Virtual Network Gateway, ili Virtual Appliance).
|
||||
|
||||
**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.
|
||||
> Rute se primenjuju na nivou subnet-a; svi VMs u tom subnetu prate tabelu.
|
||||
|
||||
**Primer:**
|
||||
|
||||
- Za saobraćaj ka internetu, koristite podrazumevani `0.0.0.0/0` sa **Internet** kao next hop.
|
||||
- Da biste pregledali odlazni saobraćaj, rutirajte `0.0.0.0/0` ka IP adresi Network Virtual Appliance (NVA).
|
||||
|
||||
### **Enumeracija**
|
||||
|
||||
@@ -155,8 +161,11 @@ Azure **Tabele Rute** se koriste za kontrolu usmeravanja mrežnog saobraćaja un
|
||||
# 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
|
||||
# List routes for a table (summary)
|
||||
az network route-table route list --resource-group <ResourceGroupName> --route-table-name <RouteTableName> --query "[].{name:name, addressPrefix:addressPrefix, nextHopType:nextHopType, nextHopIpAddress:nextHopIpAddress}" -o table
|
||||
|
||||
# List routes for a table (full)
|
||||
az network route-table route list --resource-group <ResourceGroupName> --route-table-name <RouteTableName>
|
||||
```
|
||||
{{#endtab }}
|
||||
{{#tab name="PowerShell" }}
|
||||
@@ -172,16 +181,16 @@ Get-AzRouteTable
|
||||
|
||||
## Azure Private Link
|
||||
|
||||
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.
|
||||
Azure Private Link je servis u Azure koji **omogućava privatni pristup Azure servisima** tako što osigurava da **saobraćaj između vašeg Azure virtualnog mrežnog okruženja (VNet) i servisa putuje u potpunosti unutar Microsoft-ove Azure backbone mreže**. Efektivno dovodi servis u vaš VNet. Ovo podešavanje povećava bezbednost tako što ne izlaže 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.
|
||||
Private Link se može koristiti sa različitim Azure servisima, kao što su Azure Storage, Azure SQL Database, i prilagođeni servisi deljeni putem Private Link. Pruža siguran način korišćenja servisa iz vašeg VNet-a 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.
|
||||
> NSGs se ne primenjuju na private endpoints, što jasno znači da povezivanje NSG-a sa subnet-om koji 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.
|
||||
Zamislite scenario u kojem imate **Azure SQL Database kojem želite pristupiti bezbedno iz vašeg VNet-a**. Obično bi to moglo uključivati prolazak kroz javni internet. Sa Private Link-om, možete kreirati **private endpoint u vašem VNet-u** koji se povezuje direktno na Azure SQL Database servis. Taj endpoint čini da baza izgleda kao da je deo vašeg VNet-a, dostupna preko privatne IP adrese, čime se obezbeđuje siguran i privatni pristup.
|
||||
|
||||
### **Enumeration**
|
||||
|
||||
@@ -206,13 +215,60 @@ Get-AzPrivateEndpoint | Select-Object Name, Location, ResourceGroupName, Private
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
### DNS OverDoS via service Private DNS zone links
|
||||
|
||||
Kada VNet ima **Virtual Network Link** ka **service Private DNS zone** (npr., `privatelink.blob.core.windows.net`), Azure **prinuđuje rezoluciju imena hosta** za Private Link registrovane resurse tog tipa servisa kroz zonu. Ako zona **nema obavezni `A` record** za resurs kojem workloadi i dalje pristupaju preko javnog endpointa, DNS rezolucija vraća **NXDOMAIN** i klijenti nikada ne dosegnu javni IP, uzrokujući **availability DoS** bez diranja samog resursa.
|
||||
|
||||
**Abuse flow (control-plane DoS):**
|
||||
|
||||
1. Stekni RBAC koji dozvoljava kreiranje **Private Endpoints** ili izmenu **Private DNS zone links**.
|
||||
2. Kreiraj Private Endpoint za isti tip servisa u drugom VNet-u (Azure automatski kreira service Private DNS zone i povezuje je sa tim VNet-om).
|
||||
3. Poveži tu **service Private DNS zone** sa VNet-om žrtve.
|
||||
4. Pošto VNet žrtve sada **prinuđuje rezoluciju preko Private DNS zone** i u toj zoni ne postoji `A` record za ciljni resurs, rezolucija imena ne uspeva i workload ne može da dosegne (još uvek javni) endpoint. Ovo važi za bilo koji servis koji podržava Private Link (storage, Key Vault, ACR, Cosmos DB, Function Apps, OpenAI, itd.).
|
||||
|
||||
**Discovery at scale (Azure Resource Graph):**
|
||||
|
||||
- VNETs linked to the blob Private DNS zone (forced resolution for PL-registered blob endpoints):
|
||||
```kusto
|
||||
resources
|
||||
| where type == "microsoft.network/privatednszones/virtualnetworklinks"
|
||||
| extend
|
||||
zone = tostring(split(id, "/virtualNetworkLinks")[0]),
|
||||
vnetId = tostring(properties.virtualNetwork.id)
|
||||
| join kind=inner (
|
||||
resources
|
||||
| where type == "microsoft.network/privatednszones"
|
||||
| where name == "privatelink.blob.core.windows.net"
|
||||
| project zoneId = id
|
||||
) on $left.zone == $right.zoneId
|
||||
| project vnetId
|
||||
```
|
||||
- Storage accounts dostupni preko public endpoint ali **bez** Private Endpoint connections (verovatno će prestati da radi ako se doda gornji link):
|
||||
```kusto
|
||||
Resources
|
||||
| where type == "microsoft.storage/storageaccounts"
|
||||
| extend publicNetworkAccess = properties.publicNetworkAccess
|
||||
| extend defaultAction = properties.networkAcls.defaultAction
|
||||
| extend vnetRules = properties.networkAcls.virtualNetworkRules
|
||||
| extend ipRules = properties.networkAcls.ipRules
|
||||
| extend privateEndpoints = properties.privateEndpointConnections
|
||||
| where publicNetworkAccess == "Enabled"
|
||||
| where defaultAction == "Deny"
|
||||
| where (isnull(privateEndpoints) or array_length(privateEndpoints) == 0)
|
||||
| extend allowedVnets = iif(isnull(vnetRules), 0, array_length(vnetRules))
|
||||
| extend allowedIps = iif(isnull(ipRules), 0, array_length(ipRules))
|
||||
| where allowedVnets > 0 or allowedIps > 0
|
||||
| project id, name, vnetRules, ipRules
|
||||
```
|
||||
## 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.
|
||||
Azure Service Endpoints proširuju privatni adresni prostor vaše virtualne mreže i identitet vašeg VNet-a prema Azure services putem direktne veze. Omogućavanjem service endpoints, **resursi u vašem VNet-u mogu bezbedno da se povežu sa Azure services**, kao što su Azure Storage i Azure SQL Database, preko Azure backbone mreže. Ovo je posebno korisno kada se kombinuje sa Network Security Groups (NSGs) za granularnu kontrolu saobraćaja.
|
||||
|
||||
**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.
|
||||
- Sa **Storage** Account-om i Service Endpoint-om **omogućenim** u VNET-u, moguće je dozvoliti dolazni saobraćaj **samo iz VNET-a u storage account firewall-u**, prisiljavajući **sigurnu vezu** bez potrebe za pristupom javnim IP adresama za storage service.
|
||||
|
||||
Service Endpoints **ne zahtevaju privatne IP adrese** za servise i umesto toga se oslanjaju na Azure backbone za sigurnu konektivnost. Oni su **lakši za podešavanje** u poređenju sa Private Links, ali **ne pružaju isti nivo izolacije i granularnosti** kao Private Links.
|
||||
|
||||
### **Enumeration**
|
||||
|
||||
@@ -223,7 +279,10 @@ Na primer, **Azure Storage** nalog je po defaultu dostupan preko javnog internet
|
||||
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
|
||||
az network vnet subnet list --resource-group <ResourceGroupName> --vnet-name <VNetName> --query "[].{name:name, serviceEndpoints:serviceEndpoints}"
|
||||
|
||||
# List Service Endpoints for a Subnet
|
||||
az network vnet subnet show --resource-group <ResourceGroupName> --vnet-name <VNetName> --name <SubnetName> --query "serviceEndpoints"
|
||||
```
|
||||
{{#endtab }}
|
||||
{{#tab name="PowerShell" }}
|
||||
@@ -237,58 +296,72 @@ Get-AzVirtualNetwork
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
### Razlike između Servisnih Krajnih Tačaka i Privatnih Linkova
|
||||
### Razlike između Service Endpoints i Private Links
|
||||
|
||||
Microsoft preporučuje korišćenje Privatnih Linkova u [**docs**](https://learn.microsoft.com/en-us/azure/virtual-network/vnet-integration-for-azure-services#compare-private-endpoints-and-service-endpoints):
|
||||
Microsoft preporučuje korišćenje Private Links u [**docs**](https://learn.microsoft.com/en-us/azure/virtual-network/vnet-integration-for-azure-services#compare-private-endpoints-and-service-endpoints):
|
||||
|
||||
<figure><img src="../../../../images/image (25).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**Servisne Krajne Tačke:**
|
||||
**Service Endpoints:**
|
||||
|
||||
- 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.
|
||||
- Saobraćaj iz vašeg VNet-a ka Azure servisu prolazi preko Microsoft Azure backbone mreže, zaobilazeći javni internet.
|
||||
- Endpoint je direktna veza ka Azure servisu i ne obezbeđuje privatnu IP adresu servisa unutar VNet-a.
|
||||
- Sam servis je i dalje dostupan preko svog javnog endpoint-a izvan vašeg VNet-a osim ako ne konfigurišete service firewall da blokira takav saobraćaj.
|
||||
- Odnos je jedan-prema-jedan između subnet-a i Azure servisa.
|
||||
- Jeftinije od Private Links.
|
||||
|
||||
**Privatni Linkovi:**
|
||||
**Private Links:**
|
||||
|
||||
- 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.
|
||||
- Private Link mapira Azure servise u vaš VNet preko private endpoint-a, koji je mrežni interfejs sa privatnom IP adresom unutar vašeg VNet-a.
|
||||
- Azure servis se pristupa koristeći ovu privatnu IP adresu, što ga čini vidljivim kao da je deo vaše mreže.
|
||||
- Servisi povezani preko Private Link-a mogu se pristupiti samo iz vašeg VNet-a ili povezanih mreža; nema pristupa servisu preko javnog interneta.
|
||||
- Omogućava sigurnu vezu ka Azure servisima ili vašim servisima hostovanim u Azure-u, kao i vezu ka servisima koje dele drugi.
|
||||
- Pruža granularniju kontrolu pristupa putem private endpoint-a u vašem VNet-u, za razliku od šire kontrole pristupa na nivou subnet-a sa service endpoints.
|
||||
|
||||
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.
|
||||
Ukratko, i Service Endpoints i Private Links obezbeđuju sigurnu povezanost sa Azure servisima, ali **Private Links nude viši nivo izolacije i bezbednosti time što osiguravaju da se servisi pristupaju privatno bez izlaganja javnom internetu**. Service Endpoints, s druge strane, su lakši za postavljanje u opštim slučajevima gde je potreban jednostavan, siguran pristup 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** je skalabilna i sigurna ulazna tačka za **brzu isporuku** vaših globalnih web aplikacija. Ona **objedinjuje** razne servise kao što su **akceleracija aplikacija, SSL offloading i sigurnost na aplikativnom sloju** (putem Web Application Firewall - WAF). Izgrađena je na konceptu edge POP (Point of Presence) lokacija širom sveta kako bi približila vaše aplikacije korisnicima.
|
||||
|
||||
**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.
|
||||
> Azure Front Door obezbeđuje globalno distribuiranu mrežu edge lokacija za **usmeravanje i ubrzavanje** dolaznog saobraćaja ka vašim web aplikacijama (u Azure-u ili drugde), poboljšava performanse i povećava bezbednost.
|
||||
|
||||
**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.
|
||||
- Za globalnu e-commerce platformu sa korisnicima širom sveta, **Azure Front Door može keširati statički sadržaj na edge lokacijama** i ponuditi **SSL offloading**, smanjujući latenciju i obezbeđujući responzivnije korisničko iskustvo. Dodatno, pruža **WAF** da zaštiti vaše aplikacije od uobičajenih web ranjivosti (kao što su SQL injection ili XSS).
|
||||
|
||||
### Enumeracija
|
||||
Azure Front Door takođe nudi **inteligentno balansiranje opterećenja** usmeravanjem saobraćaja ka najbližem dostupnom backend-u na osnovu health probes i latencije, obezbeđujući konzistentne performanse i dostupnost. Integracijom **WAF**, pomaže u zaštiti od uobičajenih web pretnji.
|
||||
|
||||
### **Enumeration**
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
```bash
|
||||
# List Azure Front Door Instances
|
||||
# List Azure Front Door profiles
|
||||
az afd profile list --query "[].{name:name, location:location, resourceGroup:resourceGroup}" -o table
|
||||
|
||||
# List AFD endpoints
|
||||
az afd endpoint list --profile-name <ProfileName> --resource-group <ResourceGroupName> --query "[].{name:name, hostName:hostName, state:resourceState}" -o table
|
||||
|
||||
# Classic Azure Front Door (v1) profiles
|
||||
az network front-door list --query "[].{name:name, resourceGroup:resourceGroup, location:location}" -o table
|
||||
|
||||
# List Front Door WAF Policies
|
||||
# Classic Azure Front Door WAF policies
|
||||
az network front-door waf-policy list --query "[].{name:name, resourceGroup:resourceGroup, location:location}" -o table
|
||||
```
|
||||
{{#endtab }}
|
||||
{{#tab name="PowerShell" }}
|
||||
```bash
|
||||
# List Azure Front Door Instances
|
||||
# List Azure Front Door profiles
|
||||
Get-AzFrontDoorCdnProfile | Select-Object Name, Location, ResourceGroupName
|
||||
|
||||
# List AFD endpoints
|
||||
Get-AzFrontDoorCdnEndpoint -ProfileName <ProfileName> -ResourceGroupName <ResourceGroupName> | Select-Object Name, HostName, ResourceState
|
||||
|
||||
# Classic Azure Front Door (v1) profiles
|
||||
Get-AzFrontDoor
|
||||
|
||||
# List Front Door WAF Policies
|
||||
# Classic Azure Front Door WAF policies
|
||||
Get-AzFrontDoorWafPolicy -Name <policyName> -ResourceGroupName <resourceGroupName>
|
||||
```
|
||||
{{#endtab }}
|
||||
@@ -296,12 +369,12 @@ Get-AzFrontDoorWafPolicy -Name <policyName> -ResourceGroupName <resourceGroupNam
|
||||
|
||||
## 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.
|
||||
Azure Application Gateway je **load balancer za web saobraćaj** koji vam omogućava da upravljate saobraćajem ka vašim **web** aplikacijama. Nudi **Layer 7 load balancing, SSL termination, i web application firewall (WAF) mogućnosti** u okviru Application Delivery Controller (ADC) kao servisa. Ključne karakteristike uključuju URL-based routing, cookie-based session affinity i secure sockets layer (SSL) offloading, koje su ključne za aplikacije koje zahtevaju složene mogućnosti balansiranja opterećenja poput global routing i path-based routing.
|
||||
|
||||
**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.**
|
||||
Razmotrite scenario gde imate e-commerce web 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 **usmeravati saobraćaj ka odgovarajućim web serverima na osnovu URL puta**. Na primer, saobraćaj ka `example.com/accounts` može biti usmeren na servis za korisničke naloge, a saobraćaj ka `example.com/pay` može biti usmeren na servis za obradu plaćanja.\
|
||||
I **zaštititi vaš web sajt od napada koristeći WAF mogućnosti.**
|
||||
|
||||
### **Enumeracija**
|
||||
|
||||
@@ -320,20 +393,20 @@ az network application-gateway waf-config list --gateway-name <AppGatewayName> -
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## Azure Hub, Spoke & VNet Peering
|
||||
## VNet Peering & HUB and Spoke topologije
|
||||
|
||||
**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.
|
||||
### VNet Peering
|
||||
|
||||
**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.
|
||||
**VNet Peering** je funkcija u Azure koja **omogućava da se različite Virtual Networks (VNets) povežu direktno i bešavno**. Kroz VNet peering, resursi u jednom VNet-u mogu komunicirati sa resursima u drugom VNet-u koristeći privatne IP adrese, **kao da su u istoj mreži**.\
|
||||
**VNet Peering se takođe može koristiti sa on-prem mrežama** postavljanjem site-to-site VPN ili Azure ExpressRoute.
|
||||
|
||||
> [!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.
|
||||
**Azure Hub and Spoke** je mrežna arhitektura koja koristi VNet peering da kreira centralni **Hub VNet** koji se povezuje sa više **Spoke VNets**. Hub obično sadrži deljene servise (kao što su firewalls, DNS, ili Active Directory), dok spokes hostuju aplikacijska radna opterećenja. Ovaj dizajn pojednostavljuje upravljanje, povećava sigurnost kroz centralizovane kontrole i smanjuje redundanciju.
|
||||
|
||||
**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.
|
||||
Veliko preduzeće sa više odeljenja (Finance, HR, IT) može kreirati **Hub VNet sa deljenim servisima** kao što su firewalls i DNS serveri. Svako odeljenje može imati svoj Spoke VNet koji se povezuje sa Hub via peering. Ovo omogućava odeljenjima da sigurno komuniciraju i koriste deljene servise bez izlaganja svojih resursa javnom internetu.
|
||||
|
||||
### Enumeration
|
||||
### **Enumeration**
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
@@ -341,8 +414,8 @@ Zamislite kompaniju sa odvojenim odeljenjima kao što su Prodaja, Ljudski resurs
|
||||
# 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 VNet Peerings
|
||||
az network vnet peering list --resource-group <ResourceGroupName> --vnet-name <VNetName> --query "[].{name:name, remoteVnetId:remoteVirtualNetwork.id, allowForwardedTraffic:allowForwardedTraffic, allowGatewayTransit:allowGatewayTransit}"
|
||||
|
||||
# List Shared Resources (e.g., Azure Firewall) in the Hub
|
||||
az network firewall list --query "[].{name:name, location:location, resourceGroup:resourceGroup}" -o table
|
||||
@@ -353,8 +426,8 @@ az network firewall list --query "[].{name:name, location:location, resourceGrou
|
||||
# List all VNets in your subscription
|
||||
Get-AzVirtualNetwork
|
||||
|
||||
# List VNet peering connections for a given VNet
|
||||
(Get-AzVirtualNetwork -ResourceGroupName <ResourceGroupName> -Name <VNetName>).VirtualNetworkPeerings
|
||||
# List VNet Peerings
|
||||
Get-AzVirtualNetworkPeering -ResourceGroupName <ResourceGroupName> -VirtualNetworkName <VNetName>
|
||||
|
||||
# List Shared Resources (e.g., Azure Firewall) in the Hub
|
||||
Get-AzFirewall
|
||||
@@ -364,11 +437,11 @@ Get-AzFirewall
|
||||
|
||||
## 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.
|
||||
A **Site-to-Site VPN** in Azure uspostavlja sigurnu i **trajnu konekciju sa vaše on-premises mreže do vaše Azure Virtual Network (VNet)**, omogućavajući resursima kao što su VMs unutar Azure da se pojavljuju kao da su na vašoj lokalnoj mreži. Ova veza se uspostavlja kroz **VPN gateway 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.
|
||||
Preduzeće sa glavnom kancelarijom u New Yorku ima on-premises data centar koji treba da se sigurno poveže sa svojim VNet in Azure, koji hostuje njegova virtualizovana radna opterećenja. Podesivši **Site-to-Site VPN, kompanija može obezbediti enkriptovanu konekciju između on-premises servera i Azure VMs**, omogućavajući siguran pristup resursima u oba okruženja kao da su na istoj lokalnoj mreži.
|
||||
|
||||
### **Enumeration**
|
||||
|
||||
@@ -395,11 +468,11 @@ Get-AzVirtualNetworkGatewayConnection -ResourceGroupName <ResourceGroupName>
|
||||
|
||||
## 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.
|
||||
Azure ExpressRoute je servis koji obezbeđuje **privatnu, namensku, visokobrzinsku vezu između vaše on-premises infrastrukture i Azure data centara**. Ova veza se uspostavlja preko provajdera konektivnosti, zaobilazeći javni internet i nudeći veću pouzdanost, veće brzine, niže latencije i viši nivo bezbednosti u odnosu na tipične internet veze.
|
||||
|
||||
**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.
|
||||
Multinacionalna korporacija zahteva **konzistentnu i pouzdanu vezu ka svojim Azure servisima zbog velikog obima podataka** i potrebe za velikim propusnim opsegom. Kompanija se odlučuje za Azure ExpressRoute da direktno poveže svoj on-premises data center sa Azure-om, olakšavajući prenose podataka velikih razmera, poput dnevnih rezervnih kopija i analitike podataka u realnom vremenu, uz poboljšanu privatnost i brzinu.
|
||||
|
||||
### **Enumeration**
|
||||
|
||||
@@ -418,4 +491,10 @@ Get-AzExpressRouteCircuit
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## Reference
|
||||
|
||||
- [DNS OverDoS: Are Private Endpoints Too Private?](https://unit42.paloaltonetworks.com/dos-attacks-and-azure-private-endpoint/)
|
||||
- [Azure Private Endpoint DNS configuration](https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-dns)
|
||||
- [Private DNS fallback to internet](https://learn.microsoft.com/en-us/azure/dns/private-dns-fallback)
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user