seit März 2026
Ein Berechtigungsmanagement für Active Directory
Ein neuer Mitarbeiter fängt an, und jemand tippt sein Konto von Hand ab. Das dauert
Stunden bis Tage, es wird uneinheitlich — der eine schreibt m.mueller,
der andere mueller_m — und es braucht ein Konto mit Vollzugriff auf das
gesamte Verzeichnis. Der dritte Punkt ist der gefährliche: Wer diese Zugangsdaten
erbeutet, dem gehört das Netz. Genau so laufen die Verschlüsselungsangriffe ab, von
denen man in der Zeitung liest.
Was entstanden ist
Aus der reinen Kontenanlage wurde ein schlankes Berechtigungsmanagement mit sechs
Bausteinen: Eintritt, Abteilungswechsel und Austritt decken den
Lebenszyklus ab. Dazu kamen die drei Teile, die man erst später vermisst — eine
Übersicht, wer worauf Zugriff hat, eine Rezertifizierung, mit der
Berechtigungen regelmäßig bestätigt werden müssen, und ein durchgehendes
Protokoll. Der Austritt ist dabei sicherheitstechnisch der wichtigere Fall:
Vergessene aktive Konten ehemaliger Mitarbeiter sind ein verbreitetes Problem.
Die beiden Entscheidungen, auf die es ankam
Der naheliegende Weg wäre gewesen, irgendwo die Zugangsdaten eines Administrators zu
hinterlegen und ein Programm damit arbeiten zu lassen. Dieses Programm kann dann
alles, was der Administrator kann. Stattdessen führt der Zugang zum Domain Controller
genau einen Befehl aus und sonst nichts — technisch erzwungen, nicht bloß
vereinbart. Beim Test habe ich nachgesehen, welche Befehle in dieser Sitzung
überhaupt sichtbar sind: neun. Der eine Provisionierungsbefehl und acht
Standardfunktionen, die das System zum Betrieb braucht.
Der zweite klassische Fehler ist ein Dienstkonto mit festem Passwort in einer
Konfigurationsdatei. Solche Passwörter werden nie geändert und stehen irgendwann in
einer Dokumentation. Hier erzeugt das System das Passwort selbst, wechselt es alle
30 Tage und gibt es nur an namentlich freigegebene Server heraus — kein Mensch
kennt es, es lässt sich also weder weitergeben noch aus einer Datei stehlen.
Berechtigt ist dieses Konto nur für einen eng umrissenen Zweig des Verzeichnisses.
Wer die Automatik übernimmt, bekommt die Rechte eines Sachbearbeiters, nicht die
eines Hausmeisters mit Generalschlüssel.
Was der erste echte Testlauf zutage förderte
Sechs Fehler, die auf dem Papier unsichtbar waren — zwei davon in meinem eigenen,
zuvor sorgfältig geschriebenen Konzept. Ein Beispiel: Ein Anmeldename darf höchstens
20 Zeichen lang sein. Der Testname traf diese Grenze exakt; als die Automatik zur
Unterscheidung eine Ziffer anhängen wollte, waren es 21, und das System verweigerte
die Anlage. Unentdeckt hätte das genau dann zugeschlagen, wenn zwei Mitarbeiter mit
langem Namen gleich heißen — selten, unvorhersehbar, mitten im Tagesgeschäft.
Was ich gelernt habe: Ein durchdachtes Konzept ersetzt den ersten echten
Durchlauf nicht. Aufgefallen sind beide Konzeptfehler übrigens nur, weil die
Übersichtsseite, die ich vorher gebaut hatte, den tatsächlichen Zustand zeigte statt
des geplanten.
seit Juli 2026
Ein Vokabeltrainer, der einfach weiterläuft
Angefangen als Werkzeug für mein tägliches Englisch, inzwischen im Dauerbetrieb:
177 Tage Lernstoff mit 589 Wörtern, erreichbar von unterwegs unter einer richtigen
Adresse mit gültigem Zertifikat. Kein Baukasten und kein fremder Hoster — Namensauflösung,
Zertifikat und Webserver laufen auf einer Maschine, die ich selbst betreibe.
Der lehrreiche Teil war nicht das Bauen, sondern der Betrieb. Der Lernstand liegt im
Browser des Nutzers, nicht auf dem Server — das erspart eine Datenbank und jede Frage
nach personenbezogenen Daten, verlagert aber die Verantwortung fürs Sichern. Also
bekam die Anwendung eine Anleitung, die genau das erklärt.
Was ich gelernt habe: Bei einem gemeldeten Ausfall der Sprachausgabe habe ich
zwei Runden im Code gesucht. Es lag nicht am Code — auf zwei anderen Geräten lief
alles, nur eines mit einer Beta-Version des Betriebssystems versagte. Seitdem frage
ich bei jedem gemeldeten Fehler zuerst, wo er nicht auftritt. Ein zweites
Gerät trennt Code von Umgebung in zwei Minuten; die Suche im Code hätte Stunden
gekostet und nichts gefunden.
August 2026
Der Server, an dem das ganze Haus hängt
Dieselbe Maschine beantwortet die Namensauflösung für alle Geräte im Netz — gut
65.000 Anfragen am Tag von rund 30 Geräten, etwa 14 Prozent davon gefiltert. Fällt
sie aus, hat niemand mehr Internet, auch wenn die Leitung steht. Ein Werbefilter ist
dabei nur die Zugabe; die eigentliche Rolle ist die eines zentralen Infrastrukturdienstes,
und entsprechend vorsichtig ist er eingerichtet.
Sicherheitsupdates: automatisch, aber nicht überall
Das realistische Risiko für einen Server, der aus dem Internet erreichbar ist, ist
nicht der Scanner, der WordPress-Pfade abklopft — es ist eine ungepatchte Lücke in
einer der Komponenten, während genau danach automatisiert gesucht wird. Deshalb kommen
die Sicherheitsupdates der Distribution automatisch. Kernel und Firmware bleiben
bewusst Handarbeit, denn von dort kommen auch Funktionsänderungen, und ein Kernel,
der im Hintergrund wechselt und beim nächsten Start nicht hochkommt, wäre auf dem Gerät
mit dem zentralen DNS ein schlechter Tausch. Neu gestartet wird nur nach Entscheidung,
nicht nach Zeitplan.
Auswertung ohne Einwilligungsbanner
Für die Zugriffsstatistik habe ich mich gegen die üblichen Werkzeuge entschieden, die
per JavaScript im Browser messen. Stattdessen werden die Serverprotokolle direkt
ausgewertet. Das bedeutet: keine Cookies, kein Einwilligungsbanner, keine Änderung an
der Seite — und es zählt auch die Besucher, die JavaScript blockieren. Das sind hier
die meisten, denn der Großteil der Zugriffe stammt von automatischen Scannern. Die
Auswertung führt außerdem einen eigenen Bestand, weil die Protokolle nach zwei Wochen
gelöscht werden; sonst gäbe es nie mehr als zwei Wochen Historie.
Was ich gelernt habe: Eine Statusmeldung ist kein Funktionsnachweis. Nach einer
Migration meldete der Filterdienst brav „aktiv“ und filterte trotzdem nichts — er hatte
seine Datenbank in der falschen Reihenfolge geöffnet. Sichtbar wurde das nur, weil ich
dieselbe Abfrage zusätzlich gegen die alte, noch laufende Maschine gestellt habe.
Seitdem lasse ich bei Migrationen den Vorgänger stehen, bis der Nachfolger gegen ihn
geprüft ist.
August 2026
Nextcloud selbst betrieben — und die Sicherung bewiesen
Eine Datensicherung, die nie zurückgespielt wurde, ist keine Datensicherung, sondern
eine Hoffnung. Diese hier wurde zweimal vollständig wiederhergestellt — beim zweiten
Mal nicht von mir, sondern nach meiner Anleitung, und mit 1.295 echten Fotos statt
eines Testdatensatzes: 1.340 Dateien, kein einziger Fehler.
Dass jemand anderes die Rückspielung ausgeführt hat, war der eigentliche Test. Er
stolperte sofort über eine Meldung, die ich für selbstverständlich gehalten und
deshalb nirgends erwähnt hatte. Wer die Lösung schon kennt, findet die Lücken in
seiner eigenen Anleitung nicht.
Was ich gelernt habe: Die Aufbewahrungsregel lautete „alles älter als 30 Tage
löschen“. Klingt vernünftig, löscht aber vor Tag 31 überhaupt nichts — bei der
tatsächlichen Größe eines Laufs wäre die Platte nach gut einer Woche voll gewesen,
ohne dass je aufgeräumt wird. Im Test mit wenigen hundert Megabyte war das unsichtbar.
Aufbewahrung nach Anzahl statt nach Alter macht den belegten Platz
dagegen rechenbar. Dazu gehört eine Platzprüfung vor dem ersten Schreibvorgang:
Eine Sicherung, die mitten im Schreiben an einer vollen Platte scheitert, hinterlässt
ein halbes Archiv, das im Verzeichnis aussieht wie ein gültiges.