<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Fortinet Guide]]></title><description><![CDATA[Fortinet Guide]]></description><link>https://0xkpn-fortinet.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Wed, 17 Jun 2026 21:50:16 GMT</lastBuildDate><atom:link href="https://0xkpn-fortinet.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Implementing the Data Loss Prevention (DLP) WAF Module in FortiADC]]></title><description><![CDATA[Data Loss Prevention

DLP module prevents sensitive data from leaving or entering your network by scanning for various patterns while inspecting traffic passing through the FortiADC

The DLP module is configured based on the following components:

DL...]]></description><link>https://0xkpn-fortinet.hashnode.dev/implementing-the-data-loss-prevention-dlp-waf-module-in-fortiadc</link><guid isPermaLink="true">https://0xkpn-fortinet.hashnode.dev/implementing-the-data-loss-prevention-dlp-waf-module-in-fortiadc</guid><category><![CDATA[Fortinet ]]></category><category><![CDATA[FortiADC]]></category><category><![CDATA[DLP]]></category><category><![CDATA[waf]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[information security]]></category><dc:creator><![CDATA[LoGan070raGnaR]]></dc:creator><pubDate>Tue, 22 Jul 2025 14:08:52 GMT</pubDate><content:encoded><![CDATA[<h1 id="heading-data-loss-prevention">Data Loss Prevention</h1>
<ul>
<li><p><code>DLP module</code> prevents sensitive data from leaving or entering your network by scanning for various patterns while inspecting traffic passing through the FortiADC</p>
</li>
<li><p>The DLP module is configured based on the following <code>components</code>:</p>
<ul>
<li><p>DLP Policy</p>
</li>
<li><p>Sensitive Data Type</p>
</li>
<li><p>DLP Sensor</p>
<ul>
<li><strong>Note</strong>: This DLP component requires the <code>FortiGuard DLP service</code> to be enabled.</li>
</ul>
</li>
<li><p>DLP Dictionary</p>
<ul>
<li><strong>Note</strong>: This DLP component requires the <code>FortiGuard DLP service</code> to be enabled.</li>
</ul>
</li>
</ul>
</li>
<li><p>Note:</p>
<ul>
<li><p>Data Loss Prevention can still function without the <code>FortiGuard DLP service</code>. You can still configure a <code>DLP Policy</code> to defend against data loss using only <code>Sensitive Data Type</code>.</p>
</li>
<li><p>In the backend, DLP uses Hyperscan to perform a one-parse algorithm for scanning multiple patterns. This allows DLP to scale up without any performance downgrade.</p>
</li>
</ul>
</li>
<li><p>For more information</p>
<ul>
<li><a target="_blank" href="https://docs.fortinet.com/document/fortiadc/8.0.0/administration-guide/251493/data-loss-prevention">https://docs.fortinet.com/document/fortiadc/8.0.0/administration-guide/251493/data-loss-prevention</a></li>
</ul>
</li>
</ul>
<h2 id="heading-to-deploy-data-loss-prevention-follow-the-workflow-below">To deploy Data Loss Prevention, follow the workflow below:</h2>
<ol>
<li><p>Configure the DLP Dictionary to define the collection of data type entries to use in the DLP Sensor.</p>
</li>
<li><p>Configure the DLP Sensor to define which dictionary to check.</p>
</li>
<li><p>Configure the Sensitive Data Type to define the type of pattern that DLP is trying to match.</p>
</li>
<li><p>Configure the DLP Policy to define the rules for matching a sensor or sensitive data type.</p>
</li>
<li><p>Apply the DLP Policy to a WAF profile.</p>
</li>
</ol>
<h3 id="heading-fortiguard-dlp-service">FortiGuard DLP service</h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753173971057/643d676a-edb0-4dc7-b42c-81131f3eaf6c.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p>This <code>service</code> allow FortiADC to download DLP signatures directly from FortiGuard to enrich the FortiADC <code>DLP signature data types</code>.</p>
<ul>
<li><p>It uses a customizable <code>database</code> of more than 500 predefined <code>data patterns</code> and <code>policies</code></p>
</li>
<li><p>It has <code>database</code> of predefined <code>DLP patterns</code> such as <code>data types</code>, <code>dictionaries</code>, and <code>sensors</code>.</p>
</li>
</ul>
</li>
<li><p>If the <code>HTTP payload</code> or <code>files</code> passing through FortiADC contain data that matches the patterns defined in these dictionaries, FortiADC will initiate specified actions to safeguard the data.</p>
</li>
<li><p>Note:</p>
<ul>
<li><p>To check the version of FortiGuard DLP database</p>
<ul>
<li>System &gt; FortiGuard &gt; Data Loss Prevention (DLP)</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753174681908/b0b9b299-7e3c-47d6-9720-48e3d0b2fe6c.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-configure-the-dlp-dictionary-to-define-the-collection-of-data-type-entries-to-use-in-the-dlp-sensor">Configure the DLP Dictionary to define the collection of data type entries to use in the DLP Sensor</h3>
<ul>
<li><p>A <code>DLP dictionary</code> defines the patterns of data. The term "pattern" denotes a set of attributes specific to a given <code>data type</code></p>
</li>
<li><p>E.g.,</p>
<ul>
<li>Credit card numbers constitute numeric data that follow either the 14-digit or 16-digit patterns associated with credit cards. If the data adheres to these patterns, FortiADC will identify it as a match.</li>
</ul>
</li>
<li><p>Predefined DLP Dictionary object &amp; FortiGuard Data Types</p>
<ul>
<li><a target="_blank" href="https://www.fortiguard.com/encyclopedia?type=dlp&amp;ots_type=&amp;title_cve=&amp;telemetry=all">https://www.fortiguard.com/encyclopedia?type=dlp&amp;ots_type=&amp;title_cve=&amp;telemetry=all</a></li>
</ul>
</li>
</ul>
<div class="hn-table">
<table>
<thead>
<tr>
<td>DLP Dictionary object</td><td>FortiGuard Data Types</td><td>Description</td></tr>
</thead>
<tbody>
<tr>
<td>aus-abn-dict</td><td><code>aus-abn</code></td><td>Australia Business Number Dictionary</td></tr>
<tr>
<td>aus-health_id-dict</td><td><code>aus-health_id</code></td><td>Australia Health account number Dictionary</td></tr>
<tr>
<td>aus-pass-dict</td><td><code>aus-pass</code></td><td>Australia Passport Dictionary</td></tr>
<tr>
<td>aus-tin-dict</td><td><code>aus-tin</code></td><td>Australia Tax File Number (TFN) Dictionary</td></tr>
<tr>
<td>aut-pass-dict</td><td><code>aut-pass</code></td><td>Austria Passport Dictionary</td></tr>
<tr>
<td>aut-ssn-dict</td><td><code>aut-ssn</code></td><td>Austria Social Security Number Dictionary</td></tr>
<tr>
<td>aut-tin-dict</td><td><code>aut-tin</code></td><td>Austria tax identification number Dictionary</td></tr>
<tr>
<td>aut-vatin-dict</td><td><code>aut-vatin</code></td><td>Austria VATIN Dictionary</td></tr>
<tr>
<td>balkans-natl_id-umcn-dict</td><td><code>balkans-natl_id-umcn</code></td><td>Unique Master Citizen Number (Various countries in Balkan region [Former Yugoslavia])</td></tr>
<tr>
<td>bel-natl_id-dict</td><td><code>bel-natl_id</code></td><td>Belgium National Identification number Dictionary</td></tr>
<tr>
<td>bel-tin-dict</td><td><code>bel-tin</code></td><td>Belgium Tax Identification Number Dictionary</td></tr>
<tr>
<td>bel-vatin-dict</td><td><code>bel-vatin</code></td><td>Belgium value added tax number (VATIN) Dictionary</td></tr>
<tr>
<td>bgr-ucn_id-dict</td><td><code>bgr-ucn_id</code></td><td>Bulgaria Uniform Civil Number Dictionary</td></tr>
<tr>
<td>bra-cnpj-dict</td><td><code>bra-cnpj</code></td><td>Brazil CNPJ Number Dictionary</td></tr>
<tr>
<td>bra-cpf-dict</td><td><code>bra-cpf</code></td><td>Brazil Cadastro de Pessoas Físicas (CPF) Number Dictionary</td></tr>
<tr>
<td>bra-dl-dict</td><td><code>bra-dl</code></td><td>Brazil Driver's License Number (CNH) Dictionary</td></tr>
<tr>
<td>can-bank_account-dict</td><td><code>can-bank_account</code></td><td>Canadian Bank Account Dictionary</td></tr>
<tr>
<td>can-dl-dict</td><td><code>can-dl-ab</code>, <code>can-dl-bc</code>, <code>can-dl-mb</code>, <code>can-dl-nb</code>, <code>can-dl-nl-1</code>, <code>can-dl-nl-2</code>, <code>can-dl-ns</code>, <code>can-dl-nt</code>, <code>can-dl-nu</code>, <code>can-dl-on</code>, <code>can-dl-pe-1</code>, <code>can-dl-pe-2</code>, <code>can-dl-qc</code>, <code>can-dl-sk</code>, <code>can-dl-yt</code></td><td>Canadian Driver's License Dictionary</td></tr>
<tr>
<td>can-health_service-dict</td><td><code>can-health_service</code></td><td>Canadian Health Service Dictionary</td></tr>
<tr>
<td>can-natl_id-sin-dict</td><td><code>can-natl_id-sin</code></td><td>Canadian SIN Card Number Dictionary</td></tr>
<tr>
<td>can-pass-dict</td><td><code>can-pass</code></td><td>Canadian Passport Dictionary</td></tr>
<tr>
<td>can-phin-dict</td><td><code>can-phin</code>, <code>can-phin-ab</code>, <code>can-phin-bc</code>, <code>can-phin-mb</code>, <code>can-phin-nb</code>, <code>can-phin-nl</code>, <code>can-phin-ns</code>, <code>can-phin-nt</code>, <code>can-phin-nu</code>, <code>can-phin-on</code>, <code>can-phin-pe</code>, <code>can-phin-qc</code>, <code>can-phin-sk</code>, <code>can-phin-yt</code></td><td>Canadian Personal Health Identification Number Dictionary</td></tr>
<tr>
<td>che-natl_id-ahv-dict</td><td><code>che-natl_id-ahv</code></td><td>Swiss Social Security Number (AHV/AVS Number) Dictionary</td></tr>
<tr>
<td>chn-dl-dict</td><td><code>chn-dl</code></td><td>China Driver's License Number Dictionary</td></tr>
<tr>
<td>chn-license-plate-dict</td><td><code>chn-license-plate</code></td><td>China License Plate Number</td></tr>
<tr>
<td>chn-natl_id-dict</td><td><code>chn-natl_id</code></td><td>China National ID Card</td></tr>
<tr>
<td>deu-dl-dict</td><td><code>deu-dl</code></td><td>Germany driving license number Dictionary</td></tr>
<tr>
<td>deu-tin-dict</td><td><code>deu-tin</code></td><td>Germany tax identification number/ Steuerliche Identifikationsnummer Dictionary</td></tr>
<tr>
<td>deu-vatin-dict</td><td><code>deu-vatin</code></td><td>Germany VAT/Umsatzsteuer Identifikationsnummer Dictionary</td></tr>
<tr>
<td>dnk-natl_id-dict</td><td><code>dnk-natl_id</code></td><td>Denmark national ID number (CPR) Dictionary</td></tr>
<tr>
<td>esp-natl_id-dict</td><td><code>esp-natl_id</code></td><td>Spain national ID number Dictionary</td></tr>
<tr>
<td>esp-pass-dict</td><td><code>esp-pass</code></td><td>Spain Passport Dictionary</td></tr>
<tr>
<td>esp-tin-cif-dict</td><td><code>esp-tin-cif</code></td><td>Spain Tax Identification Certificate (CIF) Dictionary</td></tr>
<tr>
<td>esp-tin-dict</td><td><code>esp-tin</code></td><td>Spain Tax Identification Number Dictionary</td></tr>
<tr>
<td>fin-natl_id-dict</td><td><code>fin-natl_id</code></td><td>Finland Personal Identity Codes/Numbers Dictionary</td></tr>
<tr>
<td>fin-tin-dict</td><td><code>fin-tin</code></td><td>Finland Tax Identification Number Dictionary</td></tr>
<tr>
<td>fra-dl-dict</td><td><code>fra-dl</code></td><td>France Driver's License Number Dictionary</td></tr>
<tr>
<td>fra-natl_id-dict</td><td><code>fra-natl_id</code></td><td>France National ID Dictionary</td></tr>
<tr>
<td>fra-pass-dict</td><td><code>fra-pass</code></td><td>France Passport Dictionary</td></tr>
<tr>
<td>fra-tin-dict</td><td><code>fra-tin</code></td><td>France tax identification number Dictionary</td></tr>
<tr>
<td>fra-vatin-dict</td><td><code>fra-vatin</code></td><td>France VAT Dictionary</td></tr>
<tr>
<td>gbr-nino-dict</td><td><code>gbr-nino</code></td><td>UK National Insurance Number Dictionary</td></tr>
<tr>
<td>glb-cc-dict</td><td><code>glb-cc-amex</code>, <code>glb-cc-bcgl</code>, <code>glb-cc-cabl</code>, <code>glb-cc-dinr</code>, <code>glb-cc-disc</code>, <code>glb-cc-inst</code>, <code>glb-cc-jcb</code>, <code>glb-cc-kloc</code>, <code>glb-cc-lasr</code>, <code>glb-cc-maes</code>, <code>glb-cc-mc</code>, <code>glb-cc-solo</code>, <code>glb-cc-unionpay</code>, <code>glb-cc-visa</code>, <code>glb-cc-vsmc</code></td><td>Global Credit Card Dictionary</td></tr>
<tr>
<td>glb-swift-dict</td><td><code>aus-swift</code>, <code>chn-swift</code>, <code>deu-swift</code>, <code>fra-swift</code>, <code>jpn-swift</code>, <code>uk-swift</code>, <code>usa-swift</code></td><td>Global SWIFT Codes Dictionary</td></tr>
<tr>
<td>grc-tin-dict</td><td><code>grc-tin</code></td><td>Dictionary for Greece Tax Identification Number (AFM)</td></tr>
<tr>
<td>hkg-natl_id-dict</td><td><code>hkg-natl_id</code></td><td>Hong Kong Citizen ID Card Number Dictionary</td></tr>
<tr>
<td>hrv-tin-dict</td><td><code>hrv-tin</code></td><td>Croatia tax identification number Dictionary</td></tr>
<tr>
<td>hun-tin-dict</td><td><code>hun-tin</code></td><td>Hungary Tax Identification Number dictionary</td></tr>
<tr>
<td>idn-tin-dict</td><td><code>idn-tin</code></td><td>Indonesia tax identification number Dictionary</td></tr>
<tr>
<td>ind-natl_id-dict</td><td><code>ind-natl_id</code></td><td>Indian National ID Number Dictionary</td></tr>
<tr>
<td>irl-tin-ppsn-dict</td><td><code>irl-tin-ppsn</code></td><td>Ireland tax identification number /Personal Public Service Number(PPSN) Dictionary</td></tr>
<tr>
<td>irl-vatin-dict</td><td><code>irl-vatin</code></td><td>Ireland VAT/CBL dictionary</td></tr>
<tr>
<td>isl-natl_id-dict</td><td><code>isl-natl_id</code></td><td>Iceland Personal Identification Number Dictionary</td></tr>
<tr>
<td>isr-natl_id-dict</td><td><code>isr-natl_id</code></td><td>Israel National ID Number (Teudat Zehut) Dictionary</td></tr>
<tr>
<td>ita-dl-dict</td><td><code>ita-dl</code></td><td>Italy driving license number Dictionary</td></tr>
<tr>
<td>ita-fiscal-code-dict</td><td><code>ita-fiscal-code</code></td><td>Italy Fiscal Code Dictionary</td></tr>
<tr>
<td>ita-pass-dict</td><td><code>ita-pass</code></td><td>Italy Passport Dictionary</td></tr>
<tr>
<td>jpn-cn-dict</td><td><code>jpn-cn</code></td><td>Japan Corporate Number Dictionary</td></tr>
<tr>
<td>jpn-dl-dict</td><td><code>jpn-dl</code></td><td>Japan driving license number Dictionary</td></tr>
<tr>
<td>jpn-health_id-dict</td><td><code>jpn-health_id</code></td><td>Japan Health Insurance Number</td></tr>
<tr>
<td>jpn-mn-dict</td><td><code>jpn-mn</code></td><td>Japan My Number Dictionary</td></tr>
<tr>
<td>jpn-pass-dict</td><td><code>jpn-pass</code></td><td>Japan Passport Dictionary</td></tr>
<tr>
<td>jpn-rrn-dict</td><td><code>jpn-rrn</code></td><td>Japan Resident Registration Number Dictionary</td></tr>
<tr>
<td>kor-dl-dict</td><td><code>kor-dl</code></td><td>Korea driving license number Dictionary</td></tr>
<tr>
<td>kor-natl_id-dict</td><td><code>kor-natl_id</code></td><td>Korean national ID number Dictionary</td></tr>
<tr>
<td>kor-pass-dict</td><td><code>kor-pass</code></td><td>South Korea Passport Dictionary</td></tr>
<tr>
<td>lux-tin-dict</td><td><code>lux-tin</code></td><td>Luxembourg tax identification number Dictionary</td></tr>
<tr>
<td>lux-vatin-dict</td><td><code>lux-vatin</code></td><td>Luxembourg VAT Dictionary</td></tr>
<tr>
<td>mex-bank_code-dict</td><td><code>mex-bank_code</code></td><td>Mexico standardized bank code number (CLABE)</td></tr>
<tr>
<td>mex-curp-dict</td><td><code>mex-curp</code></td><td>Mexico Unique Population Code (CURP) Dictionary</td></tr>
<tr>
<td>mys-natl_id-dict</td><td><code>mys-natl_id</code></td><td>Malaysia national ID number Dictionary</td></tr>
<tr>
<td>nld-natl_id-bsn-dict</td><td><code>nld-natl_id-bsn</code></td><td>Netherlands Burgerservicenummer (BSN) Dictionary</td></tr>
<tr>
<td>nld-vatin-dict</td><td><code>nld-vatin</code></td><td>Netherland VAT</td></tr>
<tr>
<td>nzl-health_id-dict</td><td><code>nzl-health_id</code></td><td>New Zealand National Health Index Number(NHI)</td></tr>
<tr>
<td>nzl-tin-dict</td><td><code>nzl-tin</code></td><td>New Zealand tax identification number Dictionary</td></tr>
<tr>
<td>per-tin-dict</td><td><code>per-tin</code></td><td>Peru tax identification number Dictionary</td></tr>
<tr>
<td>pol-krs-dict</td><td><code>pol-krs</code></td><td>Poland KRS Number</td></tr>
<tr>
<td>pol-natl_id-dict</td><td><code>pol-natl_id</code></td><td>Poland national ID number Dictionary</td></tr>
<tr>
<td>pol-regon-dict</td><td><code>pol-regon</code></td><td>Poland REGON Number Dictionary</td></tr>
<tr>
<td>pol-tin-dict</td><td><code>pol-tin</code></td><td>Poland Tax Identification Number (NIP Number) Dictionary</td></tr>
<tr>
<td>prt-tin-dict</td><td><code>prt-tin</code></td><td>Portugal tax identification number/Número de Identificação Fiscal(NIF) Dictionary</td></tr>
<tr>
<td>sec-cisco_config</td><td></td><td>Cisco configuration file dictionary</td></tr>
<tr>
<td>sec-fortigate_config</td><td></td><td>FortiGate Configuration File Dictionary</td></tr>
<tr>
<td>sgp-natl_id-dict</td><td><code>sgp-natl_id</code></td><td>Singapore National Registration Identity Card (NRIC) Dictionary</td></tr>
<tr>
<td>source_code-c</td><td></td><td>C Source Code Dictionary</td></tr>
<tr>
<td>source_code-go</td><td></td><td>Golang Source Code Dictionary</td></tr>
<tr>
<td>source_code-java</td><td></td><td>Java Source Code Dictionary</td></tr>
<tr>
<td>source_code-powershell</td><td></td><td>Powershell Source Code Dictionary</td></tr>
<tr>
<td>source_code-python</td><td></td><td>Python Source Code Dictionary</td></tr>
<tr>
<td>swe-natl_id-dict</td><td><code>swe-natl_id</code></td><td>Sweden Personal Identity Number Dictionary</td></tr>
<tr>
<td>swe-tin-dict</td><td><code>swe-tin</code></td><td>Sweden Tax Identification Number Dictionary</td></tr>
<tr>
<td>tha-natl_id-dict</td><td><code>tha-natl_id</code></td><td>Thai national ID number Dictionary</td></tr>
<tr>
<td>twn-natl_id-dict</td><td><code>twn-natl_id</code></td><td>Taiwan ID Number Dictionary</td></tr>
<tr>
<td>uk-dl-dict</td><td><code>uk-dl</code></td><td>UK driving license number Dictionary</td></tr>
<tr>
<td>uk-pass-dict</td><td><code>uk-pass</code></td><td>UK Passport Dictionary</td></tr>
<tr>
<td>usa-aba_rtn-dict</td><td><code>usa-aba_rtn</code></td><td>USA ABA Routing Number Dictionary</td></tr>
<tr>
<td>usa-dl-dict</td><td><code>usa-dl-ak</code>, <code>usa-dl-al</code>, <code>usa-dl-ar</code>, <code>usa-dl-az</code>, <code>usa-dl-ca</code>, <code>usa-dl-co</code>, <code>usa-dl-ct</code>, <code>usa-dl-dc</code>, <code>usa-dl-de</code>, <code>usa-dl-fl</code>, <code>usa-dl-ga</code>, <code>usa-dl-hi</code>, <code>usa-dl-ia</code>, <code>usa-dl-id</code>, <code>usa-dl-il</code>, <code>usa-dl-in</code>, <code>usa-dl-ks</code>, <code>usa-dl-ky</code>, <code>usa-dl-la</code>, <code>usa-dl-ma</code>, <code>usa-dl-md</code>, <code>usa-dl-me</code>, <code>usa-dl-mi</code>, <code>usa-dl-mn</code>, <code>usa-dl-mo</code>, <code>usa-dl-ms</code>, <code>usa-dl-mt</code>, <code>usa-dl-nc</code>, <code>usa-dl-nd</code>, <code>usa-dl-ne</code>, <code>usa-dl-nh</code>, <code>usa-dl-nj</code>, <code>usa-dl-nm</code>, <code>usa-dl-nv</code>, <code>usa-dl-ny</code>, <code>usa-dl-oh</code>, <code>usa-dl-ok</code>, <code>usa-dl-or</code>, <code>usa-dl-pa</code>, <code>usa-dl-ri</code>, <code>usa-dl-sc</code>, <code>usa-dl-sd</code>, <code>usa-dl-tn</code>, <code>usa-dl-tx</code>, <code>usa-dl-ut</code>, <code>usa-dl-va</code>, <code>usa-dl-vt</code>, <code>usa-dl-wa</code>, <code>usa-dl-wi</code>, <code>usa-dl-wv</code>, <code>usa-dl-wy</code></td><td>USA Driver's License Dictionary</td></tr>
<tr>
<td>usa-mbi-dict</td><td><code>usa-mbi</code></td><td>USA Medicare Beneficiary Identifier Dictionary</td></tr>
<tr>
<td>usa-natl_id-ssn-dict</td><td><code>usa-natl_id-ssn</code></td><td>USA SSN Card Number Dictionary</td></tr>
<tr>
<td>usa-npi-dict</td><td><code>usa-npi</code></td><td>USA National Provider Identifier (NPI) Dictionary</td></tr>
<tr>
<td>usa-pass-dict</td><td><code>usa-pass-1</code>, <code>usa-pass-2</code></td><td>USA Passport Dictionary</td></tr>
<tr>
<td>usa-tin-itin-dict</td><td><code>usa-tin-itin</code></td><td>USA individual taxpayer identification umber (ITIN)</td></tr>
<tr>
<td><code>Some missing</code></td><td><code>deu-iban</code>, <code>fra-iban</code>, <code>gbr-health_id</code>, <code>hrv-natl_id</code>, <code>sec-jwt_token</code>, <code>uk-iban</code>, <code>usa-natl_id-prox</code></td></tr>
</tbody>
</table>
</div><ul>
<li>Setting in FortiADC (Web Applicatin Firewall &gt; Data Loss Prevention &gt; DLP Dictionary)</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753186616546/a8dcca1b-397c-40d4-9bd0-c90e1a752a15.png" alt class="image--center mx-auto" /></p>
<ul>
<li><code>config security waf dlp-dictionary</code></li>
</ul>
<pre><code class="lang-bash">config security waf dlp-dictionary
    edit &lt;name&gt;
        <span class="hljs-built_in">set</span> match-type {any|all}
        <span class="hljs-built_in">set</span> description &lt;string&gt;
        config entries
            edit &lt;name&gt;
                <span class="hljs-built_in">set</span> status {<span class="hljs-built_in">enable</span>|<span class="hljs-built_in">disable</span>}
                <span class="hljs-built_in">set</span> fg-data-type {uk-iban|can-natl_id-sin|luhn-algo|can-natl_id-prox|can-pass|usa-pass-1|usa-pass-2|uk-pass|aus-pass|fra-pass|jpn-pass|can-health_service|can-phin|glb-cc-amex|glb-cc-bcgl|glb-cc-cabl|glb-cc-dinr|glb-cc-inst|glb-cc-jcb|glb-cc-kloc|glb-cc-lasr|glb-cc-maes|glb-cc-solo|glb-cc-disc|glb-cc-mc|glb-cc-visa|glb-cc-vsmc|usa-natl_id-ssn|can-dl-ab|can-dl-bc|can-dl-mb|can-dl-nb|can-dl-nl-2|can-dl-nl-1|can-dl-nt|can-dl-nu|can-dl-pe-1|can-dl-pe-2|can-dl-qc|can-dl-sk|can-dl-yt|usa-dl-al|usa-dl-ak|usa-dl-az|usa-dl-ar|usa-dl-co|usa-dl-ct|usa-dl-de|usa-dl-dc|usa-dl-fl|usa-dl-ga|usa-dl-hi|usa-dl-id|usa-dl-il|usa-dl-in|usa-dl-ia|usa-dl-ks|usa-dl-ky|usa-dl-la|usa-dl-me|usa-dl-md|usa-dl-ma|usa-dl-mi|usa-dl-mn|usa-dl-ms|usa-dl-mo|usa-dl-ne|usa-dl-nv|usa-dl-nh|usa-dl-nj|usa-dl-nm|usa-dl-ny|usa-dl-nc|usa-dl-oh|usa-dl-ok|usa-dl-or|usa-dl-pa|usa-dl-ri|usa-dl-sc|usa-dl-sd|usa-dl-tn|usa-dl-tx|usa-dl-ut|usa-dl-vt|usa-dl-va|usa-dl-wv|usa-dl-wi|usa-dl-wy|can-bank_account|usa-natl_id-prox|can-dl-ns|can-dl-on|usa-dl-ca|jpn-swift|usa-swift|usa-dl-nd|usa-dl-wa|uk-swift|deu-swift|fra-swift|aus-swift|chn-swift|can-sin}
                <span class="hljs-built_in">set</span> repeat {<span class="hljs-built_in">enable</span>|<span class="hljs-built_in">disable</span>}
            next
        end
    next
