ajoute la visio de classe : Jitsi auto-hébergé, jetons du portail, prof seul modérateur
Jitsi (docker-jitsi-meet, version figée) derrière Nginx sur meet.syllabuslab.fr, accès par jeton JWT signé par le portail, modération du micro, mains levées synchronisées avec l'application. Pare-feu : UDP 10000 et pont interne br-visio (accords d'Adam). Jicofo n'authentifie plus lui-même : il donnait le rôle de propriétaire aux élèves. Capacité ramenée à 20 VM. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
dd4f9c3c55
commit
ec4eae3744
36 changed files with 1406 additions and 18 deletions
|
|
@ -5,6 +5,20 @@ durcissement_ports_ouverts:
|
|||
- 80
|
||||
- 443
|
||||
|
||||
# Ports UDP ouverts. 10000 : média de la visio (Jitsi Videobridge, étape 15,
|
||||
# accord d'Adam le 2026-10-09). Le relais TURN sur 443 pour les réseaux qui
|
||||
# bloquent l'UDP reste à faire (docs/dette.md).
|
||||
durcissement_ports_udp_ouverts:
|
||||
- 10000
|
||||
|
||||
# Délai avant retour automatique à l'état d'avant durcissement, si la vérification
|
||||
# post-changement échoue (voir CLAUDE.md et le prompt de déploiement, règle 4).
|
||||
durcissement_delai_filet_secondes: 300
|
||||
|
||||
# Ponts Docker dont les conteneurs peuvent se parler entre eux. br_netfilter
|
||||
# fait passer le trafic interne d'un pont par la chaîne forward (politique
|
||||
# drop) : sans cette règle, les conteneurs d'un même réseau ne se joignent
|
||||
# pas. Seul le trafic qui entre ET ressort par ce pont est accepté.
|
||||
# br-visio : Jitsi (étape 15, accord d'Adam le 2026-10-12).
|
||||
durcissement_ponts_internes:
|
||||
- br-visio
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/sbin/nft -f
|
||||
# Géré par Ansible (rôle durcissement) — ne pas modifier à la main.
|
||||
# Politique : tout est refusé en entrée sauf loopback, trafic déjà établi,
|
||||
# ICMP, et les ports {{ durcissement_ports_ouverts | join(', ') }}.
|
||||
# ICMP, les ports TCP {{ durcissement_ports_ouverts | join(', ') }}{% if durcissement_ports_udp_ouverts | default([]) %} et UDP {{ durcissement_ports_udp_ouverts | join(', ') }}{% endif %}.
|
||||
|
||||
flush ruleset
|
||||
|
||||
|
|
@ -17,10 +17,18 @@ table inet filter {
|
|||
meta l4proto ipv6-icmp accept
|
||||
|
||||
tcp dport { {{ durcissement_ports_ouverts | join(', ') }} } accept
|
||||
{% if durcissement_ports_udp_ouverts | default([]) %}
|
||||
udp dport { {{ durcissement_ports_udp_ouverts | join(', ') }} } accept
|
||||
{% endif %}
|
||||
}
|
||||
|
||||
chain forward {
|
||||
type filter hook forward priority 0; policy drop;
|
||||
{% for pont in durcissement_ponts_internes | default([]) %}
|
||||
|
||||
# Trafic interne au réseau Docker {{ pont }} (conteneur ↔ conteneur).
|
||||
iifname "{{ pont }}" oifname "{{ pont }}" accept
|
||||
{% endfor %}
|
||||
|
||||
{% if reseau_veth_gw_subnet is defined %}
|
||||
# Un seul sens autorisé : réseau externe OpenStack -> Internet (NAT),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue