Skip to Content

Seguridad

El appliance se ejecuta en hardware y en una red que operas tú. IronFlock proporciona el software y sus valores predeterminados; lo bien protegido que esté el appliance depende también del modo que elijas, de la red que lo rodea y del host en el que se ejecuta. Esta página es la lista de comprobación para esa parte.

Qué protege cada modo

El appliance funciona en uno de tres modos, descritos en HTTPS y certificados. Se diferencian en qué se cifra y qué se verifica:

HTTP simple (predeterminado)HTTPS con una CA autoemitidaHTTPS con tu certificado corporativo
Navegador al applianceSin cifrarHTTPSHTTPS
Cookies de inicio de sesiónNo marcadas como segurasSegurasSeguras
Enlace del dispositivo (puerto 18080)Sin cifrarSin cifrarHTTPS en 443
Imágenes de apps y actualizaciones del agente para los dispositivosSin cifrarSin cifrarHTTPS en 443
Túnel de acceso remoto de los dispositivosCifrado, servidor no verificadoCifrado, servidor no verificadoCifrado y verificado
Passkeys y llaves de seguridadSolo desde el propio applianceSíSí

Usa HTTPS con tu certificado corporativo siempre que el appliance comparta red con otros sistemas. Es el único modo en el que los dispositivos conectados verifican con quién hablan. Los otros dos modos son adecuados para un segmento de red al que solo pueden acceder el appliance, sus dispositivos y sus operadores.

Qué queda sin cifrar

Incluso con HTTPS, parte del tráfico no está cifrado. Planifica tu red teniéndolo en cuenta:

  • El enlace del dispositivo en el puerto 18080 se publica en todas las interfaces de red en todos los modos. Se conectan a él el propio agente de dispositivo del appliance y las apps que se ejecutan en el appliance, y en modo simple y con una CA autoemitida también todos los dispositivos conectados.
  • Los túneles de acceso remoto hacia el appliance (puerto 7000) están cifrados en modo simple y con una CA autoemitida, pero los dispositivos no pueden comprobar el certificado del appliance. Alguien con acceso a la ruta de red podría hacerse pasar por el servidor de túneles del appliance. Los agentes de dispositivo registran una advertencia cuando se conectan de esta forma.
  • Las conexiones entre los servicios dentro del appliance, como las que van a sus bases de datos, no están cifradas. No salen del host.
  • Los datos en reposo no los cifra el appliance. Usa el cifrado del sistema operativo o del disco del host si el appliance almacena datos sensibles o puede salir de tus instalaciones.

Lista de comprobación de endurecimiento

  • Elige el modo que se ajuste a tu red (consulta Qué protege cada modo).
  • Restringe quién puede alcanzar los puertos del appliance. El instalador no abre nada en tu cortafuegos, y Docker publica los puertos del appliance saltándose las reglas de entrada habituales del cortafuegos del host (ufw, firewalld). Filtra en la cadena DOCKER-USER o en el cortafuegos de tu red: el instalador deja una plantilla en /opt/ironflock/docker-user-firewall.sh.example. Permite los puertos de los dispositivos (18080, 15001, 15002, 7000, 30000–30049) solo desde las redes de tus dispositivos — consulta Dispositivos que se conectan al appliance.
  • Mantén actualizado el sistema operativo del host y limita quién tiene una cuenta en él. Cualquiera con acceso root al host puede leer todos los secretos del appliance.
  • Usa claves SSH en lugar de contraseñas para el acceso administrativo al host.
  • Configura la sincronización horaria — consulta Sincronización horaria (NTP).
  • Cambia la contraseña de administrador tras el primer inicio de sesión y configura un segundo factor para la cuenta de administrador.
  • Exige un segundo factor a todos una vez que todas las cuentas tengan uno (consulta Cuentas y acceso).
  • Protege con un segundo factor la cuenta de ironflock.com propietaria de la instancia: tiene acceso de administrador al appliance desde la nube.
  • Instala solo apps de confianza. Las apps se ejecutan en el appliance y en tus dispositivos con un amplio acceso al host, incluidos los archivos de configuración del appliance.
  • Mantén el appliance actualizado (consulta Actualizaciones).

Cuentas y acceso

  • Cuenta de administrador: cada appliance recibe su propia contraseña de administrador durante la instalación; el instalador la muestra una sola vez. Si se pierde, establece una nueva como se describe en Operación local — esto también cierra todas las sesiones de administrador.
  • Los nuevos usuarios solo pueden registrarse con una invitación de un proyecto del appliance. Sin invitación, el registro se rechaza, también a través del inicio de sesión social.
  • Segundo factor: los usuarios pueden configurar una app de autenticación (TOTP), passkeys o llaves de seguridad, y códigos de recuperación. Las passkeys y las llaves de seguridad necesitan HTTPS. La opción del instalador --2fa establece la política, y esta se mantiene entre actualizaciones:
    • available — los usuarios pueden configurar un segundo factor, pero nunca se les pide.
    • effective (predeterminado) — los usuarios que tienen un segundo factor deben usarlo.
    • required — todos los usuarios deben usar un segundo factor. Asegúrate antes de que cada cuenta tenga uno: un usuario sin él ya no puede iniciar sesión.
  • Las sesiones duran 24 horas.
  • Acceso desde ironflock.com: la cuenta de ironflock.com que creó la Instance Key está vinculada a la cuenta de administrador del appliance. Los usuarios que invitas vinculan sus propias cuentas de ironflock.com — consulta Vincular cuentas. Un usuario puede eliminar esa vinculación en cualquier momento.

