Skip to content

V0.6.1 — HTTPS

Choose a tag to compare

@UlyssouLV UlyssouLV released this 14 Oct 21:00

Modifié en V0.7.0 (#96) — Lancement
Avant : Clone obligatoire, build: seul
Après : Clone pour construire ; Site Ubuntu sans sources

Modifié en V0.6.2 (#69) — Route /flux/ de nginx
Avant : relais vers MediaMTX sans session
Après : relais seulement après auth_request validé

Pourquoi

Jusqu’à la 0.6.0, l’UI, l’API et le Live étaient servis en HTTP sur quatre ports du Site : sur le Wi-Fi, le mot de passe de l’Administrateur, le cookie de session, les identifiants de caméra saisis à l’ajout et le jeton de l’Aperçu circulaient en clair. Le Site n’a pas de nom de domaine public, donc pas de certificat d’une autorité d’internet ; un certificat auto-signé aurait habitué l’Administrateur à ignorer les avertissements du navigateur.

Ce qu’on peut faire maintenant

  • Ouvrir ArgOS en HTTPS, sous une seule adresse https://<IP du Site> : l’UI, l’API et le Live (WebRTC et HLS) passent par le nginx de web, sur le port 443 (réglable).
  • Les anciennes adresses en clair (http://…:8080, http://<IP du Site>) redirigent vers la même page en HTTPS.
  • Se connecter, administrer les Caméras (détection, ajout, Réglages ONVIF) et regarder le Live H.264 et H.265 comme avant.
  • Les anciens ports de l’API et des Flux (8000, 8888, 8889) ne sont plus exposés sur le réseau ; le cookie de session porte Secure, et CORS a disparu.
  • ArgOS crée seul, au premier lancement, l’Autorité du Site et le certificat du serveur, sans commande openssl. Son empreinte SHA-256 s’affiche au lancement.
  • Depuis le Mac hôte, le lanceur propose d’ajouter l’Autorité du Site au trousseau, puis ouvre https://localhost sans avertissement ; aux lancements suivants, il ne redemande rien.
  • Installer l’Autorité du Site sur un autre poste (macOS, iOS, Windows, Android) en la téléchargeant depuis http://<IP du Site>/argos-ca.crt, avec une doc pas à pas (« Installer l’Autorité du Site »).
  • Quand l’IP du Site change ou que le certificat approche de l’expiration, un nouveau certificat serveur est créé et servi sans arrêter la stack, avec la même Autorité : rien à réinstaller sur les postes.
  • Un Administrateur qui a son propre certificat (nom de domaine, VPN) peut le déposer à la place de celui d’ArgOS.
  • Le schéma du réseau (conteneurs, ports, flux chiffrés ou en clair) rejoint la doc produit.

Historique des tickets

Tickets (Fixes) : #59 #60 #61 #62 #63 #64 #65 #66 #68

Hors périmètre

  • Authentification des Flux MediaMTX : RTSP 8554 reste ouvert et en clair (0.6.2).
  • HTTPS d’ArgOS vers les caméras, ONVIF encore en HTTP (0.6.3).
  • HSTS.
  • Sauvegarde ou export de l’Autorité du Site.
  • Renouvellement automatique d’un certificat fourni par l’Administrateur (Let’s Encrypt, ACME).
  • Images versionnées et compose de prod (0.7.0).

Spec : https://github.com/UlyssouLV/ArgOS/blob/v0.6.1/docs/specs/v0.6.1-https.md

ADRs de cette version (liens sur ce tag, pas main) :

Issues laissées de côté (PR / spec hors périmètre) : aucune.