docs: documente l'incident cryptominer Gitea et détails infra découverts
Incident du 2026-09-14 : injection de packObjectsHook via l'API interne Gitea pour déployer un mineur Monero (XMRig). Contenu et nettoyé le 2026-09-22. Voir incidents/2026-09-14-gitea-cryptominer.md pour le détail complet (analyse, IOC, remédiation, reste à faire). Ajout également des détails techniques sur le setup Gitea (containers, volumes, réseau) découverts pendant l'investigation. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
78454b6fa2
commit
8f584a8672
@@ -4,9 +4,9 @@ Lorsque tu interroges le serveur, ne lances que des commandes en LECTURE SEULE (
|
||||
|
||||
## Accès
|
||||
|
||||
- **SSH**: `ssh cloud@sans.pub`
|
||||
- **SSH**: `ssh zuck@sans.pub` (alias `~/.ssh/config` : `Host sans.pub`) — sudo sans mot de passe. Note : ce document mentionnait auparavant un utilisateur `cloud`, à vérifier/clarifier (voir `install-serveur.md`, le compte créé est `zuck`).
|
||||
- **CapRover**: https://captain.cloud.sans.pub
|
||||
- **Utilisateur**: cloud (gestion Docker/Caprover)
|
||||
- **Gitea**: `git.sans.pub` (port SSH 2242, `User git` dans `~/.ssh/config`)
|
||||
|
||||
## Infrastructure
|
||||
|
||||
@@ -78,6 +78,18 @@ Aucun service en erreur connu (vérifié 2026-02-19). `mail` tourne correctement
|
||||
|
||||
**Prérequis** : définir `CAPROVER_PASSWORD` dans `.env` (voir `.envrc`)
|
||||
|
||||
## Gitea — détails techniques
|
||||
|
||||
- **Containers Docker** (Swarm) : `srv-captain--gitea.1.*` (gitea/gitea:1.25.4) + `srv-captain--gitea-db.1.*` (mysql:5.7)
|
||||
- **Volume de données** : `captain--gitea-data` → monté sur `/data` dans le container
|
||||
- Dépôts bare : `/data/git/repositories/<owner>/<repo>.git`
|
||||
- Config app : `/data/gitea/conf/app.ini` (contient des secrets en clair : `INTERNAL_TOKEN`, `LFS_JWT_SECRET`, mot de passe MySQL — jamais versionner ce fichier)
|
||||
- `.gitconfig` global (compte système utilisé par Gitea pour exécuter git) : `/data/gitea/home/.gitconfig`
|
||||
- Logs applicatifs : `/data/gitea/log/gitea.log` (rotation quotidienne en `.gz`)
|
||||
- **Réseau** : container Gitea sur `captain-overlay-network`, IP interne observée `10.0.1.75`. Le reverse-proxy CapRover (`captain-nginx`) apparaît côté Gitea sous l'IP `10.0.1.105` pour toutes les requêtes publiques (pas d'IP client réelle sans config `X-Forwarded-For`/trusted proxies).
|
||||
- **Connexion à la base MySQL depuis le host/container** : passer par `-h 127.0.0.1` (TCP), pas par défaut socket local (`localhost`) — le grant MySQL de l'utilisateur `gitea` ne couvre que `%`/TCP, pas `localhost`.
|
||||
- **⚠️ Voir `incidents/2026-09-14-gitea-cryptominer.md`** : l'API interne Gitea (`/api/internal/manager/add-logger`) a été exploitée pour injecter des `packObjectsHook` malveillants dans `.gitconfig`. Toujours vérifier ce fichier ne contient pas d'entrées `[uploadpack] packObjectsHook` inattendues.
|
||||
|
||||
## Suivi des tâches
|
||||
|
||||
Voir `todo.txt` (format todo.txt standard)
|
||||
|
||||
Reference in New Issue
Block a user