Files
blog/content/posts/bojemoi-lab-architecture.md
Betty 1fea4638ff
All checks were successful
Hugo Build & Deploy / build-deploy (push) Successful in 9s
blog: update architecture post with full diagram and current state (March 2026)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 20:51:14 +01:00

12 KiB

title, date, draft, tags, summary, description, author, ShowToc, ShowReadingTime
title date draft tags summary description author ShowToc ShowReadingTime
Bojemoi Lab — Architecture Globale 2026-03-12T20:00:00+01:00 false
infrastructure
docker-swarm
cybersecurity
homelab
devops
selfhosted
threat-intelligence
osint
machine-learning
build-in-public
french-tech
blue-team
soc
Schéma complet de Bojemoi Lab : 4 nœuds Swarm, 12 stacks, 43 services — scan internet, threat intel multi-sources, honeypot, IDS/IPS, et intégration MCP/Claude. Architecture détaillée de Bojemoi Lab : pipeline de scan (ak47/bm12/uzi), threat intelligence (razvedka/vigie/dozor/ml-threat), défense (Suricata/CrowdSec/honeypot), observabilité (Prometheus/Grafana/Loki/Tempo), et MCP server pour Claude Code. Bojemoi true true

Voici l'architecture actuelle de Bojemoi Lab, telle qu'elle tourne en ce moment — pas un croquis de projet, mais le reflet de ce qui est déployé.

4 nœuds Swarm, 12 stacks, ~43 services. 6,15 millions d'hôtes scannés, 33,7 millions de services en base.


Vue d'ensemble

┌──────────────────────────────────────────────────────────────────────┐
│                        INTERNET / EXTERNAL                           │
│  ANSSI/CERT-FR • Telegram Channels • VirusTotal • AbuseIPDB • OTX   │
│  Shodan • X/Twitter • MITRE ATT&CK feeds • XenServer (on-prem)      │
└────────────────────────────┬─────────────────────────────────────────┘
                             │
┌────────────────────────────▼─────────────────────────────────────────┐
│                   LIGHTSAIL (bojemoi.me)                              │
│  Nginx (80/443) • Gitea (gitea.bojemoi.me) • Hugo blog               │
│  Apache (8080) • cloud-init/configs • Gitea Actions CI               │
└────────────────────────────┬─────────────────────────────────────────┘
                             │ SSH/GitOps
┌────────────────────────────▼─────────────────────────────────────────┐
│                   DOCKER SWARM CLUSTER                                │
│                                                                       │
│  ┌─────────────────────────────────────────────────────────────┐     │
│  │  meta-76 (MANAGER) — Intel i9, 16 GB RAM                   │     │
│  │                                                              │     │
│  │  ┌─── BASE STACK ──────────────────────────────────────┐   │     │
│  │  │  PostgreSQL (msf, threat_intel, razvedka, vigie,    │   │     │
│  │  │             telegram_bot, deployments, ip2location) │   │     │
│  │  │  Prometheus • Grafana • Loki • Tempo • Alloy        │   │     │
│  │  │  Alertmanager • PgAdmin • cAdvisor • node-exporter  │   │     │
│  │  │  Postfix • Proton Mail Bridge • Koursk (rsync)      │   │     │
│  │  │  Provisioning API (FastAPI, port 8000→28080)        │   │     │
│  │  └─────────────────────────────────────────────────────┘   │     │
│  │                                                              │     │
│  │  ┌─── BOOT STACK ──┐  ┌─── MCP STACK ───────────────┐    │     │
│  │  │  Traefik (proxy) │  │  mcp-server (port 8001)     │    │     │
│  │  │  CrowdSec (WAF) │  │  Claude Code integration     │    │     │
│  │  └─────────────────┘  └─────────────────────────────┘    │     │
│  └─────────────────────────────────────────────────────────────┘     │
│                                                                       │
│  ┌────────────────────────────────────────────────────────────────┐  │
│  │  WORKERS: meta-68, meta-69, meta-70                            │  │
│  │                                                                  │  │
│  │  ┌─── BORODINO STACK ──────────────────────────────────────┐  │  │
│  │  │  ak47  (x15) → Nmap CIDR scan → msf.hosts/services     │  │  │
│  │  │  bm12  (x15) → Deep fingerprint + NSE → classify hosts  │  │  │
│  │  │  uzi   (x3)  → Metasploit exploits (MODE_RUN=0)        │  │  │
│  │  └─────────────────────────────────────────────────────────┘  │  │
│  │                                                                  │  │
│  │  ┌─── PENTEST STACK ──────────┐  ┌─── TELEGRAM ────────────┐ │  │
│  │  │  Faraday (port 5985)       │  │  telegram-bot            │ │  │
│  │  │  OWASP ZAP                 │  │  Redis pub/sub           │ │  │
│  │  │  Nuclei (25 templates)     │  │  Bot: @Betty_Bombers_bot │ │  │
│  │  │  Samsonov (import)         │  │  Group: Bojemoi PTaaS    │ │  │
│  │  │  Tsushima (aggregator)     │  └─────────────────────────┘ │  │
│  │  └────────────────────────────┘                               │  │
│  │                                                                  │  │
│  │  ┌─── THREAT INTEL ─────────────────────────────────────────┐ │  │
│  │  │  razvedka  → DDoS prediction (Telegram channels HU/RU)   │ │  │
│  │  │  vigie     → CERT-FR bulletin monitor (ANSSI RSS)        │ │  │
│  │  │  dozor     → Suricata rule generator (IoC feeds)         │ │  │
│  │  │  ml-threat → ML scoring + MITRE ATT&CK mapping          │ │  │
│  │  └─────────────────────────────────────────────────────────┘ │  │
│  │                                                                  │  │
│  │  ┌─── DEFENSE ──────────┐  ┌─── HONEYPOT ─────────────────┐ │  │
│  │  │  Suricata (host mode) │  │  medved (host mode)          │ │  │
│  │  │  EVE enricher         │  │  SSH/HTTP/RDP/SMB/FTP/Telnet │ │  │
│  │  │  CrowdSec (WAF)       │  │  → PostgreSQL + Faraday      │ │  │
│  │  └──────────────────────┘  └─────────────────────────────┘ │  │
│  └────────────────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────────────┘

