# Configuration de la surveillance

### Prérequis

Avant que Netacea puisse surveiller votre plateforme avec succès, veuillez vous assurer que vous avez :

1. Fourni à Netacea votre [rôle IAM](https://docs.fastly.com/en/guides/creating-an-aws-iam-role-for-fastly-logging) Fastly, si demandé.
2. Fait partager les points de terminaison et identifiants d'envoi de journaux pertinents via le [portail Netacea](https://docs.netacea.com/fr/informations-sur-les-plugins-netacea/accessing-your-integration-settings).
3. Fourni une liste de tous les utilisateurs, partenaires et applications tierces connus, sûrs et de confiance. Cela inclut une liste des bots et outils automatisés de confiance. Toute information sur les acteurs malveillants connus est également précieuse.
4. Fourni une liste des cas d'utilisation de protection et des chemins vulnérables à chacun.

### Jeu de données minimum requis

Pour analyser les données avec succès, les données suivantes seront surveillées :

<table><thead><tr><th width="234">Champs requis</th><th>Description</th></tr></thead><tbody><tr><td>Horodatage</td><td>L'heure à laquelle la requête a été reçue</td></tr><tr><td>Adresse IP</td><td>L'adresse IP depuis laquelle la requête a été effectuée</td></tr><tr><td>Agent utilisateur</td><td>L'agent utilisateur envoyé dans l'en-tête par le client</td></tr><tr><td>Méthode</td><td>L'opération HTTP de la requête</td></tr><tr><td>Chemin</td><td>Le chemin de la ressource demandée</td></tr><tr><td>Requête</td><td>L'URL de requête de la demande</td></tr><tr><td>Statut</td><td>Le code de statut HTTP retourné par le serveur</td></tr><tr><td>Référent</td><td>La page web depuis laquelle l'utilisateur a suivi un lien</td></tr><tr><td>Octets envoyés</td><td>Les octets envoyés dans le cadre de la requête de l'utilisateur</td></tr><tr><td>Protocole</td><td>Le protocole du cycle requête-réponse.</td></tr><tr><td>Temps de requête</td><td>La durée de la requête en microsecondes.</td></tr><tr><td>Hôte de requête</td><td>L'en-tête Host de la requête actuelle.</td></tr><tr><td>Empreinte JA3</td><td>JA3 est une méthode pour créer des empreintes de client SSL/TLS.</td></tr></tbody></table>

{% hint style="info" %}
En plus des champs standard ci-dessus, l'intégration Netacea ajoutera plusieurs champs personnalisés au format de journal.\
\
Ceux-ci incluent :<br>

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

### Étapes d'implémentation

1. Connectez-vous à l'interface web Fastly.
2. Depuis la page d'accueil, sélectionnez le service approprié. Vous pouvez utiliser la zone de recherche pour rechercher par ID, nom ou domaine.
3. Cliquez sur le bouton de modification de la configuration puis sélectionnez l'option pour cloner la version active. La page Domaines apparaît.

Toutes les modifications de configuration ci-dessous seront effectuées sur la version nouvellement clonée.

{% hint style="info" %}
Notez la version actuellement active au cas où vous auriez besoin de revenir en arrière à l'avenir.
{% endhint %}

### Streaming de journaux

* Naviguez vers la zone Journalisation.
* Cliquez sur le bouton « Créer un point de terminaison » pour Amazon S3

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

* Entrez les détails suivants :

XLOCKX168

<table><thead><tr><th width="186">Champ</th><th>Valeur</th></tr></thead><tbody><tr><td>Nom</td><td>Entrez un nom lisible et mémorable pour le point de terminaison, tel que Netacea_Logging.</td></tr><tr><td>Emplacement</td><td>Version de format par défaut</td></tr><tr><td>Format de journal</td><td><a href="#undefined">Format de journal</a></td></tr><tr><td>Horodatage</td><td><a href="#timestamp">Horodatage</a></td></tr><tr><td>Nom du compartiment</td><td>Le nom du compartiment Amazon S3 fourni par le <a href="../accessing-your-integration-settings">portail Netacea</a>.</td></tr><tr><td>Méthode d'accès</td><td>L'ARN du rôle IAM ou les identifiants utilisateur fournis par le <a href="../accessing-your-integration-settings">portail Netacea</a>.</td></tr><tr><td>Période</td><td></td></tr></tbody></table>

169XLOCKX

| Chemin                                     | /                                                                                                                                                                   |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Domaine                                    | <p>Le domaine du point de terminaison Amazon S3 qui a été fourni par Netacea.</p><p>Si non spécifié, veuillez utiliser <code>s3.eu-west-1.amazonaws.com</code>.</p> |
| Sélectionnez un format de ligne de journal | Vide                                                                                                                                                                |
| Compression                                | Gzip                                                                                                                                                                |

{% hint style="info" %}
Toute option non spécifiée ci-dessus doit être laissée à la valeur par défaut.
{% endhint %}

#### Format de journal

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

#### Horodatage

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

### Considérations relatives à la journalisation

Fastly permet aux utilisateurs d'activer la fonctionnalité de l'hôte appelée « [Shielding](https://developer.fastly.com/learning/concepts/shielding/) » qui présente certains avantages comme la réduction de la charge sur l'origine, l'amélioration du taux de succès du cache, etc. L'activation de cette fonctionnalité dans un service Fastly qui utilise notre intégration entraîne une duplication des journaux.

Lors de la configuration de l'envoi de journaux Fastly par défaut, il enverra toutes les requêtes, y compris le contenu statique et média qui n'est pas requis par Netacea.\
\
Afin de résoudre ce problème, nous devons ajouter une condition au service et l'attacher à la journalisation Netacea.

* Naviguez vers la zone Conditions
* Cliquez sur « Créer une condition »

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

* Entrez les détails suivants dans la fenêtre contextuelle :

<table><thead><tr><th width="186">Champ</th><th>Valeur</th></tr></thead><tbody><tr><td>Type</td><td>Réponse</td></tr><tr><td>Nom</td><td>par ex. Netacea_Log_Visit</td></tr><tr><td>Appliquer si</td><td><code>(req.url !~ "/media/" &#x26;&#x26; req.url !~ "/static/") &#x26;&#x26; fastly.ff.visits_this_service == 0</code></td></tr><tr><td>Priorité</td><td>10 (par défaut)</td></tr></tbody></table>

* Cliquez sur « Enregistrer » et naviguez vers la zone Journalisation
* Trouvez la journalisation Netacea et cliquez sur « Attacher une condition »

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

* Dans la fenêtre contextuelle, sélectionnez la condition nouvellement créée

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

### Finalisation

Vérifiez que vous avez effectué les étapes suivantes :

* Assurez-vous qu'aucun avertissement d'erreur n'apparaît

Vous êtes maintenant prêt à déployer la version que vous avez modifiée en cliquant sur « Activer ».

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

L'envoi de journaux sera maintenant déployé sur le service sur lequel il a été configuré. Vous pouvez vérifier que le déploiement est correct en :

* Examinant la version active pour le nouveau job d'envoi de journaux.
* Demandant à Netacea d'examiner les métriques d'ingestion internes.
* Demandant à Netacea de valider le contenu et le format des données.