Secretos en el host

El instalador genera los secretos del appliance una sola vez, durante la instalación, y los conserva entre actualizaciones. Se encuentran en /opt/ironflock/:

ArchivoContenidoAcceso
.envContraseñas y claves de todos los servicios, la contraseña inicial de administrador, credenciales del proxy y de SMTPSolo root (0600)
license.envClave de licencia e Instance KeyRoot y los servicios de IronFlock (0640)
certs/El certificado HTTPS y su clave; con una CA autoemitida también la clave de la CAClaves privadas solo root (0600)
registry-token-certs/La clave que firma los tokens de descarga de imágenes de appsSolo el servicio de registro (0600)

El instalador también inicia sesión de Docker en el registro de IronFlock con tu clave de licencia, así que la configuración de Docker de root también la contiene.

Incluye estos archivos en tus copias de seguridad y protege las copias igual que el propio appliance.

Lo que puedes sustituir tú mismo:

  • Contraseña de administrador: en el perfil, o con el comando de restablecimiento de Operación local.
  • Certificado HTTPS: sustituye los archivos en certs/; el appliance carga el nuevo certificado automáticamente.
  • Clave de licencia: en la sección de licencia del perfil de administrador.
  • Credenciales de SMTP y del proxy: en .env, y después reinicia con sudo systemctl restart ironflock.service.

Para los secretos internos de los servicios, contacta con el equipo de IronFlock.

Conexiones salientes y telemetría

Los destinos a los que se conecta el appliance se enumeran en Configuración del cortafuegos; todas estas conexiones están cifradas.

  • La validación de la licencia envía la clave de licencia, una huella del hardware y los tokens de acceso de las conexiones del appliance a la App Store online.
  • El asistente de IA envía los prompts a través del gateway de LLM de IronFlock, a menos que configures un gateway propio.
  • Sin telemetría. El appliance no envía analíticas de uso: ni la UI del appliance ni sus servicios informan del uso a IronFlock ni a terceros.
  • Desde el navegador del usuario: los mosaicos de los mapas se cargan desde Mapbox, y la entrada de voz usa el servicio de reconocimiento de voz Deepgram. Estas conexiones las realiza el navegador, no el appliance.

Actualizaciones

  • Las actualizaciones del appliance las inicia el administrador (consulta Mantenimiento). El appliance las descarga por HTTPS y revierte automáticamente si una actualización falla.
  • Las actualizaciones del agente de dispositivo están firmadas. Cada agente comprueba la firma antes de aplicar una actualización y revierte si la nueva versión no arranca — consulta Actualizaciones del agente de dispositivo.
  • El sistema operativo del host es tu responsabilidad, incluido Docker.

Copia de seguridad y restauración

El appliance no incluye copia de seguridad integrada. Para hacer una copia de seguridad, detenlo con sudo systemctl stop ironflock.service y copia:

  • la carpeta /opt/ironflock/, incluidos .env, license.env, certs/ y registry-token-certs/;
  • los volúmenes de Docker del appliance (docker volume ls), que contienen las bases de datos, los archivos, la App Store local y los archivos de los usuarios.

Guarda .env junto con los volúmenes del mismo momento: los datos cifrados de los volúmenes solo pueden leerse con las claves de ese .env.

Retirada del servicio

  1. Traslada o libera la licencia mientras el appliance siga en línea — consulta Mover tu licencia a nuevo hardware.

  2. Elimina el software:

    sudo systemctl disable --now ironflock.service sudo docker compose -f /opt/ironflock/docker-compose.yml \ --env-file /opt/ironflock/.env down -v sudo rm -rf /opt/ironflock

    El instalador inició sesión de Docker en el registro de IronFlock con la clave de licencia; elimina también ese inicio de sesión:

    sudo docker logout instance-registry.ironflock.com
  3. Si el hardware sale de tus instalaciones, borra su disco — los comandos anteriores eliminan archivos, pero no los sobrescriben.

Ajustes que debilitan la seguridad

Algunos ajustes existen solo para la resolución de problemas. No los definas en producción:

  • TUNNEL_TLS_INSECURE_SKIP_VERIFY y CLOUD_TUNNEL_TLS_INSECURE_SKIP_VERIFY — desactivan la comprobación del certificado de los túneles de acceso remoto.
  • AGENT_UPDATE_ALLOW_UNSIGNED — permite que un agente de dispositivo aplique actualizaciones sin firmar.
  • TUNNEL_AUTHZ_ENFORCE=false — permite que los dispositivos abran túneles sin demostrar su identidad.
  • ?tls.rejectUnauthorized=false en SMTP_CONNECTION_URI — acepta cualquier certificado de tu servidor de correo.
  • --2fa available — nunca se piden segundos factores.
Last updated on