Prisma Access: DNS Sinkhole

List view
Quick Start
User Guide
Policies & GuardRails
Witness Anywhere: Remote Device Security
Witness Attack
Administrator Guide
 

Prisma Access Integration: DNS sinkhole

DNS Sinkhole Traffic Flow

notion image

DNS Sinkhole Configuration

Install WitnessAI Root Certificate

  1. Select Manage → Configuration → NGFW and Prisma Access → Objects → Certificate Management. Select the Prisma Access configuration scope.
notion image
  1. Click ImportImport to import the WitnessAI proxy cert provided by Account Team, Select Trusted Root CA and Save
notion image

Setup EDL Certificate Profile

  1. Certificate will be provided by the Account Team.
  1. Go to Objects → Certificate Management and click on Import
  1. Give the certificate name as Witness-AI-CA and upload the CA certificate by clicking on Browse
  1. Go to Objects → Certificate ManagementCertificate Profiles and click on Add Profile
  1. Give the name as Witness-AI-CP and click on the Add button under CA Certificates
  1. Select the Witness-AI-CA certificate and Save
  1. Use this certificate Profile for the EDL Configuration.

Create External Dynamic Lists

This section will focus on creating the WitnessForwardDomainList, which are LLM domains that need to be forwarded to WitnessAI.
  1. Select Manage → Configuration → NGFW and Prisma Access → Objects → External Dynamic List. Select the Prisma Access configuration scope.
  1. Click Add External Dynamic List and enter the following configurations:
    1. Name → WitnessForwardDomainList
    2. Type → Domain List
    3. Source → https://api.[tenantID].[region].witness.ai/v1/edls/forwardlist.txt
    4. Certificate Profile → Witness-AI-CP
    5. Check for Updates → Every Five Minute and Save
  1. Click Add External Dynamic List and enter the following configurations:
    1. Name → WitnessForwardURLList
    2. Type → URL List
    3. Source → https://api.[tenantID].[region].witness.ai/v1/edls/urllist.txt
    4. Certificate Profile → Witness-AI-CP
    5. Check for Updates → Every Five Minute and Save
notion image

Create Custom Application for Office

PaloAlto Firewall does not support HTTP header insertion for Web Socket traffic.
Create a Custom Application for traffic towards augloop.office.com as Prisma Access identifies this as a WebSocket connection and fails to insert HTTP headers.
  1. Select Manage → Configuration → NGFW and Prisma Access → Objects → Applications. Select the Prisma Access configuration scope.
  1. Click Add Application and name as augloop, then select the basic properties as per the below values:
    1. Category → general-internet
    2. Subcategory → internet-utility
    3. Technology → client-server
    4. Parent App → ms-office365-copilot
    5. Risk → 1
  1. Go to the Advanced tab and select Port, then add the port information as below:
    1. tcp/443
    2. tcp/80
  1. Go to the Signatures tab and click Add, then configure the following settings:
    1. Name → AugloopSig
    2. Scope → Session
    3. AddAnd Condition’ and input name as ‘And Condition 1’
      1. notion image
    4. AddOr Condition’ and input name as ‘Or Condition 1’\
    5. Operator → Pattern Match
    6. Context → http-req-headers
    7. Pattern → (augloop.office.com) and Update
notion image
Create a Custom Application for traffic towards substrate.office.com as Prisma Access identifies this as a WebSocket connection and fails to insert HTTP headers.
  1. Select Manage → Configuration → NGFW and Prisma Access → Objects → Applications. Select the Prisma Access configuration scope.
  1. Click Add Application and name as substrate, then select the basic properties as per the below values:
    1. Category → general-internet
    2. Subcategory → internet-utility
    3. Technology → client-server
    4. Parent App → ms-office365-copilot
    5. Risk → 1
  1. Go to the Advanced tab and select Port, then add the port information as below:
    1. tcp/443
    2. tcp/80
  1. Go to the Signatures tab and click Add, then configure the following settings:
    1. Name → SubstrateSig
    2. Scope → Session
    3. AddAnd Condition’ and input name as ‘And Condition 1’
    4. d. AddOr Condition’ and input name as ‘Or Condition 1’
    5. Operator → Pattern Match
    6. Context → http-req-headers
    7. Pattern → (substrate.office.com) and Update

DNS Security

Create a DNS Security Profile to redirect any DNS request matching the WitnessForwardDomainList EDL to the WitnessAI proxy.
  1. Select Manage → Configuration → NGFW and Prisma Access → Security Services → DNS Security. Select the Prisma Access configuration scope.
  1. Click Add Profile to set the following settings:
    1. Name → WitnessAI_Sinkhole
    2. DNS Categories → Set the Policy Action as sinkhole for WitnessForwardDomains
    3. Sinkhole IPv4 → Enter the IP after resolving [tenantID].[region].witness.ai and Save
notion image

HTTP Header Insertion

