Problemen met netwerkbeveiliging oplossen
Bepalen waarom Web Application Firewall (WAF) het gewenste verkeer blokkeert
Af en toe worden aanvragen die via uw Web Application Firewall (WAF) moeten worden doorgegeven, geblokkeerd.
Als u de strikte OWASP-voorschriften (Open Web Application Security Project) wilt afstemmen op de behoeften van een toepassing of organisatie, helpt WAF u bij het aanpassen of uitschakelen van de regels, of het maken van uitsluitingen, die mogelijk problemen of fout-positieven veroorzaken. Dit gebeurt per site en per URI. Dat wil gezegd: wijzigingen in het beleid hebben alleen invloed op specifieke sites/URI's en zouden geen betrekking hebben op andere sites die mogelijk niet dezelfde problemen hebben.
De volgende artikelen helpen u te begrijpen hoe de WAF functioneert en hoe de regels en logboeken werken:
Informatie over WAF-logboeken
WAF-logboeken functioneren als een rapportage van alle geëvalueerde aanvragen die overeenkomen met criteria of worden geblokkeerd. Als u een fout-positief ziet, kunt u de volgende stappen uitvoeren wanneer de WAF een aanvraag blokkeert die dit niet zou moeten doen:
Zoek de specifieke aanvraag.
Bekijk de logboeken om de specifieke URI, tijdstempel of transactie-id van de aanvraag te vinden.
Corriseer de fout-positieven.
WAF-logboeken weergeven
Voer de volgende stappen uit om WAF-logboeken weer te geven:
Selecteer alle resources in Azure Portal en selecteer het WAF-beleid van Application Gateway.
Selecteer activiteitenlogboek.
Selecteer afzonderlijke bewerkingen voor meer informatie.
U kunt het activiteitenlogboek downloaden door Downloaden als CSV te selecteren.
Als u de gebeurtenissen in het activiteitenlogboek naar een andere service wilt streamen, selecteert u Activiteitenlogboeken exporteren.
In exportactiviteitenlogboeken:
Selecteer Diagnostische instellingen toevoegen.
Typ de naam van een diagnostische instelling.
Selecteer de relevante logboekcategorieën die u wilt streamen in Categorieën. Selecteer bijvoorbeeld Beveiliging, Beleid en Waarschuwing.
Selecteer het streamingdoel in doeldetails. Selecteer bijvoorbeeld Verzenden naar Log Analytics-werkruimte.
Voer aanvullende doelgegevens in. Bijvoorbeeld de relevante abonnements - en Log Analytics-werkruimte.
Selecteer Opslaan.
Modus Anomaliescore
Anomaliescoremodus wordt door OWASP gebruikt om te bepalen of verkeer moet worden geblokkeerd. In de modus Anomaliescore wordt verkeer dat overeenkomt met een regel niet direct geblokkeerd wanneer de firewall zich in de preventiemodus bevindt. Regels hebben een bepaald criterium: Kritiek, Fout, Waarschuwing of Kennisgeving. Aan elk van deze waarden is een numerieke waarde gekoppeld, genaamd Anomaliescore. De numerieke waarde geeft de ernst van een aanvraag aan.
Zie de modus Anomaliescore voor meer informatie.
Het corrigeren van valse positieven
Als u false positives wilt oplossen en problemen met geblokkeerd verkeer wilt voorkomen, kunt u een uitsluitingslijst gebruiken. Het gebruik van een uitsluitingslijst is alleen van toepassing op een specifiek deel van een aanvraag of een regelset die wordt uitgeschakeld. U kunt besluiten om de inhoud, de headers of de cookies uit te sluiten voor een specifieke voorwaarde in plaats van het hele verzoek uit te sluiten. In een globale omgeving is de specifieke uitsluiting van toepassing op al het verkeer dat via uw WAF wordt doorgegeven.
Raadpleeg de WAF-configuratie voor meer informatie over uitsluitingslijsten.
Uitsluitingslijsten configureren met behulp van Azure Portal
Ga naar de WAF-portal.
Selecteer Uitsluitingen beheren onder Beheerde regels.
Een voorbeeld van een uitsluitingslijst:
- Schakel de regel uit: als u een regel uitschakelt, kunt u een bepaalde voorwaarde behandelen als een niet-bedreiging die anders als schadelijk wordt gemarkeerd en wordt geblokkeerd. In een globale omgeving is het uitschakelen van een regel voor de hele WAF een risico en kan uw beveiliging verzwakken.
Regelgroepen of specifieke regels uitschakelen
Blader naar de toepassingsgateway en selecteer vervolgens Web Application Firewall.
Selecteer uw WAF-beleid.
Selecteer Beheerde regels.
Zoek naar de regels of regelgroepen die u wilt uitschakelen.
Schakel de selectievakjes in voor de regels die u wilt uitschakelen.
Selecteer de actie boven aan de pagina (Inschakelen/Uitschakelen) voor de geselecteerde regels.
Selecteer Opslaan.
Een hulpprogramma van derden met de naam Fiddler kan aanvullende informatie bieden. Fiddler helpt u bij het volgende:
Namen van aanvraagkenmerken zoeken: controleer afzonderlijke aanvragen en bepaal welke specifieke velden van een webpagina worden aangeroepen. Het helpt ook bepaalde velden uit te sluiten van inspectie met uitsluitingslijsten.
Namen van aanvraagheaders zoeken: aanvraag- en antwoordheaders weergeven in de ontwikkelhulpprogramma's van Chrome of de headers voor de GET-aanvraag bekijken.
Namen van aanvraagcookies zoeken: Cookies weergeven door het tabblad Cookies in Fiddler te selecteren.
Beperkingen toepassen op globale parameters om fout-positieven te elimineren
Controle van verzoekbody uitschakelen: Bepaalde inhoud die geen bedreiging voor uw toepassing vormt, kan uw WAF voorkomen dat ze worden geëvalueerd door de instelling Controleer aanvraagbody op uit te zetten. Op deze manier wordt alleen de verzoekinhoud niet geïnspecteerd. De headers en cookies worden nog steeds gecontroleerd, tenzij ze op de uitsluitingslijst staan.
Bestandsgroottelimieten: de mogelijkheid van een aanval op webservers en toepassingen kan worden beperkt door de bestandsgrootte voor uw WAF te beperken. Het toestaan van grote bestanden verhoogt het risico dat uw back-end uitgeput raakt. Om aanvallen te voorkomen, is het raadzaam om de bestandsgrootte te beperken tot een typisch geval voor uw toepassing.
Opmerking
Metrische gegevens van firewall (alleen WAF_v1) Voor v1 Web Application Firewalls zijn de volgende metrische gegevens nu beschikbaar in de portal:
- Aantal geblokkeerde aanvragen voor Web Application Firewall : het aantal aanvragen dat is geblokkeerd.
- Aantal geblokkeerde regels voor Web Application Firewall : alle regels die overeenkomen en de aanvraag is geblokkeerd.
- Totale regeldistributie van Web Application Firewall : alle regels die zijn vergeleken tijdens de evaluatie
Als u metrische gegevens wilt inschakelen, selecteert u het tabblad Metrische gegevens in de portal en selecteert u een van de drie metrische gegevens.
Bepaal welke versie van TLS een klant gebruikt
Als de client een versie van Tls (Transport Layer Security) gebruikt die lager is dan de minimaal vereiste versie, mislukken alle aanroepen naar Azure Storage. Daarom kan voor een Azure Storage-account vanuit het beveiligingspunt worden vereist dat clients een minimale versie van TLS gebruiken om aanvragen te verzenden. Een aanvraag die wordt verzonden door een client die TLS 1.1 gebruikt, mislukt bijvoorbeeld als voor een opslagaccount TLS 1.2 is vereist.
In het artikel Minimale vereiste versie van Transport Layer Security (TLS) configureren voor een opslagaccount wordt uitgelegd hoe u de minimale TLS-versie configureert voor een Azure Storage-account dat van invloed kan zijn op clienttoepassingen.
De TLS-versie van de client configureren
Voor de client is het verzenden van een aanvraag met een bepaalde versie van TLS alleen mogelijk als het besturingssysteem en het .NET Framework dat door de client wordt gebruikt, die versie ondersteunt.
TLS 1.2 inschakelen in een PowerShell-client:
# Set the TLS version used by the PowerShell client to TLS 1.2.
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;
# Create a new container.
$storageAccount = Get-AzStorageAccount -ResourceGroupName $rgName -Name $accountName
$ctx = $storageAccount.Context
New-AzStorageContainer -Name "sample-container" -Context $ctx
Tls 1.2 inschakelen in een .NET-client met versie 12 van de Azure Storage-clientbibliotheek:
public static async Task ConfigureTls12()
{
// Enable TLS 1.2 before connecting to Azure Storage
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
// Add your connection string here.
string connectionString = "";
// Create a new container with Shared Key authorization.
BlobContainerClient containerClient = new BlobContainerClient(connectionString, "sample-container");
await containerClient.CreateIfNotExistsAsync();
}
TLS 1.2 inschakelen in een .NET-client met versie 11 van de Azure Storage-clientbibliotheek:
static void EnableTls12()
{
// Enable TLS 1.2 before connecting to Azure Storage
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
// Add your connection string here.
string connectionString = "";
// Connect to Azure Storage and create a new container.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("sample-container");
container.CreateIfNotExists();
}
Raadpleeg ondersteuning voor TLS 1.2 voor meer informatie.
Opmerking
Fiddler of een vergelijkbaar hulpprogramma kan u helpen controleren of de opgegeven versie van TLS is gebruikt door de client om een aanvraag te verzenden.
Problemen met versleuteling/certificaten oplossen voor punt-naar-site-scenario's
Een punt-naar-site-VPN-verbinding (P2S) wordt gestart door één eindpunt en is handig wanneer u vanaf een externe locatie verbinding wilt maken met uw VNet. Punt-naar-site is een betere optie wanneer u slechts een paar clients hebt die verbinding moeten maken met een VNet. Voor P2S-verbindingen is geen VPN-apparaat of een openbaar netwerk of IP-adres vereist.
P2S VPN ondersteunt Secure Socket Tunneling Protocol (SSTP) en IKEv2. U kunt veilig verschillende clients met Windows, Linux of macOS verbinden met een Azure-VNet via punt-naar-site-verbinding.
Certificaten genereren
Een basiscertificaat genereren
Haal eerst de openbare sleutel (.cer-bestand) op voor een basiscertificaat. Nadat u het basiscertificaat hebt gemaakt, exporteert u het openbare certificaat (niet de persoonlijke sleutel). Vervolgens wordt dit bestand geüpload naar Azure. Het basiscertificaat fungeert als een vertrouwde bron door Azure voor verbinding via P2S met het virtuele netwerk. Er zijn twee manieren om een basiscertificaat, ondernemingscertificaat of zelfondertekend certificaat te genereren. Als u een zelfondertekend basiscertificaat wilt maken, moet u de volgende stappen overwegen:
Open een Windows PowerShell-console.
In het volgende voorbeeld wordt een zelfondertekend basiscertificaat gemaakt met de naam 'P2SRootCert' dat automatisch wordt geïnstalleerd in 'Certificates-Current User\Personal\Certificates'. U kunt het certificaat bekijken door certmgr.msc te openen of gebruikerscertificaten te beheren.
U kunt de volgende opdracht wijzigen en uitvoeren:
$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature ` -Subject "CN=P2SRootCert" -KeyExportPolicy Exportable ` -HashAlgorithm sha256 -KeyLength 2048 ` -CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSignLaat de PowerShell-console open en ga verder met de volgende stappen om een clientcertificaat te genereren.
Clientcertificaten genereren
Er wordt automatisch een clientcertificaat geïnstalleerd op de computer waarop het wordt gegenereerd op basis van een zelfondertekend basiscertificaat. Voor het installeren van een clientcertificaat op een andere clientcomputer moet u het exporteren als een PFX-bestand, samen met de hele certificaatketen. Het PFX-bestand bevat de basiscertificaatgegevens die vereist zijn voor clientverificatie. Er zijn twee methoden voor het maken van clientcertificaten, bedrijfscertificaat of zelfondertekend basiscertificaat.
Het wordt aanbevolen om voor elke client een uniek certificaat te genereren in plaats van hetzelfde certificaat te gebruiken. Dit komt doordat, als u een bepaald clientcertificaat wilt intrekken, u geen nieuwe hoeft te genereren en te installeren voor elke client die hetzelfde certificaat gebruikt. Als u een clientcertificaat wilt genereren, moet u rekening houden met de volgende stappen:
Gebruik het volgende voorbeeld als de PowerShell-consolesessie nog steeds is geopend:
New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature ` -Subject "CN=P2SChildCert" -KeyExportPolicy Exportable ` -HashAlgorithm sha256 -KeyLength 2048 ` -CertStoreLocation "Cert:\CurrentUser\My" ` -Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")Als het een nieuwe PowerShell-consolesessie is, kunt u de volgende stappen overwegen:
- Identificeer het zelfondertekende basiscertificaat dat op de computer is geïnstalleerd. Deze cmdlet retourneert een lijst met certificaten die op uw computer zijn geïnstalleerd.
Get-ChildItem -Path "Cert:\CurrentUser\My"Zoek de onderwerpnaam uit de geretourneerde lijst en kopieer de vingerafdruk die zich ernaast bevindt naar een tekstbestand. In dit geval 'P2SRootCert'.
Thumbprint Subject ---------- ------- 7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655 CN=P2SRootCertDeclareer een variabele voor het basiscertificaat met behulp van de vingerafdruk uit de vorige stap.
$cert = Get-ChildItem -Path "Cert:\CurrentUser\My\<THUMBPRINT>"Vervang VINGERAFDRUK door de vingerafdruk van het basiscertificaat waaruit u een subcertificaat wilt genereren.
$cert = Get-ChildItem -Path "Cert:\CurrentUser\My\7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655"In dit voorbeeld wordt een clientcertificaat met de naam 'P2SChildCert' gegenereerd. Het clientcertificaat dat u genereert, wordt automatisch geïnstalleerd in Certificaten - Huidige gebruiker\Persoonlijk\Certificaten op uw computer.
U kunt de volgende opdracht wijzigen en uitvoeren om een clientcertificaat te genereren:
New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature `
-Subject "CN=P2SChildCert" -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation "Cert:\CurrentUser\My" `
-Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")
Zie Certificaten genereren en exporteren voor GEBRUIKERS-VPN-verbindingen voor meer informatie over het exporteren van het basiscertificaat en het clientcertificaat.
Als u een punt-naar-site-verbinding wilt configureren met behulp van een Azure-certificaat, moet u het volgende doen:
Voeg de adrespool van de VPN-client toe.
Geef tunneltype en verificatietype op.
Openbare sleutelgegevens van het basiscertificaat uploaden.
Geëxporteerd clientcertificaat installeren.
Configureer instellingen voor VPN-clients.
Verbinding maken met Azure.
Voor gedetailleerde stappen voor het configureren van een punt-naar-site-verbinding met behulp van een Azure-certificaat raadpleegt u Verbinding maken met een VNet met behulp van P2S VPN - certificaatverificatie: portal - Azure VPN Gateway.
Als u wilt controleren of uw VPN-verbinding actief is (Windows-clients), opent u een opdrachtprompt met verhoogde bevoegdheid en voert u ipconfig/all uit.
Verbinding maken met een virtuele machine (Windows-clients):
Zoek het privé-IP-adres.
Controleer of u bent verbonden met uw VNet.
Open Verbinding met extern bureaublad door RDP of Verbinding met extern bureaublad te typen in het zoekvak op de taakbalk en selecteer vervolgens Verbinding met extern bureaublad. U kunt verbinding met extern bureaublad ook openen met behulp van de opdracht 'mstsc' in PowerShell.
Voer in Verbinding met extern bureaublad het privé-IP-adres van de virtuele machine in. Selecteer Opties weergeven om aanvullende instellingen aan te passen en maak vervolgens verbinding.
Problemen met een verbinding oplossen
Als u problemen ondervindt bij het maken van verbinding met een virtuele machine via uw VPN-verbinding, leest u het volgende:
Controleer of uw VPN-verbinding is geslaagd.
Zorg ervoor dat u verbinding maakt met het privé-IP-adres voor de virtuele machine.
Als u verbinding kunt maken met de virtuele machine via het privé-IP-adres, maar niet met de computernaam, controleert u de DNS-configuratie.
Voor meer informatie over Extern-bureaubladverbindingen, zie Problemen oplossen met Extern-bureaubladverbindingen naar een VM.
Controleer of het configuratiepakket voor de VPN-client is gegenereerd nadat de IP-adressen van de DNS-server zijn opgegeven voor het VNet. Als u de IP-adressen van de DNS-server hebt bijgewerkt, genereert en installeert u een nieuw configuratiepakket voor de VPN-client.
Zorg ervoor dat er geen overlappende adresruimte is. Als het IP-adres zich bijvoorbeeld binnen het adresbereik van het VNet bevindt waarmee u verbinding maakt, of binnen het adresbereik van uw VPNClientAddressPool. Gebruik ipconfig om het IPv4-adres te controleren dat is toegewezen aan de Ethernet-adapter op de computer waaruit u verbinding maakt.
Als u een vertrouwd basiscertificaat wilt toevoegen, raadpleegt u Een vertrouwd basiscertificaat uploaden.
Een vertrouwd basiscertificaat verwijderen:
Ga naar de pagina punt-naar-site-configuratie voor uw virtuele netwerkgateway.
Zoek in de sectie basiscertificaat van de pagina het certificaat dat u wilt verwijderen.
Selecteer het beletselteken naast het certificaat en selecteer vervolgens Verwijderen.
Een clientcertificaat intrekken
Het intrekken van een clientcertificaat verschilt van het verwijderen van een vertrouwd basiscertificaat. Als u een vertrouwd basiscertificaat verwijdert .cer bestand uit Azure, worden alle clientcertificaten ingetrokken die zijn gegenereerd/geverifieerd door het basiscertificaat. Door een clientcertificaat in te roepen, kunnen andere certificaten die aan hetzelfde basiscertificaat zijn gekoppeld, blijven werken.
Als u een clientcertificaat wilt intrekken, voegt u de vingerafdruk toe aan de intrekkingslijst.
Haal de vingerafdruk van het client certificaat op. Zie Hoe u de vingerafdruk van een certificaat ophaalt.
Kopieer de informatie naar een teksteditor en verwijder alle spaties, zodat deze een doorlopende tekenreeks is.
Ga naar de punt-naar-siteconfiguratiepagina van de virtuele-netwerkgateway. Dit is dezelfde pagina die u hebt gebruikt om een vertrouwd basiscertificaat te uploaden.
Voer in de sectie Ingetrokken certificaten een vriendelijke naam in voor het certificaat.
Kopieer en plak de vingerafdruk naar het veld Vingerafdruk.
De vingerafdruk wordt gevalideerd en automatisch toegevoegd aan de intrekkingslijst. Er wordt een bericht op het scherm weergegeven met de melding dat de lijst wordt bijgewerkt.
Wanneer het bijwerken is voltooid, kan het certificaat niet langer worden gebruikt om verbinding te maken. Clients die verbinding proberen te maken met het certificaat, ontvangen een bericht waarin wordt gemeld dat het certificaat niet meer geldig is.
Problemen met connectiviteit met beveiligde eindpunten oplossen
Azure Private Endpoint is een netwerkinterface die gebruikmaakt van een privé-IP-adres van een virtueel netwerk en u privé en veilig verbindt met een private link-service.
Hier volgen de connectiviteitsscenario's die beschikbaar zijn voor privé-eindpunt:
Virtueel netwerk uit dezelfde regio.
Regionaal gekoppelde virtuele netwerken.
Wereldwijd gekoppelde virtuele netwerken.
Lokaal geïmplementeerde klant via VPN- of Azure ExpressRoute-circuits.
Connectiviteitsproblemen vaststellen
De volgende stappen helpen u ervoor te zorgen dat alle vereiste configuraties aanwezig zijn om verbindingsproblemen met de installatie van uw privé-eindpunt op te lossen. Zie Connectiviteitsproblemen vaststellen voor gedetailleerde stappen.
Controleer de configuratie van het privé-eindpunt door door de resource te bladeren.
Gebruik Azure Monitor om te zien of gegevens stromen.
Problemen met VM-verbinding oplossen vanuit Azure Network Watcher.
DNS-omzetting van de testresultaten moet hetzelfde privé-IP-adres hebben dat is toegewezen aan het privé-eindpunt.
De virtuele bronmachine moet in de effectieve routes van de NIC de route naar het IP-adres van het privé-eindpunt hebben met InterfaceEndpoints als de volgende hop.
Als de verbinding de resultaten heeft gevalideerd, kan het connectiviteitsprobleem te maken hebben met andere aspecten, zoals geheimen, tokens en wachtwoorden op de toepassingslaag.
Verfijn voordat u het ondersteuningsticket indient.
Als het privé-eindpunt is gekoppeld aan een Private Link-service die is gekoppeld aan een load balancer, controleert u of de back-endpool in orde is. Door de gezondheid van de load balancer te herstellen, wordt het probleem met het verbinden met het privé-eindpunt opgelost.
Neem contact op met het ondersteuningsteam van Azure als uw probleem niet is opgelost en er nog steeds een verbindingsprobleem bestaat.
Problemen met versleuteling/certificaten oplossen voor site-naar-site-scenario's
IPsec- en IKE-beleidsparameters voor VPN-gateways
De IPsec- en IKE-protocolstandaard ondersteunt een breed scala aan cryptografische algoritmen in verschillende combinaties. In het artikel IPsec/IKE-parameters wordt uitgelegd welke parameters worden ondersteund in Azure Stack Hub om te voldoen aan uw nalevings- of beveiligingsvereisten.
Houd rekening met de volgende belangrijke overwegingen bij het gebruik van dit beleid:
Het IPsec-/IKE-beleid werkt alleen op de gateway-SKU's Standard en HighPerformance (op route gebaseerde).
U kunt slechts één beleidscombinatie opgeven voor een bepaalde verbinding.
U moet alle algoritmen en parameters opgeven voor zowel IKE (main mode) als IPsec (snelle modus). Gedeeltelijke beleidsspecificatie is niet toegestaan.
Neem contact op met de specificaties van de leverancier van uw VPN-apparaat als het beleid wordt ondersteund op uw on-premises VPN-apparaten.
De volgende stappen laten zien hoe u een IPsec-/IKE-beleid maakt en configureert en toepast op een nieuwe of bestaande verbinding. Volg de stappen voor het configureren van een IPsec-/IKE-beleid voor site-naar-site-VPN-verbindingen (S2S) in Azure Stack Hub voor gedetailleerde stapsgewijze instructies.
IPsec-/IKE-beleid maken en instellen.
Maak een nieuwe site-naar-site-VPN-verbinding met IPsec-/IKE-beleid:
Stap 1: maak het virtuele netwerk, de VPN-gateway en de lokale netwerkgateway.
Stap 2: maak een site-naar-site-VPN-verbinding met een IPsec-/IKE-beleid.
IPsec-/IKE-beleid voor een verbinding bijwerken.