Configure the Sinkhole IP Address to a Local Server on Your Network
Focus
Focus
Advanced Threat Prevention Powered by Precision AI™

Configure the Sinkhole IP Address to a Local Server on Your Network

Table of Contents

Configure the Sinkhole IP Address to a Local Server on Your Network

Where Can I Use This?What Do I Need?
  • NGFW (Managed by PAN-OS or Panorama)
  • VM-Series
  • CN-Series
  • Advanced Threat Prevention (for enhanced feature support) or Threat Prevention License
By default, sinkholing is enabled for all Palo Alto Networks DNS signatures, and the sinkhole IP address is set to access a Palo Alto Networks server. Use the instructions in this section if you want to set the sinkhole IP address to a local server on your network.
You must obtain both an IPv4 and IPv6 address to use as the sinkhole IP addresses because malicious software may perform DNS queries using one or both of these protocols. The DNS sinkhole address must be in a different zone than the client hosts to ensure that when an infected host attempts to start a session with the sinkhole IP address, it will be routed through the firewall.
The sinkhole addresses must be reserved for this purpose and do not need to be assigned to a physical host. You can optionally use a honey-pot server as a physical host to further analyze the malicious traffic.
The configuration steps that follow use the following example DNS sinkhole addresses:
IPv4 DNS sinkhole address—10.15.0.20
IPv6 DNS sinkhole address—fd97:3dec:4d27:e37c:5:5:5:5
  1. Configure the sinkhole interface and zone.
    Traffic from the zone where the client hosts reside must route to the zone where the sinkhole IP address is defined, so traffic will be logged.
    Use a dedicated zone for sinkhole traffic, because the infected host will be sending traffic to this zone.
    1. Select NetworkInterfaces and select an interface to configure as your sinkhole interface.
    2. In the Interface Type drop-down, select Layer3.
    3. To add an IPv4 address, select the IPv4 tab and select Static and then click Add. In this example, add 10.15.0.20 as the IPv4 DNS sinkhole address.
    4. Select the IPv6 tab and click Static and then click Add and enter an IPv6 address and subnet mask. In this example, enter fd97:3dec:4d27:e37c::/64 as the IPv6 sinkhole address.
    5. Click OK to save.
    6. To add a zone for the sinkhole, select NetworkZones and click Add.
    7. Enter zone Name.
    8. In the Type drop-down select Layer3.
    9. In the Interfaces section, click Add and add the interface you just configured.
    10. Click OK.
  2. Enable DNS sinkholing.
    By default, sinkholing is enabled for all Palo Alto Networks DNS signatures. To change the sinkhole address to your local server, see Step 2 in Configure DNS Sinkholing for a List of Custom Domains.
  3. Edit the security policy rule that allows traffic from client hosts in the trust zone to the untrust zone to include the sinkhole zone as a destination and attach the Anti-Spyware profile.
    Editing the Security policy rule(s) that allows traffic from client hosts in the trust zone to the untrust zone ensures that you are identifying traffic from infected hosts. By adding the sinkhole zone as a destination on the rule, you enable infected clients to send bogus DNS queries to the DNS sinkhole.
    1. Select PoliciesSecurity.
    2. Select an existing rule that allows traffic from the client host zone to the untrust zone.
    3. On the Destination tab, Add the Sinkhole zone. This allows client host traffic to flow to the sinkhole zone.
    4. On the Actions tab, select the Log at Session Start check box to enable logging. This will ensure that traffic from client hosts in the Trust zone will be logged when accessing the Untrust or Sinkhole zones.
    5. In the Profile Setting section, select the Anti-Spyware profile in which you enabled DNS sinkholing.
    6. Click OK to save the Security policy rule and then Commit.
  4. To confirm that you will be able to identify infected hosts, verify that traffic going from the client host in the Trust zone to the new Sinkhole zone is being logged.
    In this example, the infected client host is 192.168.2.10 and the Sinkhole IPv4 address is 10.15.0.20.
    1. From a client host in the trust zone, open a command prompt and run the following command:
      C:\>ping <sinkhole address>
      The following example output shows the ping request to the DNS sinkhole address at 10.15.0.2 and the result, which is Request timed out because in this example the sinkhole IP address is not assigned to a physical host:
      C:\>ping 10.15.0.20
      Pinging 10.15.0.20 with 32 bytes of data:
      Request timed out.
      Request timed out.
      Ping statistics for 10.15.0.20:
      Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)
    2. On the firewall, select MonitorLogsTraffic and find the log entry with the Source 192.168.2.10 and Destination 10.15.0.20. This will confirm that the traffic to the sinkhole IP address is traversing the firewall zones.
      You can search and/or filter the logs and only show logs with the destination 10.15.0.20. To do this, click the IP address (10.15.0.20) in the Destination column, which will add the filter (addr.dst in 10.15.0.20) to the search field. Click the Apply Filter icon to the right of the search field to apply the filter.
  5. Test that DNS sinkholing is configured properly.
    You are simulating the action that an infected client host would perform when a malicious application attempts to call home.
    1. Find a malicious domain that is included in the firewall’s current Antivirus signature database to test sinkholing.
      1. Select DeviceDynamic Updates and in the Antivirus section click the Release Notes link for the currently installed antivirus database. You can also find the antivirus release notes that list the incremental signature updates under Dynamic Updates on the Palo Alto Networks support site.
      2. In the second column of the release note, locate a line item with a domain extension (for example, .com, .edu, or .net). The left column will display the domain name. For example, Antivirus release 1117-1560, includes an item in the left column named "tbsbana" and the right column lists "net".
        The following shows the content in the release note for this line item:
        conficker:tbsbana	1
        variants: net
    2. From the client host, open a command prompt.
    3. Perform an NSLOOKUP to a URL that you identified as a known malicious domain.
      For example, using the URL track.bidtrk.com:
      C:\>nslookup
      	track.bidtrk.com
      	Server: my-local-dns.local
      	Address: 10.0.0.222
      	Non-authoritative answer:
      	Name: track.bidtrk.com.org
      	Addresses: fd97:3dec:4d27:e37c:5:5:5:510.15.0.20
      In the output, note that the NSLOOKUP to the malicious domain has been forged using the sinkhole IP addresses that we configured (10.15.0.20). Because the domain matched a malicious DNS signature, the sinkhole action was performed.
    4. Select MonitorLogsThreat and locate the corresponding threat log entry to verify that the correct action was taken on the NSLOOKUP request.
    5. Perform a ping to track.bidtrk.com, which will generate network traffic to the sinkhole address.