1. Auflage · RWID · Ecobook Edition
Geschrieben von Eko Suprapto Wibowo, Gründer von Remote Worker Indonesia.
Dieses Buch ist aus einem realen Ereignis entstanden: einem automatisierten
Angriff auf remoteworker.id am 2. Oktober 2026. Statt ihn zu verschweigen,
haben wir ihn offengelegt und als Lehrmaterial genutzt. Jedes Kapitel folgt
demselben Muster:
Theorie → branchenübliches Vorgehen → wie Ecosphere es umsetzt → Ausschnitte aus dem realen Vorfall.
Dieses Buch ist keine Nachrichtenzusammenfassung. Es erklärt, warum ein System so gebaut ist, nicht nur, was installiert wurde.
Dieses Buch wächst. Jeder neue Angriff auf RWID wird in der nächsten Auflage zu einem neuen Kapitel. Wer dieses Buch kauft, erhält ein Protokoll, das ständig weiterwächst – nicht etwas, das man einmal liest und dann abschließt. Je mehr Menschen versuchen, uns zu Fall zu bringen, desto dicker wird das Buch.
© RWID. Veröffentlicht als Ecobook.
RWID (Remote Worker Indonesia) läuft seit 2017. 2025 wurde es viral – und die Viralität brachte abfällige Vorwürfe von vielen Menschen mit sich, die es gar nicht kannten: Scam. Die menschliche Seite habe ich auf der Willkommen-Seite dieser Anwendung erzählt, und ich werde nicht alles hier wiederholen. Nur eine Folge sollten Sie kennen: RWID wurde eingestellt und entschied sich ein Jahr später zur Rückkehr.
Bei der Entscheidung zur Rückkehr habe ich die Prioritäten neu geordnet. Nicht zuerst Features. Nicht zuerst das Aussehen. Zuerst Sicherheit. Der Grund ist einfach: Dieser Scam-Vorwurf, ob berechtigt oder nicht, hat mir klargemacht, dass RWID niemals irgendetwas beweisen kann, wenn das System beim ersten Angriff zusammenbricht. 2025 habe ich schnell gebaut, viele Drittanbieter-Dienste genutzt und mich auf eine Weise angepasst, die ich selbst nicht für haltbar halte. Eines davon führte dazu, dass alle Stored Procedures von RWID verloren gingen. Seitdem halte ich an einem Prinzip fest: Zero Trust – vertraue nichts, was aus dem Internet kommt, bis es sich bewiesen hat.
Als RWID 2026 zurückkehrte, habe ich es daher auf einem anderen Fundament gebaut und die Welt öffentlich herausgefordert:
Dieser Post – auf Instagram und Threads – war der Auslöser. Ich habe mich bewusst geöffnet. Der Angriff, der kam, war keine Überraschung; er war ein Gast, den wir selbst eingeladen hatten. Das Ziel war ein einziges: öffentlich zu beweisen, dass dieses System stark ist – und falls noch nicht, wollten wir es jetzt wissen, nicht erst, wenn Millionen Menschen zusehen.
Dieses Buch ist aus dieser Einladung entstanden. Es erklärt die zugrunde liegende Sicherheitstheorie, die Architektur, die wir gebaut haben, und die realen Angriffe, die wir tatsächlich abgewehrt haben, wenige Stunden nachdem sich der Post verbreitet hatte.
Eines werden Sie immer wieder sehen: Unsere Stärke liegt nicht in einer einzigen großen Mauer, sondern in der Art, wie wir das System zusammensetzen, sodass eine kleine Korrektur sich schnell auf alles ausbreiten kann. Das ist Ecosphere.
— Eko
Dieses Buch ist für Produktbauer geschrieben – besonders für diejenigen, die beim Bauen lernen (Vibe-Coder, Solo-Builder, Einsteiger bis Fortgeschrittene). Es wird nicht vorausgesetzt, dass Sie Sicherheit schon verstehen. Ich gehe nur davon aus, dass Sie eine Webanwendung bauen können und sie nach Produktionsstandard bauen möchten.
Jedes Kapitel folgt demselben Muster, und dieses Muster macht das Buch nützlich:
Sie können der Reihe nach lesen oder zu dem Kapitel springen, das Sie brauchen.
Das Zeichen → verweist auf weiterführende Lektüre. Englische Fachbegriffe
behalte ich bei, wenn sie der etablierte Begriff sind (Payload, Rate Limit,
Query), damit Sie sie in jeder Dokumentation wiedererkennen.
Dieses Buch ersetzt nicht die Praxis. Am Ende finden Sie Tools: eine Schaltfläche zum Ausführen von Angriffssimulationen im RWID-Portal, eine Checkliste zur Sicherheitskonfiguration und eine Vorlage für Meldungen an den Internetanbieter (ISP).
Teil 1 · Die Bühne
Teil 2 · Warum dieses System stark ist
Teil 3 · Sicherheitsgrundlagen
Teil 4 · Angriffsklassen & Verteidigung
Teil 5 · Betrieb & Skalierung
Teil 6 · Fallstudie & Werkzeuge
Dieses Buch wächst. Jeder neue Angriff auf RWID wird in der nächsten Auflage zu einem neuen Kapitel. Wer dieses Buch kauft, erhält ein Protokoll, das ständig aktualisiert wird – nicht etwas, das man einmal liest und dann abschließt.
Vor dem Vorfall, vor der Theorie gibt es eines, das Sie zuerst sehen sollten. Das ist das Gesicht von RWID:
Dieser Globus ist keine Dekoration. Er wurde nicht beliebig gebaut. Er ist als globaler Echtzeit-Systemmonitor entworfen – ein einziger Bildschirm, der die Frage „Was passiert gerade in der gesamten RWID-Welt?“ beantwortet, ohne ein technisches Dashboard öffnen zu müssen.
Er ist zugleich zwei Dinge: sozialer Beweis (Besucher sehen, dass die Community real und aktiv ist) und operativer Monitor (woher der Verkehr kommt, welche Knoten gesund sind). Ein Bildschirm, zwei Funktionen.
Das ist eine Aufnahme des Globus während des Angriffs vom 2. Oktober 2026. Fremde Namen tauchen von ein und demselben Punkt – Cikarang – auf, hintereinander, schnell und unnatürlich: eine Reihe ohne Pause aus derselben Stadt, mit einem Muster, das ein normaler Mensch unmöglich erzeugen kann. Die eben noch ruhige Welt wird plötzlich von einer einzigen Quelle überschwemmt.
Und weil jeder Puls von einem Ton begleitet wird, muss ich nicht auf den Bildschirm starren, um zu wissen, dass etwas nicht stimmt. Das Ohr bemerkt es zuerst, bevor das Auge Zeit hat zu lesen. Sobald die Töne in Serie kommen, gibt es nur einen Reflex: den Globus öffnen, und dort ist alles klar.
Das ist der eigentliche Wert eines Monitors: nicht nur Daten anzuzeigen, sondern das, was falsch ist, sichtbar und hörbar zu machen – unmöglich zu übersehen.
Der Globus ist nicht das Einzige, das Alarm schlägt. Im Telegram-Kanal sendet unser Bot dieselbe Warnung – automatisch, von dem Guard, der den Rand überwacht:
Zwei Signale kamen fast gleichzeitig: das Auge (Globus) und die Maschine (Telegram). Das ist kein Zufall. Das System ist bewusst so entworfen, dass es aus mehr als einer Richtung Bescheid gibt – damit ein Ereignis, das dem Blick entgeht, an anderer Stelle trotzdem erfasst wird. Gute Erkennung hängt nicht von einem einzigen Sinn ab.
Weil genau hier die Auffälligkeit sichtbar wird. Wenn ein System als eine lebendige Welt überwacht wird, fällt Ungewöhnliches auf – ein seltsamer Name, ein Puls, der nicht passt. Nicht, weil jemand um drei Uhr morgens Logs liest, sondern weil die Welt selbst zeigt, dass etwas nicht stimmt.
Ein guter Monitor zeigt nicht nur Zahlen; er lässt das Falsche sich falsch anfühlen. Dieser Globus ist das anschaulichste Beispiel für dieses Prinzip, und der Vorfall, den wir ab Kapitel 2 besprechen, ist der Beweis.
→ Kapitel 2 · Der Vorfall im Überblick.
Bevor wir in die Theorie einsteigen, sehen wir uns zuerst an, was tatsächlich geschehen ist. Das ist der Auszug, den wir bereits als Engineering-Notiz in der Ecosphere-Dokumentation veröffentlicht haben, vereinfacht für die Leser dieses Buches.
Am 2. Oktober 2026, etwa zwischen 18:16 und 18:37 Uhr WIB, führte eine
einzelne IP-Adresse in Cikarang, Westjava, einen automatisierten
Schwachstellen-Scan gegen remoteworker.id durch. In diesem Zeitraum blockte
unser Rand (Cloudflare) 397 Anfragen. Der Scanner nahm die Anmelde- und
Registrierungs-Endpunkte ins Visier (/signin, /signup, /api/auth/register),
sendete Injection-Probes und durchsuchte WordPress-Schwachstellenpfade, die seit
Jahrzehnten bekannt sind.
Wichtig ist nicht die Zahl. Wichtig ist, was nicht geschehen ist:
Die einzige Spur, die durchrutschte: 43 Spam-Konten, die sich von dieser IP registriert hatten. Wir haben alle gelöscht; die 30 echten Registrierten blieben unangetastet.
Erste Lektion: Ein Angriff, der Sie stärker macht, ist nicht ein gescheiterter Angriff, sondern ein Angriff, der erkannt, eingedämmt und mit Beweisen gemeldet wurde.
Dieser Vorfall war keine Überraschung. Er war die Antwort auf die Herausforderung, die wir selbst verbreitet hatten. Der Rest des Buches erklärt, warum das System so gelassen bleiben konnte und was Sie für Ihr eigenes System übernehmen können.
→ Weiter zu Kapitel 3 · Was ist Ecosphere, um das Fundament zu verstehen, das all dies möglich macht.
„LXS“ zu erklären, ohne Ecosphere zu erklären, ist, als würde man Ziegel erklären, ohne das Gebäude zu erklären. Beginnen wir also beim Gebäude.
Der Standardweg, in den 2020er-Jahren Anwendungen zu bauen, stapelt Schichten: Die Anwendung wird in einen Container gepackt, der Container von Kubernetes orchestriert, dazu kommen Service Mesh, Message Broker und eine Reihe verwalteter Dienste. Für große Teams ist das angemessen. Für eine einzelne Person, die ein Produkt baut, ist es eine Last: Jede Schicht vergrößert die Fläche, auf der etwas schiefgehen kann – und, was für dieses Buch wichtiger ist, die Fläche, die angegriffen werden kann.
Ecosphere geht einen anderen Weg. Es betrachtet eine Anwendung als Sammlung kleiner, einander ergänzender Fähigkeiten, weder als einen riesigen Monolithen noch als unzählige Container.
remoteworker.id ist ein Estate.Ein Satz: Eine Fähigkeit an einem Ort bedeutet einen Ort zum Reparieren. Gibt es eine Schwachstelle im Authentifizierungs-LXS, beheben Sie sie einmal, veröffentlichen eine neue Version, und alle Estates, die es nutzen, können auf die neue Version wechseln. Sie reparieren nicht Login-Code, der in zehn Projekte kopiert wurde.
Das nennen wir propagierte Stärke: Eine schnelle Korrektur an einer Stelle breitet sich im gesamten System aus, statt in einer einzelnen Anwendung zu bleiben.
Ecosphere ist keine Theorie, die in diesem Buch eingeschlossen ist. Die Plattform steht offen zum Ausprobieren – von der Installation über die Dokumentation bis zur Komposition Ihrer ersten Anwendung:
Je mehr Menschen darauf aufbauen, desto mehr tragen dazu bei, dasselbe Fundament zu stärken. Das ist Teil der Absicht: geteilte Sicherheit, nicht jeder für sich allein gepflegt.
Im nächsten Kapitel graben wir die beiden theoretischen Wurzeln aus – Domain-Driven Design und das LXS-Konzept selbst –, bevor wir zum wichtigsten Kapitel für unsere Stärke kommen: Gateway und Auth.
Bevor es LXS gab, gab es zuerst die Idee: Domain-Driven Design (DDD). Dieses Buch wird DDD nicht vollständig lehren, aber ein Konzept daraus sollten Sie verstehen, denn darauf ruht unsere Sicherheit.
Stellen Sie sich das Wort „User“ vor. In der Identitätsdomain bedeutet User ein Konto mit Passwort und Sitzung. In der Artikeldomain ist User lediglich der Autor. In der Wallet-Domain ist User der Inhaber des Guthabens. Wenn Sie für alles eine einzige Definition von „User“ erzwingen, wird Ihr Code allmählich voneinander abhängig, und jede Änderung berührt alles.
Bounded Context ist die Antwort: Ziehen Sie klare Grenzen. Jeder Kontext hat sein eigenes Modell, seine eigenen Daten und seinen eigenen Vertrag. Sie leihen sich gegenseitig keine Datentypen.
Ein System, das auf klaren Grenzen aufgebaut ist, hat Eigenschaften, die für die Sicherheit wertvoll sind:
Kurz gesagt: Klare Abgrenzung ist eine Sicherheitskontrolle. Wenn eine Komponente nur über eine deklarierte Tür erreichbar ist, ist es viel einfacher, über ihre Sicherheit nachzudenken als bei Code, der überallhin verknüpft ist.
DDD erklärt, wie man über Grenzen nachdenkt. Es erklärt nicht, wie man diese Grenzen zu etwas verpackt, das sich sicher ausführen und komponieren lässt. Dafür brauchen wir LXS – das Thema des nächsten Kapitels.
→ Kapitel 5 · LXS: Linux Services als Bausteine.
LXS ist die Art, eine Domain zu einer einzigen lauffähigen Binärdatei zu verpacken, samt einem Vertrag, den Maschinen wie Menschen lesen können. Sie läuft nativ in LXC – ohne schwere Virtualisierungsschicht, ohne sich auftürmende Container-Images.
Jedes LXS erklärt sich offen:
public,
auth, role:...).Dieser Vertrag ist keine passive Dokumentation. Beim Deployment prüft die Plattform, ob das Estate tatsächlich bereitstellt, was verlangt wird – und lehnt Kompositionen ab, die nicht passen. Ein LXS kann nicht heimlich auf etwas zugreifen, das es nicht deklariert hat.
LXS werden in unveränderlichen (immutable) Versionen veröffentlicht:
[email protected] bedeutet genau diese Binärdatei. Eine bereits veröffentlichte
Version ändern Sie nicht; Sie korrigieren, indem Sie eine neue Version
veröffentlichen. Dadurch wird das Beheben einer Schwachstelle zu einer klaren,
nachvollziehbaren Handlung: eine neue Version, ein Änderungsprotokoll, eine
Entscheidung zum Versionswechsel in den betroffenen Estates.
Die Regel „ein LXS = eine Domain“ hält die Binärdatei klein und fokussiert. Auch die Angriffsfläche bleibt klein: Dieser Prozess trägt keine Fähigkeiten, die er nicht braucht. Kein großer Interpreter, kein Allzweck-Framework; nur das Nötige.
Das ist der Kern des ganzen Buches: Login, Benachrichtigungen, Speicher, Artikel – das sind in fast jeder Anwendung dieselben Fähigkeiten. Wir kopieren sie nicht in jedes Projekt; wir veröffentlichen sie einmal als LXS und nutzen sie wiederholt. Wenn es bei einer davon ein Sicherheitsproblem gibt, muss die Korrektur nicht an zehn Stellen wiederholt werden.
Zwei LXS bestimmen unsere Stärke am meisten. Beide werden im nächsten Kapitel behandelt.
→ Kapitel 6 · Gateway & Auth: die Quelle der Stärke.
Wenn dieses Buch ein Kapitel hat, das Sie sich unbedingt merken sollen, dann dieses.
In vielen Systemen ist die Sicherheit verstreut: Jeder Dienst schützt sich selbst, kopiert die Login-Logik und hat seine eigene Auslegung, wer hinein darf. Das Ergebnis ist vorhersehbar: uneinheitlich, schwer zu auditieren, und eine einzelne Schwachstelle zu beheben bedeutet, viele Stellen anzufassen.
Wir machen es umgekehrt. Zwei LXS treffen fast alle Sicherheitsentscheidungen, und beide sind vor jedem Estate installiert.
Das Gateway ist der einzige Eingang vom Internet zu den Diensten des Estates. Es
arbeitet deny-by-default: Eine Route ist nur passierbar, wenn das Estate sie
ausdrücklich aufschreibt, samt ihrer Zugriffsstufe (public, auth,
role:superadmin). Kein „alles weiterleiten“. Keine Abkürzungen.
Die Folgen:
Auth ist das LXS, das die Identität verwaltet: Passwort, Sitzung, Token, Rolle. Es kann auch als Identitätsanbieter (OIDC) auftreten, sodass mehrere Anwendungen ein Konto teilen können. Weil alle Estates dasselbe Auth nutzen, ist auch das Sitzungsmodell einheitlich – und das ist wichtig, denn die meisten Webangriffe zielen auf die Sitzung.
Eine der folgenreichsten Entscheidungen war, die Sitzung von localStorage in
ein HttpOnly-Cookie zu verlegen. Ein HttpOnly-Cookie kann von keinem Skript
auf der Seite gelesen werden, sodass eine XSS-Lücke nicht automatisch Sitzungsdiebstahl
bedeutet. Diese Änderung wurde ebenfalls einmal in Auth vorgenommen und gilt
dann in allen Estates, die es nutzen. (Die ganze Geschichte steht in Kapitel 12.)
Stellen Sie sich drei Welten vor:
Deshalb nenne ich Gateway und Auth unsere Quelle der Stärke. Nicht, weil beide perfekt wären, sondern weil sie uns ermöglichen, schnell zu handeln, wenn die Unvollkommenheit entdeckt wird – und das ist weit wichtiger als eine „sicher“-Behauptung, die sich nicht belegen lässt.
Als der Scanner vom 2. Oktober die Eingangsrouten beschoss, hielt nicht jeder einzelne Dienst stand. Das Gateway wies die Mehrheit ab, und Auth sorgte dafür, dass die Registrierungs-Firewall (E-Mail-Verifizierung) intakt blieb. Wir mussten nicht zwanzig Komponenten anfassen; eine Tür und eine Autorität genügten.
→ Soweit das konzeptionelle Fundament. Teil 3 beginnt mit Sicherheitsprinzipien, die für jedes System gelten, ob LXS oder nicht.