# Overvågningskonfiguration

### Forudsætninger

Før Netacea kan overvåge din platform korrekt, skal du sikre dig, at du har:

1. Leveret en liste over alle kendte, sikre og betroede brugere, partnere og tredjepartsapps. Dette inkluderer en liste over betroede bots og automatiserede værktøjer. Information om kendte ondsindede aktører er også værdifuld.
2. Leveret en liste over beskyttelsesscenarier og de stier, der er sårbare over for hvert enkelt.
3. Fået de relevante log shipping-endpoints og legitimationsoplysninger delt via [Netacea portalen](https://docs.netacea.com/dk/netacea-plugin-information/accessing-your-integration-settings).

### Implementeringstrin for log streaming

* Log ind på Fastly/Magento-webgrænsefladen.
* Naviger til Stores → Configuration → Advanced → System → Full Page Cache → Fastly Configuration → Tools → Real Time Log Streaming.
* Opret et nyt Real-Time Log Streaming-job ved at klikke på "Create" under Create Endpoint, vælge Amazon S3 og klikke på "Add".

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

* Udfyld log streaming-jobbet med følgende information:

XLOCKX91\`\`\` {"@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} \`\`\`92XLOCKXXLOCKX9798XLOCKX

<table><thead><tr><th width="216">Felt</th><th>Værdi</th></tr></thead><tbody><tr><td>Navn</td><td>Indtast et letgenkendeligt navn for endpointet, f.eks. Netacea_Logging.</td></tr><tr><td>Logformat</td><td><a href="#log-format">Logformat</a></td></tr><tr><td>Tidsstempel</td><td><a href="#undefined">Tidsstempel</a></td></tr><tr><td>Bucket-navn</td><td>Navnet leveret af Netacea</td></tr><tr><td>Adgangsnøgle</td><td>Adgangsnøglen leveret af Netacea</td></tr><tr><td>Hemmelig nøgle</td><td>Den hemmelige nøgle leveret af Netacea</td></tr><tr><td>Sti</td><td>Stien leveret af Netacea</td></tr><tr><td>Domæne</td><td>s3.eu-west-1.amazonaws.com</td></tr><tr><td>Loglinjeformat</td><td>Tom</td></tr><tr><td>Komprimering</td><td>Gzip</td></tr><tr><td>GZIP-niveau</td><td></td></tr><tr><td>Periode</td><td></td></tr></tbody></table>

{% hint style="warning" %}
Hvis Shielding er aktiveret for Fastly Host(s), skal du læse afsnittet nedenfor kaldet "Shielding-overvejelser", før du opretter et logging-endpoint.
{% endhint %}

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

#### **Logformat**

{% code overflow="wrap" %}

```
{"@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 %}

#### Tidsstempel

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

### Shielding-overvejelser

Fastly giver brugere mulighed for at aktivere Host-funktionen kaldet "[Shielding](https://developer.fastly.com/learning/concepts/shielding/)", som har visse fordele såsom reduceret belastning på origin, forbedret cache hit ratio m.m. Aktivering af denne funktion i en Fastly-tjeneste, der bruger vores integration, resulterer i en duplikering af logs, der sendes gennem Netacea-logging. Dette forventer vi ikke.\
\
For at løse dette problem skal vi tilknytte en Condition til Netacea Logging.

* Klik på tandhjulsikonet ved siden af logging-endpointet

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

* I popup-vinduet skal du finde rækken "Condition" og klikke på "Attach a condition"

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

* Derefter kan du klikke på "Create a new response condition"

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

* Et popup-vindue åbnes, hvor du skal indtaste disse oplysninger:

<table><thead><tr><th width="186">Felt</th><th>Værdi</th></tr></thead><tbody><tr><td>Navn</td><td>f.eks. Netacea_Log_Visit</td></tr><tr><td>Anvend hvis</td><td><code>(req.url !~ "/media/" &#x26;&#x26; req.url !~ "/static/") &#x26;&#x26; fastly.ff.visits_this_service == 0</code></td></tr><tr><td>Prioritet</td><td>10 (standard)</td></tr></tbody></table>

* Klik på "Create". Du skulle nu se, at Condition er blevet tilknyttet logging-strømmen

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

* Nu kan du klikke på "Create" igen, og dette vil opdatere Logging korrekt

### Afslutning

Kontrollér, at du har gennemført følgende trin:

* Konfigureret[ log streaming](#log-streaming) til den leverede S3-bucket
* Sikret, at der ikke vises fejladvarsler

Du er nu klar til at deploye ved at klikke på "Save Config"

{% hint style="info" %}
En cache-rydning kan undertiden være nødvendig. For at gøre dette skal du gå til System -> Cache Management og klikke på "Flush Magento Cache".
{% endhint %}

Overvågning vil nu blive deployeret på Fastly/Magento-miljøet. Du kan verificere, at deployment er aktiv ved at:

* Gennemgå den aktive version for det nye log shipping-job.
* Anmode Netacea om at gennemgå interne ingest-metrikker.
* Anmode Netacea om at validere dataindhold og -format.