end
</code></pre>
<ul>
<li><p><code>status</code> - Enable it if you intend to apply this data type</p>
</li>
<li><p><code>Repeat</code> - Enable this option if you want to match data exclusively when it appears multiple times. With this option enabled, you can specify the times of occurrence in the DLP Sensor settings.</p>
</li>
</ul>
<h3 id="heading-configure-the-dlp-sensor-to-define-which-dictionary-to-check">Configure the DLP Sensor to define which dictionary to check</h3>
<ul>
<li><p>A <code>DLP Sensor</code> defines which dictionaries to check. You can match <code>any</code> dictionary or <code>all</code> dictionaries. It can also <code>count</code> the number of dictionary matches to trigger the sensor.</p>
</li>
<li><p>Setting in FortiADC (Web Applicatin Firewall &gt; Data Loss Prevention &gt; DLP Sensor)</p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753187555444/dbdb1be5-5a33-4cd8-a4a8-817cc73062b5.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p><code>count</code> - Specify the occurrence threshold for the dictionary match. The sensor will be triggered when the dictionary match reaches the specified number of times. Default: 1 Range: 1-255.</p>
<ul>
<li>For example, if the dictionary applies to credit card numbers and the count is set to 4, the sensor will be triggered when credit card number occurs four times in the HTTP request or response.</li>
</ul>
</li>
<li><p><code>config security waf dlp-sensors</code></p>
</li>
</ul>
<pre><code class="lang-bash">config security waf dlp-sensors
    edit &lt;name&gt;
        <span class="hljs-built_in">set</span> match-type {any|all}
        <span class="hljs-built_in">set</span> description &lt;string&gt;
        config entries
            edit &lt;name&gt;
                <span class="hljs-built_in">set</span> status {<span class="hljs-built_in">enable</span>|<span class="hljs-built_in">disable</span>}
                <span class="hljs-built_in">set</span> dlp-dictionary &lt;datasource&gt;
                <span class="hljs-built_in">set</span> count &lt;<span class="hljs-built_in">integer</span>&gt;
            next
        end
    next
