Omnisuite videoCan

De VIVAitwiki
Ir a la navegaciónIr a la búsqueda

1 Maquina genérica

  • Debian 13
  • nginx
  • certbot
  • prosody
  • No hay Mariadb/Mysql
  • Para montar el meet habrá un procedimiento que nos dará Antonio

2 Diferencias con un VIVAit Meet "standard"

  • Autenticación: VIVAit Meet autentica con credenciales con LDAP o BBDD VIVAit; aquí no hay LDAP ni usuarios. En la URL que llega del chat de la URL de videocan llega un Token. Con esa URL, cuando se conecta el agente, se autentica usando JWT y ya entra autenticado como moderador.
  • Carteles

3 Consideraciones de arquitectura

  • No se entrega máquina virtual, siempre se instalará: Por ejemplo, el nombre de host está en una cantidad de sitios tan grande que es inmanejable de otra forma.
  • Nodo dedicado: Siempre instalado en un nodo entero; no es compatible con Asterisk (ambos usan el puerto 10000).
  • Red: Requiere una IP Pública entera (puede ser Nateada).
  • Exclusividad: No es compatible con "otro meet" que pudiera haber en el cliente.

4 Desarrollos

  • Módulo mod en prosody
  • Videocan (Demonio): Proporciona APIs:
    • API de conexión de cliente
    • API de conexión de Agente
    • API contra prosody (control de canales)
  • Aplicación para firmar (videoCanFirmar): Usa la clave privada habitual.
    • Se le pasa un fichero videoCan.conf y devuelve otro modificado (no lo machaca).
    • Puede generar firma, jwt_secret (para prosody) y tokens (para la conexión desde el lado cliente a URL de videoCan para el servicio).
  • Plantilla: Cuando se invoca a una URL de videocan, la página que se le devuelve es una plantilla. Personalizan aspectos "del meet", reciben parámetros, etc.
  • Cuando invocamos a openchannel desde videocan también existe una plantilla para "lo que le entra al agente".
  • Plantillas: Tienen Javascript.

5 Proceso de instalación

  • Pendiente del detalle.
  • Configurar prosody (seguramente solo cambiar nombre de host).
  • Modificar el JWT.
  • Reconfigurar varias veces NGINX y meet.
  • Puntos intermedios de prueba en los que se puede probar vídeo (sin autenticación).
  • Importante: Ir viendo logs en todo el proceso.

6 Seguridad

6.1 Medidas de protección

  • Nftables
  • Fail2ban: Manejamos el nginx y el mcan.
  • Firmas de control: Firmamos una cadena que contiene los valores que nos interesa proteger para poder tener distribución y que, por ejemplo, no nos amplíen el número de canales. Protegemos:
    • Número de servicios
    • Número de canales
    • Host
  • Actualizaciones (por seguridad): update/upgrade, y cuando saquemos actualizaciones de meet o videocan.

7 Configuraciones

  • Hay un fichero guía de instalación / cuestionario a cliente.
  • videoCan.conf

8 Diagnósticos

8.1 Videocan

  • Comando de diagnóstico:
nc localhost 1132
  • Rutas de logs principales:
/var/log/videoCan/videoCan.log
/var/log/nginx (Típicos de nginx)
/var/log/prosody
/var/log/jitsi
  • Monitoreo: Zabbix (explotando el comando "nc").