Domain allowlist feed
Some recipients never receive the phishing simulation emails, or the landing page gets blocked, because their firewall inspects or filters the traffic to the campaign domains. Stoïk publishes a domain allowlist feed that your firewall can poll automatically to exempt these domains from SSL inspection and URL filtering.
FortiOS 7.4 / 7.6 / 8.0
Step 1: Create the external resource
In the FortiGate CLI, create a type category external resource pointing at the feed URL. A type domain resource cannot be used for SSL inspection exemption.
config system external-resource
edit "stoik-allowlist"
set status enable
set type category
set category 192
set resource "https://prod.phishing.cyber.stoik.io/public/v1/allowlist/domains.txt"
set username "<allowlist_feed_username>"
set password "<allowlist_feed_password>"
set server-identity-check full
set refresh-rate 5
next
endField notes:
set type categoryis required (nottype domain) so the resource can be added to the SSL/SSH inspection exempt list.set category 192assigns the resource to a custom FortiGuard category slot. Slots 192-221 are available (30 total per scope/VDOM). Choose a free slot; the number must be unique within the scope.set usernameandset passwordactivate HTTP Basic authentication automatically.set server-identity-check fullvalidates the full TLS certificate chain and hostname. Default isnone;fullis recommended for HTTPS feeds.set refresh-rate 5polls every 5 minutes (units are minutes; range 1-43200).
Step 2: Exempt from SSL inspection
Add the category to the SSL/SSH inspection profile's exempt list. This is the mechanism that actually bypasses SSL deep inspection for matching domains. Without this step, FortiGate will still MITM the TLS connection.
GUI path: Security Profiles > SSL/SSH Inspection > your deep-inspection profile > Exempt from SSL Inspection > Web categories > add the stoik-allowlist category.
CLI equivalent:
Step 3: Verify the firewall policy uses the inspection profile
Confirm that the firewall policy covering client outbound traffic references the ssl-ssh-profile you modified in step 2.
Official documentation:
PAN-OS 11.1+
Step 1: Create an External Dynamic List (type URL)
Use type URL, not type Domain. A type Domain EDL is for DNS sinkholing only and cannot be used in URL Filtering profiles or Decryption policy.
GUI path: Objects > External Dynamic Lists > Add
Settings:
Type: URL
Source:
https://prod.phishing.cyber.stoik.io/public/v1/allowlist/domains.txtClient Authentication: enable, then enter the
<allowlist_feed_username>and<allowlist_feed_password>Check for updates: Every Five Minutes
Notes:
Client Authentication is only available when the source URL is HTTPS.
Each unique source URL counts against the 30-source-EDL limit per firewall.
Step 2: Allow traffic in a URL Filtering profile
GUI path: Objects > Security Profiles > URL Filtering > add/edit profile > Categories tab
Find the EDL in the category list and set its action to Allow. Attach this URL Filtering profile to the Security policy rule covering the relevant traffic.
Step 3: Add a No-Decrypt Decryption policy rule
Without this step, the firewall will still decrypt and re-encrypt traffic to the landing domains, which may interfere with TLS certificate validation by the campaign target.
GUI path: Policies > Decryption > Add
Settings:
Name: e.g.,
No-Decrypt-Stoik-AllowlistSource / Destination: Any
Service/URL Category tab: add the EDL
Options tab > Action: No Decrypt
(Optional but recommended) Apply a no-decryption profile that blocks expired or untrusted certificates
Move the rule to the top of the decryption rulebase, above any "Decrypt all HTTPS" or catch-all decrypt rules. Decryption rules are evaluated top-to-bottom; the first match wins.
Commit after saving.
Official documentation:
In the Cato Management Application:
Go to
Resources>Categories>Containers.Create a Container with type
FQDN.Select
Syncing a file from a URLas the source.Select the CSV/TXT format and enter the feed URL provided by Stoïk (it already includes your access token).
Select an hourly synchronization interval, then click
Test Containerbefore saving.
Official documentation:
Last updated
Was this helpful?

