Tetragon (tetragon)
Protection à l'exécution sur chaque hôte : la plateforme configure l'agent eBPF, les TracingPolicies Navin (binaires interdits tués, fichiers sensibles surveillés), l'export JSON des événements et les métriques Prometheus.
Généré depuis catalog/services/tetragon.yaml : ne pas modifier à la main.
Résumé
| Version | 1.8.0 |
| Usage | installer et configurer, configurer et connecter |
| Couche | fonctionnelle (catalogue IA) |
| Catégorie | Sécurité et politiques |
| Méthodes d'installation | binary, podman |
| Connexion externe | non |
| Réservé au bac à sable | non |
Licence
| Identifiant SPDX | Apache-2.0 |
| Politique de licence | licence socle (MIT ou Apache-2.0) |
| Exception de licence | - |
| Composant de la plateforme | tetragon |
Paquets et artefacts
Un paquet que publie le projet du service (son image, son archive binaire, son paquet Python ou système) porte la licence du service ; un paquet tiers porte la licence écrite sur sa ligne, lue dans les métadonnées officielles du projet amont.
| Type | Paquet | Version | Licence | Détails |
|---|---|---|---|---|
| image de conteneur | quay.io/cilium/tetragon | v1.8.0 | Apache-2.0 | clé d'image tetragon, utilisée par tetragon, condensé sha256:5ed9088a1582131d71b06c98e0d549a37a71ae63ab13aabefc7a47553c822a9d |
| archive binaire | tetragon-v1.8.0-amd64.tar.gz | 1.8.0 | Apache-2.0 | https://github.com/cilium/tetragon/releases/download/v1.8.0/tetragon-v1.8.0-amd64.tar.gz, x86_64, somme de contrôle sha256 |
Les images sont épinglées par étiquette dans le descripteur, et par condensé (digest) quand le descripteur en déclare un (le bundle hors ligne refuse alors une image téléchargée qui ne le porte pas) ; le condensé est enregistré dans le miroir du Manager à l'import du bundle hors ligne, et chaque téléchargement ou chargement est vérifié par rapport à lui.
Systèmes et architectures pris en charge
| Méthode | Systèmes d'exploitation | Architectures |
|---|---|---|
binary | famille RHEL (dnf), famille Debian (apt), Arch Linux (pacman) | x86_64 (architecture des artefacts du descripteur) |
podman | famille RHEL (dnf), famille Debian (apt), Arch Linux (pacman) | x86_64, aarch64 (non restreintes par le descripteur) |
Systèmes hôtes certifiés : RHEL 8/9/10, Rocky Linux 8/9/10, AlmaLinux 8/9/10, Oracle Linux 8/9, CentOS Stream 9/10, Ubuntu 22.04/24.04, Debian 12, Arch Linux (rolling). Le contrôle préalable des hôtes accepte ces systèmes (une autre version d'une famille connue donne un avertissement, une version en fin de vie est refusée) et les architectures x86_64 et aarch64.
Prérequis
Hôte
- noyau Linux 5.4 ou plus récent (bloquant,
kernel).
Réseau et ports
| Composant | Nom du port | Port | Ouvert dans le pare-feu de l'hôte |
|---|---|---|---|
tetragon | metrics | 2112/tcp | oui |
tetragon | metrics_local | 2112/tcp | non |
Services et connexions nécessaires
Ce service n'a aucune dépendance.
Méthodes et modes d'installation
| Méthode | Défaut | Ce que la méthode utilise |
|---|---|---|
binary | oui | les archives binaires du descripteur, décompressées dans le répertoire du service |
podman | - | les images de conteneur du descripteur, exécutées par Podman sous systemd |
Composants
| Composant | Type | Méthodes d'installation | Ports |
|---|---|---|---|
Agent Tetragon (tetragon) | travailleur | binary, podman | 2112/tcp, 2112/tcp |
Chaque hôte choisi (per-host) (par défaut)
Un agent par hôte, comme un daemon set.
Ce que le mode déploie :
| Composant | Placement |
|---|---|
tetragon | min 1, recommandé 3 |
Hôte unique (standalone)
Un agent sur un hôte.
Ce que le mode déploie :
| Composant | Placement |
|---|---|
tetragon | min 1, max 1 |
Installer ce service
L'assistant d'installation du Navin Manager planifie, valide et exécute l'installation ; il faut la permission services:install sur le cluster.
-
Ouvrez l'assistant. Dans Clusters, choisissez l'action de ligne Installer des services du cluster cible. L'assistant s'ouvre sur sa première étape, Service.
-
Choisissez le service. À l'étape Service, sélectionnez Tetragon. La carte affiche la licence
Apache-2.0. Choisissez la Méthode parmibinary,podman(par défautbinary). -
Choisissez les hôtes et le mode. À l'étape Hôtes, cochez les hôtes, puis choisissez le Mode :
per-host(par défaut),standalone. Chaque mode déploie les composants listés dans Méthodes et modes d'installation. -
Liaisons. Ce service n'a aucune dépendance : l'étape Liaisons n'a rien à lier.
-
Configurez. À l'étape Configuration, relisez les paramètres (voir Paramètres de configuration). Les mots de passe laissés vides avec une valeur générée par défaut sont générés et scellés par le Manager.
-
Relisez et installez. À l'étape Installation, le Manager valide le plan et affiche l'ordre d'installation ; quand il indique « Le plan est valide. Prêt pour l'installation. », choisissez Installer. Un mode hautement disponible n'est installé que si ses contrôles HA réussissent.
-
Vérifiez. L'opération se termine quand les contrôles de santé de chaque instance réussissent (voir Contrôles de santé) ; le service apparaît alors en marche dans Services.
Connecter un service existant
| Schémas | https, http |
| Port par défaut | 2112 |
| Authentification | aucune |
| Contrôle de santé | /metrics |
| Méthode d'authentification | Champs | Description |
|---|---|---|
none | - | Le point de métriques de Tetragon n'a pas d'authentification. |
Documentation officielle : https://tetragon.io/docs/
| Champ | Type | Défaut | Description | Remarques |
|---|---|---|---|---|
Fichier d'export des événements (export_path) | string | /var/log/tetragon/tetragon.log | Fichier JSON des événements des agents existants, collecté par la chaîne de journaux de la plateforme. | - |
Haute disponibilité
| Cluster | par hôte (per-host) |
| Haute disponibilité | par hôte (per-host) |
| Bascule | aucun (none) |
| Réplication | aucun (none) |
| Quorum | aucun (none) |
| Découverte | aucun (none) |
| Point d'entrée | par hôte (per-host) |
| Documentation officielle | https://tetragon.io/docs/installation/kubernetes/ |
Topologie par mode
| Modes | Niveau le plus haut du catalogue | Répartition | Composant du quorum | Domaines de panne | Description |
|---|---|---|---|---|---|
per-host | ha (ha) | par hôte (per-host) | - | - | Un agent sur chaque hôte : chaque hôte se couvre lui-même, la perte d'un hôte ne perd que sa propre couverture. |
standalone | autonome (standalone) | unique (single) | - | 1 | Un agent sur un hôte. |
Remarques
- Tetragon demande Linux avec eBPF et BTF sur chaque hôte ; il ne surveille que son propre hôte.
- Le serveur de métriques de Tetragon n'a pas de TLS (pkg/metricsconfig de la version sert du HTTP en clair). Avec metrics_local, il n'écoute que sur 127.0.0.1 et l'agent Alloy de chaque hôte relaie les métriques vers Prometheus par écriture distante ; installer Alloy sur les hôtes de Tetragon avec ses liaisons tetragon et prometheus.
Paramètres de configuration
Général
| Paramètre | Type | Défaut | Valeurs permises | Obligatoire | Secret | Redémarrage | Description |
|---|---|---|---|---|---|---|---|
Port des métriques (metrics_port) | port | 2112 | - | non | non | oui | Port des métriques Prometheus (/metrics). |
Métriques en boucle locale uniquement (metrics_local) | bool | false | - | non | non | oui | Le serveur de métriques de Tetragon n'a pas de TLS : le lier à 127.0.0.1 de chaque hôte pour que rien ne quitte l'hôte en clair ; l'agent Alloy de l'hôte (liaisons tetragon et prometheus) le collecte et envoie les métriques à Prometheus par écriture distante, en TLS quand Prometheus l'est. Exigé par les profils banking-secure et air-gapped. |
Port gRPC (grpc_port) | port | 54321 | - | non | non | oui | API gRPC locale de l'agent (CLI tetra, flux d'événements), liée à 127.0.0.1. |
Application (enforce) | bool | true | - | non | non | non | Tuer les processus détectés par les politiques Navin (false : journaliser seulement). |
Binaires interdits (forbidden_binaries) | list | ["/usr/bin/nc", "/usr/bin/ncat", "/usr/bin/socat"] | - | non | non | non | Binaires dont l'exécution est bloquée sur les hôtes de la plateforme. |
Points d'accès
| Point d'accès | Schéma | Composant | Port | Chemin | Paramètre TLS | Paramètres de liaison | Secrets de liaison | Commande de provisionnement |
|---|---|---|---|---|---|---|---|---|
metrics | http | tetragon | 2112 (metrics_port) | /metrics | - | local | - | - |
Contrôles de santé
Vivacité (par instance)
| Composant | Contrôle | Détails |
|---|---|---|
tetragon | HTTP http://{{ '127.0.0.1' if config.metrics_local else (host.ip or '127.0.0.1') }}:{{ config.metrics_port }}/metrics | Attendu 200 ; 30 tentatives ; intervalle 2 s ; délai 5 s |
Disponibilité (contrôle du service)
| Contrôle | Détails |
|---|---|
HTTP http://{{ '127.0.0.1' if config.metrics_local else (host.ip or '127.0.0.1') }}:{{ config.metrics_port }}/metrics | Attendu 200 ; Attendu tetragon_ |
Contrôles préalables
| Contrôle | Type | Signification | Sévérité | Composants |
|---|---|---|---|---|
kernel | kernel_min {"version": "5.4"} | noyau Linux 5.4 ou plus récent | bloquant | tous les composants |
metrics_port_free | port_free {"param": "metrics_port"} | port 2112 libre sur l'hôte | bloquant | tous les composants |
Désinstallation
Chemins supprimés quand les données sont purgées : {{ paths.log }}.
Documentation amont
- Site : https://tetragon.io
- Sources : https://github.com/cilium/tetragon
- Haute disponibilité : https://tetragon.io/docs/installation/kubernetes/
- Authentification : https://tetragon.io/docs/