Files
wiki/Catalogue-Self-Hosted/apps/app-defguard.md
T
2026-06-09 18:40:21 +02:00

5.5 KiB


title: Defguard created: 2026-06-06 updated: 2026-06-06 type: app tags: [catalogue, 2FA, VPN, identity-management, security, rust] confidence: high contested: false sources: [https://selfh.st/apps/?tag=2FA, https://github.com/DefGuard/defguard]

🔐 Defguard

Solution VPN + SSO + 2FA tout-en-un pour entreprises. Stack complet d'identité et d'accès réseau, basé sur WireGuard.

📋 Informations Générales

Champ Valeur
Site web defguard.net
GitHub DefGuard/defguard
License Custom (source-available, gratuit)
Langage Rust (backend), React (frontend)
Étoiles GitHub 3k
Dernière MAJ 2026-06-05
Catégorie [[cat-2fa
Note Pas 100% OSI-open, mais source-available

📝 Description

Defguard est un bundle entreprise qui combine en une seule plateforme :

  • VPN WireGuard : gestion centralisée des peers, clés, configurations
  • SSO / SAML / OIDC : authentification unique
  • 2FA / MFA : TOTP, WebAuthn, YubiKey
  • Gestion d'utilisateurs : LDAP-like intégré
  • Admin UI web : interface moderne pour gérer le tout
  • API REST : intégrations tierces

Public cible : PME/ETI qui veulent remplacer un stack complexe (WireGuard + Auth0 + 2FA séparé) par une solution unifiée.

Différence avec WireGuard seul : WireGuard est juste le protocole VPN. Defguard ajoute la couche de gestion (qui a accès à quoi, comment il s'authentifie).

🚀 Installation

Option 1 : Docker Compose (recommandé)

# docker-compose.yml
version: '3.8'
services:
  defguard:
    image: ghcr.io/defguard/defguard:latest
    container_name: defguard
    restart: unless-stopped
    environment:
      - DEFGUARD_URL=https://defguard.example.com
      - DEFGUARD_LOG_LEVEL=INFO
      - DATABASE_URL=postgres://defguard:***@db:5432/defguard
      - REDIS_URL=redis://redis:6379
      - SECRET_KEY=***      - COOKIE_DOMAIN=defguard.example.com
      - COOKIE_SECURE=true
      - JWT_SECRET=***      - RUST_LOG=info
    volumes:
      - defguard-data:/app/data
    depends_on:
      - db
      - redis
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.defguard.rule=Host(`defguard.example.com`)"
      - "traefik.http.routers.defguard.entrypoints=websecure"
      - "traefik.http.routers.defguard.tls.certresolver=letsencrypt"
      - "traefik.http.services.defguard.loadbalancer.server.port=8000"
    networks:
      - proxy

  db:
    image: postgres:15
    container_name: defguard-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=defguard
      - POSTGRES_PASSWORD=***      - POSTGRES_DB=defguard
    volumes:
      - defguard-db:/var/lib/postgresql/data
    networks:
      - proxy

  redis:
    image: redis:7
    container_name: defguard-redis
    restart: unless-stopped
    networks:
      - proxy

volumes:
  defguard-data:
  defguard-db:

networks:
  proxy:
    external: true

Option 2 : WireGuard integration

Defguard gère uniquement la couche d'auth et de config. Le serveur WireGuard réel doit être installé séparément (sur la machine ou via un module kernel) :

# Installation WireGuard (Debian/Ubuntu)
sudo apt install wireguard

# Defguard s'occupera de :
# - Générer les clés
# - Pousser la config aux clients
# - Gérer les peer entries

⚙️ Configuration Initiale

  1. Lancer les conteneurs (Docker Compose ci-dessus)
  2. Accéder à l'UI sur https://defguard.example.com
  3. Créer le premier admin via l'UI
  4. Configurer votre serveur WireGuard (adresse IP publique, port, sous-réseau)
  5. Importer un réseau WireGuard dans Defguard
  6. Créer des utilisateurs ou connecter un LDAP/Active Directory
  7. Activer le 2FA (TOTP, WebAuthn)
  8. Distribuer le client Defguard aux utilisateurs

🔄 Alternatives

Open Source

  • WireGuard seul (sans couche de gestion)
  • Headscale — Serveur Tailscale open-source
  • NetBird — Alternative à WireGuard avec UI
  • Pritunl — VPN open-source avec interface

Comparaison Defguard vs autres

Critère Defguard Headscale NetBird Pritunl
VPN WireGuard WireGuard WireGuard OpenVPN/WireGuard
UI intégrée Complète ⚠️ Basique Moderne Complète
SSO/SAML
2FA intégré
Gestion users
Licence Custom BSD-3 LGPL-3 Source-available

Verdict : Defguard est le plus complet pour une entreprise. Pour un usage perso, Headscale ou NetBird sont plus simples.

Propriétaires (ce que Defguard remplace)

  • Tailscale Business — 6$/user/mois
  • Cloudflare Tunnel + Access
  • Okta + Cisco AnyConnect — Très cher
  • Palo Alto GlobalProtect — Très cher

🔐 Sécurité

  • WireGuard : crypto state-of-the-art (Curve25519, ChaCha20)
  • 2FA : TOTP, WebAuthn, YubiKey
  • SSO : SAML 2.0, OIDC
  • Audit log complet
  • Code source auditable : publié sur GitHub

📚 Ressources

Pages Liées