Sto costruendo un'applicazione WebRTC e mi preoccupo molto della sicurezza.
Ho letto questo articolo abbastanza interessante: link
Dato che sono ben lungi dall'essere un esperto in sicurezza di rete, voglio solo confermare che lo sto facendo bene e di quali cose dovrei potenzialmente preoccuparmi.
-
Origine
- La "room" WebRTC è ospitata su un sito Web su HTTPS (LetsEncrypt).
- Costringo le API JavaScript a generare certificati ECDSA ogni volta che è possibile (non sono esattamente al corrente del ruolo di tali certificati comunque?!)
-
Segnalazione
- Ho creato un server di segnalazione websocket accessibile tramite WSS.
- Questo server di segnalazione deve ricevere un messaggio speciale di "autenticazione", contenente un JSONWebToken RFC7519 valido (controllando l'origine e la scadenza), prima di consentire effettivamente l'inoltro di offerte SDP, risposte e candidati ICE. Tutti i JWT sono crittografati con una chiave privata di 4096 bit.
- Una volta autenticato, questo JWT non è più necessario, poiché il server WebSocket considererà una connessione come autenticata fino alla disconnessione?!
-
Rete
- Ho configurato un server TURN (resiprocate-turn-server) utilizzando anche TLS, accessibile per i protocolli STUN e TURNS:
stun:stun.my-domain.org:3478
turns:turn.my-domain.org:5349
(richiede nome utente e password validi)
- Devo limitare l'accesso a questo server STUN ad alcune origini domaine?
Come sviluppatore web, devo preoccuparmi del tipo di attacco MITM (in realtà qualsiasi tipo di attacco?)