Azure Firewall configureren voor geavanceerde netwerkbeveiliging
08/08/2024
Dit technische en educatieve artikel is bedoeld om beveiligingsanalisten, IT-beheerders en systeemingenieurs te begeleiden bij het configureren en gebruiken van Azure Firewall voor geavanceerde netwerkbeveiliging. Azure Firewall is een beheerde, cloudgebaseerde netwerkbeveiligingsservice die Layer 4- en Layer 7-bedreigingsbescherming biedt voor Azure-netwerkbronnen, waardoor centralisatie van netwerkcontrole en implementatie van consistent beveiligingsbeleid in cloudomgevingen mogelijk wordt [1].
Introductie
In een steeds groter wordend cloudlandschap is netwerkbeveiliging een fundamentele pijler voor de bescherming van applicaties en gegevens. Azure Firewall biedt een robuuste oplossing voor het inspecteren en controleren van netwerkverkeer en fungeert als centraal handhavingspunt voor beveiligingsbeleid. Het gaat verder dan de basis Network Security Groups (NSG's) door geavanceerde functies te bieden, zoals op Fully Qualified Domain Name (FQDN) gebaseerde verkeersfiltering, bedreigingsinformatie, Inbraakdetectie- en preventiesysteem (IDPS) en TLS-inspectie, waardoor het essentieel is voor veilige netwerkarchitecturen in Azure, vooral in Hub-and-Spoke-modellen [2].
Deze praktische gids behandelt de implementatie van Azure Firewall, het configureren van netwerk- en applicatieregels, het mogelijk maken van bedreigingsinformatie en IDPS, de integratie met andere Azure-services en best practices voor netwerkbeheer. Er worden stapsgewijze instructies, voorbeeld Azure CLI-opdrachten en voorbeelden gegeven, zodat de lezer een effectieve netwerkbeschermingsstrategie kan implementeren en valideren, waardoor het aanvalsoppervlak wordt verkleind en de cyberveerkracht van zijn Azure-infrastructuur wordt versterkt.
Waarom is Azure Firewall cruciaal voor geavanceerde netwerkbeveiliging?
- Geavanceerde verkeersfiltering: Hiermee kunt u netwerkverkeer filteren op basis van IP-adressen, poorten, protocollen, FQDN's en URL's, wat gedetailleerde controle biedt.
- Threat Intelligence: blokkeert automatisch verkeer van en naar bekende kwaadaardige domeinen en IP-adressen op basis van Microsoft Threat Intelligence-feeds.
- IDPS (Inbraakdetectie- en preventiesysteem): Detecteert en blokkeert realtime, op handtekeningen gebaseerde aanvallen, inclusief exploits van kwetsbaarheden en malware.
- TLS-inspectie: decodeert uitgaand TLS/SSL-verkeer om verborgen bedreigingen te inspecteren en beveiligingsbeleid af te dwingen, waarbij het opnieuw wordt gecodeerd voordat het naar de bestemming wordt verzonden.
- Gecentraliseerde implementatie: Kan worden geïmplementeerd in een virtueel hubnetwerk om virtuele netwerken met meerdere spaken te beschermen, waardoor het beheer en de beleidshandhaving worden vereenvoudigd.
- Hoge beschikbaarheid en schaalbaarheid: het is een volledig beheerde service, met geïntegreerde hoge beschikbaarheid en automatische schaalbaarheid om verkeerspieken op te vangen.
- Azure Ecosystem Integration: Naadloze integratie met Azure Monitor, Azure Sentinel en Azure Firewall Manager voor gecentraliseerde monitoring, analyse en beheer.
Vereisten
Als u Azure Firewall wilt configureren voor geavanceerde netwerkbeveiliging, hebt u de volgende items nodig:
- Actief Azure-abonnement: een Azure-abonnement om resources te maken en te beheren.
- Beheerderstoegang: een account met de rol 'Eigenaar' of 'Bijdrager' in het Azure-abonnement, of in de resourcegroep waar de Firewall en VNets worden geïmplementeerd.
- Azure Virtual Networks (VNets): minimaal één VNet om Azure Firewall te implementeren en idealiter een Hub-and-Spoke-architectuur voor demonstratie.
- Optioneel: virtuele machines (VM's): VM's die zijn geïmplementeerd in spoken VNets om firewallregels te testen.
- Azure CLI of Azure PowerShell: geïnstalleerde en geconfigureerde opdrachtregelprogramma's voor interactie met Azure.
Stap voor stap: Azure Firewall configureren voor geavanceerde beveiliging
Laten we een Azure Firewall implementeren en de belangrijkste functies ervan configureren.
1. De Hub-and-Spoke-architectuur voorbereiden
Een Hub-and-Spoke-architectuur is een algemene netwerktopologie in Azure, waarbij het hub-VNet gedeelde services bevat (zoals Azure Firewall) en de spoke-VNets de werkbelastingen bevatten. Verkeer tussen de spaken en naar internet wordt via de hub geleid.
- Resourcegroep maken: maak een resourcegroep voor alle resources.
bash az group create --name RG-Firewall-Artigos --location eastus - VN aanmakenet Hub: Maak een VNet voor de hub met een speciaal subnet voor Azure Firewall (
AzureFirewallSubnet).bash az network vnet create --name VNet-Hub --resource-group RG-Firewall-Artigos --address-prefix 10.0.0.0/16 --location eastus az network vnet subnet create --name AzureFirewallSubnet --vnet-name VNet-Hub --resource-group RG-Firewall-Artikelen --address-prefix 10.0.1.0/24 - VNet-spoke maken: maak een VNet voor de sprak met een subnet voor de virtuele machines.
bash az network vnet create --name VNet-Spoke --resource-group RG-Firewall-Artigos --address-prefix 10.1.0.0/16 --location eastus az network vnet subnet create --name WorkloadSubnet --vnet-name VNet-Spoke --resource-group RG-Firewall-Artikelen --address-prefix 10.1.1.0/24 - VNet-peering configureren: Verbind het hub-VNet en het spoke-VNet via peering.
bash az network vnet-peering create --name HubToSpoke --resource-group RG-Firewall-Artikelen --vnet-name VNet-Hub --remote-vnet VNet-Spoke --allow-vnet-access az network vnet-peering create --name SpokeToHub --resource-group RG-Firewall-Artikelen --vnet-name VNet-Spoke --remote-vnet VNet-Hub --allow-vnet-access
2. Azure Firewall implementeren
-
Azure Firewall maken: implementeer de Azure Firewall op het
AzureFirewallSubnetvan het hub-VNet.bash az network firewall create --name AzureFirewall-01 --resource-group RG-Firewall-Artigos --location eastus --sku Standard az network firewall ip-config create --firewall-name AzureFirewall-01 --name AzureFirewall-IP --resource-group RG-Firewall-Artikelen --vnet-name VNet-Hub --public-ip-address az-firewall-pip- Opmerking: de opdracht
az network firewall ip-config createmaakt automatisch een openbaar IP-adres voor de firewall als u een naam opgeeft (bijvoorbeeldaz-firewall-pip).
- Opmerking: de opdracht
-
Firewall Private IP ophalen: noteer het privé-IP-adres van Azure Firewall, aangezien dit voor routering wordt gebruikt.
bash az network firewall show --name AzureFirewall-01 --resource-group RG-Firewall-Artigos --query ipConfigurations[0].privateIpAddress -o tsv
3. Routering configureren voor Azure Firewall
Om ervoor te zorgen dat spaak-VNet-verkeer door Azure Firewall gaat, moeten we een routetabel maken en deze koppelen aan het spake-subnet.
- Routetabel maken: maak een routetabel.
bash az network route-table create --name FirewallRouteTable --resource-group RG-Firewall-Artigos --location eastus - Standaardroute toevoegen: voeg een standaardroute (0.0.0.0/0) toe die al het verkeer naar het privé-IP-adres van Azure Firewall leidt.
bash # Vervang <FIREWALL_PRIVATE_IP> door het privé-IP-adres dat u in de vorige stap hebt verkregen FIREWALL_PRIVATE_IP=$(az netwerkfirewall show --name AzureFirewall-01 --resource-group RG-Firewall-Artigos --query ipConfigurations[0].privateIpAddress -o tsv) az network route-table route create --name DefaultRouteToFirewall --resource-group RG-Firewall-Artigos --route-table-name FirewallRouteTable --address-prefix 0.0.0.0/0 --next-hop-type VirtualAppliance --next-hop-ip-address $FIREWALL_PRIVATE_IP - Koppel routetabel aan Spoke-subnet: koppel de routetabel aan het
WorkloadSubnetvanVNet-Spoke.bash az network vnet subnet update --name WorkloadSubnet --vnet-name VNet-Spoke --resource-group RG-Firewall-Artikelen --route-table FirewallRouteTable
4. Azure Firewall-regels configureren
Azure Firewall maakt gebruik van verzamelingen regels om het verkeer te controleren. Er zijn drie soorten regels: 'Netwerkregels', 'Applicatieregels' en 'NAT-regels'.
4.1. Netwerkregels
Beheer Layer 3- en Layer 4-verkeer (IP, poorten, protocollen).
-
Uitgaand verkeer voor DNS toestaan: essentieel voor naamomzetting.
bash az network firewall network-rule create --firewall-name AzureFirewall-01 --collection-name "Allow-DNS" --name "Allow-DNS-Outbound" --resource-group RG-Firewall-Artikelen --priority 100 --action Allow --source-addresses "*" --destination-addresses "*" --protocollen UDP --destination-ports 53 -
Uitgaand verkeer naar een specifiek IP-adres toestaan: Voorbeeld: toegang tot een patchserver toestaan.
bash az network firewall network-rule create --firewall-name AzureFirewall-01 --collection-name "Allow-Patch-Server" --name "Allow-Patch-Server-Outbound" --resource-group RG-Firewall-Artikelen --prioriteit 110 --actionToestaan --bronadressen "10.1.1.0/24" --bestemmingsadressen "20.1.2.3" --protocollen TCP --bestemmingspoorten 443
4.2. Toepassingsregels
Beheer Layer 7-verkeer (HTTP/HTTPS) op basis van FQDN's.
-
Toegang tot Microsoft-sites toestaan: Voorbeeld: toegang tot
learn.microsoft.comtoestaan.bash az network firewall application-rule create --firewall-name AzureFirewall-01 --collection-name "Allow-Microsoft-Sites" --name "Allow-Learn-Microsoft" --resource-group RG-Firewall-Artikelen --priority 100 --action Allow --source-addresses "10.1.1.0/24" --protocols Http=80 Https=443 --fqdn-tags "Microsoft.Websites" --target-fqdns "learn.microsoft.com"- Tip:
Fqdn-tagszijn groepen FQDN's die vooraf door Microsoft zijn gedefinieerd voor algemene services.
- Tip:
-
Toegang tot kwaadaardige websites blokkeren: Azure Firewall blokkeert standaard alles wat niet expliciet is toegestaan. U kunt echter expliciete weigeringsregels maken voor specifieke FQDN's.
bash az network firewall application-rule create --firewall-name AzureFirewall-01 --collection-name "Block-Malicious-Sites" --name "Block-Bad-Site" --resource-group RG-Firewall-Artikelen --prioriteit 200 --action Deny --source-addresses "10.1.1.0/24" --protocols Https=443 --target-fqdns "badsite.com"
4.3. NAT-regels (Network Address Translation).
Hiermee kunt u inkomend verkeer naar interne bronnen leiden (DNAT - Destination NAT).
-
Externe RDP-toegang tot een VM toestaan (let op!): Voorbeeld: RDP toestaan aan een VM vanaf een specifiek openbaar IP-adres. ``` bash # Maak een VM op het WorkloadSubnet om te testen az vm create --name TestVM --resource-group RG-Firewall-Artikelen --image UbuntuLTS --size Standard_B1s --vnet-naam VNet-Spoke --subnet WorkloadSubnet --admin-gebruikersnaam azureuser --admin-wachtwoord "P@ssw0rd12345!" --geen wacht
Haal het privé-IP-adres van de VM op
VM_PRIVATE_IP=$(az vm show --name TestVM --resource-group RG-Firewall-Artigos --query privateIps -o tsv)
Haal het openbare IP-adres van de Firewall op
FIREWALL_PUBLIC_IP=$(az netwerk public-ip show --name az-firewall-pip --resource-group RG-Firewall-Artigos --query ipAddress -o tsv)
Maak de DNAT-regel
az network firewall nat-rule create --firewall-name AzureFirewall-01 --collection-name "Allow-RDP-Inbound" --name "RDP-to-TestVM" --resource-group RG-Firewall- Articles --priority 100 --action Dnat --source-addresses "YOUR_PUBLIC_IP" --destination-addresses $FIREWALL_PUBLIC_IP --protocollen TCP --bestemmingspoorten 3389 --vertaald adres $VM_PRIVATE_IP --vertaalde poort 3389
`` * **WAARSCHUWING**: VervangYOUR_PUBLIC_IP` door uw echte openbare IP-adres om de toegang te beperken. Gebruik geen "*" in de productie voor DNAT-regels.
5. Azure Firewall Premium configureren (IDPS- en TLS-inspectie)
Voor geavanceerde beveiligingsfuncties zoals IDPS en TLS-inspectie hebt u Azure Firewall Premium nodig.
-
Upgrade Firewall SKU (indien nodig): Als u een Standaard Firewall heeft gemaakt, kunt u deze upgraden naar Premium.
bash az network firewall update --name AzureFirewall-01 --resource-group RG-Firewall-Artigos --sku Premium -
TLS-inspectie configureren: voor TLS-inspectie heeft u een SSL/TLS-certificaat nodig dat is uitgegeven door een zakelijke of openbare CA, opgeslagen in Azure Key Vault.
- Voorwaarde: Gecertificeerd in Azure Key Vault (zie vorig artikel over Azure Key Vault voor meer informatie).
- Maak een firewallbeleid en koppel dit aan de firewall.
bash az network firewall policy create --name FirewallPolicy-01 --resource-group RG-Firewall-Artigos --location eastus az network firewall policy update --name FirewallPolicy-01 --resource-group RG-Firewall-Artigos --threat-intel-mode Alert az network firewall update --name AzureFirewall-01 --resource-group RG-Firewall-Artigos --firewall-policy FirewallPolicy-01 - Navigeer in de Azure-portal naar 'Firewallbeleid' -> Instellingen -> TLS-inspectie.
- Schakel TLS-inspectie in en selecteer het basiscertificaat voor uw Key Vault.
-
IDPS configureren: IDPS wordt ingeschakeld en geconfigureerd via het firewallbeleid.
- Navigeer in de Azure-portal naar 'Firewallbeleid' -> Instellingen -> IDPS.
- U kunt de IDPS-modus configureren (Alert of Alert en Weigeren) en aangepaste IDPS-handtekeningregels maken.
6. Intelligentie activerenvan bedreigingen
Azure Firewall-bedreigingsinformatie kan worden geconfigureerd voor 'Waarschuwing' of 'Waarschuwing en weigeren'-verkeer naar/van bekende kwaadaardige IP-adressen en FQDN's.
- Navigeer in de Azure-portal naar uw Azure Firewall (
AzureFirewall-01). - Selecteer Bedreigingsinformatie in het linkernavigatievenster.
- Stel de 'Modus' in op 'Waarschuwing en weigeren'.
Validatie en testen
Het valideren van uw Azure Firewall-configuratie is van cruciaal belang om ervoor te zorgen dat het beveiligingsbeleid correct wordt toegepast.
1. Netwerkregels testen
-
DNS-connectiviteitstest: probeer vanaf een VM op
WorkloadSubneteen domeinnaam om te zetten. Dit zou moeten werken als de DNS-regel is geconfigureerd.bash nslookup google.com- Verwacht resultaat: DNS-omzetting succesvol.
-
Poortblokkeringstest: Probeer toegang te krijgen tot een poort die niet is toegestaan voor een extern IP-adres.
bash nc-vz 8.8.8.8 80- Verwacht resultaat: verbinding geweigerd of time-out.
2. Applicatieregels testen
-
FQDN-toegang toegestaan Test: Probeer vanaf een VM op
WorkloadSubnettoegang te krijgen totlearn.microsoft.comvia de browser.- Verwacht resultaat: toegang succesvol.
-
FQDN-blokkeertest: Probeer toegang te krijgen tot
badsite.com(als u hiervoor de weigerregel heeft geconfigureerd).- Verwacht resultaat: Toegang geblokkeerd door de firewall, met een foutmelding in de browser.
3. NAT-regels testen (DNAT)
- Probeer vanaf een computer buiten Azure (met het openbare IP-adres dat u hebt opgegeven in de DNAT-regel) via RDP/SSH verbinding te maken met het openbare IP-adres van Azure Firewall op poort 3389/22.
- Verwacht resultaat: succesvolle verbinding met interne VM.
4. Azure Firewall-logboeken controleren
Azure Firewall-logboeken zijn essentieel voor het bewaken van verkeer en het valideren van regels.
- Navigeer in de Azure-portal naar uw Azure Firewall (
AzureFirewall-01). - Selecteer Logboeken in het linkernavigatievenster.
- U kunt Log Analytics gebruiken om Firewall-logboeken op te vragen. Zoek naar de gebeurtenissen 'AzureFirewallNetworkRule' en 'AzureFirewallApplicationRule' om te zien welke regels zijn geactiveerd en of verkeer is toegestaan of geweigerd.
5. Bedreigingsinformatie en IDPS testen (Premium)
- Threat Intelligence: Probeer toegang te krijgen tot een IP-adres of FQDN waarvan bekend is dat deze schadelijk is (gebruik een veilige malware-testsite zoals
test.malware.testing.comof een Threat Intelligence-test-IP). De Firewall moet de toegang blokkeren. - IDPS: Probeer een aanval te simuleren die door IDPS zou worden gedetecteerd (gebruik bijvoorbeeld een tool voor het testen van kwetsbaarheden om een SQL-injectie uit te voeren op een webapplicatie op de spaak-VM, indien van toepassing). De Firewall moet een waarschuwing genereren en/of verkeer blokkeren.
Beveiligingstips en best practices
- Hub-and-Spoke-model: Gebruik waar mogelijk het Hub-and-Spoke-model met Azure Firewall in de hub om het netwerkbeheer te centraliseren en het beleidsbeheer te vereenvoudigen.
- Privilege van de minste bevoegdheden: maak firewallregels met zo min mogelijk bevoegdheden, zodat alleen essentieel verkeer wordt toegestaan. Blokkeer standaard al het verkeer en sta expliciet toe wat nodig is.
- Ruleprioritering: Begrijp de verwerkingsvolgorde van regels (NAT > Netwerk > Toepassing) en prioriteit binnen elke verzameling om conflicten te voorkomen en ervoor te zorgen dat de gewenste regels worden toegepast.
- Bedreigingsinformatie ingeschakeld: Houd dreigingsinformatie ingeschakeld in de modus 'Waarschuwen en weigeren' voor automatische bescherming tegen bekende kwaadaardige bronnen.
- Azure Firewall Premium: voor omgevingen die geavanceerde bescherming vereisen, gebruikt u de Premium SKU om te profiteren van functies zoals IDPS en TLS-inspectie.
- TLS-inspectie: Implementeer TLS-inspectie voor uitgaand verkeer om bedreigingen te detecteren die verborgen zijn in gecodeerde sessies, maar plan het certificaatbeheer zorgvuldig.
- Monitoring en auditing: Integreer Azure Firewall-logboeken met Azure Monitor en Azure Sentinel voor continue monitoring, beveiligingsanalyse en respons op incidenten.
- Azure Firewall Manager: voor omgevingen met meerdere firewalls en complex beleid kunt u Azure Firewall Manager gebruiken voor gecentraliseerd, hiërarchisch beleidsbeheer.
- Documentatie: houd duidelijke documentatie bij van uw firewallregels en de redenen daarvoor.
Algemene probleemoplossing
- Verkeersblokkenvan onverwacht: Controleer Azure Firewall-logboeken in Log Analytics. Ze geven aan welke regel (netwerk-, applicatie- of dreigingsinformatie) het verkeer heeft geblokkeerd. Pas de regel indien nodig aan.
- Langzame connectiviteit: als uw verkeer langzaam is, controleert u het CPU-gebruik van de firewall in Azure Monitor. Mogelijk bereikt de Firewall zijn prestatielimieten. Overweeg om de SKU te schalen of de regels te optimaliseren.
- NAT-regels werken niet: Controleer of het openbare IP-adres en de bestemmings- en vertaalde poorten correct zijn. Zorg ervoor dat het bron-IP-adres in de NAT-regel correct is (indien beperkt). Controleer de doel-VM op NSG's die mogelijk verkeer blokkeren.
- TLS-inspectieproblemen: zorg ervoor dat het basiscertificaat correct is geconfigureerd in Key Vault en Firewall-beleid. Controleer of clients de root-CA vertrouwen die wordt gebruikt voor TLS-inspectie.
- IDPS detecteert geen aanvallen: Controleer of IDPS in de modus 'Alert en Weigeren' staat en of de relevante handtekeningen zijn ingeschakeld. Zorg ervoor dat het verkeer daadwerkelijk door de firewall gaat.
- Onjuiste routering: controleer de routetabel die is gekoppeld aan het subnet van uw VM. Zorg ervoor dat de standaardroute (0.0.0.0/0) verwijst naar het privé-IP-adres van Azure Firewall.
Conclusie
Azure Firewall is een krachtig en essentieel hulpmiddel voor het opzetten van een robuuste netwerkbeveiligingspostuur in Azure. Door geavanceerde verkeersfiltering, bedreigingsinformatie, IDPS en TLS-inspectie te implementeren, kunnen organisaties hun werklasten beschermen tegen een breed scala aan cyberdreigingen. Het gebruik van een Hub-and-Spoke-model met Azure Firewall als middelpunt, samen met het toepassen van best practices en continue monitoring, zorgt ervoor dat het netwerkverkeer effectief wordt geïnspecteerd en gecontroleerd. Met deze praktische gids zijn beveiligingsprofessionals goed uitgerust om Azure Firewall te configureren en te beheren, waardoor de netwerkbeveiliging en veerkracht van hun Azure-omgevingen tegen de nieuwste bedreigingen wordt versterkt.
Referenties:
[1] Microsoft Leer. Wat is Azure Firewall?. Beschikbaar op: https://learn.microsoft.com/pt-br/azure/firewall/overview [2] Microsoft Leer. Architectuuroverzicht van Azure Firewall. Beschikbaar op: https://learn.microsoft.com/pt-br/azure/firewall/firewall-architecture [3] Microsoft Leer. Azure Firewall Premium-functies. Beschikbaar op: https://learn.microsoft.com/pt-br/azure/firewall/premium-features [4] Microsoft Leer. Filteren op basis van Azure Firewall-bedreigingsinformatie. Beschikbaar op: https://learn.microsoft.com/pt-br/azure/firewall/threat-intel