Initial vault setup
This commit is contained in:
@@ -0,0 +1,177 @@
|
||||
---
|
||||
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](https://defguard.net) |
|
||||
| **GitHub** | [DefGuard/defguard](https://github.com/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|2FA]], [[cat-vpn|VPN]], [[cat-authentication|Authentication]] |
|
||||
| **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é)
|
||||
|
||||
```yaml
|
||||
# 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) :
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
- [Site officiel](https://defguard.net)
|
||||
- [Documentation](https://docs.defguard.net)
|
||||
- [GitHub DefGuard](https://github.com/DefGuard/defguard)
|
||||
- [Démo en ligne](https://demo.defguard.net)
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-2fa]] — Catégorie 2FA
|
||||
- [[cat-vpn]] — Catégorie VPN
|
||||
- [[vpn]] — Concept VPN
|
||||
- [[zero-trust]] — Modèle Zero Trust
|
||||
- [[oauth-2]] — Protocole d'autorisation
|
||||
Reference in New Issue
Block a user