Skip to main content

DNS Security Profile

DNS security profiles protect against DNS-based threats including malware domains, command-and-control traffic, and DNS tunneling. The scm CLI provides commands to create, update, delete, and load DNS security profiles.

Overview​

The dns-security-profile commands allow you to:

  • Create DNS security profiles with botnet domain protections
  • Update existing profile configurations including sinkhole settings
  • Delete profiles that are no longer needed
  • Bulk import profiles from YAML files
  • Export profiles for backup or migration

Set DNS Security Profile​

Create or update a DNS security profile.

Syntax​

scm set security dns-security-profile NAME [OPTIONS]

Arguments​

ArgumentDescriptionRequired
NAMEProfile nameYes

Options​

OptionDescriptionRequired
--folder TEXTFolder locationNo*
--snippet TEXTSnippet locationNo*
--device TEXTDevice locationNo*
--description TEXTProfile descriptionNo
--botnet-domains TEXTBotnet domains settings as JSONNo

* One of --folder, --snippet, or --device is required.

Examples​

Create Profile with Sinkhole​

$ scm set security dns-security-profile dns-sec-default \
--folder Texas \
--botnet-domains '{"dns_security_categories": [{"name": "pan-dns-sec-malware", "action": "sinkhole"}]}'
---> 100%
Created DNS security profile: dns-sec-default in folder Texas

Create Profile with Whitelist​

$ scm set security dns-security-profile dns-sec-custom \
--folder Texas \
--botnet-domains '{"whitelist": [{"name": "example.com"}]}'
---> 100%
Created DNS security profile: dns-sec-custom in folder Texas

Delete DNS Security Profile​

Delete a DNS security profile from SCM.

Syntax​

scm delete security dns-security-profile NAME [OPTIONS]

Arguments​

ArgumentDescriptionRequired
NAMEProfile name to deleteYes

Options​

OptionDescriptionRequired
--folder TEXTFolder locationNo*
--snippet TEXTSnippet locationNo*
--device TEXTDevice locationNo*
--forceSkip confirmation promptNo

* One of --folder, --snippet, or --device is required.

Example​

$ scm delete security dns-security-profile dns-sec-default \
--folder Texas \
--force
---> 100%
Deleted DNS security profile: dns-sec-default from folder Texas

Load DNS Security Profile​

Load multiple DNS security profiles from a YAML file.

Syntax​

scm load security dns-security-profile [OPTIONS]

Options​

OptionDescriptionRequired
--file TEXTPath to YAML file containing profile definitionsYes
--folder TEXTOverride folder location for all profilesNo
--snippet TEXTOverride snippet location for all profilesNo
--device TEXTOverride device location for all profilesNo
--dry-runPreview changes without applying themNo

YAML File Format​

---
dns_security_profiles:
- name: dns-sec-default
folder: Texas
description: "Default DNS security profile"
botnet_domains:
dns_security_categories:
- name: pan-dns-sec-malware
action: sinkhole

- name: dns-sec-custom
folder: Texas
description: "Custom DNS security with whitelist"
botnet_domains:
whitelist:
- name: example.com

Examples​

Load with Original Locations​

$ scm load security dns-security-profile \
--file dns-security.yaml
---> 100%
✓ Loaded DNS security profile: dns-sec-default
✓ Loaded DNS security profile: dns-sec-custom

Successfully loaded 2 out of 2 DNS security profiles from 'dns-security.yaml'

Load with Folder Override​

$ scm load security dns-security-profile \
--file dns-security.yaml \
--folder Austin
---> 100%
✓ Loaded DNS security profile: dns-sec-default
✓ Loaded DNS security profile: dns-sec-custom

Successfully loaded 2 out of 2 DNS security profiles from 'dns-security.yaml'
note

When using container override options (--folder, --snippet, --device), all profiles will be loaded into the specified container, ignoring the container specified in the YAML file.

Show DNS Security Profile​

Display DNS security profile objects.

Syntax​

scm show security dns-security-profile [NAME] [OPTIONS]

Arguments​

ArgumentDescriptionRequired
NAMEProfile name to display; omit to list allNo

Options​

OptionDescriptionRequired
--folder TEXTFolder locationNo*
--snippet TEXTSnippet locationNo*
--device TEXTDevice locationNo*
--output, -o [table|json|yaml]Output format (default: table)No
--max-results INTEGERMaximum number of results to displayNo

* One of --folder, --snippet, or --device is required.

note

When no NAME is specified, all items are listed by default.

Examples​

Show Specific Profile​

$ scm show security dns-security-profile dns-sec-default \
--folder Texas
---> 100%
DNS Security Profile: dns-sec-default
Location: Folder 'Texas'
Description: Default DNS security profile
Botnet Domains: configured

List All Profiles (Default Behavior)​

$ scm show security dns-security-profile --folder Texas
---> 100%
DNS Security Profiles in folder 'Texas':
------------------------------------------------------------
Name: dns-sec-default
Description: Default DNS security profile
------------------------------------------------------------
Name: dns-sec-custom
Description: Custom DNS security with whitelist
------------------------------------------------------------

Backup DNS Security Profiles​

Backup all DNS security profile objects from a specified location to a YAML file.

Syntax​

scm backup security dns-security-profile [OPTIONS]

Options​

OptionDescriptionRequired
--folder TEXTFolder to backup profiles fromNo*
--snippet TEXTSnippet to backup profiles fromNo*
--device TEXTDevice to backup profiles fromNo*
--file TEXTOutput filename (defaults to auto-generated)No

* One of --folder, --snippet, or --device is required.

Examples​

Backup from Folder​

$ scm backup security dns-security-profile --folder Texas
---> 100%
Successfully backed up 4 DNS security profiles to dns_security_profile_folder_texas_20240115_120530.yaml

Backup with Custom Filename​

$ scm backup security dns-security-profile \
--folder Texas \
--file texas-dns-security.yaml
---> 100%
Successfully backed up 4 DNS security profiles to texas-dns-security.yaml

Best Practices​

  1. Sinkhole Malware Domains: Configure dns_security_categories with sinkhole actions to redirect malware DNS queries to a safe IP.
  2. Whitelist Trusted Domains: Add legitimate domains to the whitelist to prevent false positives for business-critical services.
  3. Use Descriptive Names: Name profiles to reflect their protection scope (e.g., dns-sec-strict, dns-sec-custom).
  4. Backup Before Changes: Always backup existing profiles before making bulk modifications via load commands.
  5. Layer with Other Profiles: Combine DNS security profiles with anti-spyware and URL filtering for comprehensive threat protection.