diff --git a/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md b/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md index fdfd16bb3..3792414c5 100644 --- a/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md +++ b/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md @@ -1,28 +1,28 @@ -# Az - Azure Network +# Az - Azure Netwerk {{#include ../../../../banners/hacktricks-training.md}} ## Basiese Inligting -Azure bied **virtuele netwerke (VNet)** wat gebruikers toelaat om **geïsoleerde** **netwerke** binne die Azure wolk te skep. Binne hierdie VNets kan hulpbronne soos virtuele masjiene, toepassings, databasisse... veilig gehos en bestuur word. Die netwerk in Azure ondersteun beide die kommunikasie binne die wolk (tussen Azure dienste) en die verbinding met eksterne netwerke en die internet.\ -Boonop is dit moontlik om VNets met ander VNets en met plaaslike netwerke te **koppel**. +Azure provides **virtual networks (VNet)** wat gebruikers toelaat om **geïsoleerde** **netwerke** binne die Azure cloud te skep. Binne hierdie VNets kan hulpbronne soos Virtual Machines (VMs), toepassings, databasisse... veilig gehuisves en bestuur word. Die netwerkinfrastruktuur in Azure ondersteun beide kommunikasie binne die cloud (tussen Azure services) en die verbinding na eksterne netwerke en die internet.\ +Verder is dit moontlik om VNets met ander VNets en met on-premise netwerke te **verbind**. -## Virtuele Netwerk (VNET) & Subnetwerke +## Virtual Network (VNET) & Subnets -'n Azure Virtuele Netwerk (VNet) is 'n voorstelling van jou eie netwerk in die wolk, wat **logiese isolasie** binne die Azure omgewing bied wat aan jou intekening toegewy is. VNets laat jou toe om virtuele privaat netwerke (VPNs) in Azure te voorsien en te bestuur, wat hulpbronne soos Virtuele Masjiene (VMs), databasisse en toepassingsdienste huisves. Hulle bied **volledige beheer oor netwerkinstellings**, insluitend IP-adresreekse, subnet skepping, roete tafels, en netwerk poorte. +An Azure Virtual Network (VNet) is 'n voorstelling van jou eie netwerk in die cloud, wat **logiese isolasie** binne die Azure-omgewing bied wat aan jou subskripsie gewy is. VNets laat jou toe om virtual private networks (VPNs) in Azure te voorsien en te bestuur, en hulpbronne soos Virtual Machines (VMs), databasisse en toepassingsdienste te huisves. Hulle bied **volle beheer oor netwerkinstellings**, insluitend IP address ranges, subnet creation, route tables, en network gateways. -**Subnetwerke** is onderafdelings binne 'n VNet, gedefinieer deur spesifieke **IP-adresreekse**. Deur 'n VNet in verskeie subnetwerke te segmenteer, kan jy hulpbronne organiseer en beveilig volgens jou netwerkargitektuur.\ -Standaard kan alle subnetwerke binne dieselfde Azure Virtuele Netwerk (VNet) **met mekaar kommunikeer** sonder enige beperkings. +**Subnets** is onderverdelings binne 'n VNet, gedefinieer deur spesifieke **IP address ranges**. Deur 'n VNet in verskeie subnets te segmenteer, kan jy hulpbronne organiseer en beveilig volgens jou netwerkargitektuur.\ +By verstek kan alle subnets binne dieselfde Azure Virtual Network (VNet) **met mekaar kommunikeer** sonder enige beperkings. **Voorbeeld:** -- `MyVNet` met 'n IP-adresreeks van 10.0.0.0/16. -- **Subnet-1:** 10.0.0.0/24 vir webbedieners. -- **Subnet-2:** 10.0.1.0/24 vir databedieners. +- `MyVNet` with an IP address range of 10.0.0.0/16. +- **Subnet-1:** 10.0.0.0/24 for web servers. +- **Subnet-2:** 10.0.1.0/24 for database servers. -### Enumerasie +### Enumeration -Om al die VNets en subnetwerke in 'n Azure rekening te lys, kan jy die Azure Command-Line Interface (CLI) gebruik. Hier is die stappe: +To list all the VNets and subnets in an Azure account, you can use the Azure Command-Line Interface (CLI). Here are the steps: {{#tabs }} {{#tab name="az cli" }} @@ -47,18 +47,18 @@ Select-Object Name, AddressPrefix {{#endtab }} {{#endtabs }} -## Netwerk Sekuriteits Groepe (NSG) +## Netwerksekuriteitsgroepe (NSG) -'n **Netwerk Sekuriteits Groep (NSG)** filter netwerkverkeer na en van Azure hulpbronne binne 'n Azure Virtuele Netwerk (VNet). Dit bevat 'n stel **sekuriteitsreëls** wat kan aandui **watter poorte geopen moet word vir inkomende en uitgaande verkeer** volgens bronpoort, bron IP, poortbestemming en dit is moontlik om 'n prioriteit toe te ken (hoe laer die prioriteitsnommer, hoe hoër die prioriteit). +'n **Network Security Group (NSG)** filtreer netwerkverkeer beide na en van Azure-hulpbronne binne 'n Azure Virtual Network (VNet). Dit bevat 'n stel **sekuriteitsreëls** wat kan aandui **watter poorte oopgemaak moet word vir inkomende en uitgaande verkeer** volgens bronpoort, bron-IP, bestemmingspoort en dit is moontlik om 'n prioriteit toe te ken (hoe laer die prioriteitsnommer, hoe hoër die prioriteit). -NSG's kan geassosieer word met **subnetwerke en NIC's.** +NSGs can be associated to **subnets and NICs.** -**Reëls voorbeeld:** +**Voorbeelde van reëls:** - 'n Inkomende reël wat HTTP-verkeer (poort 80) van enige bron na jou webbedieners toelaat. -- 'n Uitgaande reël wat slegs SQL-verkeer (poort 1433) na 'n spesifieke bestemmings IP-adresreeks toelaat. +- 'n Uitgaande reël wat slegs SQL-verkeer (poort 1433) na 'n spesifieke bestemmings-IP-adresreeks toelaat. -### Enumerasie +### Enumeration {{#tabs }} {{#tab name="az cli" }} @@ -71,7 +71,7 @@ az network nsg show --name az network nsg rule list --nsg-name --resource-group --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 --resource-group --query "{subnets: subnets, networkInterfaces: networkInterfaces}" ``` {{#endtab }} {{#tab name="PowerShell" }} @@ -81,30 +81,33 @@ Get-AzNetworkSecurityGroup | Select-Object Name, Location Get-AzNetworkSecurityGroup -Name -ResourceGroupName # Get NSG rules -(Get-AzNetworkSecurityGroup -ResourceGroupName -Name ).SecurityRules +Get-AzNetworkSecurityGroup -Name -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 -ResourceGroupName ).Subnets +(Get-AzNetworkSecurityGroup -Name -ResourceGroupName ).NetworkInterfaces ``` {{#endtab }} {{#endtabs }} ## Azure Firewall -Azure Firewall is 'n **bestuurde netwerk sekuriteitsdiens** in Azure wat wolk hulpbronne beskerm deur verkeer te inspekteer en te beheer. Dit is 'n **staatvolle firewall** wat verkeer filter op grond van reëls vir Lae 3 tot 7, wat kommunikasie ondersteun beide **binne Azure** (oos-wes verkeer) en **na/van eksterne netwerke** (noord-suid verkeer). Ontplooi op die **Virtuele Netwerk (VNet) vlak**, bied dit gesentraliseerde beskerming vir alle subnetwerke in die VNet. Azure Firewall skaal outomaties om verkeer se vereistes te hanteer en verseker hoë beskikbaarheid sonder om handmatige opstelling te vereis. +Azure Firewall is a **beheerde, staatgebaseerde firewall** wat verkeer filtreer (L3–L7) vir oos-wes en noord-suid vloei. Ingeplant op die **VNet level**, sentraliseer dit inspeksie vir alle subnets en skaal dit outomaties vir beskikbaarheid. -Dit is beskikbaar in drie SKUs—**Basies**, **Standaard**, en **Premium**, elk aangepas vir spesifieke kliëntbehoeftes: +Beskikbare SKUs: **Basic**, **Standard**, en **Premium**: -| Kriteria/Funksie | Opsie 1 | Opsie 2 | Opsie 3 | +| Criteria/Feature | Option 1 | Option 2 | Option 3 | | ------------------------------ | ------------------------------------------------- | ------------------------------------------- | --------------------------------------------------------- | -| **Aanbevole Gebruiksgeluk** | Klein/Gemiddelde Besighede (SMBs) met beperkte behoeftes | Algemene ondernemingsgebruik, Laag 3–7 filtering | Hoog sensitiewe omgewings (bv. betalingsverwerking) | -| **Prestasie** | Tot 250 Mbps deurset | Tot 30 Gbps deurset | Tot 100 Gbps deurset | -| **Dreigingsintelligensie** | Slegs waarskuwings | Waarskuwings en blokkering (kwaadwillige IP's/domeine) | Waarskuwings en blokkering (geavanceerde dreigingsintelligensie) | -| **L3–L7 Filtering** | Basiese filtering | Staatvolle filtering oor protokolle | Staatvolle filtering met geavanceerde inspeksie | -| **Geavanceerde Dreigingsbeskerming** | Nie beskikbaar | Dreigingsintelligensie-gebaseerde filtering | Sluit Inbraakdetectie en Voorkomingstelsel (IDPS) in | -| **TLS Inspeksie** | Nie beskikbaar | Nie beskikbaar | Ondersteun inkomende/uitgaande TLS terminering | -| **Beskikbaarheid** | Vaste agtergrond (2 VM's) | Outoskalering | Outoskalering | -| **Gemak van Bestuur** | Basiese kontroles | Bestuur via Firewall Bestuurder | Bestuur via Firewall Bestuurder | +| **Recommended Use Case** | Klein/Middelgroot Besighede (SMBs) met beperkte behoeftes | Algemene ondernemingsgebruik, Laag 3–7 filterering | Baie sensitiewe omgewings (bv. betalingverwerking) | +| **Performance** | Tot 250 Mbps deursyfer | Tot 30 Gbps deursyfer | Tot 100 Gbps deursyfer | +| **Threat Intelligence** | Slegs waarskuwings | Waarskuwings en blokkering (kwaadwillige IP's/domeine) | Waarskuwings en blokkering (gevorderde dreigintelligensie) | +| **L3–L7 Filtering** | Basiese filterering | Staatgebaseerde filterering oor protokolle | Staatgebaseerde filterering met gevorderde inspeksie | +| **Advanced Threat Protection** | Nie beskikbaar nie | Dreigintelligensie-gebaseerde filterering | Sluit Intrusion Detection and Prevention System (IDPS) in | +| **TLS Inspection** | Nie beskikbaar nie | Nie beskikbaar nie | Ondersteun inkomende/uitgaande TLS-terminasie | +| **Availability** | Vaste backend (2 VMs) | Autoskaal | Autoskaal | +| **Ease of Management** | Basiese beheer | Beheer via Firewall Manager | Beheer via Firewall Manager | ### Enumeration @@ -141,11 +144,16 @@ Get-AzFirewall {{#endtab }} {{#endtabs }} -## Azure Roete Tabel +## Azure Route Tables -Azure **Roete Tabels** word gebruik om die routing van netwerkverkeer binne 'n subnet te beheer. Hulle definieer reëls wat spesifiseer hoe pakkette gestuur moet word, hetsy na Azure hulpbronne, die internet, of 'n spesifieke volgende stap soos 'n Virtuele Toestel of Azure Firewall. Jy kan 'n roete tabel met 'n **subnet** assosieer, en alle hulpbronne binne daardie subnet sal die roetes in die tabel volg. +Azure **Route Tables (UDR)** laat jou toe om standaardroetering te oorskryf deur bestemmingsvoorvoegsels te definieer (bv. `10.0.0.0/16` of `0.0.0.0/0`) en 'n volgende hop (Virtual Network, Internet, Virtual Network Gateway, of Virtual Appliance). -**Voorbeeld:** As 'n subnet hulpbronne huisves wat uitgaande verkeer deur 'n Netwerk Virtuele Toestel (NVA) vir inspeksie moet roete, kan jy 'n **roete** in 'n roete tabel skep om alle verkeer (bv. `0.0.0.0/0`) na die NVA se private IP-adres as die volgende stap te herlei. +> Roetes geld op subnet-vlak; alle VMs in daardie subnet volg die tabel. + +**Voorbeeld:** + +- Vir internetbestemde verkeer, gebruik die standaard `0.0.0.0/0` met **Internet** as volgende hop. +- Om uitgaande verkeer te inspekteer, lei `0.0.0.0/0` na 'n Network Virtual Appliance (NVA) IP. ### **Enumerasie** @@ -155,8 +163,11 @@ Azure **Roete Tabels** word gebruik om die routing van netwerkverkeer binne 'n s # 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 --resource-group --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 --route-table-name --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 --route-table-name ``` {{#endtab }} {{#tab name="PowerShell" }} @@ -172,16 +183,16 @@ Get-AzRouteTable ## Azure Private Link -Azure Private Link is 'n diens in Azure wat **privaat toegang tot Azure-dienste moontlik maak** deur te verseker dat **verkeer tussen jou Azure virtuele netwerk (VNet) en die diens heeltemal binne Microsoft se Azure rugsteun netwerk beweeg**. Dit bring die diens effektief in jou VNet. Hierdie opstelling verbeter sekuriteit deur die data nie aan die openbare internet bloot te stel nie. +Azure Private Link is a service in Azure that **enableer privaat toegang tot Azure-dienste** deur te verseker dat **verkeer tussen jou Azure virtuele netwerk (VNet) en die diens heeltemal binne Microsoft se Azure-ruggraatnetwerk reis**. Dit bring die diens effektief in jou VNet. Hierdie opstelling verbeter sekuriteit deur die data nie aan die openbare internet bloot te stel nie. -Private Link kan gebruik word met verskeie Azure-dienste, soos Azure Storage, Azure SQL Database, en pasgemaakte dienste wat via Private Link gedeel word. Dit bied 'n veilige manier om dienste van binne jou eie VNet of selfs van verskillende Azure-subskripsies te verbruik. +Private Link kan gebruik word met verskeie Azure-dienste, soos Azure Storage, Azure SQL Database, en pasgemaakte dienste wat via Private Link gedeel word. Dit bied 'n veilige manier om dienste vanaf jou eie VNet of selfs vanaf verskillende Azure-subskripsies te verbruik. > [!CAUTION] -> NSG's is nie van toepassing op private eindpunte nie, wat duidelik beteken dat die assosiasie van 'n NSG met 'n subnet wat die Private Link bevat, geen effek sal hê nie. +> NSGs is nie van toepassing op private endpoints nie, wat duidelik beteken dat die assosiasie van 'n NSG met 'n subnet wat die Private Link bevat, geen effek sal hê nie. **Voorbeeld:** -Overweeg 'n scenario waar jy 'n **Azure SQL Database het wat jy veilig van jou VNet wil toegang**. Normaalweg kan dit behels dat jy die openbare internet oorsteek. Met Private Link kan jy 'n **private eindpunt in jou VNet skep** wat direk met die Azure SQL Database-diens verbind. Hierdie eindpunt laat die databasis lyk asof dit deel van jou eie VNet is, toeganklik via 'n private IP-adres, wat dus veilige en private toegang verseker. +Oorweeg 'n scenario waar jy 'n **Azure SQL Database het wat jy veilig vanaf jou VNet wil toegang kry**. Normaalweg sou dit dalk die openbare internet vereis. Met Private Link kan jy 'n **private endpoint in jou VNet** skep wat direk aan die Azure SQL Database-diens koppel. Hierdie endpoint laat die databasis voorkom asof dit deel is van jou eie VNet, toeganklik via 'n private IP-adres, en verseker dus veilige en privaat toegang. ### **Enumeration** @@ -206,13 +217,60 @@ Get-AzPrivateEndpoint | Select-Object Name, Location, ResourceGroupName, Private {{#endtab }} {{#endtabs }} -## Azure Diens Eindpunte +### DNS OverDoS via service Private DNS zone links -Azure Diens Eindpunte brei jou virtuele netwerk se private adresruimte en die identiteit van jou VNet uit na Azure dienste oor 'n direkte verbinding. Deur diens eindpunte in te skakel, **kan hulpbronne in jou VNet veilig met Azure dienste verbind**, soos Azure Storage en Azure SQL Database, met behulp van Azure se rugsteun netwerk. Dit verseker dat die **verkeer van die VNet na die Azure diens binne die Azure netwerk bly**, wat 'n meer veilige en betroubare pad bied. +Wanneer 'n VNet 'n **Virtual Network Link** na 'n **service Private DNS zone** het (bv. `privatelink.blob.core.windows.net`), dwing Azure dat **hostname resolution** vir Private Link‑geregistreerde hulpbronne van daardie dienstoort deur die zone plaasvind. As die zone **nie die vereiste `A` record** vir 'n hulpbron bevat wat werkladinge steeds via sy publieke endpoint bereik nie, gee DNS‑resolusie **NXDOMAIN** terug en bereik kliënte nooit die publieke IP nie, wat 'n **availability DoS** veroorsaak sonder om die hulpbron self aan te raak. + +**Abuse flow (control-plane DoS):** + +1. Verkry RBAC wat toelaat om **Private Endpoints** te skep of **Private DNS zone links** te wysig. +2. Skep 'n Private Endpoint vir dieselfde dienstoort in 'n ander VNet (Azure skep outomaties die service Private DNS zone en koppel dit aan daardie VNet). +3. Koppel daardie **service Private DNS zone** aan die slagoffer‑VNet. +4. Omdat die slagoffer‑VNet nou **dwing resolusie via die Private DNS zone** en daar geen `A` record vir die teikenhulpbron in daardie zone bestaan nie, misluk naamresolusie en kan die werklading nie die (nog publieke) endpoint bereik nie. Dit geld vir enige Private Link–ondersteunde diens (storage, Key Vault, ACR, Cosmos DB, Function Apps, OpenAI, ens.). + +**Discovery at scale (Azure Resource Graph):** + +- VNETs wat gekoppel is aan die blob Private DNS zone (gedwonge resolusie vir PL‑registered blob endpunte): +```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 +``` +- Stoorrekeninge wat via 'n publieke endpoint bereikbaar is, maar **sonder** Private Endpoint-verbindinge (sal waarskynlik breek as bogenoemde skakel bygevoeg word): +```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 brei jou virtuele netwerk se privaat adresruimte en die identiteit van jou VNet uit na Azure-dienste oor 'n direkte verbinding. Deur Service Endpoints te aktiveer, kan **hulpbronne in jou VNet veilig met Azure-dienste verbind**, soos Azure Storage en Azure SQL Database, oor die Azure backbone-netwerk. Dit is besonder nuttig wanneer dit saam met Network Security Groups (NSGs) gebruik word vir gedetailleerde verkeersbeheer. **Voorbeeld:** -Byvoorbeeld, 'n **Azure Storage** rekening is standaard oor die openbare internet toeganklik. Deur 'n **diens eindpunt vir Azure Storage binne jou VNet** in te skakel, kan jy verseker dat slegs verkeer van jou VNet toegang tot die stoorrekening het. Die stoorrekening se vuurmuur kan dan gekonfigureer word om slegs verkeer van jou VNet te aanvaar. +- Met 'n **Storage** Account en Service Endpoint **geaktiveer** in 'n VNET, is dit moontlik om inkomende verkeer **slegs vanaf 'n VNET in die storage account firewall** toe te laat, wat 'n **veilige verbinding** afdwing sonder dat publieke IP-toegang tot die storage-diens nodig is. + +Service Endpoints **vereis nie private IP-adresse** vir die dienste nie en vertrou in plaas daarvan op die Azure backbone vir veilige konneksie. Hulle is **makliker om op te stel** in vergelyking met Private Links maar **bied nie dieselfde vlak van isolasie en granulariteit** as Private Links nie. ### **Enumerasie** @@ -223,7 +281,10 @@ Byvoorbeeld, 'n **Azure Storage** rekening is standaard oor die openbare interne 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 --vnet-name --query "[].{name:name, serviceEndpoints:serviceEndpoints}" -o table +az network vnet subnet list --resource-group --vnet-name --query "[].{name:name, serviceEndpoints:serviceEndpoints}" + +# List Service Endpoints for a Subnet +az network vnet subnet show --resource-group --vnet-name --name --query "serviceEndpoints" ``` {{#endtab }} {{#tab name="PowerShell" }} @@ -237,73 +298,87 @@ Get-AzVirtualNetwork {{#endtab }} {{#endtabs }} -### Verskille Tussen Diens Eindpunte en Privaat Skakels +### Verskille Tussen Service Endpoints en Private Links -Microsoft beveel aan om Privaat Skakels te gebruik in die [**docs**](https://learn.microsoft.com/en-us/azure/virtual-network/vnet-integration-for-azure-services#compare-private-endpoints-and-service-endpoints): +Microsoft beveel aan om Private Links te gebruik in die [**docs**](https://learn.microsoft.com/en-us/azure/virtual-network/vnet-integration-for-azure-services#compare-private-endpoints-and-service-endpoints):
-**Diens Eindpunte:** +**Service Endpoints:** -- Verkeer van jou VNet na die Azure diens beweeg oor die Microsoft Azure rugsteun netwerk, wat die openbare internet omseil. -- Die eindpunt is 'n direkte verbinding na die Azure diens en bied nie 'n privaat IP vir die diens binne die VNet nie. -- Die diens self is steeds toeganklik via sy openbare eindpunt van buite jou VNet tensy jy die diens vuurmuur konfigureer om sulke verkeer te blokkeer. -- Dit is 'n een-tot-een verhouding tussen die subnet en die Azure diens. -- Goedkoper as Privaat Skakels. +- Verkeer van jou VNet na die Azure service reis oor die Microsoft Azure backbone-netwerk en omseil die openbare internet. +- Die endpoint is 'n direkte verbinding na die Azure service en verskaf nie 'n private IP vir die service binne die VNet nie. +- Die service self is steeds toeganklik via sy openbare endpoint van buite jou VNet, tensy jy die service se firewall konfigureer om so 'n verkeer te blokkeer. +- Dit is 'n een-tot-een verhouding tussen die subnet en die Azure service. +- Minder duur as Private Links. -**Privaat Skakels:** +**Private Links:** -- Privaat Skakel kaart Azure dienste in jou VNet via 'n privaat eindpunt, wat 'n netwerkinterface met 'n privaat IP adres binne jou VNet is. -- Die Azure diens word toeganklik gemaak met hierdie privaat IP adres, wat dit laat lyk asof dit deel van jou netwerk is. -- Dienste wat via Privaat Skakel gekoppel is, kan slegs vanaf jou VNet of gekonnekteerde netwerke toeganklik wees; daar is geen openbare internettoegang tot die diens nie. -- Dit stel 'n veilige verbinding met Azure dienste of jou eie dienste wat in Azure gehoste is, asook 'n verbinding met dienste wat deur ander gedeel word, moontlik. -- Dit bied meer gedetailleerde toegangbeheer via 'n privaat eindpunt in jou VNet, in teenstelling met breër toegangbeheer op subnetvlak met diens eindpunte. +- Private Link karteer Azure services in jou VNet deur 'n private endpoint, wat 'n netwerk-koppelvlak met 'n private IP-adres binne jou VNet is. +- Die Azure service word via hierdie private IP-adres bereik, wat dit laat voorkom asof dit deel is van jou netwerk. +- Services wat via Private Link gekoppel is, kan slegs vanaf jou VNet of gekoppelde netwerke bereik word; daar is geen openbare internettoegang na die service nie. +- Dit maak 'n veilige verbinding na Azure services of jou eie services wat in Azure gehost word moontlik, sowel as 'n verbinding na services wat deur ander gedeel word. +- Dit verskaf meer fynkorrelige toegangsbeheer via 'n private endpoint in jou VNet, teenoor wyer toegangsbeheer op subnet-vlak met service endpoints. -In samevatting, terwyl beide Diens Eindpunte en Privaat Skakels veilige konnektiwiteit na Azure dienste bied, **bied Privaat Skakels 'n hoër vlak van isolasie en sekuriteit deur te verseker dat dienste privaat toeganklik is sonder om hulle aan die openbare internet bloot te stel**. Diens Eindpunte, aan die ander kant, is makliker om op te stel vir algemene gevalle waar eenvoudige, veilige toegang tot Azure dienste benodig word sonder die behoefte aan 'n privaat IP in die VNet. +In opsomming: alhoewel beide Service Endpoints en Private Links veilige konnektiwiteit na Azure services bied, bied **Private Links 'n hoër vlak van isolasie en sekuriteit deur te verseker dat services privaat bereik word sonder om hulle aan die openbare internet bloot te stel**. Service Endpoints is daarenteen makliker om op te stel vir algemene gevalle waar eenvoudige, veilige toegang tot Azure services benodig word sonder die behoefte aan 'n private IP in die VNet. ## Azure Front Door (AFD) & AFD WAF -**Azure Front Door** is 'n skaalbare en veilige toegangspunt vir **vinnige aflewering** van jou globale webtoepassings. Dit **kombineer** verskeie dienste soos globale **laaibalansering, webwerfversnelling, SSL-aflaai, en Webtoepassing Vuurmuur (WAF)** vermoëns in 'n enkele diens. Azure Front Door bied intelligente roetering gebaseer op die **nabyste rand ligging aan die gebruiker**, wat optimale prestasie en betroubaarheid verseker. Daarbenewens bied dit URL-gebaseerde roetering, veelvuldige webwerfgasheer, sessie affiniteid, en toepassingslaagnavorsing. +**Azure Front Door** is 'n skaalbare en veilige toegangspunt vir die **vinnige lewering** van jou wêreldwye webtoepassings. Dit **kombineer** verskeie dienste soos **application acceleration, SSL offloading, en application layer security** (deur Web Application Firewall - WAF). Dit is gebou op die konsep van edge POP (Point of Presence)-lokasies regoor die wêreld om jou toepassings nader aan jou gebruikers te bring. -**Azure Front Door WAF** is ontwerp om **webtoepassings te beskerm teen web-gebaseerde aanvalle** sonder om agtergrondkode te wysig. Dit sluit pasgemaakte reëls en bestuurde reëlstelle in om teen bedreigings soos SQL-inspuiting, kruis-webwerf skripting, en ander algemene aanvalle te beskerm. +> Azure Front Door voorsien 'n wêreldwyd verspreide netwerk van edge-lokasies om inkomende verkeer na jou webtoepassings (in Azure of elders) te lei en te versnel, prestasie te verbeter, en sekuriteit te versterk. **Voorbeeld:** -Stel jou voor jy het 'n globaal verspreide toepassing met gebruikers regoor die wêreld. Jy kan Azure Front Door gebruik om **gebruikers versoeke na die naaste streeksdatacentrum** wat jou toepassing gasheer, te roeteer, wat latensie verminder, gebruikerservaring verbeter en **dit te verdedig teen webaanvalle met die WAF vermoëns**. As 'n spesifieke streek stilstand ervaar, kan Azure Front Door verkeer outomaties na die volgende beste ligging herroeteer, wat hoë beskikbaarheid verseker. +- Vir 'n wêreldwye e-handelsplatform met gebruikers regoor die wêreld, kan **Azure Front Door statiese inhoud by edge-lokasies cache** en **SSL offloading** bied, wat latensie verminder en 'n meer reageerende gebruikerservaring gee. Dit verskaf ook **WAF** om jou toepassings te beskerm teen algemene web-kwesbaarhede (soos SQL injection of XSS). -### Enumerasie +Azure Front Door bied ook **smart load balancing** deur verkeer na die naaste beskikbare backend te route op grond van health probes en latensie, wat konsekwente prestasie en beskikbaarheid verseker. Deur **WAF** te integreer, help dit om te beskerm teen algemene webbedreigings. + +### **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 --resource-group --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 -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 -ResourceGroupName ``` {{#endtab }} {{#endtabs }} -## Azure Application Gateway en Azure Application Gateway WAF +## Azure Application Gateway and Azure Application Gateway WAF -Azure Application Gateway is 'n **webverkeer laaibalanser** wat jou in staat stel om verkeer na jou **web** toepassings te bestuur. Dit bied **Laag 7 laaibalansering, SSL-terminering, en webtoepassing vuurmuur (WAF) vermoëns** in die Toepassing Aflewering Beheerder (ADC) as 'n diens. Sleutelkenmerke sluit URL-gebaseerde roetering, koekie-gebaseerde sessie affiniteid, en veilige sokkellaag (SSL) aflaai in, wat noodsaaklik is vir toepassings wat komplekse laaibalansering vermoëns vereis soos globale roetering en pad-gebaseerde roetering. +Azure Application Gateway is 'n **belastingbalanserer vir webverkeer** wat jou in staat stel om verkeer na jou **web** toepassings te bestuur. Dit bied **Layer 7 load balancing, SSL-terminering, en webtoepassing-firewall (WAF)-vermoëns** in die Application Delivery Controller (ADC) as 'n diens. Belangrike kenmerke sluit URL-gebaseerde routering, koekie-gebaseerde sessie-affiniteit, en Secure Sockets Layer (SSL)-offloading in, wat noodsaaklik is vir toepassings wat komplekse load-balancing vermoëns benodig soos globale routering en padgebaseerde routering. -**Voorbeeld:** +**Example:** -Oorweeg 'n scenario waar jy 'n e-handelswebwerf het wat verskeie subdomeine vir verskillende funksies insluit, soos gebruikersrekeninge en betalingsverwerking. Azure Application Gateway kan **verkeer na die toepaslike webbedieners roeteer op grond van die URL-pad**. Byvoorbeeld, verkeer na `example.com/accounts` kan na die gebruikersrekeninge diens gelei word, en verkeer na `example.com/pay` kan na die betalingsverwerkingsdiens gelei word.\ -En **beskerm jou webwerf teen aanvalle met die WAF vermoëns.** +Oorweeg 'n scenario waar jy 'n e-handelswebwerf het wat verskeie subdomeine vir verskillende funksies insluit, soos gebruikersrekeninge en betalingsverwerking. Azure Application Gateway kan **verkeer na die toepaslike webbedieners router op grond van die URL-pad**. Byvoorbeeld, verkeer na `example.com/accounts` kan na die gebruikersrekeninge-diens gestuur word, en verkeer na `example.com/pay` kan na die betalingsverwerkingsdiens gestuur word.\ +En **beskerm jou webwerf teen aanvalle deur die WAF-vermoëns te gebruik.** -### **Enumerasie** +### **Enumeration** {{#tabs }} {{#tab name="az cli" }} @@ -320,20 +395,20 @@ az network application-gateway waf-config list --gateway-name - {{#endtab }} {{#endtabs }} -## Azure Hub, Spoke & VNet Peering +## VNet Peering & HUB and Spoke topologieë -**VNet Peering** is 'n netwerkfunksie in Azure wat **verskillende Virtuele Netwerke (VNets) toelaat om direk en naatloos gekoppel te word**. Deur VNet-peering kan hulpbronne in een VNet met hulpbronne in 'n ander VNet kommunikeer met behulp van private IP-adresse, **asof hulle in dieselfde netwerk is**.\ -**VNet Peering kan ook met 'n plaaslike netwerk gebruik word** deur 'n site-to-site VPN of Azure ExpressRoute op te stel. +### VNet Peering -**Azure Hub en Spoke** is 'n netwerktopologie wat in Azure gebruik word om netwerkverkeer te bestuur en te organiseer. **Die "hub" is 'n sentrale punt wat verkeer tussen verskillende "spokes" beheer en roete**. Die hub bevat tipies gedeelde dienste soos netwerk virtuele toestelle (NVAs), Azure VPN Gateway, Azure Firewall, of Azure Bastion. Die **"spokes" is VNets wat werklas huisves en met die hub verbind deur VNet-peering**, wat hulle toelaat om die gedeelde dienste binne die hub te benut. Hierdie model bevorder 'n skoon netwerkopstelling, wat kompleksiteit verminder deur algemene dienste te sentraliseer wat verskeie werklas oor verskillende VNets kan gebruik. +**VNet Peering** is 'n funksie in Azure wat toelaat dat verskillende Virtual Networks (VNets) direk en naatloos verbind word. Deur VNet peering kan hulpbronne in een VNet kommunikeer met hulpbronne in 'n ander VNet met privaat IP-adresse, **asof hulle in dieselfde netwerk is**.\ +**VNet Peering kan ook met on-prem netwerke gebruik word** deur 'n site-to-site VPN of Azure ExpressRoute op te stel. -> [!CAUTION] > **VNET-peering is nie-transitief in Azure**, wat beteken dat as spoke 1 met spoke 2 verbind is en spoke 2 met spoke 3 verbind is, dan kan spoke 1 nie direk met spoke 3 praat nie. +**Azure Hub and Spoke** is 'n netwerkargitektuur wat VNet peering gebruik om 'n sentrale **Hub VNet** te skep wat aan veelvuldige **Spoke VNets** koppel. Die hub bevat tipies gedeelde dienste (soos firewalls, DNS of Active Directory), terwyl spokes toepassingswerkladinge huisves. Hierdie ontwerp vereenvoudig bestuur, verbeter sekuriteit deur gesentraliseerde kontroles, en verminder redundansie. **Voorbeeld:** -Stel jou 'n maatskappy voor met aparte afdelings soos Verkope, HR, en Ontwikkeling, **elke met sy eie VNet (die spokes)**. Hierdie VNets **vereis toegang tot gedeelde hulpbronne** soos 'n sentrale databasis, 'n firewall, en 'n internetgateway, wat almal in **'n ander VNet (die hub)** geleë is. Deur die Hub en Spoke-model te gebruik, kan elke afdeling **veilig met die gedeelde hulpbronne deur die hub VNet verbind sonder om daardie hulpbronne aan die openbare internet bloot te stel** of 'n komplekse netwerkstruktuur met talle verbindings te skep. +'n Groot onderneming met verskeie departemente (Finance, HR, IT) kan 'n **Hub VNet met gedeelde dienste** skep soos firewalls en DNS-bedieners. Elke departement kan sy eie Spoke VNet hê wat via peering aan die Hub koppel. Dit laat departemente toe om veilig te kommunikeer en gedeelde dienste te gebruik sonder om hul hulpbronne aan die openbare internet bloot te stel. -### Enumeration +### **Enumeration** {{#tabs }} {{#tab name="az cli" }} @@ -341,8 +416,8 @@ Stel jou 'n maatskappy voor met aparte afdelings soos Verkope, HR, en Ontwikkeli # 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 --vnet-name --query "[].{name:name, peeringState:peeringState, remoteVnetId:remoteVnetId}" -o table +# List VNet Peerings +az network vnet peering list --resource-group --vnet-name --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 +428,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 -Name ).VirtualNetworkPeerings +# List VNet Peerings +Get-AzVirtualNetworkPeering -ResourceGroupName -VirtualNetworkName # List Shared Resources (e.g., Azure Firewall) in the Hub Get-AzFirewall @@ -364,13 +439,13 @@ Get-AzFirewall ## Site-to-Site VPN -'n Site-to-Site VPN in Azure laat jou toe om jou **on-premises netwerk aan jou Azure Virtuele Netwerk (VNet)** te verbind, wat dit moontlik maak dat hulpbronne soos VMs binne Azure lyk asof hulle op jou plaaslike netwerk is. Hierdie verbinding word tot stand gebring deur 'n **VPN-gateway wat verkeer enkripteer** tussen die twee netwerke. +'n **Site-to-Site VPN** in Azure skep 'n veilige en **bestande verbinding vanaf jou on-premises netwerk na jou Azure Virtual Network (VNet)**, wat hulpbronne soos VMs binne Azure laat voorkom asof hulle op jou plaaslike netwerk is. Hierdie verbinding word gevestig deur 'n **VPN gateway wat verkeer enkripteer** tussen die twee netwerke. **Voorbeeld:** -'n Besigheid met sy hoofkantoor in New York het 'n on-premises datacentrum wat veilig aan sy VNet in Azure moet verbind, wat sy gevirtualiseerde werklas huisves. Deur 'n **Site-to-Site VPN op te stel, kan die maatskappy verseker dat daar enkripteerde konneksie tussen die on-premises bedieners en die Azure VMs is**, wat dit moontlik maak om hulpbronne veilig oor beide omgewings te benader asof hulle in dieselfde plaaslike netwerk is. +'n Besigheid met sy hoofkantoor in New York het 'n on-premises datacentrum wat veilig aan sy VNet in Azure moet koppel, wat sy gevirtualiseerde werksladinge aanbied. Deur 'n **Site-to-Site VPN op te stel, kan die maatskappy versleutelde konnektiwiteit verseker tussen die on-premises bedieners en die Azure VMs**, wat toelaat dat hulpbronne veilig oor beide omgewings toeganglik is asof dit in dieselfde plaaslike netwerk is. -### **Enumeration** +### **Enumerasie** {{#tabs }} {{#tab name="az cli" }} @@ -395,11 +470,11 @@ Get-AzVirtualNetworkGatewayConnection -ResourceGroupName ## Azure ExpressRoute -Azure ExpressRoute is 'n diens wat 'n **privaat, toegewyde, hoëspoedverbinding tussen jou plaaslike infrastruktuur en Azure datacenters** bied. Hierdie verbinding word gemaak deur 'n verbindingsverskaffer, wat die publieke internet omseil en meer betroubaarheid, vinniger spoed, laer latensies en hoër sekuriteit as tipiese internetverbindinge bied. +Azure ExpressRoute is 'n diens wat 'n **private, toegewyde, hoëspoed-verbinding tussen jou plaaslike infrastruktuur en Azure datacenters bied**. Hierdie verbinding word deur 'n verbindingsverskaffer gerealiseer, wat die openbare internet omseil en meer betroubaarheid, vinniger snelhede, laer latensies en hoër sekuriteit as tipiese internetverbindinge bied. **Voorbeeld:** -'n Multinasionale korporasie vereis 'n **konstante en betroubare verbinding met sy Azure dienste weens die hoë volume data** en die behoefte aan hoë deurset. Die maatskappy kies vir Azure ExpressRoute om sy plaaslike datacentrum direk aan Azure te verbind, wat grootmaat data-oordragte, soos daaglikse rugsteun en regstreekse data-analise, met verbeterde privaatheid en spoed fasiliteer. +'n Multinasionale korporasie benodig 'n **konsekwente en betroubare verbinding na sy Azure-dienste as gevolg van die hoë datavolume** en die behoefte aan hoë deurset. Die maatskappy kies Azure ExpressRoute om sy plaaslike datacenter direk met Azure te verbind, wat grootskaalse data-oordragte vergemaklik, soos daaglikse rugsteun en real-time data-analise, met verbeterde privaatheid en spoed. ### **Enumeration** @@ -418,4 +493,10 @@ Get-AzExpressRouteCircuit {{#endtab }} {{#endtabs }} +## Verwysings + +- [DNS OverDoS: Is Private Endpoints te privaat?](https://unit42.paloaltonetworks.com/dos-attacks-and-azure-private-endpoint/) +- [Azure Private Endpoint DNS-konfigurasie](https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-dns) +- [Private DNS terugval na die internet](https://learn.microsoft.com/en-us/azure/dns/private-dns-fallback) + {{#include ../../../../banners/hacktricks-training.md}}