docs: Mise à jour README + suppression fichiers temporaires

- README.md: Ajout des nouvelles fonctionnalités
  - Investigation Subnet /24
  - Réputation IP (IP-API + IPinfo)
  - Liste complète des endpoints API
  - Exemples de requêtes curl

- Suppression fichiers temporaires:
  - update_retention_policy.sql (script temporaire)
  - ML_DETECTED_ANOMALIES_CONFIG.md (debug)
  - RETENTION_POLICY.md (debug)

- Conservation des fichiers de déploiement:
  - deploy_dashboard_entities_view.sql
  - deploy_user_agents_view.sql
  - deploy_audit_logs_table.sql
  - create_classifications_table.sql

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
SOC Analyst
2026-03-15 20:10:22 +01:00
parent ee2b24b277
commit 8d35b91642
4 changed files with 40 additions and 620 deletions

View File

@ -2,6 +2,8 @@
Dashboard web interactif pour visualiser et investiguer les décisions de classification du Bot Detector IA.
**Version:** 1.7.0 - Subnet Investigation + IP Reputation
## 🚀 Démarrage Rapide
### Prérequis
@ -9,6 +11,7 @@ Dashboard web interactif pour visualiser et investiguer les décisions de classi
- Docker et Docker Compose
- Le service `clickhouse` déjà déployé
- Des données dans la table `ml_detected_anomalies`
- Des données dans la table `http_logs` (pour les user-agents)
> **Note:** Le dashboard peut fonctionner indépendamment de `bot_detector_ai`. Il lit les données déjà détectées dans ClickHouse.
@ -50,11 +53,25 @@ docker compose logs -f dashboard_web
- **Métriques en temps réel** : Total détections, menaces, bots connus, IPs uniques
- **Répartition par menace** : Visualisation CRITICAL/HIGH/MEDIUM/LOW
- **Évolution temporelle** : Graphique des détections sur 24h
- **Incidents clusterisés** : Regroupement automatique par subnet /24
- **Top Menaces Actives** : Top 10 des IPs les plus dangereuses
### Liste des Détections
- **Tableau interactif** : Tri, pagination, filtres
- **Recherche** : Par IP, JA4, Host
- **Filtres** : Par niveau de menace, modèle, pays, ASN
### Investigation Subnet /24 (NOUVEAU)
- **URL:** `/entities/subnet/x.x.x.x_24` (ex: `/entities/subnet/141.98.11.0_24`)
- **Stats globales** : Total IPs, détections, JA4 uniques, User-Agents uniques, Hosts
- **Tableau des IPs** : Toutes les IPs du subnet avec leurs statistiques
- **Actions par IP** : Investiguer, Voir détails
- **Sources** : `ml_detected_anomalies` (détections) + `view_dashboard_entities` (user-agents)
### Investigation IP + Réputation (NOUVEAU)
- **URL:** `/investigation/:ip`
- **Panel Réputation IP** :
- Score de menace 0-100
- Niveau: clean/low/medium/high/critical
- Détection: Proxy, Hosting, VPN, Tor
- Géolocalisation: Pays, Ville
- ASN + Organisation
- **Sources** : IP-API.com + IPinfo.io (sans clé API)
### Investigation (Variabilité)
- **Vue détails** : Cliquez sur une IP/JA4/pays/ASN pour investiguer
@ -134,6 +151,16 @@ dashboard/
| GET | `/api/detections/{id}` | Détails d'une détection |
| GET | `/api/variability/{type}/{value}` | Variabilité d'un attribut |
| GET | `/api/attributes/{type}` | Liste des valeurs uniques |
| GET | `/api/incidents/clusters` | Incidents clusterisés par subnet /24 |
| GET | `/api/entities/subnet/{subnet}` | Investigation subnet (ex: `141.98.11.0/24`) |
| GET | `/api/entities/{type}/{value}` | Investigation entité (IP, JA4, UA, etc.) |
| GET | `/api/reputation/ip/{ip}` | Réputation IP (IP-API + IPinfo) |
| GET | `/api/analysis/{ip}/subnet` | Analyse subnet / ASN |
| GET | `/api/analysis/{ip}/country` | Analyse pays |
| GET | `/api/analysis/{ip}/ja4` | Analyse JA4 |
| GET | `/api/analysis/{ip}/user-agents` | Analyse User-Agents |
| GET | `/api/analysis/{ip}/recommendation` | Recommandation de classification |
| POST | `/api/analysis/classifications` | Sauvegarder classification SOC |
| GET | `/health` | Health check |
### Exemples
@ -148,6 +175,15 @@ curl "http://localhost:3000/api/detections?threat_level=CRITICAL&page=1"
# Variabilité d'une IP
curl http://localhost:3000/api/variability/ip/192.168.1.100
# Investigation subnet (URL encode / en _24)
curl "http://localhost:3000/api/entities/subnet/141.98.11.0_24?hours=24"
# Réputation IP
curl http://localhost:3000/api/reputation/ip/141.98.11.209
# Incidents clusterisés
curl http://localhost:3000/api/incidents/clusters?limit=20
# Liste des pays
curl http://localhost:3000/api/attributes/country
```