Sicurezza
L’Appliance funziona su hardware e in una rete che gestisci tu. IronFlock fornisce il software e le sue impostazioni predefinite; quanto bene l’Appliance sia protetta dipende anche dalla modalità che scegli, dalla rete che la circonda e dall’host su cui gira. Questa pagina è la checklist per questa parte.
Cosa Protegge Ciascuna Modalità
L’Appliance funziona in una di tre modalità, descritte in HTTPS e certificati. Si differenziano per ciò che viene cifrato e verificato:
| HTTP semplice (predefinito) | HTTPS con una CA autogenerata | HTTPS con il tuo certificato aziendale | |
|---|---|---|---|
| Browser verso l’Appliance | Non cifrato | HTTPS | HTTPS |
| Cookie di login | Non contrassegnati come secure | Secure | Secure |
Collegamento del dispositivo (porta 18080) | Non cifrato | Non cifrato | HTTPS su 443 |
| Immagini delle app e aggiornamenti dell’agent per i dispositivi | Non cifrati | Non cifrati | HTTPS su 443 |
| Tunnel di accesso remoto dei dispositivi | Cifrato, server non verificato | Cifrato, server non verificato | Cifrato e verificato |
| Passkey e chiavi di sicurezza | Solo dall’Appliance stessa | Sì | Sì |
Usa HTTPS con il tuo certificato aziendale ovunque l’Appliance condivida una rete con altri sistemi. È l’unica modalità in cui i dispositivi connessi verificano con chi stanno comunicando. Le altre due modalità sono adatte a un segmento di rete raggiungibile solo dall’Appliance, dai suoi dispositivi e dai suoi operatori.
Cosa Resta Non Cifrato
Anche con HTTPS, una parte del traffico non è cifrata. Pianifica la tua rete tenendone conto:
- Il collegamento del dispositivo sulla porta
18080è pubblicato su ogni interfaccia di rete in ogni modalità. Vi si connettono l’agent del dispositivo dell’Appliance stessa e le app in esecuzione sull’Appliance e, in modalità HTTP semplice e con una CA autogenerata, anche tutti i dispositivi connessi. - I tunnel di accesso remoto verso l’Appliance (porta
7000) sono cifrati in modalità HTTP semplice e con una CA autogenerata, ma i dispositivi non possono verificare il certificato dell’Appliance. Chi ha accesso al percorso di rete potrebbe spacciarsi per il server dei tunnel dell’Appliance. Gli agent dei dispositivi registrano un avviso quando si connettono in questo modo. - Le connessioni tra i servizi all’interno dell’Appliance, ad esempio verso i suoi database, non sono cifrate. Non lasciano l’host.
- I dati a riposo non sono cifrati dall’Appliance. Usa la cifratura del sistema operativo o del disco dell’host se l’Appliance memorizza dati sensibili o se potrebbe lasciare i tuoi locali.
Checklist di Hardening
- Scegli la modalità adatta alla tua rete (vedi Cosa Protegge Ciascuna Modalità).
- Limita chi può raggiungere le porte dell’Appliance. L’installer non apre nulla nel tuo firewall, e Docker pubblica le porte dell’Appliance aggirando le consuete regole in ingresso del firewall dell’host (
ufw,firewalld). Filtra nella catenaDOCKER-USERo sul firewall di rete: l’installer lascia un modello in/opt/ironflock/docker-user-firewall.sh.example. Consenti le porte dei dispositivi (18080,15001,15002,7000,30000–30049) solo dalle reti dei tuoi dispositivi — vedi Dispositivi che si Connettono all’Appliance. - Mantieni aggiornato il sistema operativo dell’host e limita chi vi ha un account. Chiunque abbia accesso root sull’host può leggere tutti i segreti dell’Appliance.
- Usa le chiavi SSH invece delle password per l’accesso amministrativo all’host.
- Configura la sincronizzazione oraria — vedi Sincronizzazione oraria (NTP).
- Cambia la password di amministratore dopo il primo accesso e configura un secondo fattore per l’account amministratore.
- Richiedi un secondo fattore a tutti non appena tutti gli account ne hanno uno (vedi Account e Accesso).
- Proteggi con un secondo fattore l’account ironflock.com proprietario dell’istanza: ha accesso amministrativo all’Appliance dal cloud.
- Installa solo app di cui ti fidi. Le app girano sull’Appliance e sui tuoi dispositivi con ampio accesso all’host, compresi i file di configurazione dell’Appliance.
- Mantieni aggiornata l’Appliance (vedi Aggiornamenti).
Account e Accesso
- Account amministratore: ogni Appliance riceve una propria password di amministratore all’installazione; l’installer la mostra una sola volta. Se la perdi, impostane una nuova come descritto in Operatività Locale — questo chiude anche tutte le sessioni di amministratore.
- I nuovi utenti possono registrarsi solo con un invito da un progetto sull’Appliance. Senza invito la registrazione viene rifiutata, anche tramite social login.
- Secondo fattore: gli utenti possono configurare un’app di autenticazione (TOTP), passkey o chiavi di sicurezza e codici di recupero. Passkey e chiavi di sicurezza richiedono HTTPS. L’opzione dell’installer
--2faimposta la policy, che resta valida anche dopo gli aggiornamenti:available— gli utenti possono configurare un secondo fattore, ma non viene mai richiesto.effective(predefinito) — gli utenti che hanno un secondo fattore devono usarlo.required— ogni utente deve usare un secondo fattore. Assicurati prima che ogni account ne abbia uno: un utente che ne è privo non potrà più accedere.
- Le sessioni durano 24 ore.
- Accesso da ironflock.com: l’account ironflock.com che ha creato la chiave dell’istanza è collegato all’account amministratore dell’Appliance. Gli utenti che inviti collegano i propri account ironflock.com — vedi Collegamento degli Account. Un utente può rimuovere questo collegamento in qualsiasi momento.
Segreti sull’Host
L’installer genera i segreti dell’Appliance una sola volta, all’installazione, e li conserva negli aggiornamenti. Si trovano in /opt/ironflock/:
| File | Contenuto | Accesso |
|---|---|---|
.env | Password e chiavi di tutti i servizi, la password iniziale di amministratore, credenziali del proxy e SMTP | Solo root (0600) |
license.env | Chiave di licenza e chiave dell’istanza | Root e i servizi IronFlock (0640) |
certs/ | Il certificato HTTPS e la sua chiave; con una CA autogenerata anche la chiave della CA | Chiavi private solo root (0600) |
registry-token-certs/ | La chiave che firma i token per il download delle immagini delle app | Solo il servizio del registro (0600) |
L’installer esegue inoltre il login di Docker al registro IronFlock con la tua chiave di licenza, quindi anche la configurazione Docker di root la contiene.
Includi questi file nei tuoi backup e proteggi i backup come l’Appliance stessa.
Cosa puoi sostituire da solo:
- Password di amministratore: nel profilo, oppure con il comando di reset in Operatività Locale.
- Certificato HTTPS: sostituisci i file in
certs/; l’Appliance adotta automaticamente il nuovo certificato. - Chiave di licenza: nella sezione licenza del profilo amministratore.
- Credenziali SMTP e del proxy: in
.env, poi riavvia consudo systemctl restart ironflock.service.
Per i segreti interni dei servizi, contatta il team IronFlock.
Connessioni in Uscita e Telemetria
Le destinazioni a cui si connette l’Appliance sono elencate in Configurazione del Firewall; tutte queste connessioni sono cifrate.
- La convalida della licenza invia la chiave di licenza, un’impronta dell’hardware e i token di accesso delle connessioni dell’Appliance all’App Store online.
- L’assistente AI invia i prompt attraverso il gateway LLM di IronFlock, a meno che tu non configuri un gateway tuo.
- Nessuna telemetria. L’Appliance non invia analisi d’uso: né la UI dell’Appliance né i suoi servizi riportano l’utilizzo a IronFlock o a terzi.
- Dal browser dell’utente: le tile delle mappe vengono caricate da Mapbox e l’input vocale usa il servizio di riconoscimento vocale Deepgram. Queste connessioni sono effettuate dal browser, non dall’Appliance.
Aggiornamenti
- Gli aggiornamenti dell’Appliance vengono avviati dall’amministratore (vedi Manutenzione). L’Appliance li scarica tramite HTTPS ed esegue automaticamente il rollback se un aggiornamento fallisce.
- Gli aggiornamenti dell’agent del dispositivo sono firmati. Ogni agent verifica la firma prima di applicare un aggiornamento ed esegue il rollback se la nuova versione non si avvia — vedi Aggiornamenti dell’Agent del Dispositivo.
- Il sistema operativo dell’host, Docker compreso, è sotto la tua responsabilità.
Backup e Ripristino
L’Appliance non ha un backup integrato. Per eseguirne il backup, arrestala con sudo systemctl stop ironflock.service e copia:
- la cartella
/opt/ironflock/, compresi.env,license.env,certs/eregistry-token-certs/; - i volumi Docker dell’Appliance (
docker volume ls), che contengono i database, i file, il Local App Store e i file degli utenti.
Conserva .env insieme ai volumi dello stesso momento: i dati cifrati nei volumi possono essere letti solo con le chiavi contenute in quel .env.
Dismissione
-
Trasferisci o rilascia la licenza mentre l’Appliance è ancora online — vedi Trasferire la Licenza su Nuovo Hardware.
-
Rimuovi il 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/ironflockL’installer ha eseguito il login di Docker al registro IronFlock con la chiave di licenza; rimuovi anche quel login:
sudo docker logout instance-registry.ironflock.com -
Se l’hardware lascia i tuoi locali, cancella il suo disco in modo sicuro — i comandi precedenti eliminano i file, ma non li sovrascrivono.
Impostazioni che Indeboliscono la Sicurezza
Alcune impostazioni esistono solo per la risoluzione dei problemi. Lasciale non impostate in produzione:
TUNNEL_TLS_INSECURE_SKIP_VERIFYeCLOUD_TUNNEL_TLS_INSECURE_SKIP_VERIFY— disattivano la verifica dei certificati dei tunnel di accesso remoto.AGENT_UPDATE_ALLOW_UNSIGNED— consente a un agent del dispositivo di applicare aggiornamenti non firmati.TUNNEL_AUTHZ_ENFORCE=false— consente ai dispositivi di aprire tunnel senza dimostrare la propria identità.?tls.rejectUnauthorized=falseinSMTP_CONNECTION_URI— accetta qualsiasi certificato dal tuo server di posta.--2fa available— i secondi fattori non vengono mai richiesti.