Flux de Données — Pipeline de Scan

ip2location DB
      │
      ▼
  ak47 (x15)          ← scans CIDRs via db_nmap
      │ msf.hosts
      ▼
  bm12 (x15)          ← deep NSE fingerprinting (25 catégories)
      │ hosts.scan_details (JSON) + comments + scan_status='bm12_v2'
      ▼
  uzi (x3)            ← Metasploit exploits (désactivé)
      │
      ▼
  Faraday             ← workspace pentest
      │
      ▼
  Samsonov/Tsushima   ← import + agrégation
      │
      ▼
  Telegram Bot        ← notification + commandes manuelles

Stack Files → Services

Stack Services clés Placement
01-service-hl.yml postgres, prometheus, grafana, loki, alertmanager, postfix, provisioning manager
boot stack traefik, crowdsec manager
40-service-borodino.yml ak47, bm12, uzi, faraday, zaproxy, nuclei workers
45-service-ml-threat-intel.yml ml-threat-intel-api workers
46-service-razvedka.yml razvedka workers
47-service-vigie.yml vigie workers
48-service-dozor.yml dozor, eve-cleaner workers
49-service-mcp.yml mcp-server manager
50-service-trivy.yml trivy scanner CI/CD only
60-service-telegram.yml telegram-bot, redis workers
65-service-medved.yml medved honeypot manager (host ports)
01-suricata-host.yml suricata, enricher host compose (hors swarm)

Observabilité

Services → metrics → Prometheus → Grafana dashboards
Services → logs    → Loki       → Grafana explore
Services → traces  → Tempo      → Grafana explore
Alloy (collector unifié) → pipeline tout-en-un
Alertmanager → Postfix/ProtonBridge → Email chiffré

Bases de Données (PostgreSQL)

Database Usage Taille estimée
msf Metasploit — hosts (6,15M), services (33,7M), vulns 9 GB
bojemoi_threat_intel ML scoring, OSINT cache, IoC ~2 GB
ip2location CIDRs géolocalisés pour scanning ~500 MB
razvedka Mentions hacktivist, alertes DDoS ~100 MB
vigie Bulletins CERT-FR, watchlist matches ~50 MB
telegram_bot Historique chats, commandes ~500 MB
honeypot_events Captures medved (SSH, HTTP, RDP...) ~1 GB
deployments Audit orchestrateur + blockchain ~100 MB

Réseaux Overlay (Swarm)

Réseau Services
backend postgres, redis, tous les services data
monitoring prometheus, grafana, loki, tempo, alloy
proxy traefik, crowdsec
pentest faraday, zaproxy, nuclei, samsonov, mcp-server
rsync_network koursk master/slave
mail postfix, protonmail-bridge, alertmanager
telegram_net telegram-bot

Résumé

  • 4 nœuds Swarm — 1 manager (meta-76) + 3 workers (meta-68/69/70)
  • 12 stacks — ~43 services distincts
  • 9 GB de données — 6,15M hosts scannés, 33,7M services
  • Pipeline CI/CD — GitLab + Trivy + Gitea Actions
  • Interfaces de contrôle — Telegram bot, MCP server (Claude), API REST
  • Threat Intel multi-sources — OSINT, ML, CTI feeds, honeypot, IDS

Tout est open source, versionné sur Gitea, déployé via CI/CD.

gitea.bojemoi.me