nas-runbooks/common/mcp-sessions-pattern.md

46 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Pattern IP sessions MCP (mcp-vps / mcp-nas) — Claude-User
**Date** : 12/07/2026
**Sphère** : common (transverse aux 3 instances)
## Contexte
Alerte remontée par Nabil : nouvelles sessions MCP inhabituelles vues dans les logs
(`mcp-vps` audit.log, connexions SSH Best0f sur le NAS).
## Constat
- `mcp-vps` (serveur MCP sur Contabo, `/data/audit.log`) : chaque appel d'outil MCP
ouvre un **nouveau transport HTTP** (`NEW_SESSION`). Anthropic fait tourner l'IP
de sortie sur une petite plage dynamique — observé : **160.79.106.34 à .39**,
toutes taguées `ua=Claude-User`. C'est le comportement normal de l'infra Claude
côté exécution d'outils, **pas une IP fixe par session/utilisateur**.
- Connexions SSH NAS sous le compte **Best0f** (clé `mcp-nas-bestof`, container
mcp-nas) : normales, c'est l'identité utilisée par Claude via mcp-nas — à ne
pas confondre avec les comptes applicatifs hermes-nyora / hermes-perso.
- Une IP hors plage (`102.158.232.77`, `ua=curl/8.7.1`) correspondait à un test
manuel de Nabil (curl direct depuis son réseau).
## Conclusion
Aucune intrusion. Pattern à connaître pour éviter une fausse alerte future :
- `ua=Claude-User` + IP dans la plage `160.79.106.32/28` (à affiner si de
nouvelles IP apparaissent) = trafic Claude légitime (tool calling).
- SSH Best0f depuis mcp-nas = Claude, pas un agent Hermes.
## Incident lié (à part) — exposition tokens Gitea
Lors de cette investigation (12/07/2026), une commande mal construite (sed de
redaction insuffisant) a affiché en clair dans une conversation Claude les
valeurs de `GITEA_TOKEN_TT`, `GITEA_TOKEN_NYORA`, `GITEA_TOKEN_PERSO`
(`GITEA_DEPLOY_TOKEN` partiellement masqué).
**Action requise** : rotation des 4 tokens Gitea ci-dessus, à ajouter à la
liste de rotation `2L2u519w*` en cours suite à l'incident du 0712/07/2026.
**Leçon** : ne jamais faire confiance à un pipe `sed` de redaction non testé
avant affichage — toujours valider le masquage sur une valeur factice d'abord,
ou mieux, ne jamais imprimer un fichier `.env` complet même redacté : cibler
uniquement les noms de variables, ou consommer la valeur côté serveur (dans
la commande SSH elle-même) sans jamais la faire remonter dans la sortie.