end
</code></pre>
<h3 id="heading-configure-the-sensitive-data-type-to-define-the-type-of-pattern-that-dlp-is-trying-to-match">Configure the Sensitive Data Type to define the type of pattern that DLP is trying to match</h3>
<ul>
<li><p>A <code>Sensitive Data Type</code> object is referenced as part of the <code>DLP policy</code> to prevent information, damage and loss by specifying <code>strings</code> as <code>sensitive data</code>.</p>
</li>
<li><p>Predefined Sensitive Data Type objects</p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753187024356/19fab407-7186-4461-9dd3-edfc3f0c9dc3.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p>To define your own</p>
<ul>
<li><p>Setting in FortiADC (Web Applicatin Firewall &gt; Data Loss Prevention &gt; Sensitive Data Type &gt; Create New)</p>
<ul>
<li><p>You must have a good understanding of Perl-compatible regular expressions (PCRE)</p>
<ul>
<li><a target="_blank" href="https://www.pcre.org/current/doc/html/index.html">https://www.pcre.org/current/doc/html/index.html</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753187262774/4e3bb2a7-452d-4d9a-9d04-8845c46b49c8.png" alt class="image--center mx-auto" /></p>
<ul>
<li><code>config security waf sensitive-data-type</code></li>
</ul>
<pre><code class="lang-bash">config security waf sensitive-data-type
    edit &lt;name&gt;
        <span class="hljs-built_in">set</span> regex &lt;string&gt;
        <span class="hljs-built_in">set</span> description &lt;string&gt;
    next
