Mein n8n Server wurde EXPOSED: Ein peinlicher Fehler und mein umfassendes Tutorial für Firewall und Cloudflare-Schutz
In der heutigen digitalen Welt, in der Datenintegrität und -sicherheit von größter Bedeutung sind, ist es von entscheidender Bedeutung, dass wir Echtzeit-Automatisierungstools wie n8n sicher und korrekt konfigurieren. Vor wenigen Wochen gab es bei mir einen Vorfall, der mich dazu brachte, meine Sicherheitspraktiken zu überdenken. Mein n8n Server wurde versehentlich für die Öffentlichkeit zugänglich gemacht (EXPOSED) – und das aufgrund eines peinlichen Fehlers von meiner Seite. In diesem Artikel teile ich nicht nur meine Erfahrungen, sondern gebe auch ein ausführliches Tutorial zur Einrichtung einer Firewall und zur Verwendung von Cloudflare, um ähnliche Vorfälle in Zukunft zu vermeiden.
Was ist n8n?
n8n ist eine weit verbreitete Open-Source-Automatisierungsplattform, die es Benutzern ermöglicht, komplexe Workflows zu erstellen und verschiedene Anwendungen miteinander zu verbinden. Damit können Benutzer Aufgaben automatisieren, Daten synchronisieren und Prozesse rationalisieren, ohne dass umfangreiche Programmierkenntnisse erforderlich sind. Doch wie jede Serveranwendung erfordert auch n8n eine korrekte Einrichtung und Wartung, um sicherzustellen, dass sensible Daten nicht in die falschen Hände geraten.
Mein peinlicher Fehler
Die Sicherheit meines n8n Servers wurde kompromittiert, als ich eine neue Version installierte, ohne alle erforderlichen Sicherheitsmaßnahmen zu implementieren. Ich hatte die Serverkonfiguration nicht vollständig abgeschlossen und einige grundlegende Sicherheitsvorkehrungen, die ich normalerweise beachten würde, vernachlässigt. Es war ein klassisches Beispiel dafür, wie ein kleiner Fehler große Auswirkungen haben kann. Plötzlich war mein n8n Server für das Internet sichtbar, und ich erkannte, dass ich dringend handeln musste.
Warum ist Sicherheit wichtig?
In der heutigen Zeit sind Cyberangriffe an der Tagesordnung. Datenlecks, Hacking und andere Sicherheitsvorfälle können nicht nur Vertrauen kosten, sondern auch finanziellen Schaden und rechtliche Folgen nach sich ziehen. Die Sicherheit einer Anwendung oder Plattform muss von Anfang an eine Priorität sein. Hier sind einige Gründe, warum die Sicherheit Ihres n8n Servers von größter Bedeutung ist:
- Sensibler Datenzugang: n8n kann auf vertrauliche Informationen zugreifen, solche wie API-Schlüssel, Passwörter und Benutzerdaten.
- Reputation: Ein Sicherheitsvorfall kann Ihr Ansehen schädigen, sowohl gegenüber Kunden als auch Partnern.
- Rechtsvorschriften: Die Nichteinhaltung von Sicherheitsstandards und Datenschutzvorschriften kann zu rechtlichen Konsequenzen führen.
Die Grundlagen der Serversicherheit
Bevor wir in die Details der Firewall- und Cloudflare-Konfiguration eintauchen, ist es wichtig, einige grundlegende Sicherheitsprinzipien zu befolgen:
- Regelmäßige Updates: Halten Sie Ihre Software und Plugins regelmäßig auf dem neuesten Stand.
- Sichere Passwörter: Verwenden Sie starke, komplexe Passwörter für alle Benutzer und stellen Sie sicher, dass diese regelmäßig geändert werden.
- Minimaler Zugriff: Geben Sie nur den Benutzern Zugang, die ihn wirklich benötigen, und setzen Sie die Zugriffsrechte herab, wo immer möglich.
- Backups: Erstellen Sie regelmäßige Backups Ihrer Daten, um im Falle eines Vorfalls schnell wiederherstellen zu können.
Firewall-Konfiguration
Eine Firewall ist das erste Verteidigungslinie gegen unerwünschte Zugriffe. Hier sind einige Schritte, um Ihre Firewall zu konfigurieren:
Schritt 1: Wählen Sie die richtige Firewall
Es gibt viele Arten von Firewalls – sowohl Hardware- als auch Softwarelösungen. Beliebte Optionen sind iptables für Linux-Server oder UFW (Uncomplicated Firewall). Wählen Sie eine Firewall, die zu Ihrem Serverbetriebssystem passt.
Schritt 2: Grundlegende Firewall-Regeln
- Zugriff von außen blockieren: Standardmäßig sollten alle eingehenden Verbindungen blockiert werden. Gewähren Sie nur Zugriff auf spezifische Ports, die benötigt werden (z.B. 443 für HTTPS).
- Whitelist: Erstellen Sie eine Whitelist für IP-Adressen, die auf den Server zugreifen dürfen. So können Sie unbefugte Zugriffe verhindern.
- Protokollierung: Aktivieren Sie die Protokollierung, um verdächtige Aktivitäten zu überwachen und bei Bedarf darauf zu reagieren.
Schritt 3: Testen der Firewall
Überprüfen Sie Ihre Firewall-Einstellungen, um sicherzustellen, dass sie wie gewünscht funktionieren. Nutzen Sie Tools wie nmap, um Ihre offenen Ports zu scannen und zu prüfen, ob die richtigen Regeln angewendet wurden.
Cloudflare für zusätzlichen Schutz
Cloudflare bietet nicht nur DDos-Schutz, sondern auch eine Vielzahl von Funktionen zur Verbesserung der Sicherheit:
Schritt 1: Registrierung bei Cloudflare
Erstellen Sie ein Benutzerkonto bei Cloudflare und fügen Sie Ihre Domain hinzu. Cloudflare wird Ihnen die DNS-Server bereitstellen, die Sie in den DNS-Einstellungen Ihrer Domain konfigurieren müssen.
Schritt 2: DNS-Einträge hinzufügen
Fügen Sie die entsprechenden DNS-Einträge für Ihre Domain hinzu. Aktivieren Sie die Proxy-Funktion von Cloudflare für den Eintrag, der auf Ihren n8n Server verweist. So bleibt die IP-Adresse Ihres Servers anonym.
Schritt 3: Sicherheitslevel konfigurieren
Passen Sie das Sicherheitslevel in den Cloudflare-Einstellungen an. Je nach Bedarf können Sie den Schutz erhöhen, indem Sie den Sicherheitslevel auf “hoch” oder “under attack” setzen.
Schritt 4: SSL-Zertifikat aktivieren
Aktivieren Sie die SSL-Verschlüsselung in Cloudflare, um eine sichere Verbindung zu gewährleisten. Dies ist besonders wichtig, wenn Sie sensible Daten verarbeiten.
Fazit: Sicherheit ernst nehmen
Meiner Erfahrungen nach ist die Sicherheit eines n8n Servers kein einmaliger Prozess, sondern erfordert ständige Aufmerksamkeit und Anpassung. Mein peinlicher Fehler hat mir gezeigt, wie wichtig es ist, proaktive Sicherheitsmaßnahmen zu ergreifen und regelmäßig zu überprüfen. Mit den hier beschriebenen Schritten zur Firewall-Konfiguration und der Integration von Cloudflare können Sie den Schutz Ihrer Anwendungen erheblich verbessern.
Investieren Sie Zeit in die Sicherheit Ihres n8n Servers, um den Betrieb Ihrer Automatisierungen und die Sicherheit Ihrer Daten zu gewährleisten. Denn in einer Zeit, in der Cyberangriffe alltäglich sind, ist es besser, auf der sicheren Seite zu bleiben.


