Skip to Content

Sécurité

L’appliance fonctionne sur du matériel et dans un réseau que vous exploitez. IronFlock fournit le logiciel et ses réglages par défaut ; le niveau de protection de l’appliance dépend aussi du mode que vous choisissez, du réseau qui l’entoure et de l’hôte sur lequel elle tourne. Cette page est la liste de contrôle pour cette partie.

Ce que protège chaque mode

L’appliance fonctionne dans l’un des trois modes décrits dans HTTPS et certificats. Ils diffèrent par ce qui est chiffré et vérifié :

HTTP en clair (par défaut)HTTPS avec une CA auto-émiseHTTPS avec votre certificat d’entreprise
Navigateur vers l’applianceNon chiffréHTTPSHTTPS
Cookies de connexionNon marqués comme sécurisésSécurisésSécurisés
Liaison des appareils (port 18080)Non chiffréeNon chiffréeHTTPS sur 443
Images d’apps et mises à jour de l’agent pour les appareilsNon chiffréesNon chiffréesHTTPS sur 443
Tunnel d’accès distant des appareilsChiffré, serveur non vérifiéChiffré, serveur non vérifiéChiffré et vérifié
Passkeys et clés de sécuritéUniquement depuis l’appliance elle-mêmeOuiOui

Utilisez HTTPS avec votre certificat d’entreprise partout où l’appliance partage un réseau avec d’autres systèmes. C’est le seul mode dans lequel les appareils connectés vérifient à qui ils s’adressent. Les deux autres modes conviennent à un segment réseau que seuls l’appliance, ses appareils et ses opérateurs peuvent atteindre.

Ce qui reste non chiffré

Même avec HTTPS, une partie du trafic n’est pas chiffrée. Concevez votre réseau en conséquence :

  • La liaison des appareils sur le port 18080 est publiée sur toutes les interfaces réseau, dans tous les modes. L’agent d’appareil de l’appliance elle-même et les apps qui tournent sur l’appliance s’y connectent, et, en mode HTTP en clair et avec une CA auto-émise, tous les appareils connectés également.
  • Les tunnels d’accès distant vers l’appliance (port 7000) sont chiffrés en mode HTTP en clair et avec une CA auto-émise, mais les appareils ne peuvent pas vérifier le certificat de l’appliance. Une personne ayant accès au chemin réseau pourrait se faire passer pour le serveur de tunnel de l’appliance. Les agents d’appareil consignent un avertissement lorsqu’ils se connectent de cette manière.
  • Les connexions entre les services à l’intérieur de l’appliance, par exemple vers ses bases de données, ne sont pas chiffrées. Elles ne quittent pas l’hôte.
  • Les données au repos ne sont pas chiffrées par l’appliance. Utilisez le chiffrement du système d’exploitation ou du disque de l’hôte si l’appliance stocke des données sensibles ou est susceptible de quitter vos locaux.

Liste de contrôle de durcissement

  • Choisissez le mode adapté à votre réseau (voir Ce que protège chaque mode).
  • Limitez qui peut atteindre les ports de l’appliance. L’installateur n’ouvre rien dans votre pare-feu, et Docker publie les ports de l’appliance en contournant les règles d’entrée habituelles du pare-feu de l’hôte (ufw, firewalld). Filtrez dans la chaîne DOCKER-USER ou au niveau de votre pare-feu réseau : l’installateur dépose un modèle dans /opt/ironflock/docker-user-firewall.sh.example. N’autorisez les ports des appareils (18080, 15001, 15002, 7000, 30000–30049) que depuis vos réseaux d’appareils — voir Appareils se connectant à l’appliance.
  • Maintenez à jour le système d’exploitation de l’hôte et limitez qui y possède un compte. Toute personne disposant d’un accès root sur l’hôte peut lire tous les secrets de l’appliance.
  • Utilisez des clés SSH plutôt que des mots de passe pour l’accès administratif à l’hôte.
  • Configurez la synchronisation horaire — voir Synchronisation horaire (NTP).
  • Changez le mot de passe admin après la première connexion et configurez un second facteur pour le compte admin.
  • Exigez un second facteur pour tous dès que tous les comptes en ont un (voir Comptes et accès).
  • Protégez le compte ironflock.com propriétaire de l’instance avec un second facteur : il dispose d’un accès admin à l’appliance depuis le cloud.
  • N’installez que des apps de confiance. Les apps s’exécutent sur l’appliance et sur vos appareils avec un large accès à l’hôte, y compris aux fichiers de configuration de l’appliance.
  • Maintenez l’appliance à jour (voir Mises à jour).

Comptes et accès

  • Compte admin : chaque appliance reçoit son propre mot de passe admin lors de l’installation ; l’installateur l’affiche une seule fois. S’il est perdu, définissez-en un nouveau comme décrit dans Fonctionnement local — cela déconnecte aussi toutes les sessions admin.
  • Les nouveaux utilisateurs ne peuvent s’inscrire qu’avec une invitation d’un projet de l’appliance. Sans invitation, l’inscription est refusée, y compris via une connexion sociale.
  • Second facteur : les utilisateurs peuvent configurer une application d’authentification (TOTP), des passkeys ou des clés de sécurité, ainsi que des codes de récupération. Les passkeys et les clés de sécurité nécessitent HTTPS. L’option d’installation --2fa définit la politique, qui est conservée lors des mises à jour :
    • available — les utilisateurs peuvent configurer un second facteur, mais il ne leur est jamais demandé.
    • effective (par défaut) — les utilisateurs qui ont un second facteur doivent l’utiliser.
    • required — chaque utilisateur doit utiliser un second facteur. Assurez-vous d’abord que chaque compte en possède un : un utilisateur qui n’en a pas ne peut plus se connecter.
  • Les sessions durent 24 heures.
  • Accès depuis ironflock.com : le compte ironflock.com qui a créé la clé d’instance est relié au compte admin de l’appliance. Les utilisateurs que vous invitez relient leurs propres comptes ironflock.com — voir Liaison des comptes. Un utilisateur peut supprimer cette liaison à tout moment.

