# Overvågningskonfiguration

### Forudsætninger

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

1. Givet Netacea din Fastly [IAM Role](https://docs.fastly.com/en/guides/creating-an-aws-iam-role-for-fastly-logging), hvis det er anmodet.
2. Fået de relevante log-shipping-endpoints og legitimationsoplysninger delt via [Netacea portal](https://docs.netacea.com/dk/netacea-plugin-information/accessing-your-integration-settings).
3. Leveret en liste over alle kendte, sikre og betroede listebrugere, partnere og tredjepartsapps. Dette inkluderer en liste over betroede bots og automatiserede værktøjer. Enhver information om kendte ondsindede aktører er også værdifuld.
4. Leveret en liste over beskyttelsesanvendelsesscenarier og de stier, der er sårbare over for hver.

### Minimum påkrævet datasæt

For at analysere data korrekt vil følgende data blive overvåget:

<table><thead><tr><th width="234">Påkrævede felter</th><th>Beskrivelse</th></tr></thead><tbody><tr><td>Timestamp</td><td>Tidspunktet, hvor anmodningen blev modtaget</td></tr><tr><td>IP Address</td><td>IP-adressen, hvorfra anmodningen blev foretaget</td></tr><tr><td>User Agent</td><td>User agent-strengen sendt i headeren af klienten</td></tr><tr><td>Method</td><td>HTTP-metoden for anmodningen</td></tr><tr><td>Path</td><td>Stien til den anmodede ressource</td></tr><tr><td>Query</td><td>Query-strengen for anmodningen</td></tr><tr><td>Status</td><td>HTTP-statuskoden returneret af serveren</td></tr><tr><td>Referrer</td><td>Websiden, brugeren fulgte et link fra</td></tr><tr><td>Bytes Sent</td><td>Bytes sendt som en del af brugerens anmodning</td></tr><tr><td>Protocol</td><td>Protokollen for anmodning-svar-cyklussen.</td></tr><tr><td>Request Time</td><td>Hvor lang tid anmodningen tog i mikrosekunder.</td></tr><tr><td>Request Host</td><td>Den aktuelle Host-anmodningsheader.</td></tr><tr><td>JA3 Fingerprint</td><td>JA3 er en metode til at oprette SSL/TLS-klientfingeraftryk.</td></tr></tbody></table>

{% hint style="info" %}
Ud over ovenstående standardfelter vil Netacea-integrationen tilføje flere brugerdefinerede felter til logformatet.\
\
Disse inkluderer:<br>

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

### Implementeringstrin

1. Log ind på Fastly-webgrænsefladen.
2. Fra startsiden skal du vælge den relevante tjeneste. Du kan bruge søgefeltet til at søge efter ID, navn eller domæne.
3. 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" %}
Noter den aktuelt aktive version, hvis du har brug for at rulle tilbage i fremtiden.
{% endhint %}

### Log Streaming

* Naviger til Logging-området.
* Klik på knappen "Create endpoint" for Amazon S3

<figure><img src="https://4249910968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUvBdg0TpfmPcaNVS4gPi%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>

* Indtast følgende oplysninger:

XLOCKX168

<table><thead><tr><th width="186">Felt</th><th>Værdi</th></tr></thead><tbody><tr><td>Name</td><td>Indtast et letgenkendeligt, menneskelæsbart navn til endpointet, såsom Netacea_Logging.</td></tr><tr><td>Placement</td><td>Format Version Default</td></tr><tr><td>Log Format</td><td><a href="#undefined">Log Format</a></td></tr><tr><td>Timestamp</td><td><a href="#timestamp">Timestamp</a></td></tr><tr><td>Bucket Name</td><td>Navnet på Amazon S3-bucket'en leveret af <a href="../accessing-your-integration-settings">Netacea portal</a>.</td></tr><tr><td>Access Method</td><td>IAM Role ARN eller brugerlegitimationsoplysninger leveret af <a href="../accessing-your-integration-settings">Netacea portal</a>.</td></tr><tr><td>Period</td><td></td></tr></tbody></table>

169XLOCKX

| Path                     | /                                                                                                                                                   |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| Domain                   | <p>Domænet for Amazon S3-endpointet, der er leveret af Netacea.</p><p>Hvis ikke angivet, brug venligst <code>s3.eu-west-1.amazonaws.com</code>.</p> |
| Select a log line format | Blank                                                                                                                                               |
| Compression              | Gzip                                                                                                                                                |

{% hint style="info" %}
Enhver mulighed, der ikke er angivet ovenfor, bør efterlades med standardværdien.
{% endhint %}

#### Log Format

{% 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 %}

#### Timestamp

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

### Overvejelser vedrørende logning

Fastly giver brugere mulighed for at aktivere værtens funktion kaldet "[Shielding](https://developer.fastly.com/learning/concepts/shielding/)", som har nogle fordele såsom reduktion af origin-belastning, forbedring af cache hit-ratio osv. Aktivering af denne funktion i en Fastly-tjeneste, der bruger vores integration, resulterer i duplikering af logs.

Ved konfiguration af Fastly log-shipping vil det som standard sende alle anmodninger, inklusive statisk indhold og medieindhold, der ikke er påkrævet af Netacea.\
\
For at løse dette problem skal vi tilføje en betingelse til tjenesten og knytte den til Netacea Logging.

* Naviger til Conditions-området
* Klik på "Create Condition"

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

* Indtast følgende oplysninger i popup-vinduet:

<table><thead><tr><th width="186">Felt</th><th>Værdi</th></tr></thead><tbody><tr><td>Type</td><td>Response</td></tr><tr><td>Name</td><td>f.eks. 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 (standard)</td></tr></tbody></table>

* Klik på "Save" og naviger til Logging-området
* Find Netacea Logging og klik 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-2eff7aca41eb2212627ed8279214562586b2c974%2Fimage%20(2)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

* I popup-vinduet skal du vælge den nyoprettede betingelse

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

### Afslutning

Kontroller, at du har gennemført følgende trin:

* Sørg for, at der ikke vises fejladvarsler

Du er nu klar til at implementere den version, du har redigeret, ved at klikke på "Activate".

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

Log-shipping vil nu blive implementeret på den tjeneste, den blev konfigureret til. Du kan verificere, at implementeringen er korrekt 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 dataindholdet og formatet.
