# Installation og konfiguration

### Forudsætninger

For at kunne integrere med Netacea skal du sikre dig, at du har:

1. En Fastly version 1.2.131+ eller højere.
2. Adgang til de relevante API-nøgler og log shipping-endpoints i [Netacea portalen](https://docs.netacea.com/dk/netacea-plugin-information/accessing-your-integration-settings).
3. [Overvågning ](https://docs.netacea.com/dk/netacea-plugin-information/fastly/monitoring-configuration)er blevet konfigureret.

Kunder skal også åbne en supportsag hos Fastly for at aktivere POST i deres miljø. Vi skal sikre, at der er 2 pragmas aktiveret på din Fastly-konto, som ikke er aktiveret som standard.

Påkrævede pragmas:

```
Pragma optional_param fix_unsent_body_drain true;
Pragma optional_param no_body_if_bereq_is_get_or_head true;
```

For at aktivere pragmas skal du oprette en supportsag hos [Fastly Support](https://support.fastly.com).

### Implementeringstrin

* Log ind på Fastly-webgrænsefladen.
* Fra startsiden vælger du den relevante service. Du kan bruge søgefeltet til at søge efter ID, navn eller domæne.
* Klik på knappen Rediger konfiguration, og vælg derefter muligheden for at klone den aktive version. Siden Domæner vises.

Alle konfigurationsændringer nedenfor vil blive foretaget på den nyligt klonede version.

{% hint style="info" %}
Notér den aktuelt aktive version, hvis du har brug for at rulle tilbage i fremtiden.
{% endhint %}

### Host

For at tillade Netacea VCL at foretage kald til Protector API skal 2 nye hosts konfigureres med Netacea's oplysninger, som skal kaldes i [VCL snippets](#vcl-snippets).

* Klik på linket Origins. Siden Origins vises.
* Klik på knappen "Create a Host". Feltet Host vises.

Udfyld en ny host med følgende URL og klik "Add":

```
mitigations-lbr.netacea.net
```

<figure><img src="https://4249910968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUvBdg0TpfmPcaNVS4gPi%2Fuploads%2Fgit-blob-b7c4ea80005bb4ee1bea3868966b361aab551e4a%2FMitSvc2.PNG?alt=media" alt=""><figcaption></figcaption></figure>

Rediger den nye host ved at klikke på blyantsikonet og ændr navnet til:

```
MitSvc
```

<figure><img src="https://4249910968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUvBdg0TpfmPcaNVS4gPi%2Fuploads%2Fgit-blob-ebf7b118465ac7bef8c82bb7bbd51f4b245fdcf3%2FMitSvc.PNG?alt=media" alt=""><figcaption></figcaption></figure>

I feltet Override host indtastes den samme URL som den oprindelige host.

<figure><img src="https://4249910968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUvBdg0TpfmPcaNVS4gPi%2Fuploads%2Fgit-blob-7275cea7605b5ffa73dd1f752c9b97abd22a6928%2FScreenshot%202025-04-02%20161507.png?alt=media" alt=""><figcaption></figcaption></figure>

Gentag processen, udfyld den nye host med følgende URL og klik "Add":

```
assets.ntcacdn.net
```

Rediger den nye host ved at klikke på blyantsikonet og ændr navnet til:

```
CaptchaAssets
```

<figure><img src="https://4249910968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUvBdg0TpfmPcaNVS4gPi%2Fuploads%2Fgit-blob-49a8907b485611ce27805cb9722cd40221b0e63b%2Fimage%20(72).png?alt=media" alt=""><figcaption></figcaption></figure>

### VCL Snippets

For at Netacea kan aktiveres og tilbyde beskyttelse, skal løsningen tilføjes til Fastly-miljøet i form af en brugerdefineret VCL.

Netacea VCL er opdelt i 7 nøglesnippets: INIT, DELIVER, RECV, ERROR, RECV\_CONFIGURE, PASS og MISS. Hver enkelt skal tilføjes til VCL Snippets-konfigurationen i Fastly.

{% hint style="info" %}
Netacea vil levere VCL separat.
{% endhint %}

**INIT:**

* Naviger til VCL snippets i Fastly.
* Klik på knappen "Create snippet".
* Giv snippet'et et passende navn, f.eks. Netacea\_INIT
* Sæt typen til "init"

<figure><img src="https://4249910968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUvBdg0TpfmPcaNVS4gPi%2Fuploads%2Fgit-blob-1ea5a795993c72beb810dc8aa93f9b8ae91b663f%2Fimage%20(1)%20(2)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

* Indsæt INIT-koden i VCL
* På linje 4 - 24 finder du et sæt felter, der er unikke for hver deployment og skal defineres, sæt integration\_type til den passende tilstand.

<figure><img src="https://4249910968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUvBdg0TpfmPcaNVS4gPi%2Fuploads%2Fgit-blob-5b28e67307423fa52a04b5e02bdfdf56d56508e7%2Fimage%20(74).png?alt=media" alt=""><figcaption></figcaption></figure>

**Påkrævede felter**

<table data-full-width="true"><thead><tr><th width="338">Felt</th><th>Værdi</th></tr></thead><tbody><tr><td>integration_type</td><td>fastly</td></tr><tr><td>integration_version</td><td>&#x3C;Integrationsversion></td></tr><tr><td>integration_mode</td><td><p>BYPASS - Deaktiverer Netacea-integrationen fuldstændigt</p><p>INGEST - Passiv tilstand, der tillader Netacea at indsamle og analysere trafik</p><p>MITIGATE - Aktiv tilstand, der vil mitigere baseret på Netacea's Intent Analytics®</p><p>INJECT - Aktiv tilstand for kunder, der ønsker at modtage Netacea-analyser ved deres backend og selv beslutte handlinger.</p></td></tr><tr><td>api_key</td><td>Leveres af <a href="../accessing-your-integration-settings">Netacea portalen</a></td></tr><tr><td>secret_key</td><td>Leveres af <a href="../accessing-your-integration-settings">Netacea portalen</a></td></tr><tr><td>encryption_key</td><td>Leveres af <a href="../accessing-your-integration-settings">Netacea portalen</a></td></tr><tr><td>cookie_name</td><td><p>Et passende navn til din mitigerings-cookie.</p><p><strong>For øget sikkerhed bør du ikke inkludere Netacea eller Mitigation i dette navn.</strong></p></td></tr><tr><td>captcha_cookie_name</td><td><p>Et passende navn til din Captcha-sporings-cookie.</p><p><strong>For øget sikkerhed bør du ikke inkludere Netacea eller Mitigation i dette navn.</strong></p></td></tr><tr><td>ignore_list</td><td>Kommasepareret liste over undermapper, hvor mitigering ikke skal anvendes. Du kan opsætte op til 5 undermapper her. Alle ressourcer under sådanne mapper vil blive ignoreret af integrationen.<br>Tilføj <code>/media/,/static/</code> som standard for at sikre fuld integrationsdækning uden at trigge på medieindhold.</td></tr></tbody></table>

**Valgfrie felter - Kan efterlades blanke, medmindre andet er aftalt med Netacea-teamet**

<table data-full-width="true"><thead><tr><th width="330">Felt</th><th>Værdi</th></tr></thead><tbody><tr><td>real_ip_header_name</td><td><p>Giver brugere mulighed for at tilpasse, hvilken header der bruges til requestens IP.</p><p>Lad feltet være <strong>blankt som</strong> standard for at bruge Fastlys standard <code>client.IP</code>-felt.</p></td></tr><tr><td>use_relative_path_captcha_assets</td><td>Hvis sat til <code>true</code>, sikres det, at Captcha serveres uden referencer til Netacea CDN. Ellers vil fuld URL til Netacea CDN blive indlejret i Captcha HTML.<br>Lad feltet være <strong>blankt som</strong> standard for at bruge HTML på hele sitet.</td></tr><tr><td>captcha_path</td><td>Giver brugere mulighed for at oprette et endpoint, der altid serverer Captcha HTML. Nyttigt ved implementering af captcha-udfordring til mobilapps.<br>Lad feltet være <strong>blankt som</strong> standard for at bruge /ATAverify-stien.</td></tr><tr><td>captcha_header</td><td>Brugerdefineret header, der indikerer, om responsen er en Captcha-side. Skal være i formatet <code>name={{header name}}&#x26;value={{header value}}.</code></td></tr><tr><td>enable_captcha_content_negotiation</td><td>Håndterer formatet af Captcha-siden. Når sat til <code>true</code>, er det muligt for integrationen at returnere Captcha-siden i JSON-format.<br>Lad feltet være <strong>blankt som</strong> standard for at bruge HTML på hele sitet.</td></tr></tbody></table>

<figure><img src="https://4249910968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUvBdg0TpfmPcaNVS4gPi%2Fuploads%2Fgit-blob-525038b624bb0310dbd4fb6300b7e9aaa97de335%2Fimage%20(75).png?alt=media" alt=""><figcaption><p>Eksempel på gyldig konfiguration</p></figcaption></figure>

Under avancerede indstillinger sættes prioriteten til 45.

<figure><img src="https://4249910968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUvBdg0TpfmPcaNVS4gPi%2Fuploads%2Fgit-blob-12a5a2fad7d4b0e708596b3fff9f04279f7e7fbd%2Fimage%20(3)%20(1)%20(2)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

**RECV**:

* Klik på knappen "Create snippet"
* Giv snippet'et et passende navn, f.eks. Netacea\_RECV
* Sæt typen til "within subroutine" & "recv (vcl\_recv)"
* Indsæt RECV-koden i VCL
* Sæt prioriteten til 45

**DELIVER**

* Klik på knappen "Create snippet"
* Giv snippet'et et passende navn, f.eks. Netacea\_DELIVER
* Sæt typen til "within subroutine" & "deliver (vcl\_deliver)"
* Indsæt DELIVER-koden i VCL
* Sæt prioriteten til 45

**ERROR:**

* Klik på knappen "Create snippet"
* Giv snippet'et et passende navn, f.eks. Netacea\_ERROR
* Sæt typen til "within subroutine" & "error (vcl\_error)"
* Indsæt ERROR-koden i VCL
* Sæt prioriteten til 45

**RECV\_CONFIGURE:**

* Klik på knappen "Create snippet"
* Giv snippet'et et passende navn, f.eks. Netacea\_RECV\_CONFIGURE
* Sæt typen til "within subroutine" & "recv (vcl\_recv)"
* Indsæt RECV\_CONFIGURE-koden i VCL
* Sæt prioriteten til 46

PASS:

* Klik på knappen "Create snippet"
* Giv snippet'et et passende navn, f.eks. Netacea\_PASS
* Sæt typen til "
