# Övervakningskonfiguration

### Förutsättningar

Innan Netacea framgångsrikt kan övervaka din plattform, vänligen säkerställ att du har:

1. Försett Netacea med din Fastly [IAM Role](https://docs.fastly.com/en/guides/creating-an-aws-iam-role-for-fastly-logging), om så begärts.
2. Fått relevanta loggöverföringsändpunkter och autentiseringsuppgifter delade via [Netacea portal](https://docs.netacea.com/se/netacea-plugininformation/accessing-your-integration-settings).
3. Tillhandahållit en lista över alla kända, säkra och betrodda användare, partners och tredjepartsappar. Detta inkluderar en lista över betrodda bottar och automatiserade verktyg. Information om kända skadliga aktörer är också värdefull.
4. Tillhandahållit en lista över skyddsanvändningsfall och de sökvägar som är sårbara för vart och ett.

### Minsta nödvändiga dataset

För att framgångsrikt analysera data kommer följande data att övervakas:

<table><thead><tr><th width="234">Obligatoriska fält</th><th>Beskrivning</th></tr></thead><tbody><tr><td>Timestamp</td><td>Tidpunkten då begäran mottogs</td></tr><tr><td>IP Address</td><td>IP-adressen från vilken begäran gjordes</td></tr><tr><td>User Agent</td><td>User agent-strängen som skickades i headern av klienten</td></tr><tr><td>Method</td><td>HTTP-metoden för begäran</td></tr><tr><td>Path</td><td>Sökvägen till den begärda resursen</td></tr><tr><td>Query</td><td>Frågesträngen i begäran</td></tr><tr><td>Status</td><td>HTTP-statuskoden som returneras av servern</td></tr><tr><td>Referrer</td><td>Webbsidan som användaren följde en länk från</td></tr><tr><td>Bytes Sent</td><td>Antal byte som skickades som en del av användarens begäran</td></tr><tr><td>Protocol</td><td>Protokollet för begäran-svar-cykeln.</td></tr><tr><td>Request Time</td><td>Hur lång tid begäran tog i mikrosekunder.</td></tr><tr><td>Request Host</td><td>Den aktuella Host-begäranheadern.</td></tr><tr><td>JA3 Fingerprint</td><td>JA3 är en metod för att skapa SSL/TLS-klientfingeravtryck.</td></tr></tbody></table>

{% hint style="info" %}
Utöver ovanstående standardfält kommer Netacea-integrationen att lägga till flera anpassade fält i loggformatet.\
\
Dessa inkluderar:<br>

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

### Implementeringssteg

1. Logga in på Fastlys webbgränssnitt.
2. Från startsidan, välj lämplig tjänst. Du kan använda sökrutan för att söka efter ID, namn eller domän.
3. Klicka på knappen för att redigera konfiguration och välj sedan alternativet att klona den aktiva versionen. Sidan Domains visas.

Alla konfigurationsändringar nedan kommer att göras på den nyligen klonade versionen.

{% hint style="info" %}
Notera den för närvarande aktiva versionen om du behöver återställa i framtiden.
{% endhint %}

### Loggströmning

* Navigera till området Logging.
* Klicka på knappen "Create endpoint" för Amazon S3

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

* Ange följande uppgifter:

XLOCKX168

<table><thead><tr><th width="186">Fält</th><th>Värde</th></tr></thead><tbody><tr><td>Name</td><td>Ange ett minnesvärt läsbart namn för ändpunkten, 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>Namnet på Amazon S3-bucketen som tillhandahålls av <a href="../accessing-your-integration-settings">Netacea portal</a>.</td></tr><tr><td>Access Method</td><td>IAM Role ARN eller användaruppgifter som tillhandahålls av <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änen för Amazon S3-ändpunkten som har tillhandahållits av Netacea.</p><p>Om den inte anges, använd <code>s3.eu-west-1.amazonaws.com</code>.</p> |
| Select a log line format | Blank                                                                                                                                                 |
| Compression              | Gzip                                                                                                                                                  |

{% hint style="info" %}
Alla alternativ som inte anges ovan bör lämnas med standardvärdet.
{% 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
```

### Överväganden för loggning

Fastly tillåter användare att aktivera värdfunktionen "[Shielding](https://developer.fastly.com/learning/concepts/shielding/)" som har vissa fördelar såsom att minska ursprungsbelastningen, förbättra cache-träffkvoten, etc. Att aktivera denna funktion i en Fastly-tjänst som använder vår integration resulterar i duplicering av loggar.

Vid konfiguration av Fastly-loggöverföring kommer som standard alla begäranden att skickas, inklusive statiskt och mediainnehåll som inte behövs av Netacea.\
\
För att lösa detta problem behöver vi lägga till ett villkor i tjänsten och koppla det till Netacea Logging.

* Navigera till området Conditions
* Klicka på "Create Condition"

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

* Ange följande uppgifter i popup-fönstret:

<table><thead><tr><th width="186">Fält</th><th>Värde</th></tr></thead><tbody><tr><td>Type</td><td>Response</td></tr><tr><td>Name</td><td>t.ex. 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>

* Klicka på "Save" och navigera till området Logging
* Hitta Netacea Logging och klicka på "Attach a condition"

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

* I popup-fönstret, välj det nyligen skapade villkoret

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

### Slutförande

Kontrollera att du har slutfört följande steg:

* Säkerställ att inga felvarningar visas

Du är nu redo att distribuera versionen du har redigerat genom att klicka på "Activate".

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

Loggöverföring kommer nu att distribueras på den tjänst den konfigurerades mot. Du kan verifiera att distributionen är korrekt genom att:

* Granska den aktiva versionen för det nya loggöverföringsjobbet.
* Be Netacea granska interna inmatningsmetrikvärden.
* Be Netacea validera datainnehållet och formatet.
