Table of Contents

Case 4. Blacklist Blocking via WEB FILTER

Resource Lists for Filtering Management

Logic for Merging Global and Custom Blacklists

1. The global list is generated by a script stored on the NMS web server at /home/customername/blackliststdl. The DPI configuration file /etc/dpi/fastdpi.conf specifies the web server URL where the global list is located. Every minute, DPI checks for updates to this list via the specified URL and updates if changes are found. The global list includes: URL list, CNAME list, IP address list, and SNI list.
The downloaded lists are stored in the /var/lib/dpi directory under the names:

2. Custom lists are created individually in the web interface. The GUI saves files locally on each DPI in a designated folder /var/tmp/web_rules/ . Each channel and subscriber has its own set of lists.

Lists are stored in binary format. You can view the content of files after converting them from binary format using the following utilities:
  • dic2host — decodes by hostnames
  • dic2star — decodes by domain names

The final output is a list of hosts in the first case and a list of domains in the second case. These utilities allow you to check if a specific host or domain is included in any list.

When a custom rule is created, the GUI performs a task that generates 4 services (filtering service), combining these two lists for a specific Channel or Subscriber.
As a result, the Global List is merged with the custom list and applied to the specific Channel or Subscriber.

DoH/DoT Functionality in Chrome and Edge Browsers

Chrome and Edge have removed the option to disable TLS Encrypted ClientHello:
https://support.google.com/chrome/thread/260299990/cannot-disable-encrypted-clienthello-in-latest-version-of-chrome-and-edge?hl=en

As a result, if encrypted DNS was enabled on a device once, disabling TLS Encrypted ClientHello from the browser interface is no longer possible.

To disable this feature, launch PowerShell as administrator and execute the following commands:

For Chrome:

$PATH = "HKLM:\\Software\Policies\Google\Chrome\"
$NAME = "EncryptedClientHelloEnabled"
if (-not(Test-Path $PATH)) {New-Item -Path $PATH -Force}
New-ItemProperty -Path $PATH -Name $NAME -Value 0x0 -Force

For Edge:

$PATH = "HKLM:\\Software\Policies\Microsoft\Edge\"
$NAME = "EncryptedClientHelloEnabled"
if (-not(Test-Path $PATH)) {New-Item -Path $PATH -Force}
New-ItemProperty -Path $PATH -Name $NAME -Value 0x0 -Force

After this, the browser will show information indicating that the Encrypted ClientHello feature is disabled:

edge://policy/

chrome://policy/