Surveiller un pair VPN demande quatre faits, et aucun d’entre eux n’est une destination. Que le tunnel soit actif, quand il a échangé du trafic pour la dernière fois, quelles clés sont impliquées et combien a circulé suffisent à la disponibilité. Tout ce qui va au-delà est un enregistrement sur une personne, et cela devrait être une décision délibérée plutôt qu’un effet secondaire de l’ouverture d’une page d’état. Partez de la question à laquelle vous devez répondre, puis choisissez la plus petite sortie qui y répond.

Tranchez la question avant l’outil

Écrivez d’abord la question opérationnelle : ce pair est-il connecté, et fait-il circuler du trafic ? Cette question exige une vue en direct, et une vue en direct n’a aucun problème de rétention. Une deuxième question, savoir si le pair était connecté à 02:00 mardi dernier, exige une série stockée et donc une décision de rétention. Séparer les deux, c’est tout le design, car la vue en direct est bon marché tandis que la série stockée devient une conversation sur la protection des données.

Gardez aussi le contrôle de santé séparé de la sortie d’état. Un handshake récent prouve que le tunnel a négocié, pas que l’application privée derrière fonctionne, alors testez l’application par un contrôle autorisé au lieu de l’inférer des compteurs. Quand le contrôle échoue et que le handshake est récent, le problème se situe au-delà du tunnel.

Lisez les trois champs qui y répondent

La sortie d’état simple de WireGuard porte l’interface, la clé publique, le point de terminaison, le dernier handshake et les compteurs de transfert. La présence exige la clé publique et le dernier handshake ; si nécessaire, ajoutez les compteurs d’octets pour voir le mouvement. Le point de terminaison n’est pas nécessaire à la présence et est le premier champ à écarter, car il identifie d’où un appareil se connecte. La page de manuel décrit chaque champ imprimé par l’outil, et elle est assez courte pour être lue une fois :

wg show
wg show wg0 latest-handshakes

Lisez ces nombres comme des âges plutôt que comme des booléens. Un handshake n’est actuel que par rapport à l’intervalle de renouvellement des clés du protocole lui-même, et un compteur qui n’a pas bougé peut signifier un pair inactif plutôt qu’un pair cassé. Gardez les deux dans la même vue pour que l’âge et le mouvement se lisent ensemble.

Choisissez un intervalle que vous pouvez défendre

Chaque échantillon d’état est un enregistrement, donc l’intervalle est une décision de rétention portant une étiquette de supervision. Un échantillon toutes les dix secondes donne un détail fin et multiplie les lignes stockées, tandis qu’un échantillon par minute suffit généralement à la disponibilité pour un sixième du coût. Choisissez l’intervalle d’après le temps de réponse promis plutôt que d’après ce que l’outil sait faire. Écrivez ensuite le nombre à côté du tableau de bord.

Pour OpenVPN, le service d’état écrit un fichier à un intervalle configuré. Dans la configuration du serveur, cela ressemble à ceci status /var/log/openvpn-status.log 60, où le nombre final est le nombre de secondes entre les réécritures, et le fichier est remplacé plutôt que complété. Ce détail compte : un fichier remplacé n’a pas d’historique, tandis qu’un collecteur qui y ajoute en crée un.

Confirmez que le collecteur respecte aussi l’intervalle. Un outil qui échantillonne chaque seconde et stocke une ligne par minute lit tout de même chaque seconde.

Gardez les libellés stables et la correspondance restreinte

Une clé publique identifie une relation d’appareil même sans nom attaché, alors traitez la clé comme une donnée personnelle plutôt que comme un identifiant opaque. Étiquetez les pairs avec des identifiants internes stables qui survivent aux reconnexions, et gardez la correspondance entre identifiant et personne dans un endroit restreint. Un tableau de bord qui écrit une série temporelle est un enregistrement stocké même lorsque le VPN ne tient aucun fichier propre. Quand le tableau de bord est le seul stockage, c’est là que s’applique la règle de rétention.

Revoyez aussi le chemin d’export, car un CSV copié survit au système qui l’a produit. La disponibilité agrégée suffit souvent à un rapport : la proportion de pairs avec un handshake dans la fenêtre répond à la question opérationnelle sans lister qui était connecté et quand.

Documentez ce que vous collectez et ce que vous ne collectez pas

Écrivez la description de la collecte en langage clair : quels champs, depuis quelle interface, à quel intervalle, stockés où, conservés combien de temps et qui peut les lire. Placez-la à côté du runbook plutôt que dans un dépôt de politiques que personne n’ouvre pendant un incident. La description devrait aussi dire ce que la supervision ne peut pas voir, car c’est ce qui empêche quelqu’un de supposer que l’absence de données de navigation signifie l’absence d’enregistrements.

Revoyez la fenêtre de rétention chaque fois que la supervision change, car un nouveau champ prolonge discrètement ce qui est conservé. Supprimez ensuite ce que la description dit que vous supprimez, et vérifiez que la suppression a bien eu lieu.

Articles similaires