Secrets sur l’hôte

L’installateur génère les secrets de l’appliance une seule fois, lors de l’installation, et les conserve lors des mises à jour. Ils se trouvent sous /opt/ironflock/ :

FichierContenuAccès
.envMots de passe et clés de tous les services, le mot de passe admin initial, les identifiants du proxy et du SMTProot uniquement (0600)
license.envClé de licence et clé d’instanceroot et les services IronFlock (0640)
certs/Le certificat HTTPS et sa clé ; avec une CA auto-émise, également la clé de la CAClés privées root uniquement (0600)
registry-token-certs/La clé qui signe les jetons de téléchargement des images d’appsLe service de registre uniquement (0600)

L’installateur connecte également Docker au registre IronFlock avec votre clé de licence ; la configuration Docker de root la contient donc aussi.

Incluez ces fichiers dans vos sauvegardes et protégez les sauvegardes comme l’appliance elle-même.

Ce que vous pouvez remplacer vous-même :

  • Mot de passe admin : dans le profil, ou avec la commande de réinitialisation décrite dans Fonctionnement local.
  • Certificat HTTPS : remplacez les fichiers dans certs/ ; l’appliance prend automatiquement en compte le nouveau certificat.
  • Clé de licence : dans la section licence du profil admin.
  • Identifiants SMTP et proxy : dans .env, puis redémarrez avec sudo systemctl restart ironflock.service.

Pour les secrets internes des services, contactez l’équipe IronFlock.

Connexions sortantes et télémétrie

Les destinations auxquelles l’appliance se connecte sont listées dans Configuration du pare-feu ; toutes ces connexions sont chiffrées.

  • La validation de la licence envoie la clé de licence, une empreinte du matériel et les jetons d’accès des connexions de l’appliance à l’App Store en ligne.
  • L’assistant IA envoie les prompts via la passerelle LLM d’IronFlock, sauf si vous configurez votre propre passerelle.
  • Aucune télémétrie. L’appliance n’envoie aucune donnée d’analyse d’utilisation : ni l’interface de l’appliance ni ses services ne transmettent de données d’utilisation à IronFlock ou à des tiers.
  • Depuis le navigateur de l’utilisateur : les tuiles de carte sont chargées depuis Mapbox, et la saisie vocale utilise le service de reconnaissance vocale Deepgram. Ces connexions sont établies par le navigateur, pas par l’appliance.

Mises à jour

  • Les mises à jour de l’appliance sont lancées par l’admin (voir Maintenance). L’appliance les télécharge via HTTPS et revient automatiquement à la version précédente si une mise à jour échoue.
  • Les mises à jour de l’agent d’appareil sont signées. Chaque agent vérifie la signature avant d’appliquer une mise à jour et revient à la version précédente si la nouvelle version ne démarre pas — voir Mises à jour de l’agent d’appareil.
  • Le système d’exploitation de l’hôte relève de votre responsabilité, y compris Docker.

Sauvegarde et restauration

L’appliance n’a pas de sauvegarde intégrée. Pour la sauvegarder, arrêtez-la avec sudo systemctl stop ironflock.service et copiez :

  • le dossier /opt/ironflock/, y compris .env, license.env, certs/ et registry-token-certs/ ;
  • les volumes Docker de l’appliance (docker volume ls), qui contiennent les bases de données, les fichiers, le local App Store et les fichiers des utilisateurs.

Conservez .env avec les volumes du même instant : les données chiffrées des volumes ne peuvent être lues qu’avec les clés de ce .env.

Mise hors service

  1. Déplacez ou libérez la licence tant que l’appliance est encore en ligne — voir Déplacer votre licence vers un nouveau matériel.

  2. Supprimez le logiciel :

    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

    L’installateur a connecté Docker au registre IronFlock avec la clé de licence ; supprimez aussi cette connexion :

    sudo docker logout instance-registry.ironflock.com
  3. Si le matériel quitte vos locaux, effacez son disque de manière sûre — les commandes ci-dessus suppriment les fichiers, mais ne les écrasent pas.

Paramètres qui affaiblissent la sécurité

Certains paramètres n’existent que pour le dépannage. Ne les définissez pas en production :

  • TUNNEL_TLS_INSECURE_SKIP_VERIFY et CLOUD_TUNNEL_TLS_INSECURE_SKIP_VERIFY — désactivent la vérification des certificats des tunnels d’accès distant.
  • AGENT_UPDATE_ALLOW_UNSIGNED — permet à un agent d’appareil d’appliquer des mises à jour non signées.
  • TUNNEL_AUTHZ_ENFORCE=false — permet aux appareils d’ouvrir des tunnels sans prouver leur identité.
  • ?tls.rejectUnauthorized=false dans SMTP_CONNECTION_URI — accepte n’importe quel certificat de votre serveur de messagerie.
  • --2fa available — les seconds facteurs ne sont jamais demandés.
Last updated on