# Konfiguracja monitorowania

### Wymagania wstępne

Zanim Netacea będzie mogła pomyślnie monitorować Twoją platformę, upewnij się, że:

1. Przekazałeś Netacea swoją [rolę IAM Fastly](https://docs.fastly.com/en/guides/creating-an-aws-iam-role-for-fastly-logging), jeśli zostało to wymagane.
2. Odpowiednie punkty końcowe do przesyłania logów oraz dane uwierzytelniające zostały udostępnione przez [portal Netacea](https://docs.netacea.com/pl/informacje-o-wtyczce-netacea/accessing-your-integration-settings).
3. Dostarczyłeś listę wszystkich znanych, bezpiecznych i zaufanych użytkowników, partnerów oraz aplikacji zewnętrznych. Obejmuje to listę zaufanych botów i narzędzi automatycznych. Informacje o znanych złośliwych podmiotach są również cenne.
4. Dostarczyłeś listę przypadków użycia ochrony oraz ścieżek, które są podatne na poszczególne zagrożenia.

### Minimalny wymagany zestaw danych

W celu pomyślnej analizy danych monitorowane będą następujące dane:

<table><thead><tr><th width="234">Pola wymagane</th><th>Opis</th></tr></thead><tbody><tr><td>Znacznik czasu</td><td>Czas otrzymania żądania</td></tr><tr><td>Adres IP</td><td>Adres IP, z którego wysłano żądanie</td></tr><tr><td>Agent użytkownika</td><td>Ciąg znaków agenta użytkownika wysłany w nagłówku przez klienta</td></tr><tr><td>Metoda</td><td>Metoda HTTP żądania</td></tr><tr><td>Ścieżka</td><td>Ścieżka żądanego zasobu</td></tr><tr><td>Zapytanie</td><td>Ciąg zapytania żądania</td></tr><tr><td>Status</td><td>Kod statusu HTTP zwrócony przez serwer</td></tr><tr><td>Strona odsyłająca</td><td>Strona internetowa, z której użytkownik przeszedł przez link</td></tr><tr><td>Wysłane bajty</td><td>Bajty wysłane w ramach żądania użytkownika</td></tr><tr><td>Protokół</td><td>Protokół cyklu żądanie-odpowiedź.</td></tr><tr><td>Czas żądania</td><td>Czas trwania żądania w mikrosekundach.</td></tr><tr><td>Host żądania</td><td>Bieżący nagłówek żądania Host.</td></tr><tr><td>Odcisk JA3</td><td>JA3 to metoda tworzenia odcisków palców klientów SSL/TLS.</td></tr></tbody></table>

{% hint style="info" %}
Oprócz powyższych pól standardowych, integracja Netacea doda kilka pól niestandardowych do formatu logu.\
\
Obejmują one:<br>

`bc_type`, `user_id`, `integration_type` oraz `integration_version`.
{% endhint %}

### Kroki wdrożenia

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

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

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

### Przesyłanie strumieniowe logów

* Przejdź do obszaru Logging.
* Kliknij przycisk „Create endpoint" dla Amazon S3

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

* Wprowadź następujące dane:

XLOCKX168

<table><thead><tr><th width="186">Pole</th><th>Wartość</th></tr></thead><tbody><tr><td>Name</td><td>Wprowadź łatwą do zapamiętania, czytelną dla człowieka nazwę punktu końcowego, np. Netacea_Logging.</td></tr><tr><td>Placement</td><td>Format Version Default</td></tr><tr><td>Log Format</td><td><a href="#undefined">Format logu</a></td></tr><tr><td>Timestamp</td><td><a href="#timestamp">Znacznik czasu</a></td></tr><tr><td>Bucket Name</td><td>Nazwa zasobnika Amazon S3 udostępniona przez <a href="../accessing-your-integration-settings">portal Netacea</a>.</td></tr><tr><td>Access Method</td><td>ARN roli IAM lub dane uwierzytelniające użytkownika udostępnione przez <a href="../accessing-your-integration-settings">portal Netacea</a>.</td></tr><tr><td>Period</td><td></td></tr></tbody></table>

169XLOCKX

| Path                     | /                                                                                                                                                     |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| Domain                   | <p>Domena punktu końcowego Amazon S3 udostępniona przez Netacea.</p><p>Jeśli nie została określona, użyj <code>s3.eu-west-1.amazonaws.com</code>.</p> |
| Select a log line format | Blank                                                                                                                                                 |
| Compression              | Gzip                                                                                                                                                  |

{% hint style="info" %}
Wszystkie opcje niewymienione powyżej należy pozostawić z wartościami domyślnymi.
{% endhint %}

#### Format logu

{% code overflow="wrap" fullWidth="false" %}

```
{"@timestamp": "%{%Y-%m-%dT%H:%M:%S%z}t","bc_type": %{if(req.http.netacea_bctype_string, "%u0022" + json.escape(req.http.netacea_bctype_string) + "%u0022", "null")}V,"bytes_sent": "%B","cookie_session_status": %{if(req.http.x-netacea:cookie_session_status, "%u0022" + json.escape(req.http.x-netacea:cookie_session_status) + "%u0022", "null")}V,"client": "%{json.escape(client.ip)}V","domain": %{if(req.http.host, "%u0022" + json.escape(req.http.host) + "%u0022", "null")}V,"integration_mode": %{"%u0022" + json.escape(req.http.x-netacea:integration_mode) + "%u0022"}V,"integration_type": %{if(req.http.integration_type, "%u0022" + json.escape(req.http.integration_type) + "%u0022", "null")}V,"integration_version": %{if(req.http.integration_version, "%u0022" + json.escape(req.http.integration_version) + "%u0022", "null")}V,"method": "%{json.escape(req.method)}V","path": "%{json.escape(req.url.path)}V","mit_svc_latency":%{if(req.http.x-netacea:mit_svc_latency, "%u0022" + json.escape(req.http.x-netacea:mit_svc_latency) + "%u0022", "0")}V,"mit_status":%{if(req.http.x-netacea:mit_status, "%u0022" + json.escape(req.http.x-netacea:mit_status) + "%u0022", "0")}V,"protocol": "%{json.escape(req.proto)}V","query": "%{json.escape(req.url.qs)}V","referrer": %{if(req.http.referer, "%u0022" + json.escape(req.http.referer) + "%u0022", "null")}V,"request_time": %{time.elapsed}V,"status": "%{json.escape(resp.status)}V","user_agent": %{if(req.http.user-agent, "%u0022" + json.escape(req.http.user-agent) + "%u0022", "null")}V,"user_id": %{if(req.http.x-netacea-userid, "%u0022" + json.escape(req.http.x-netacea-userid) + "%u0022", "null")}V,"client_ja3_md5": %{if(tls.client.ja3_md5, "%u0022" + json.escape(tls.client.ja3_md5) + "%u0022", "null")}V,"x_forwarded_for": %{if(req.http.X-Forwarded-For, "%u0022" + json.escape(req.http.X-Forwarded-For) + "%u0022", "null")}V}
```

{% endcode %}

#### Znacznik czasu

```
%Y-%m-%dT%H:%M:%S.000
```

### Uwagi dotyczące logowania

Fastly pozwala użytkownikom włączyć funkcję hosta o nazwie „[Shielding](https://developer.fastly.com/learning/concepts/shielding/)", która oferuje pewne korzyści, takie jak zmniejszenie obciążenia serwera źródłowego, poprawa współczynnika trafień cache itp. Włączenie tej funkcji w usłudze Fastly korzystającej z naszej integracji powoduje duplikowanie logów.

Podczas konfigurowania przesyłania logów Fastly domyślnie wysyła wszystkie żądania, w tym zawartość statyczną i mediów, która nie jest wymagana przez Netacea.\
\
Aby rozwiązać ten problem, musimy dodać warunek do usługi i przypisać go do logowania Netacea.

* Przejdź do obszaru Conditions
* Kliknij „Create Condition"

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

* Wprowadź następujące dane w oknie podręcznym:

<table><thead><tr><th width="186">Pole</th><th>Wartość</th></tr></thead><tbody><tr><td>Type</td><td>Response</td></tr><tr><td>Name</td><td>np. Netacea_Log_Visit</td></tr><tr><td>Apply if</td><td><code>(req.url !~ "/media/" &#x26;&#x26; req.url !~ "/static/") &#x26;&#x26; fastly.ff.visits_this_service == 0</code></td></tr><tr><td>Priority</td><td>10 (domyślnie)</td></tr></tbody></table>

* Kliknij „Save" i przejdź do obszaru Logging
* Znajdź Netacea Logging i kliknij „Attach a condition"

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

* W oknie podręcznym wybierz nowo utworzony warunek

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

### Finalizacja

Sprawdź, czy wykonałeś następujące kroki:

* Upewnij się, że nie pojawiają się żadne ostrzeżenia o błędach

Możesz teraz wdrożyć edytowaną wersję, klikając „Activate".

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

Przesyłanie logów zostanie teraz wdrożone w usłudze, dla której zostało skonfigurowane. Możesz zweryfikować poprawność wdrożenia poprzez:

* Przegląd aktywnej wersji pod kątem nowego zadania przesyłania logów.
* Poproszenie Netacea o przegląd wewnętrznych
