Rotation des jetons
Deux types de secrets par agent peuvent être faites pivoter :
| Secret | Si il est compromis | Quand faire pivoter |
|---|---|---|
agent_token | L’attaquant ne peut pas falsifier (la signature te sauve) mais obtient bien les droits de registration | Lors d’un événement réseau suspect, après le départ de l’administrateur |
| clé de signature | L’attaquant peut falsifier s’il a également le jeton bearer | Après une compromission de serveur, périodiquement (annuellement) |
Rotation du jeton bearer
Via dashboard
Paramètres → Agents → Trouvez l’agent → Cliquez sur ↻ token → Confirmez.
Le nouveau jeton apparaît une fois dans une boîte d’informations verte. Copiez-le, placez-le dans /etc/monsys/agent.toml sur le serveur, redémarrez l’agent.
Via API
NEW=$(curl -s -X POST -b /tmp/c.txt \ https://api.monsys.ai/api/v1/agents/<id_agent>/rotate-token \ | jq -r .token)
# Sur le serveur :sudo sed -i "s|^agent_token =.*|agent_token = \"$NEW\"|" /etc/monsys/agent.tomlsudo systemctl restart monsys-agentLe jeton ancien est directement invalidé — il n’y a pas de fenêtre d’overlap. Si l’agent ne se connecte pas avec le nouveau jeton dans les ~30 secondes, il apparaît en ligne rouge dans le dashboard.
Audit
Chaque rotation écrit une ligne dans audit_log :
SELECT user_id, agent_id, event_type, created_atFROM audit_logWHERE event_type = 'agent_token_rotated'ORDER BY created_at DESC;Rotation de la clé de signature
La clé publique pinée sur le hub est en lecture seule pour l’agent — il ne peut pas simplement “mettre à jour” vers un nouveau keypair. Un administrateur doit d’abord supprimer la pin :
Via dashboard
Paramètres → Agents → Cliquez sur ↻ key → Confirmez.
Puis sur le serveur :
sudo rm /var/lib/monsys/agent-signing.keysudo systemctl restart monsys-agentL’agent génère un nouveau keypair et enregistre la nouvelle clé publique. Le hub la pinne à nouveau (TOFU). Pendant ce temps, les payloads déjà insérés avec la clé de signature ancienne sont refusés (signature_invalid anomalie).
Via API
curl -s -X POST -b /tmp/c.txt \ https://api.monsys.ai/api/v1/agents/<id_agent>/rotate-signing-keyTraçage audit dans audit_log: event_type='agent_signing_key_cleared'.
Cadence de rotation recommandée
| Déclencheur | Token | Clé de signature |
|---|---|---|
| Périodique | annuellement | annuellement |
| Administrateur part | direct | - |
| Compromission de serveur | direct | direct |
| Migration d’agent vers un autre serveur | - | direct |
| Image disque volé / sauvegarde compromisue | direct | direct |
Limites de taux
Les deux endpoints sont limités à 10 rotations par heure par utilisateur. Les bulk-rotations (la flotte entière après un événement de sécurité) durent donc sur plusieurs heures — utilisez un script avec sleep 60 ou planifiez dans une fenêtre de maintenance.
Ce qui ne pivote pas automatiquement
Actuellement, il n’y a pas de rotation automatisée programmée. Une demande de fonctionnalité pour les futures versions. Jusqu’à présent : placez un ticket Linear / Jira dans votre runbook d’opérations avec la cadence souhaitée.