end
</code></pre>
<h3 id="heading-configure-the-dlp-policy-to-define-the-rules-for-matching-a-sensor-or-sensitive-data-type">Configure the DLP Policy to define the rules for matching a sensor or sensitive data type</h3>
<ul>
<li><p>The Data Loss Prevention (DLP) feature allows the Web Application Firewall (WAF) to prevent information leaks, damage and loss. DLP provides desensitization and warning measures for sensitive information leaks on websites, such as SSN numbers and credit card information, as well as the leakage of sensitive keywords.</p>
</li>
<li><p>You can create a DLP Policy to match a sensor based on file content or an HTTP Payload, and the email protocol being used to attach files. It also allows you to choose the action to allow, log, or block the IP address.</p>
</li>
<li><p>Setting in FortiADC (Web Applicatin Firewall &gt; Data Loss Prevention &gt; DLP Policy)</p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753188702587/721feb49-8438-44ef-89c3-8ac66064f700.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753188721992/8731a6bb-a491-437e-9313-bc0d0f391b08.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p><code>URI Pattern</code> - Specify the URI Pattern in the Data Loss Prevention rules. Scanning and receiving an <code>empty value</code> means this rule is <code>not working</code>.</p>
</li>
<li><p><code>Threshold</code> - The rule will not take effect until the target data exceeds the threshold's specified value. This will <code>not work</code> if <code>Masking is enabled</code>.</p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753188522534/a913bd24-8d07-4f55-b797-0a18f4a63ff1.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p><code>Masking</code> - Enable masking to replace sensitive data with asterisks(*). Default is disable. When masking is enabled, all target data will be replaced by an asterisk(*) so the threshold value won’t take effect here. Masking only works when the action is alert. The connection will be rejected when the action is set as "deny" or "block," so no target data will be replaced.</p>
</li>
<li><p><code>config security waf data-leak-prevention</code></p>
</li>
</ul>
<pre><code class="lang-bash">config security waf data-leak-prevention
    edit &lt;name&gt;
        <span class="hljs-built_in">set</span> status {<span class="hljs-built_in">enable</span>|<span class="hljs-built_in">disable</span>}
        <span class="hljs-built_in">set</span> masking {<span class="hljs-built_in">enable</span>|<span class="hljs-built_in">disable</span>}
        <span class="hljs-built_in">set</span> action {alert|deny|block|silent-deny|captcha|&lt;datasource&gt;}
        <span class="hljs-built_in">set</span> severity {high|medium|low}
        config rule
            edit &lt;name&gt;
                <span class="hljs-built_in">set</span> request-uri-pattern &lt;string&gt;
                <span class="hljs-built_in">set</span> <span class="hljs-built_in">type</span> {sdt|sensors}
                <span class="hljs-built_in">set</span> sensor &lt;datasource&gt;
                <span class="hljs-built_in">set</span> sensitive-data-type &lt;datasource&gt;
                <span class="hljs-built_in">set</span> threshold &lt;<span class="hljs-built_in">integer</span>&gt;
            next
        end
    next
end
</code></pre>
<h3 id="heading-apply-the-dlp-policy-to-a-waf-profile">Apply the DLP Policy to a WAF Profile</h3>
<ul>
<li>Setting in FortiADC (Web Applicatin Firewall &gt; WAF Profile)</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753189068734/1bf27e15-f74e-4d68-a229-d1d169c80d43.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-apply-the-waf-profile-to-a-virtual-server">Apply the WAF Profile to a Virtual Server</h3>
<ul>
<li>Setting in FortiADC (Server Load Balance &gt; Virtual Server &gt; Security &gt; WAF Profile)</li>
</ul>
]]></content:encoded></item></channel></rss>