kann man jetzt ins terminal einfach n8n schreiben oder muss man jedes mal den tunnel mit dem docker cmd öffnen? Die workflows laufen nach schließen des Terminal dennoch weiter oder?
Gut das du so offen damit umgehst. Auf Tipps von Leuten den Security so egal ist wie dir kann ich verzichten ab in die Blocklist
Ich war etwas irritiert, als du den PasswordLogin deaktiviert hast, bevor du deinen PublicKey in die authorized_keys Datei gepackt hast. Das ist eigentlich ein typisches "selber ausgeperrt szenario". Hostinger scheint da aber "speziell" zu sein: Wie geht das technisch, dass ich via WebAdminPanel einen SSH-PublicKey hinterlegen kann? Weil das impliziert doch, dass Hostinger Root-Zugriff auf meinem VPS hat? Oder geht das nur bei "managed" Instanzen?
network mode host ist eigentlich immer ein kleiner smell. Wenn du alle services in einem compose yaml hast (und damit in einem docker network) Kannst du im Cloudflare UI einfach den DNS namen des n8n services angeben. (16:02) Also anstatt localhost. Dann kannst du jegliche port maps aus der docker compose entfernen 🙂
sehr cooles video dankeschön!!
Noch kleiner Tipp- denn SSH Port nicht auf 22, sondern einem anderen Port laufen lassen. Weil auch der SSH Daemon kann eine Sicherheitslücke haben, und gerade auf konservativen Systemen wie debian ist der nicht immer auf der aktuellsten Version
Dafür N8N local hosten und maximal nur per VPN von außen zugänglich machen 🙂
(wenn man keine Webhooks braucht)
SSH offen im Netz vs. SSH über VPN zum Server.
Je nach dem was generell dein Ziel der Anwendung ist, SSH ist eventuell nicht nötig. Wireguard ist besser, da es Anfragen ohne passenden Schlüssel einfach verwirft. Somit können Botnetze nicht einfach herausfinden, ob du überhaupt Wireguard laufen hast etc.. Deutlich sicherer und super skalierbar. Einfach mal die KI befragen nach deiner Situation, sollte schon reichen. SSH könnte übrigens, je nach Einrichtung, dann "lokal" – also bei aktiver Wireguard-verbindung, weiter genutzt werden.
//EDIT: SSH offen lassen, ist also weiterhin eine Angriffsfläche. Ebenfalls hilft Cloudflare auch nur bedingt. Je nach Server, so tools wie IPBan, können helfen generelle potenzielle angriffe automatisch abzuwehren. Auch da gibt es viele Möglichkeiten, aber Wireguard sollte eigentlich dein nächster Schritt sein und SSH öffentlich schließen. Also sogesehen SSH nur nach innen nutzen.
Hey @NiklasSteenfatt – willst du mal ein Video zu Hostinger machen?
Damit meine ich, was es alles gibt. Was man für was nehmen sollte. Wieviel GB Ram / TB Traffic usw. macht Sinn für welche Dinge? Beim Checkout kann man ein Betriebssystem wählen, aber auch auf Anwendungen gehen und n8n oder so auswählen. Wenn ich n8n auswähle, was ist dann noch alles da? Usw. All die Fragen, die man sich so stellt, als unerfahrener Mensch, der ein wenig auf sein Geld schauen muss. Was auch interessant wäre, ob man zwischen den Plänen hin und her wechseln kann. Bspw. wenn ich merke ich brauche mehr Traffic oder Ram. Wann gibts die besten Deals? Black Friday?
Vllt wäre gut den Hinweis den SSH Port sonst zu ändern von 22 zu etwas anderem
Weil häufig Bots für genau diese Ports scanen
Hey mich würde mal ein Video interessieren wo du auf die Aktuelle Lage, so wie auf die Zukunft von LLM und Software Engineers/Devs eingehst.
Einfach mal ein Video wo du dich an die jetzigen Studenten/Azubis richtest. Mit Mut und klaren Fakten. Wie du das alles "handhabst" etc.
LG
Das sieht alles Mega spannend aus. Wo kann ich auch so etwas lernen? Ich bin absoluter Anfänger. Bietest du Kurse an? 🙂
selber schuld
Ihr wollt nicht nur, dass Zugriff auf alles gegeben ist, ihr konfiguriert gleichzeitig mit der KI… SSH offen, das sind so Fehler die passieren halt den Skript Kiddies.
11:06 – Again what learned, danke für den Typ/Trick!
1:20 N8N exposed
Ich weiß, dass es nichts mit dem Video zu tun hat, mich würde noch interessieren, ob und warum du Reclaim nicht mehr nutzt.
mich würde interessieren wv personen wirklich verstehen was hier abgeht 🙂
ich habe ein ähnliches setup via cloudflare und n8n/homesutomation via cloudflare. Cool ist das hier noch ein IdP dazwischen geschalten werden könnte oder für webhooks mit auth token gearbeitet werden kann 🙂
Geiles Video weiter so und hoffe die Leute verstehen mehr was alles möglich ist
Danke dir! Sehr starkes Video!
Sag mal komplett out of Context aber was sagst du zu AGI Entwicklung und interessiert dich sowas tendenziell?
Vielen Dank für dieses Video und unser Erhören nach einen n8n-Security-Video! 🙂 🙂 Eine Frage habe ich allerdings noch:
Funktionieren denn die ganzen API-Anbindungen noch, wenn die Firewall jetzt nur noch SSH und einen Cloudflare-Tunnel durchlässt?
Ich hab keine Ahnung, bin aber hier, um zu sagen, dass man *geleakT mit T am Ende schreibt. Jedes Partizip. Deshalb auch: gescannT, gestreamT, gedownloadeT usw.
bitte, danke und tschüss ❤😂
Obwohl ich jetzt kein großes Interesse an dem Video hatte, habe ich es mir trotzdem angeschaut. Du hast alles toll erklärt und ich fand es sehr angenehm, dir zuzuhören 🙂
was ein clickbait