Aller au contenu principal

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é​

Version1.8.0
Usageinstaller et configurer, configurer et connecter
Couchefonctionnelle (catalogue IA)
CatégorieSécurité et politiques
Méthodes d'installationbinary, podman
Connexion externenon
Réservé au bac à sablenon

Licence​

Identifiant SPDXApache-2.0
Politique de licencelicence socle (MIT ou Apache-2.0)
Exception de licence-
Composant de la plateformetetragon

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.

TypePaquetVersionLicenceDétails
image de conteneurquay.io/cilium/tetragonv1.8.0Apache-2.0clé d'image tetragon, utilisée par tetragon, condensé sha256:5ed9088a1582131d71b06c98e0d549a37a71ae63ab13aabefc7a47553c822a9d
archive binairetetragon-v1.8.0-amd64.tar.gz1.8.0Apache-2.0https://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éthodeSystèmes d'exploitationArchitectures
binaryfamille RHEL (dnf), famille Debian (apt), Arch Linux (pacman)x86_64 (architecture des artefacts du descripteur)
podmanfamille 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​

ComposantNom du portPortOuvert dans le pare-feu de l'hôte
tetragonmetrics2112/tcpoui
tetragonmetrics_local2112/tcpnon

Services et connexions nécessaires​

Ce service n'a aucune dépendance.

Méthodes et modes d'installation​

MéthodeDéfautCe que la méthode utilise
binaryouiles 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​

ComposantTypeMéthodes d'installationPorts
Agent Tetragon (tetragon)travailleurbinary, podman2112/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 :

ComposantPlacement
tetragonmin 1, recommandé 3

Hôte unique (standalone)​

Un agent sur un hôte.

Ce que le mode déploie :

ComposantPlacement
tetragonmin 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.

  1. 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.

  2. Choisissez le service. À l'étape Service, sélectionnez Tetragon. La carte affiche la licence Apache-2.0. Choisissez la Méthode parmi binary, podman (par défaut binary).

  3. 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.

  4. Liaisons. Ce service n'a aucune dépendance : l'étape Liaisons n'a rien à lier.

  5. 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.

  6. 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.

  7. 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émashttps, http
Port par défaut2112
Authentificationaucune
Contrôle de santé/metrics
Méthode d'authentificationChampsDescription
none-Le point de métriques de Tetragon n'a pas d'authentification.

Documentation officielle : https://tetragon.io/docs/

ChampTypeDéfautDescriptionRemarques
Fichier d'export des événements (export_path)string/var/log/tetragon/tetragon.logFichier JSON des événements des agents existants, collecté par la chaîne de journaux de la plateforme.-

Haute disponibilité​

Clusterpar hôte (per-host)
Haute disponibilitépar hôte (per-host)
Basculeaucun (none)
Réplicationaucun (none)
Quorumaucun (none)
Découverteaucun (none)
Point d'entréepar hôte (per-host)
Documentation officiellehttps://tetragon.io/docs/installation/kubernetes/

Topologie par mode​

ModesNiveau le plus haut du catalogueRépartitionComposant du quorumDomaines de panneDescription
per-hostha (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.
standaloneautonome (standalone)unique (single)-1Un 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ètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Port des métriques (metrics_port)port2112-nonnonouiPort des métriques Prometheus (/metrics).
Métriques en boucle locale uniquement (metrics_local)boolfalse-nonnonouiLe 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)port54321-nonnonouiAPI gRPC locale de l'agent (CLI tetra, flux d'événements), liée à 127.0.0.1.
Application (enforce)booltrue-nonnonnonTuer 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"]-nonnonnonBinaires dont l'exécution est bloquée sur les hôtes de la plateforme.

Points d'accès​

Point d'accèsSchémaComposantPortCheminParamètre TLSParamètres de liaisonSecrets de liaisonCommande de provisionnement
metricshttptetragon2112 (metrics_port)/metrics-local--

Contrôles de santé​

Vivacité (par instance)​

ComposantContrôleDétails
tetragonHTTP http://{{ '127.0.0.1' if config.metrics_local else (host.ip or '127.0.0.1') }}:{{ config.metrics_port }}/metricsAttendu 200 ; 30 tentatives ; intervalle 2 s ; délai 5 s

Disponibilité (contrôle du service)​

ContrôleDétails
HTTP http://{{ '127.0.0.1' if config.metrics_local else (host.ip or '127.0.0.1') }}:{{ config.metrics_port }}/metricsAttendu 200 ; Attendu tetragon_

Contrôles préalables​

ContrôleTypeSignificationSévéritéComposants
kernelkernel_min {"version": "5.4"}noyau Linux 5.4 ou plus récentbloquanttous les composants
metrics_port_freeport_free {"param": "metrics_port"}port 2112 libre sur l'hôtebloquanttous les composants

Désinstallation​

Chemins supprimés quand les données sont purgées : {{ paths.log }}.

Documentation amont​