Sicherheit
Die Appliance läuft auf Hardware und in einem Netzwerk, die Sie betreiben. IronFlock liefert die Software und ihre Standardeinstellungen; wie gut die Appliance geschützt ist, hängt außerdem vom gewählten Modus, vom umgebenden Netzwerk und vom Host ab, auf dem sie läuft. Diese Seite ist die Checkliste für diesen Teil.
Was jeder Modus schützt
Die Appliance läuft in einem von drei Modi, die unter HTTPS & Zertifikate beschrieben sind. Sie unterscheiden sich darin, was verschlüsselt und was überprüft wird:
| Einfaches HTTP (Standard) | HTTPS mit einer selbst ausgestellten CA | HTTPS mit Ihrem Unternehmenszertifikat | |
|---|---|---|---|
| Browser zur Appliance | Unverschlüsselt | HTTPS | HTTPS |
| Login-Cookies | Nicht als sicher markiert | Sicher | Sicher |
Geräteverbindung (Port 18080) | Unverschlüsselt | Unverschlüsselt | HTTPS auf 443 |
| App-Images und Agent-Updates für Geräte | Unverschlüsselt | Unverschlüsselt | HTTPS auf 443 |
| Fernzugriffs-Tunnel der Geräte | Verschlüsselt, Server nicht überprüft | Verschlüsselt, Server nicht überprüft | Verschlüsselt und überprüft |
| Passkeys und Sicherheitsschlüssel | Nur von der Appliance selbst aus | Ja | Ja |
Verwenden Sie HTTPS mit Ihrem Unternehmenszertifikat überall dort, wo sich die Appliance ein Netzwerk mit anderen Systemen teilt. Es ist der einzige Modus, in dem verbundene Geräte überprüfen, mit wem sie kommunizieren. Die beiden anderen Modi eignen sich für ein Netzwerksegment, das nur die Appliance, ihre Geräte und ihre Betreiber erreichen können.
Was unverschlüsselt bleibt
Auch mit HTTPS wird ein Teil des Datenverkehrs nicht verschlüsselt. Planen Sie Ihr Netzwerk entsprechend:
- Die Geräteverbindung auf Port
18080wird in jedem Modus auf jeder Netzwerkschnittstelle veröffentlicht. Der eigene Geräte-Agent der Appliance und die auf der Appliance laufenden Apps verbinden sich mit ihr, im Modus einfaches HTTP und mit einer selbst ausgestellten CA außerdem alle verbundenen Geräte. - Fernzugriffs-Tunnel zur Appliance (Port
7000) sind im Modus einfaches HTTP und mit einer selbst ausgestellten CA verschlüsselt, doch die Geräte können das Zertifikat der Appliance nicht prüfen. Wer Zugriff auf den Netzwerkpfad hat, könnte sich als Tunnel-Server der Appliance ausgeben. Geräte-Agenten protokollieren eine Warnung, wenn sie sich auf diese Weise verbinden. - Verbindungen zwischen den Diensten innerhalb der Appliance, etwa zu ihren Datenbanken, sind nicht verschlüsselt. Sie verlassen den Host nicht.
- Ruhende Daten werden von der Appliance nicht verschlüsselt. Nutzen Sie die Verschlüsselung des Betriebssystems oder der Festplatte des Hosts, wenn die Appliance sensible Daten speichert oder Ihr Gelände verlassen kann.
Checkliste zur Härtung
- Wählen Sie den Modus, der zu Ihrem Netzwerk passt (siehe Was jeder Modus schützt).
- Beschränken Sie, wer die Ports der Appliance erreichen kann. Der Installer öffnet nichts in Ihrer Firewall, und Docker veröffentlicht die Ports der Appliance an den üblichen Eingangsregeln der Host-Firewall (
ufw,firewalld) vorbei. Filtern Sie in der ChainDOCKER-USERoder an Ihrer Netzwerk-Firewall: Der Installer legt dafür eine Vorlage unter/opt/ironflock/docker-user-firewall.sh.exampleab. Erlauben Sie die Geräte-Ports (18080,15001,15002,7000,30000–30049) nur aus Ihren Gerätenetzwerken — siehe Geräte, die sich mit der Appliance verbinden. - Halten Sie das Betriebssystem des Hosts aktuell und beschränken Sie, wer ein Konto darauf hat. Wer Root-Zugriff auf den Host hat, kann jedes Secret der Appliance lesen.
- Verwenden Sie SSH-Schlüssel statt Passwörtern für den administrativen Zugriff auf den Host.
- Richten Sie die Zeitsynchronisation ein — siehe Zeitsynchronisation (NTP).
- Ändern Sie das Admin-Passwort nach der ersten Anmeldung und richten Sie einen zweiten Faktor für das Admin-Konto ein.
- Verlangen Sie einen zweiten Faktor von allen, sobald alle Konten einen haben (siehe Konten und Zugriff).
- Schützen Sie das ironflock.com-Konto, dem die Instanz gehört, mit einem zweiten Faktor: Es hat aus der Cloud Admin-Zugriff auf die Appliance.
- Installieren Sie nur Apps, denen Sie vertrauen. Apps laufen auf der Appliance und auf Ihren Geräten mit weitreichendem Zugriff auf den Host, einschließlich der Konfigurationsdateien der Appliance.
- Halten Sie die Appliance aktuell (siehe Updates).
Konten und Zugriff
- Admin-Konto: Jede Appliance erhält bei der Installation ihr eigenes Admin-Passwort; der Installer zeigt es einmal an. Geht es verloren, setzen Sie ein neues, wie unter Lokaler Betrieb beschrieben — dabei werden auch alle Admin-Sitzungen abgemeldet.
- Neue Benutzer können sich nur mit einer Einladung aus einem Projekt auf der Appliance registrieren. Ohne Einladung wird die Registrierung abgelehnt, auch über Social Login.
- Zweiter Faktor: Benutzer können eine Authenticator-App (TOTP), Passkeys oder Sicherheitsschlüssel sowie Wiederherstellungscodes einrichten. Passkeys und Sicherheitsschlüssel benötigen HTTPS. Die Installer-Option
--2falegt die Richtlinie fest, und sie bleibt über Updates hinweg bestehen:available— Benutzer können einen zweiten Faktor einrichten, werden aber nie danach gefragt.effective(Standard) — Benutzer, die einen zweiten Faktor haben, müssen ihn verwenden.required— jeder Benutzer muss einen zweiten Faktor verwenden. Stellen Sie zuvor sicher, dass jedes Konto einen hat: Ein Benutzer ohne zweiten Faktor kann sich nicht mehr anmelden.
- Sitzungen dauern 24 Stunden.
- Zugriff über ironflock.com: Das ironflock.com-Konto, das den Instanzschlüssel erstellt hat, ist mit dem Admin-Konto der Appliance verknüpft. Von Ihnen eingeladene Benutzer verknüpfen ihre eigenen ironflock.com-Konten — siehe Konten verknüpfen. Ein Benutzer kann diese Verknüpfung jederzeit aufheben.
Secrets auf dem Host
Der Installer erzeugt die Secrets der Appliance einmalig bei der Installation und behält sie über Updates hinweg bei. Sie liegen unter /opt/ironflock/:
| Datei | Inhalt | Zugriff |
|---|---|---|
.env | Passwörter und Schlüssel aller Dienste, das initiale Admin-Passwort, Proxy- und SMTP-Zugangsdaten | Nur root (0600) |
license.env | Lizenzschlüssel und Instanzschlüssel | root und die IronFlock-Dienste (0640) |
certs/ | Das HTTPS-Zertifikat und sein Schlüssel; bei einer selbst ausgestellten CA auch der Schlüssel der CA | Private Schlüssel nur root (0600) |
registry-token-certs/ | Der Schlüssel, der die Tokens für App-Image-Abrufe signiert | Nur der Registry-Dienst (0600) |
Der Installer meldet Docker außerdem mit Ihrem Lizenzschlüssel bei der IronFlock-Registry an, sodass auch die Docker-Konfiguration von root ihn enthält.
Nehmen Sie diese Dateien in Ihre Backups auf und schützen Sie die Backups wie die Appliance selbst.
Was Sie selbst ersetzen können:
- Admin-Passwort: im Profil oder mit dem Reset-Befehl unter Lokaler Betrieb.
- HTTPS-Zertifikat: Ersetzen Sie die Dateien in
certs/; die Appliance übernimmt das neue Zertifikat automatisch. - Lizenzschlüssel: im Lizenzbereich des Admin-Profils.
- SMTP- und Proxy-Zugangsdaten: in
.env, anschließend Neustart mitsudo systemctl restart ironflock.service.
Für die internen Secrets der Dienste wenden Sie sich an das IronFlock-Team.
Ausgehende Verbindungen und Telemetrie
Die Ziele, mit denen sich die Appliance verbindet, sind unter Firewall-Konfiguration aufgeführt; alle diese Verbindungen sind verschlüsselt.
- Die Lizenzvalidierung sendet den Lizenzschlüssel, einen Fingerabdruck der Hardware und die Zugriffstokens der Verbindungen der Appliance zum Online App Store.
- Der KI-Assistent sendet Prompts über das LLM-Gateway von IronFlock, sofern Sie kein eigenes Gateway konfigurieren.
- Keine Telemetrie. Die Appliance sendet keine Nutzungsanalysen: Weder die Appliance-UI noch ihre Dienste melden Nutzungsdaten an IronFlock oder Dritte.
- Aus dem Browser des Benutzers: Kartenkacheln werden von Mapbox geladen, und die Spracheingabe nutzt den Spracherkennungsdienst Deepgram. Diese Verbindungen baut der Browser auf, nicht die Appliance.
Updates
- Appliance-Updates werden vom Admin gestartet (siehe Wartung). Die Appliance lädt sie über HTTPS herunter und rollt automatisch zurück, wenn ein Update fehlschlägt.
- Updates des Geräte-Agenten sind signiert. Jeder Agent prüft die Signatur, bevor er ein Update anwendet, und rollt zurück, wenn die neue Version nicht startet — siehe Updates des Geräte-Agenten.
- Das Betriebssystem des Hosts liegt in Ihrer Verantwortung, einschließlich Docker.
Backup und Wiederherstellung
Die Appliance hat kein integriertes Backup. Um sie zu sichern, stoppen Sie sie mit sudo systemctl stop ironflock.service und kopieren:
- den Ordner
/opt/ironflock/, einschließlich.env,license.env,certs/undregistry-token-certs/; - die Docker-Volumes der Appliance (
docker volume ls), die die Datenbanken, Dateien, den local App Store und die Benutzerdateien enthalten.
Bewahren Sie .env zusammen mit den Volumes desselben Zeitpunkts auf: Die verschlüsselten Daten in den Volumes lassen sich nur mit den Schlüsseln in dieser .env lesen.
Außerbetriebnahme
-
Ziehen Sie die Lizenz um oder geben Sie sie frei, solange die Appliance noch online ist — siehe Lizenz auf neue Hardware umziehen.
-
Entfernen Sie die 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/ironflockDer Installer hat Docker mit dem Lizenzschlüssel bei der IronFlock-Registry angemeldet; entfernen Sie auch diese Anmeldung:
sudo docker logout instance-registry.ironflock.com -
Verlässt die Hardware Ihr Gelände, löschen Sie ihre Festplatte sicher — die obigen Befehle löschen Dateien, überschreiben sie aber nicht.
Einstellungen, die die Sicherheit schwächen
Einige Einstellungen gibt es nur zur Fehlersuche. Lassen Sie sie im Produktivbetrieb ungesetzt:
TUNNEL_TLS_INSECURE_SKIP_VERIFYundCLOUD_TUNNEL_TLS_INSECURE_SKIP_VERIFY— schalten die Zertifikatsprüfung der Fernzugriffs-Tunnel ab.AGENT_UPDATE_ALLOW_UNSIGNED— erlaubt einem Geräte-Agenten, unsignierte Updates anzuwenden.TUNNEL_AUTHZ_ENFORCE=false— erlaubt Geräten, Tunnel zu öffnen, ohne ihre Identität nachzuweisen.?tls.rejectUnauthorized=falseinSMTP_CONNECTION_URI— akzeptiert jedes Zertifikat Ihres Mailservers.--2fa available— zweite Faktoren werden nie abgefragt.