Deploy and configure Enterprise CA certificates for Azure Firewall

Azure Firewall Premium includes a TLS inspection feature, which requires a certificate authentication chain. For production deployments, use an Enterprise PKI to generate the certificates that you use with Azure Firewall Premium. Use this article to create and manage an Intermediate CA certificate for Azure Firewall Premium.

For more information about certificates used by Azure Firewall Premium, see Azure Firewall Premium certificates.

Prerequisites

If you don't have an Azure subscription, create a trial subscription before you begin.

To use an Enterprise CA to generate a certificate to use with Azure Firewall Premium, you need the following resources:

  • an Active Directory Forest
  • an Active Directory Certification Services Root CA with Web Enrollment enabled
  • an Azure Firewall Premium with Premium tier Firewall Policy
  • an Azure Key Vault
  • a Managed Identity with Read permissions to Certificates and Secrets defined in the Key Vault Access Policy

Request and export a certificate

  1. Access the web enrollment site on the Root CA, usually https://<servername>/certsrv, and select Request a Certificate.

  2. Select Advanced Certificate Request.

  3. Select Create and Submit a Request to this CA.

  4. Fill out the form using the Subordinate Certification Authority template created in the previous section. Screenshot of advanced certificate request

  5. Submit the request and install the certificate.

  6. Assuming you make this request from a Windows Server using Internet Explorer, open Internet Options.

  7. Navigate to the Content tab and select Certificates.

  8. Select the certificate that the CA issued and then select Export.

  9. Select Next to begin the wizard. Select Yes, export the private key, and then select Next.

  10. The wizard selects the .pfx file format by default. Uncheck Include all certificates in the certification path if possible. If you export the entire certificate chain, the import process to Azure Firewall fails.

  11. Assign and confirm a password to protect the key, and then select Next.

  12. Choose a file name and export location and then select Next.

  13. Select Finish and move the exported certificate to a secure location.

Add the certificate to a Firewall Policy

  1. In the Azure portal, go to the Certificates page of your Key Vault, and select Generate/Import.

  2. Select Import as the creation method. Enter a name for the certificate, select the exported .pfx file, enter the password, and then select Create.

  3. Go to the TLS Inspection page of your Firewall policy and select your Managed identity, Key Vault, and certificate.

  4. Select Save.

Validate TLS inspection

  1. Create an Application Rule that uses TLS inspection for the destination URL or FQDN of your choice. For example: *bing.com.

  2. From a domain-joined machine within the source range of the rule, go to your destination and select the lock symbol next to the address bar in your browser. The certificate should show that your Enterprise CA issued it rather than a public CA. Screenshot showing the browser certificate

  3. Show the certificate to display more details, including the certificate path. certificate details

  4. In Log Analytics, run the following KQL query to return all requests that are subject to TLS Inspection:

    AzureDiagnostics 
    | where ResourceType == "AZUREFIREWALLS" 
    | where Category == "AzureFirewallApplicationRule" 
    | where msg_s contains "Url:" 
    | sort by TimeGenerated desc
    

    The result shows the full URL of inspected traffic: KQL query

Next steps

Azure Firewall Premium in the Azure portal