97 lines
3.7 KiB
Markdown
97 lines
3.7 KiB
Markdown
---
|
|
title: Octelium
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, remote-access, zero-trust, vpn, mesh, k8s, bastion]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Remote+Access, https://github.com/octelium/octelium]
|
|
---
|
|
|
|
# 🌐 Octelium
|
|
|
|
> Plateforme zero-trust unifiée : VPN mesh, bastion multi-protocoles et proxy pour Kubernetes, DB, SSH, HTTP.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Attribut | Valeur |
|
|
|----------|--------|
|
|
| **Nom** | Octelium |
|
|
| **Slug** | octelium |
|
|
| **Description** | Réseau zero-trust programmable : VPN, bastion, service mesh pour tout protocole |
|
|
| **Site officiel** | https://octelium.com |
|
|
| **Repository** | https://github.com/octelium/octelium |
|
|
| **Stars** | 3 869 ⭐ |
|
|
| **Licence** | AGPL-3.0 |
|
|
| **Langage principal** | Go |
|
|
| **Catégorie** | Remote Access |
|
|
| **Tags** | [catalogue, remote-access, zero-trust, vpn, mesh, k8s, bastion] |
|
|
|
|
## 📝 Description
|
|
Octelium va plus loin qu'un simple bastion : c'est une **plateforme zero-trust** qui réunit dans un même binaire contrôle d'accès, VPN mesh, service mesh et bastion. Le serveur unique expose un plan de contrôle (API) et un plan de données (data plane) qui relayent les connexions SSH, HTTP, TCP, MySQL, gRPC, Kubernetes, etc.
|
|
|
|
L'idée directrice : au lieu d'exposer des ports ou d'utiliser un VPN, l'utilisateur (humain ou workload) s'authentifie auprès d'Octelium, puis accède aux services autorisés via des **URL éphémères** générées à la volée. Tout passe par le même proxy, ce qui simplifie énormément la surface d'attaque et l'audit.
|
|
|
|
Cas d'usage typiques : remplacer un VPN traditionnel, exposer un cluster Kubernetes à des devs sans ouvrir d'API server, centraliser l'accès à des dizaines de services internes depuis un seul client (`octelium` CLI ou UI web).
|
|
|
|
## 🚀 Installation
|
|
### Via binaire (recommandé)
|
|
```bash
|
|
# Installation du serveur
|
|
curl -fsSL https://octelium.com/install.sh | bash
|
|
octelium cluster init
|
|
octelium cluster up
|
|
|
|
# Installation du client
|
|
curl -fsSL https://octelium.com/install-client.sh | bash
|
|
octelium login
|
|
```
|
|
|
|
### Via Docker
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
octelium:
|
|
image: octelium/octelium:latest
|
|
container_name: octelium
|
|
restart: unless-stopped
|
|
network_mode: host # requis pour le data plane
|
|
volumes:
|
|
- ./data:/var/lib/octelium
|
|
cap_add:
|
|
- NET_ADMIN
|
|
```
|
|
|
|
## ⚙️ Configuration
|
|
- **Policies** déclaratives (YAML) : qui peut accéder à quoi, depuis où, avec quelle MFA.
|
|
- Authentification **OIDC / SAML**, fallback **TOTP** natif.
|
|
- **Mode mesh** : les clients s'authentifient puis établissent un tunnel chiffré WireGuard-like.
|
|
- **Service discovery** automatique pour Kubernetes, DNS internes.
|
|
- **Audit log** et **session recording** natif.
|
|
|
|
## 🔗 Alternatives
|
|
- **Cloudflare Tunnel + Access** — équivalent cloud très simple à mettre en place.
|
|
- **Tailscale / Headscale** — VPN mesh WireGuard, pas de bastion applicatif.
|
|
- **Teleport** — bastion zero-trust enterprise, plus ancien et plus connu.
|
|
- **Pangolin** — reverse proxy + Zero Trust, plus orienté exposer des apps web.
|
|
|
|
## 🔒 Sécurité
|
|
- Architecture **zero-trust** : aucune confiance implicite, mTLS partout.
|
|
- **MFA** obligatoire configurable par policy.
|
|
- **Pas d'IP publique exposée** : tous les services restent internes, seul Octelium est joignable.
|
|
- **Audit** granulaire et exportable (OTLP, syslog, fichiers).
|
|
|
|
## 📚 Ressources
|
|
- Site officiel : https://octelium.com
|
|
- Documentation : https://docs.octelium.com
|
|
- Quickstart : https://docs.octelium.com/getting-started
|
|
|
|
## 🔗 Pages Liées
|
|
- [[cat-remote-access]]
|
|
- [[app-warpgate]] — bastion zero-trust plus simple
|
|
- [[app-traefik]]
|
|
- [[app-authentik]] — IdP OIDC à brancher
|
|
- [[securisation-home-lab]]
|
|
- [[recettes-docker-compose]]
|