# Instalacja i konfiguracja

### Wymagania wstępne

Aby pomyślnie przeprowadzić integrację z wykorzystaniem Netacea, upewnij się, że posiadasz:

1. Fastly w wersji 1.2.131 lub wyższej.
2. Dostęp do odpowiednich kluczy API i punktów końcowych wysyłki logów w [portalu Netacea](https://docs.netacea.com/pl/informacje-o-wtyczce-netacea/accessing-your-integration-settings).
3. Skonfigurowany [Monitoring](https://docs.netacea.com/pl/informacje-o-wtyczce-netacea/fastly/monitoring-configuration).

Klienci będą również musieli otworzyć zgłoszenie do działu wsparcia Fastly w celu włączenia POST w swoim środowisku. Musimy upewnić się, że na Twoim koncie Fastly włączone są 2 dyrektywy pragma, które nie są włączone domyślnie.

Wymagane dyrektywy Pragma:

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

Aby włączyć dyrektywy Pragma, utwórz zgłoszenie do [Wsparcia Fastly](https://support.fastly.com).

### Kroki implementacji

* Zaloguj się do interfejsu webowego Fastly.
* Na stronie głównej wybierz odpowiednią usługę. Możesz użyć pola wyszukiwania, aby wyszukać według ID, nazwy lub domeny.
* Kliknij przycisk Edit configuration, a następnie wybierz opcję sklonowania aktywnej wersji. Pojawi się strona Domains.

Wszystkie poniższe zmiany konfiguracji zostaną wprowadzone w nowo sklonowanej wersji.

{% hint style="info" %}
Zanotuj aktualnie aktywną wersję na wypadek konieczności przywrócenia poprzedniego stanu w przyszłości.
{% endhint %}

### Host

Aby umożliwić VCL Netacea wykonywanie wywołań do Protector API, należy skonfigurować 2 nowe hosty z danymi Netacea, które będą wywoływane we [fragmentach VCL](#vcl-snippets).

* Kliknij link Origins. Pojawi się strona Origins.
* Kliknij przycisk „Create a Host". Pojawi się pole Host.

Wypełnij nowy host następującym adresem URL i kliknij „Add":

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

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

Edytuj nowy host, klikając ikonę ołówka i zmień nazwę na:

```
MitSvc
```

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

W polu Override host wprowadź ten sam adres URL co oryginalny host.

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

Powtórz proces, wypełnij nowy host następującym adresem URL i kliknij „Add":

```
assets.ntcacdn.net
```

Edytuj nowy host, klikając ikonę ołówka i zmień nazwę na:

```
CaptchaAssets
```

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

### Fragmenty VCL

Aby Netacea mogła działać i zapewniać ochronę, rozwiązanie musi zostać dodane do środowiska Fastly w formie niestandardowego VCL.

VCL Netacea jest podzielony na 7 kluczowych fragmentów: INIT, DELIVER, RECV, ERROR, RECV\_CONFIGURE, PASS i MISS. Każdy z nich musi zostać dodany do konfiguracji VCL Snippets w Fastly.

{% hint style="info" %}
Netacea dostarczy VCL oddzielnie.
{% endhint %}

**INIT:**

* Przejdź do VCL snippets w Fastly.
* Kliknij przycisk „Create snippet".
* Nadaj fragmentowi odpowiednią nazwę, np. Netacea\_INIT
* Ustaw typ na „init"

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

* Wklej kod INIT do VCL
* W liniach 4–24 znajdziesz zestaw pól unikalnych dla każdego wdrożenia do zdefiniowania; ustaw integration\_type na odpowiedni tryb.

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

**Pola wymagane**

<table data-full-width="true"><thead><tr><th width="338">Pole</th><th>Wartość</th></tr></thead><tbody><tr><td>integration_type</td><td>fastly</td></tr><tr><td>integration_version</td><td>&#x3C;Wersja integracji></td></tr><tr><td>integration_mode</td><td><p>BYPASS - Całkowicie wyłącza integrację Netacea</p><p>INGEST - Tryb pasywny umożliwiający Netacea zbieranie i analizowanie ruchu</p><p>MITIGATE - Tryb aktywny, który będzie mitygować zagrożenia na podstawie Intent Analytics® Netacea</p><p>INJECT - Tryb aktywny dla klientów, którzy chcą otrzymywać analitykę Netacea na swoim backendzie i samodzielnie decydować o podejmowanych działaniach.</p></td></tr><tr><td>api_key</td><td>Dostarczany przez <a href="../accessing-your-integration-settings">portal Netacea</a></td></tr><tr><td>secret_key</td><td>Dostarczany przez <a href="../accessing-your-integration-settings">portal Netacea</a></td></tr><tr><td>encryption_key</td><td>Dostarczany przez <a href="../accessing-your-integration-settings">portal Netacea</a></td></tr><tr><td>cookie_name</td><td><p>Odpowiednia nazwa dla pliku cookie mitygacji.</p><p><strong>Dla zwiększenia bezpieczeństwa nie umieszczaj w tej nazwie słów Netacea ani Mitigation.</strong></p></td></tr><tr><td>captcha_cookie_name</td><td><p>Odpowiednia nazwa dla pliku cookie śledzenia Captcha.</p><p><strong>Dla zwiększenia bezpieczeństwa nie umieszczaj w tej nazwie słów Netacea ani Mitigation.</strong></p></td></tr><tr><td>ignore_list</td><td>Rozdzielona przecinkami lista podkatalogów, w których mitygacja nie powinna być stosowana. Możesz ustawić tutaj do 5 podkatalogów. Wszystkie zasoby w takim katalogu będą ignorowane przez integrację.<br>Domyślnie dodaj <code>/media/,/static/</code>, aby zapewnić pełne pokrycie integracji bez wyzwalania na treściach multimedialnych.</td></tr></tbody></table>

**Pola opcjonalne - Można pozostawić puste, chyba że zostało to uzgodnione z zespołem Netacea**

<table data-full-width="true"><thead><tr><th width="330">Pole</th><th>Wartość</th></tr></thead><tbody><tr><td>real_ip_header_name</td><td><p>Umożliwia użytkownikom dostosowanie, który nagłówek jest używany dla adresu IP żądania.</p><p>Pozostaw <strong>puste domyślnie</strong>, aby użyć standardowego pola Fastly <code>client.IP</code>.</p></td></tr><tr><td>use_relative_path_captcha_assets</td><td>Jeśli ustawione na <code>true</code>, zapewnia, że Captcha jest serwowana bez odniesień do CDN Netacea. W przeciwnym razie w HTML Captcha będą osadzone pełne adresy URL do CDN Netacea.<br>Pozostaw <strong>puste domyślnie</strong>, aby używać HTML na całej stronie.</td></tr><tr><td>captcha_path</td><td>Umożliwia użytkownikom utworzenie punktu końcowego, który zawsze serwuje HTML Captcha. Przydatne przy implementacji wyzwania captcha dla aplikacji mobilnych.<br>Pozostaw <strong>puste domyślnie</strong>, aby używać ścieżki /ATAverify.</td></tr><tr><td>captcha_header</td><td>Niestandardowy nagłówek wskazujący, czy odpowiedź jest stroną Captcha. Musi być w formacie <code>name={{nazwa nagłówka}}&#x26;value={{wartość nagłówka}}.</code></td></tr><tr><td>enable_captcha_content_negotiation</td><td>Obsługuje format strony Captcha. Gdy ustawione na <code>true</code>, integracja może zwrócić stronę Captcha w formie JSON.<br>Pozostaw <strong>puste domyślnie</strong>, aby używać HTML na całej stronie.</td></tr></tbody></table>

<figure><img src="https://1527802543-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fu9Wa2WiFkCND3fktx8wd%2Fuploads%2Fgit-blob-525038b624bb0310dbd4fb6300b7e9aaa97de335%2Fimage%20(75).png?alt=media" alt=""><figcaption><p>Przykład prawidłowej konfiguracji</p></figcaption></figure>

W opcjach zaawansowanych ustaw priorytet na 45.

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

**RECV**:

* Kliknij przycisk „Create snippet"
* Nadaj fragmentowi odpowiednią nazwę, np. Netacea\_RECV
* Ustaw typ na „within subroutine" i „recv (vcl\_recv)"
* Wklej kod RECV do VCL
* Ustaw priorytet na 45

**DELIVER**

* Kliknij przycisk „Create snippet"
* Nadaj fragmentowi odpowiednią nazwę, np. Netacea\_DELIVER
* Ustaw typ na „within subroutine" i „deliver (vcl\_deliver)"
* Wklej kod DELIVER do VCL
* Ustaw priorytet na 45

**ERROR:**

* Kliknij przycisk „Create snippet"
*