Configure HTTP Header Insertion to insert the user email address in the X- Authenticated-User Header field before forwarding the traffic to Witness AI proxy.
  1. Select Manage → Configuration → NGFW and Prisma Access → Security Services → HTTP Header Insertion. Select the Prisma Access configuration scope.
  1. Click Add Profile to set the following settings:
    1. Name → X-Auth-User
  1. Click Add Rule to set the following settings:
    1. Name → X-Auth-User Header
    2. Type → Dynamic Fields
    3. Domain → *
    4. Add Headers → X-Authenticated-User
    5. Value → ($user)@($domain)
    6. Tick the Log box and Save
notion image

URL Access Management

This will ensure URL filtering logs are created for any traffic matching WitnessForwardURLList EDL domains.
  1. Select Manage → Configuration → NGFW and Prisma Access → Security Services → URL Access Management. Select the Prisma Access configuration scope.
  1. Click Add Rule to set the following settings:
    1. Name → WitnessAI_allow
    2. Under External Dynamic Lists, select WitnessForwardURLList and change Site Access to alert.
notion image

Profile Groups

Attach HTTP Header Insertion Profile and URL Access Management Profile to the Profile Group.
  1. Select Manage → Configuration → NGFW and Prisma Access → Security Services → Profile Groups. Select the Prisma Access configuration scope.
  1. Click Add Rule to set the following settings:
    1. NameWitnessAI PG
    2. Under URL Access Management Profile, select WitnessAI_allow
    3. Under HTTP Header Insertion Profile, select X-Auth-User and Save
Attach DNS Security Profile to a Profile Group.
  1. Click Add Profile Group to set the following settings:
    1. Name → WitnessAI_Sinkhole PG
    2. Under DNS Security Profile, select WitnessAI_Sinkhole and Save
notion image

Security Policy

i. Create Security Policy to block Quic

Quic is a Google developed protocol which uses UDP for web connections and limits the firewall visibility and ability to analyze and apply security actions.
If the Quic protocol is not already blocked, please perform below steps.
  1. Select Manage → Configuration → NGFW and Prisma Access → Security Services → Security Policy. Select the Prisma Access configuration scope.
  1. Click Add RuleSecurity Rule (Pre Rule) to set the following settings:
Pre-rules are global rules that take precedence over deployment-specific rules and are applied to traffic first.
  1. Name → Quic Block
  1. Source Zone → trust
  1. Destination Zone → untrust
  1. Application → quic
  1. Action → Deny and Save
notion image

ii. Create Security Policy for DNS Sinkhole

Attach the WitnessAI_Sinkhole PG profile group in this policy and place the rule above the standard DNS allow rule.
  1. Select Manage → Configuration → NGFW and Prisma Access → Security Services → Security Policy. Select the Prisma Access configuration scope.
  1. Click Add RuleSecurity Rule (Pre Rule) to set the following settings:
  1. Name → WitnessAI_Sinkhole
  1. Source Zone → trust
  1. Destination Zone → untrust
  1. Application → dns
  1. Profile Group → WitnessAI_Sinkhole PG
  1. Log Settings → Untick ‘Log at Session Start’ and ‘Log at Session End’
  1. Action → Allow and Save
Note: It is possible to restrict the user scope for slow rollout/PoC testing using ‘User Groups’ as  Source Criteria.
notion image

iii. Create Security Policy for allowing traffic to WitnessAI Proxy.

Attach the WitnessAI PG profile group with this policy. This rule will insert the HTTP header and generate the URL filtering logs for the traffic towards WitnessForwardURLList.
  1. Select Manage → Configuration → NGFW and Prisma Access → Security Services → Security Policy. Select the Prisma Access configuration scope.
  1. Click Add Rule → Security Rule (Pre Rule) to set the following settings:
  1. Name → WitnessAI_Allow
  1. Source Zone → trust
  1. Destination Zone → untrust
  1. URL Category → WitnessForwardURLList
  1. Profile Group WitnessAI PG
  1. Action → Allow and Save
notion image

10. Create Decryption Profile & Policy

  1. Select Manage → Configuration → NGFW and Prisma Access → Security Services → Decryption. Select the Prisma Access configuration scope.
  1. Click Add Profile to set the following settings:
  1. Decryption Profiles Name → Witness-Decrypt Profile
  1. SSL/TLS Decryption Advanced → Enable Strip ALPN
notion image
The Palo Alto Firewall supports header insertion for HTTP/1.x traffic only; it does not support header insertion for HTTP/2 traffic.
  1. SSL/TLS Decryption → Select Protocol Min Version as TLSv1.0 and Protocol Max Version as Max, and Save
  1. Create a new Decryption Policy to decrypt WitnessForwardURLList URL category. Make sure this is placed above the ‘O365-Best-Practice’ rule or any other SSL Decryption Bypass rules.
  1. Click Add Rule to set the following settings:
  1. Name → WitnessAI_Decrypt
  1. Source Zone → trust
  1. Destination Zone → untrust
  1. URL Category Entities → WitnessForwardURLList
  1. Action → Decrypt
  1. Type → SSL Forward Proxy
  1. Decryption Profile → WitnessAI_Decrypt Profile
notion image

11. Push Config

The last step is to push the changes to the Prisma Gateways. Click Push to enable the configuration changes made.
notion image