69 lines
1.8 KiB
Markdown
69 lines
1.8 KiB
Markdown
# bbb-vps-prep (Ubuntu 22.04) — nftables + hardening + Docker (BBB 3.x ready)
|
||
|
||
Ce dépôt prépare un VPS **Ubuntu 22.04** pour BigBlueButton (BBB 3.x) avec :
|
||
|
||
- SSH durci (clés seulement, root interdit, allowlist utilisateurs)
|
||
- **nftables** comme firewall (pas UFW, pas iptables en gestion humaine)
|
||
- Docker CE (repo officiel) requis par BBB 3.x
|
||
- compatibilité Docker : on **n’efface jamais** le ruleset global, on applique une **table nftables dédiée** (`inet hostfilter`)
|
||
- fail2ban avec action nftables
|
||
- journald persistant + rotation
|
||
- sysctl hardening (inclut ip_forward pour Docker)
|
||
- swapfile (utile avec 12 Go RAM)
|
||
|
||
## Mise en route
|
||
1) Éditer `inventory.ini` (IP du VPS)
|
||
2) Éditer `group_vars/all.yml` (clé publique, CIDR SSH, FQDN)
|
||
3) Exécuter :
|
||
|
||
```bash
|
||
make check
|
||
make run
|
||
```
|
||
|
||
Mode dry-run :
|
||
```bash
|
||
make dry-run
|
||
```
|
||
|
||
## Ports ouverts (par défaut)
|
||
- SSH: 22/TCP (restreignable par CIDR)
|
||
- BBB: 80/TCP, 443/TCP, 16384–32768/UDP
|
||
- TURN (cohab): 3478/TCP+UDP, 5349/TCP, 32769–65535/UDP
|
||
|
||
## Notes
|
||
- Docker gardera ses règles nécessaires au bridge/NAT; ce dépôt ajoute une couche “policy” via nftables.
|
||
- TURN sur 443 “exclusif” n’est pas compatible cohabitation 1 IP avec nginx/BBB (on utilise 5349/TLS).
|
||
|
||
|
||
## Installation BBB + TURN (suite)
|
||
|
||
1) Renseigne `letsencrypt_email` dans `group_vars/all.yml`.
|
||
2) Applique uniquement l'installation BBB :
|
||
|
||
```bash
|
||
make bbb
|
||
```
|
||
|
||
Pour un dry-run (vérification) :
|
||
|
||
```bash
|
||
make bbb-dry-run
|
||
```
|
||
|
||
> Note: BBB 3.x installe un TURN local + HAProxy pour partager le port 443 avec HTTPS. Le firewall `hostfilter` doit donc autoriser **UDP/443** en plus de TCP/443.
|
||
|
||
|
||
## Greenlight v3 (portail principal)
|
||
|
||
Installation sur le domaine racine (remplace la page d’accueil BBB) :
|
||
|
||
```bash
|
||
make greenlight
|
||
```
|
||
|
||
Créer un compte admin :
|
||
|
||
```bash
|
||
sudo docker exec -it greenlight-v3 bundle exec rake admin:create
|
||
```
|