Welche Programmiersprache für Einsteiger? Ein ehrlicher Überblick

Jeder, der anfängt zu programmieren, stellt dieselbe Frage: Welche Sprache soll ich lernen? Und jedes Mal bekommt man unterschiedliche Antworten — weil die Antwort davon abhängt, was man bauen will, woher man kommt und wie viel Frustration man bereit ist zu ertragen.

Ich mache es einfach. Hier ist meine Einschätzung, basierend auf zwanzig Jahren Erfahrung damit, Code zu schreiben und zu erklären. Keine akademische Rangliste. Sondern: Was ist nützlich? Was ist zugänglich? Und wo verbringt man mehr Zeit mit Kämpfen gegen die Sprache als mit dem eigentlichen Problem?

Python — Der empfohlene Einstieg

Python ist die Sprache, die ich jedem nenne, der fragt. Nicht weil sie die beste ist — sondern weil sie am wenigsten im Weg steht.

Die Syntax ist minimal: Keine Klammern, keine Semikolons, Einrückung ist Struktur. Man liest Python-Code wie englische Anweisungen. Das klingt banal, ist aber der wichtigste Faktor für Anfänger: Wenn man den Code lesen kann, kann man ihn verstehen. Wenn man ihn versteht, kann man ihn verändern. Und verändern ist wie Programmieren.

print("Hallo, Welt!")

Das ist ein vollständiges Python-Programm. Eine Zeile. Keine Importe, keine Klassendefinition, keine main-Funktion. Man speichert es als hallo.py und führt es aus mit python hallo.py. Fertig.

Nützlich ist Python für fast alles: Skripte, Automatisierung, Web-Backend (Django, Flask), Datenanalyse (Pandas, NumPy), Machine Learning (PyTorch, scikit-learn), Systemadministration. Die Standardbibliothek ist absurd umfangreich — man bekommt oft ohne ein einziges pip install erstaunlich viel erledigt.

Der Nachteil: Python ist langsam. Nicht „ein bisschen langsamer“ — richtig langsam, oft 10-100x gegenüber kompilierten Sprachen. Aber für den Einstieg ist das irrelevant. Wenn man an den Punkt kommt, wo Geschwindigkeit zählt, hat man schon längst verstanden, wie man programmiert.

Lernkurve: Flach. Die ersten Ergebnisse kommen in Minuten. Komplexere Konzepte (OOP, Generatoren, Dekoratoren) brauchen Zeit, aber man kommt sehr weit ohne sie.

JavaScript — Weil der Browser überall ist

JavaScript ist die einzige Sprache, die auf jedem Rechner der Welt läuft, ohne dass man etwas installieren muss. Jeder Browser ist eine JavaScript-Laufzeitumgebung. Das macht sie zur einzigen Sprache, bei der man sein Ergebnis sofort teilen kann — einfach eine HTML-Datei, aufgemacht im Browser, fertig.

console.log("Hallo, Welt!");

Im Browser:

<!DOCTYPE html>
<html>
<body>
<script>
  document.body.textContent = "Hallo, Welt!";
</script>
</body>
</html>

Speichern als .html, Doppelklick, Ergebnis. Kein Server, kein Build-Schritt, kein nichts.

JavaScript hat zwei Gesichter: Im Browser ist es die DOM-Manipulation, Event-Handling, UI-Logik. Auf dem Server (Node.js) ist es ein vollwertiges Backend mit Zugriff auf Dateisystem, Netzwerk, Datenbanken. Dasselbe Sprache, zwei Welten.

Das Problem mit JavaScript: Die Sprache hat viele historische Macken. == vs. ===, das Verhalten von this, var vs. let vs. const, die ganze Asynchronität mit Callbacks, Promises, async/await — das ist eine Menge, die man nicht sofort verstehen muss, die aber irgendwann auf einen wartet. Und das Ökosystem ist berüchtigt für seine Abhängigkeitshölle: Ein npm install zieht hundert Pakete, und man versteht kein einziges.

Trotzdem: Wenn man Dinge bauen will, die im Browser laufen, gibt es keine Alternative. Und der Browser ist der Ort, wo Menschen Software erleben.

Lernkurve: Mittel. Der Einstieg ist einfach (öffne die Konsole, tippe console.log), aber die Tiefe ist tückisch. Man kommt schnell zu Ergebnissen, aber man schreibt lange Zeit Code, den man nicht vollständig versteht.

Rust — Für die, die es richtig lernen wollen

Rust ist die schwerste Sprache in dieser Liste und diejenige, die ich am spätesten nenne. Aber ich nenne sie, weil sie etwas lehrt, das andere Sprachen vernachlässigen: Wie Speicher funktioniert.

fn main() {
    println!("Hallo, Welt!");
}

Sieht einfach aus. Ist es aber nicht. Das ! hinter println verrät es schon: Das ist ein Makro, keine Funktion. Rust hat Makros, Traits, Lifetimes, Ownership, Borrowing — Konzepte, die man in Python oder JavaScript nie sieht, weil die Laufzeitumgebung sie versteckt.

Warum sollte man das als Anfänger lernen wollen? Weil man versteht, was unter der Abstraktion passiert. Wenn man in Python eine Liste an eine Funktion übergibt, fragt man sich nicht, ob das eine Kopie oder eine Referenz ist. In Rust muss man das wissen. Das ist anstrengend. Aber es macht einen zu einem besseren Programmierer in jeder anderen Sprache.

Rust ist die Sprache, die den Compiler als Lehrer nutzt. Der Compiler lehnt Code ab, der Speicherprobleme haben könnte. Die Fehlermeldungen sind legendarisch gut — sie erklären nicht nur, was falsch ist, sondern auch, wie man es fixt. Man kämpft gegen den Compiler. Und dabei lernt man.

Praktisch ist Rust für Systemnahe Programmierung: Betriebssystem-Komponenten, Treiber, CLIs, WebAssembly, Netzwerk-Dienste, die Performance brauchen. Firefox‘ Rendering-Engine Servo ist in Rust. Teile von Windows, Linux und FreeBSD sind in Rust. Die Sprache hat Momentum.

Lernkurve: Steil. Die ersten Wochen sind frustrierend, weil der Compiler fast alles ablehnt. Aber wenn es klickt, klickt es richtig.

Go — Einfach, aber nicht primitiv

Go (Golang) ist die Sprache, die Google gemacht hat, weil C++ zu komplex und Python zu langsam war. Das Design ist radikal minimalistisch: Keine Vererbung, keine Generics (bis vor kurzem), keine Exceptions, keine drei Wege, dasselbe zu tun.

package main

import "fmt"

func main() {
    fmt.Println("Hallo, Welt!")
}

Mehr Boilerplate als Python — aber immer noch überschaubar. Das package main, das import, die func main() — das ist ein festes Gerüst, das man einmal lernt und dann immer wieder verwendet.

Go glänzt dort, wo man Concurrent-Programmierung braucht: Webserver, APIs, Microservices, Kommandozeilen-Tools. Goroutinen und Channels sind das eleganteste Concurrency-Modell, das ich in einer imperativen Sprache gesehen habe. Statt Threads und Locks schreibt man:

go func() {
    ch <- result
}()

Und das war’s. Kein Thread-Pool, kein Mutex, kein Deadlock-Risiko.

Was Go für Anfänger attraktiv macht: Die Sprache ist klein. Die Spezifikation hat weniger als 100 Seiten. Man kann die gesamte Sprache in einem Wochenende lesen und verstehen. Das bedeutet, dass man schnell produktiv ist — und dass es keine überraschenden Ecken gibt, die man noch nicht kennt.

Der Nachteil: Go ist pragmatisch, nicht elegant. Fehlerbehandlung ist if err != nil auf jeder zweiten Zeile. Keine Sum Types, keine Pattern Matching, keine Algebriaischen Datentypen. Wer aus der funktionalen Welt kommt, wird frustriert sein. Wer aus der Systemwelt kommt, wird begeistert sein.

Lernkurve: Flach bis mittel. Die Sprache ist schnell gelernt. Das Concurrency-Modell braucht mehr Zeit, um es richtig zu verstehen.

C — Weil man verstehen sollte, worauf alles läuft

C ist die Sprache, die man lernen sollte, wenn man verstehen will, wie Computer wirklich funktionieren. Nicht als erste Sprache — aber als zweite oder dritte.

#include <stdio.h>

int main(void) {
    printf("Hallo, Welt!\n");
    return 0;
}

Kompilieren mit gcc -o hallo hallo.c, ausführen mit ./hallo. Das ist mehr Aufwand als Python. Aber man sieht: Hier gibt es kein Automatisches Speichermanagement. Es gibt Pointer. Es gibt manuelle Speicherallokation mit malloc und free. Es gibt Buffer Overflows. Es gibt Segmentation Faults.

Und genau deshalb sollte man C lernen: Um zu verstehen, was unter den Abstraktionen passiert, die Python, JavaScript und Go bieten. Wenn man einmal einen Segfault debuggt hat, versteht man, warum Rusts Ownership-Modell existiert. Wenn man einmal malloc und free manuell verwaltet hat, versteht man, warum Garbage Collection nützlich ist.

Praktisch: C ist überall. Betriebssysteme (FreeBSD, Linux, Windows), eingebettete Systeme, Treiber, Datenbanken, Netzwerk-Stacks. Wenn man tief genug graben will, kommt man an C nicht vorbei.

Lernkurve: Mittel, aber mit Fallgruben. Die Syntax ist simpel. Die Semantik ist tief. Pointer und Speichermanagement sind die härteste Hürde für Anfänger.

Was ich nicht empfehle (und warum)

Java — Nicht weil Java schlecht ist, sondern weil der Einstiegs-Overhead frustrierend ist. Klassendefinition, public static void main(String[] args), javac, java — für ein Hello World braucht man mehr Boilerplate als in jeder anderen Sprache hier. Java lehrt OOP, aber OOP ist nicht das erste, was ein Anfänger braucht.

C++ — C++ ist mächtig, aber die Komplexität ist für Anfänger grausam. Die Sprache hat zu viele Wege, Dinge zu tun. Smart Pointers, Move Semantics, Templates, RAII — alles wichtig, alles überwältigend. Wer C++ lernen will, sollte zuerst C können.

PHP — PHP hat sich mit Version 8 deutlich verbessert. Aber das Ökosystem und die Kultur sind immer noch geprägt von einer Zeit, in der Sicherheit und Code-Qualität nachrangig waren. Als Einstiegssprache würde ich es heute nicht mehr empfehlen.

Die Reihenfolge, die ich vorschlage

  1. Python — Lernen, wie man denkt. Wie man Probleme in Schritte zerlegt. Wie man Code liest und schreibt.
  2. JavaScript — Lernen, wie man Dinge baut, die Menschen sehen und benutzen.
  3. C — Lernen, was unter der Haube passiert.
  4. Rust oder Go — Je nachdem, ob man Sicherheit (Rust) oder Einfachheit (Go) priorisiert.

Die wichtigste Erkenntnis: Die erste Sprache ist nicht die letzte. Man wird mehrere lernen. Die Frage ist nicht, welche Sprache man wählt, sondern ob man anfängt.

Und dafür gilt: Je weniger im Weg steht, desto besser. Deshalb Python.

Hello-World-Vergleich

SpracheZeilenKompilieren?Typsystem
Python1NeinDynamisch
JavaScript1NeinDynamisch
Go5JaStatisch
Rust3JaStatisch
C5JaStatisch

Weniger Zeilen bedeuten nicht zwingend eine einfachere Sprache. Aber für den Einstieg zählt: Wie schnell komme ich vom Öffnen des Editors zum ersten laufenden Programm? Und da gewinnt Python.

Ausführlicher Vergleich der BSD-Familie: FreeBSD, OpenBSD, NetBSD und DragonFlyBSD

Inhaltsverzeichnis

  1. Einleitung und Geschichte
  2. Philosophie, Entwicklungsmodell und Lizenzierung
  3. Typische Einsatzszenarien – Wo welches BSD am besten passt
  4. Kernarchitektur im Detail
  1. Derivate, Spezialdistributionen und Ökosystem
  2. Pro‑ und Contra‑Tabellen – Schnellvergleich
  3. Entscheidungshilfe – Welches BSD ist das Richtige für mein Projekt?
  4. Zukünftige Entwicklungen und Roadmaps
  5. Quellen, weiterführende Literatur und Community‑Links

Einleitung und Geschichte

Die BSD‑Familie hat ihre Wurzeln in der Berkeley Software Distribution (BSD), die 1977 von der University of California, Berkeley, als Weiterentwicklung des frühen UNIX‑Systems veröffentlicht wurde. Die ersten öffentlichen BSD‑Versionen (1.0 – 4.3) legten das Fundament für den heute bekannten TCP/IP‑Protokoll‑Stack, der damals noch ein Forschungsexperiment war, heute aber das Rückgrat des Internets bildet.

Im Laufe der 1990er‑Jahre spaltete sich das Projekt in mehrere unabhängige Richtungen:

  • FreeBSD (gegründet 1993) fokussierte sich schnell auf Performance, Stabilität und eine umfangreiche Ports‑Sammlung für Drittsoftware.
  • OpenBSD (ab 1995) verfolgte das Ziel, ein so sicher wie möglich zu sein. Der Name selbst stammt von der Kombination aus „Open“ und „BSD“ und betont Transparenz.
  • NetBSD (1993) wählte den Pfad der Portabilität – das berühmte Motto „runs on anything“ stammt von NetBSD und spiegelt die Unterstützung von über 50 Prozessorarchitekturen wider.
  • DragonFlyBSD (2003) entstand aus einem Fork von FreeBSD 4.8, weil einige Entwickler mit der Entwicklungsgeschwindigkeit und den SMP‑Architekturen unzufrieden waren. Das Ergebnis: ein System, das stark auf Multi‑Core‑Skalierung und ein eigenes Dateisystem HAMMER2 setzt.

Diese unterschiedlichen Wurzeln bestimmen bis heute die Design‑Entscheidungen, das Community‑Verhalten und die Einsatzbereiche der einzelnen Betriebssysteme.

Philosophie, Entwicklungsmodell und Lizenzierung

ProjektZielsetzungEntwicklungsmodellLizenzierung
FreeBSDHoch‑performante Server‑ und Desktop‑PlattformZentralisiertes Kernteam, Commit‑Access über Core‑Team; offene Ports‑Tree-Pflege durch freiwillige MaintainerBSD‑Lizenz (2‑Clause) + CDDL für ZFS (Kompatibilitäts‑Ausnahme)
OpenBSDSicherheit über alles, Code‑Qualität, AuditsKleine, sehr konservative Entwicklergemeinschaft; Ein‑Person‑Commit‑Policy; jede Änderung wird auditiertBSD‑Lizenz (ähnlich der 2‑Clause); kein CDDL, alles rein Open‑Source
NetBSDPortabilität, Sauberkeit des Codes, Unterstützung exotischer HWDezentralisiert, Git‑basiertes Repository; pkgsrc (Quellpaket‑System) wird separat gepflegtBSD‑Lizenz (2‑Clause) – keine zusätzlichen Einschränkungen
DragonFlyBSDSkalierbare SMP‑Leistung, moderne DateisystemeKleines, fokussiertes Kernteam, schnelle Release‑Zyklen (alle 6‑8 Wochen)BSD‑Lizenz (2‑Clause)

Die Lizenzierung ist ein wichtiger Faktor für Unternehmen. FreeBSD enthält den CDDL‑Teil für ZFS, was in manchen Unternehmens‑Compliance‑Szenarien zu Diskussionen führt. OpenBSD, NetBSD und DragonFlyBSD verwenden ausschließlich die klassische BSD‑Lizenz, was ihre Nutzung in proprietären Projekten vereinfacht.

Typische Einsatzszenarien – Wo welches BSD am besten passt

Web‑ und Datenbank‑Server

FreeBSD ist dank ZFS‑Integration, Jails und einer ausgereiften TCP‑Stack‑Optimierung (z. B. TCP‑Fast‑Open, RACK‑Algorithmus) die erste Wahl für große Web‑Farmen. Unternehmen wie Netflix, Yahoo! und GitHub betreiben Teile ihrer Infrastruktur auf FreeBSD. OpenBSD wird eher für sicherheitskritische Front‑Ends eingesetzt, wo die Angriffsfläche minimal sein soll – beispielsweise als Reverse‑Proxy mit pf und httpd.

NetBSD wird selten in klassischen Web‑Umgebungen eingesetzt, findet aber in Embedded‑Gateways (Router, IoT‑Edge‑Devices) Verwendung, weil es auf ARM‑ und MIPS‑Boards läuft. DragonFlyBSD ist besonders attraktiv für Rechenzentren, die hohe Kernzahlen nutzen – das HAMMER2‑Dateisystem bietet native Deduplizierung, was Speicher‑Kosten senkt.

Firewall‑ und Router‑Appliance

pf wurde ursprünglich von OpenBSD entwickelt und später nach FreeBSD portiert. Heute ist pfSense (FreeBSD) und OPNsense (FreeBSD) die führenden Open‑Source‑Firewalls – sie bauen auf pf auf, bieten eine Web‑UI, Plugins für VPN, Captive‑Portal und IDS/IPS. OpenBSD selbst kann dank pf und spamd ebenfalls als reine Firewall dienen, wird aber seltener als eigenständige Appliance eingesetzt, weil es kein integriertes Web‑Frontend hat.

Embedded / IoT

NetBSD ist das klar dominante BSD‑Projekt für Embedded‑Systeme: Es läuft auf Raspberry Pi, BeagleBoard, MIPS‑Router, PowerPC‑Systemen und sogar auf Spielkonsolen. Die Clean‑room‑Entwicklung sorgt für stabile, deterministische Builds, die in der Industrie geschätzt werden. FreeBSD hat ebenfalls ARM‑Support, aber das Footprint ist größer, weshalb es primär in NAS‑Geräten (z. B. TrueNAS) verwendet wird.

Desktop / Workstation

FreeBSD selbst ist nicht primär für Desktop‑Nutzer gedacht, aber Projekte wie GhostBSD und MidnightBSD bieten fertig vorkonfigurierte Desktop‑Umgebungen (GNOME/KDE) mit ein‑Klick‑Installern. NetBSDs NomadBSD ist ein Live‑USB‑System, das persistent bleiben kann. DragonFlyBSD nutzt ebenfalls einen Desktop‑Installer, ist aber stärker auf Server‑Anwendungen ausgerichtet.

Storage‑Appliances und NAS

ZFS‑Integration macht FreeBSD zum bevorzugten Kernel für TrueNAS CORE (ehemals FreeNAS). Dort werden Snapshots, Replikation und RAID‑Z professionell verwaltet. DragonFlyBSD bietet HAMMER2, das ebenfalls Copy‑on‑Write, Snapshots und Deduplizierung unterstützt – ideal für Backup‑Server, die große Datenmengen deduplizieren wollen.

Kernarchitektur im Detail

Dateisysteme und Speicherverwaltung

  1. FreeBSD – ZFS
  • ZFS ist ein Copy‑on‑Write‑Dateisystem, das Datenintegrität durch Checksummen gewährleistet. Es unterstützt Kompression, Deduplizierung, scrubbing und end‑to‑end‑Encryption. In FreeBSD ist ZFS seit Version 9.0 integral und kann als Root‑Dateisystem verwendet werden. Das Zpool‑Modell erlaubt das Kombinieren unterschiedlicher physischer Laufwerke zu einem logischen Speicher‑Pool.
  • Lizenz: ZFS stammt aus dem CDDL‑Open‑Source‑Projekt von Sun/Oracle, das mit der BSD‑Lizenz nicht kompatibel ist – deshalb existiert eine separate Lizenz‑Ausnahme in FreeBSD.
  1. OpenBSD – FFS + Soft‑crypto
  • Das Fast File System (FFS), auch als UFS bekannt, ist das traditionelle BSD‑Dateisystem. OpenBSD hat keine native ZFS‑Unterstützung, jedoch gibt es experimentelle Ports. Für Verschlüsselung nutzt OpenBSD soft‑crypto, ein Kernel‑Framework, das Block‑Device‑Verschlüsselung auf Ebene des Dateisystems ermöglicht (z. B. bioctl -c C für GELI‑Verschlüsselung).
  1. NetBSD – WAPBL und FFS
  • NetBSD verwendet ebenfalls FFS. Das WAPBL (Write‑Ahead‑Physical‑Logging) ist ein leichtgewichtiges Journal, das nur Metadaten‑Updates protokolliert, wodurch ein gutes Gleichgewicht zwischen Performance und Datenintegrität entsteht.
  1. DragonFlyBSD – HAMMER2
  • HAMMER2 ist ein eigens entwickeltes Dateisystem, das Copy‑on‑Write, Snapshots, Deduplizierung und Cluster‑Level‑Mirroring (via hammer2 cluster) unterstützt. Es ist hoch skalierbar und besonders gut für Systeme mit vielen CPU‑Kernen und großen Datenmengen geeignet. Im Vergleich zu ZFS fehlt jedoch die breite Dritt‑Tool‑Unterstützung (z. B. zpool‑Utility).

Netzwerk‑Stack und Sicherheitsfeatures

  • FreeBSD: Der Netzwerk‑Stack ist für hohe Durchsatzraten optimiert (TCP‑Fast‑Open, RACK‑Congestion‑Control). ipfw ist das traditionelle Firewall‑Framework, aber seit FreeBSD 12 gibt es auch pf, das aus OpenBSD stammt. Das bpf-Subsystem (Berkeley Packet Filter) ermöglicht sehr effizientes Packet‑Capturing, das in Intrusion‑Detection‑Systemen genutzt wird.
  • OpenBSD: Der pf‑Firewall‑Engine ist das Herzstück. OpenBSD legt extremen Wert auf Code‑Reviews, Memory‑Safety (z. B. ProPolice, Stack‑Canaries) und Standard‑Hardenings (z. B. sysctl‑Defaults, disable_ipv6, login.conf). OpenBSD ist das Referenzsystem für PF, OpenSSH und LibreSSL, die in vielen anderen Projekten wiederverwendet werden.
  • NetBSD: Unterstützt sowohl ipfilter, ipfw als auch pf (via Port). Der Netzwerk‑Stack ist sehr portabel – das macht NetBSD attraktiv für kleine Router‑Boards.
  • DragonFlyBSD: Hat ebenfalls pf integriert, nutzt aber zusätzlich das Vimage/-Vkernel‑Framework für leichte Isolation von Netzwerk‑Namespaces. Der Netzwerk‑Stack ist nicht ganz so umfangreich wie bei FreeBSD, dafür aber sehr sauber implementiert.

Virtualisierung, Container und Isolationstechniken

SystemContainer‑LösungHypervisorBesonderheiten
FreeBSDJails – OS‑Level‑Container mit eigenen IP‑Stacks, Dateisystem‑Views und Ressourcengrenzen (via rctl).bhyve – moderner Hypervisor, unterstützt VirtIO‑Devices, UEFI‑Boot und KVM‑Kompatibilität.runjail ermöglicht Docker‑Kompatibilität; vmm-Modul für KVM‑Beschleunigung.
OpenBSDKeines (kein jails‑Äquivalent)vmm – leichtgewichtiger Hypervisor, unterstützt KVM‑Kompatibilität.Fokus liegt auf Sicherheit, daher kein Container‑Framework eingebaut.
NetBSDKeines (kein jails‑Äquivalent)Xen, bhyve, hyper‑v (via hv‑Modul).Sehr breite Unterstützung, jedoch weniger gebündelte Tools.
DragonFlyBSDVkernel – leichtgewichtige, eigenständige Kernel‑Instanz für Isolation (ähnlich zu jails aber mit weniger Overhead).Vkernel ist ideal für Micro‑VMs und Container‑ähnliche Workloads.

Durch die Kombination aus Jails (FreeBSD) und pf (OpenBSD) können Administratoren sehr feinkörnige Sicherheits‑ und Isolation‑Modelle bauen, die sowohl Performance als auch Härtung liefern.

Derivate, Spezialdistributionen und Ökosystem

DerivatBasis‑BSDZielgruppeBesondere Merkmale
GhostBSDFreeBSDDesktop‑Nutzer (GNOME/KDE)Ein‑Klick‑Installer, automatische ZFS‑Root‑Einrichtung, verschlüsselte Benutzer‑Home.
MidnightBSDFreeBSDDesktop & Server‑Einsteigermidnightbsd-install, grafischer Installer, eigene Paketverwaltung (pkgsrc‑basiert).
TrueNAS COREFreeBSDNAS‑ApplianceVollwertige ZFS‑Verwaltung, Web‑UI, VM‑Support, Replikation, Lizenz: CDDL (ZFS) + BSD.
pfSenseFreeBSDFirewall / RouterUmfangreiche Plugins (OpenVPN, IPsec, Captive‑Portal), Web‑UI, kommerzielle Support‑Optionen.
OPNsenseFreeBSDModerne Firewall‑ApplianceModerne Angular‑UI, IDS/IPS (Suricata), Let’s Encrypt‑Integration, regelmäßige Security‑Updates.
NomadBSDNetBSDLive‑USB + Persistent StorageEinfaches Live‑System, persistente Änderungen, kleine Image‑Größe.
OpenBSD‑based ToolsOpenBSDSicherheitstoolsOpenSSH, OpenBGPD, OpenNTPD, LibreSSL, häufig in anderen Distributionen eingebettet.
DragonFlyBSD‑BobDragonFlyBSDServer‑SkalierungMinimalistisches System, fokussiert auf HAMMER2‑Performance, geringer Overhead.

Durch das breite Derivat‑Ökosystem kann ein Unternehmen das für den jeweiligen Anwendungsfall passende Betriebssystem wählen, ohne tief in die Grund‑BSD‑Distribution einsteigen zu müssen.

Pro‑ und Contra‑Tabellen – Schnellvergleich

FreeBSD

ProContra
Riesige Ports‑Datenbank (≈30 k Pakete)Größerer Footprint – weniger geeignet für ressourcenarme Embedded‑Geräte
Native ZFS‑Integration (Snapshots, Dedupl., Verschlüsselung)Lizenz‑Komplexität (BSD + CDDL) kann in Unternehmen zu Compliance‑Fragen führen
Jails – leichte OS‑Container + Ressourcen‑LimitsJails bieten nicht die gleiche Flexibilität wie Docker‑Container (z. B. keine Overlay‑FS)
Sehr gute Netzwerk‑Performance, pf und ipfw verfügbarTeilweise veraltete Netzwerk‑Features im Vergleich zu Linux‑eigenen Technologien

OpenBSD

ProContra
Höchste Sicherheit (Code‑Audits, securebydefault, minimaler Attack‑Surface)Eingeschränkte Treiberunterstützung, besonders bei neuer Hardware
pf‑Firewall‑Engine, die als Referenz giltKein nativer ZFS‑Support (experimentell)
Kleine, kohärente Code‑Basis – einfach zu auditierenKleine Ports‑Sammlung, selteneres Software‑Portfolio
Integrierte Sicherheits‑Tools (OpenSSH, LibreSSL, OpenBGPD)Fokus auf Sicherheit kann zu Lasten von Performance‑Optimierungen führen

NetBSD

ProContra
Laufzeit auf über 50 Architekturen – ideal für Embedded & ForschungsprojekteKleinere Community, weniger kommerzielle Unterstützung
WAPBL‑Journal für geringes Overhead‑LoggingKein nativer ZFS (nur via Ports)
Saubere, modulare Kernel‑Architektur (leicht zu patchen)Fehlende vorgefertigte Server‑Features (z. B. Jails, pf als Standard)
Starke pkgsrc‑Paketverwaltung – plattformübergreifendDokumentation teils lückenhaft, besonders für Anfänger

DragonFlyBSD

ProContra
HAMMER2 – modernes Copy‑on‑Write‑Dateisystem mit Dedupl. und Snapshots
Vkernel – leichtgewichtige Isolation, ideal für Micro‑VMs
Fokus auf SMP‑Skalierung – gut für Server mit vielen Kernen
Schnelle Release‑Zyklen, aktive Entwicklung
Kleinere Community, weniger kommerzielle Unterstützung
HAMMER2 ist weniger verbreitet als ZFS – geringere Tool‑Unterstützung

Entscheidungshilfe – Welches BSD ist das Richtige für mein Projekt?

AnforderungEmpfohlenes BSDBegründung
Maximale Sicherheit (Firewall, Kryptographie, Audits)OpenBSDpf‑Engine, LibreSSL, OpenSSH‑Audits, securebydefault‑Einstellungen
Enterprise‑Storage (ZFS, Snapshots, Replikation)FreeBSD (bzw. TrueNAS CORE)Native ZFS‑Integration, ausgereifte Verwaltungstools, breite Community
Breite Hardware‑Unterstützung (IoT, ARM, MIPS, SPARC)NetBSDUnterstützt über 50 Architekturen, Clean‑room‑Entwicklung, geringes Footprint
Skalierbare SMP‑Server (viele Kerne, Dedupl.)DragonFlyBSDHAMMER2‑Dedupl., Vkernel‑Isolation, exzellente SMP‑Performance
Desktop‑Erlebnis (Desktop‑Environment, Plug‑and‑Play)GhostBSD (FreeBSD) oder MidnightBSDFertige Installer, vorinstallierte GNOME/KDE, einfacher Paket‑Manager
Firewall‑AppliancepfSense / OPNsense (beide FreeBSD‑basiert)Web‑UI, umfangreiche Plugin‑Bibliothek, kommerzieller Support
NAS / Speicher‑ApplianceTrueNAS CORE (FreeBSD)ZFS‑Management, Web‑Interface, Replikation, VM‑Support
Entwicklung / ForschungNetBSDPortabilität, pkgsrc für plattformübergreifende Pakete

Berücksichtigen Sie zusätzlich Community‑Aktivität, Verfügbarkeit von Paketen (Ports vs. pkg), Lizenz‑Konformität und Unterstützungsoptionen (Mailing‑Liste, Issue‑Tracker, kommerzielle Anbieter).

Zukünftige Entwicklungen und Roadmaps

  • FreeBSD 15.x – Weiterentwicklung des ZFS‑Stacks (z. B. ZFS 2.2 mit Verbesserungen bei Scrubbing und Compression), Unterstützung von GPU‑Pass‑Through für bhyve, engere Integration in Kubernetes via csi‑freebsd.
  • OpenBSD 7.9 – Verbesserungen am pf‑Engine (z. B. stateful‑inspection Optimierungen), Einführung von Trusted Execution Environments (TEE), erweiterte Hardware‑Root‑of‑Trust‑Mechanismen.
  • NetBSD 10 – Fokus auf RISC‑V‑Unterstützung (neue Toolchains, Device‑Tree‑Support), pkgsrc‑Erweiterungen für Container‑Orchestrierung (Docker‑Kompatibilität), Modernisierung der Netz‑Stack‑Bibliotheken.
  • DragonFlyBSD 6 – Finalisierung und Stabilisierung von HAMMER2, neue Vkernel‑Features (z. B. Namespace‑Isolation, cgroups‑ähnliche Ressourcen‑Limits), Integration von ZFS‑Ports für Hybrid‑Lösungen.
  • Derivate: TrueNAS SCALE (Debian‑basiert) entsteht als Konkurrenz zum FreeBSD‑basierten CORE, während pfSense 2.8 führt eBPF‑Unterstützung ein, um modernere Packet‑Processing‑Pipelines zu ermöglichen.

Quellen, weiterführende Literatur und Community‑Links

  • FreeBSD Project – Offizielle Dokumentation: https://www.freebsd.org/docs/
  • OpenBSD Project – Ziele & Sicherheit: https://www.openbsd.org/faq/faq4.html
  • NetBSD Project – Plattform‑Übersicht: https://www.netbsd.org/ports/
  • DragonFlyBSD – HAMMER2‑Dokumentation: https://www.dragonflybsd.org/docs/hammer2/
  • pfSense – Dokumentation & Release‑Notes: https://docs.pfsense.org/
  • OPNsense – Features & Roadmap: https://opnsense.org/
  • TrueNAS – ZFS‑Management: https://www.truenas.com/
  • GhostBSD – Desktop‑Projekt: https://ghostbsd.org/
  • MidnightBSD – Release‑Notes: https://midnightbsd.org/
  • NomadBSD – Live‑USB System: https://nomadbsd.org/
  • NetBSD – WAPBL & FFS: https://netbsd.org/docs/technical/
  • OpenBSD – pf‑Manpage: https://man.openbsd.org/pf.conf
  • FreeBSD – Jails‑Handbuch: https://docs.freebsd.org/en/books/handbook/jails/
  • DragonFlyBSD – Vkernel‑Übersicht: https://www.dragonflybsd.org/docs/vkernel/

Internat Alzen: Mobbing gemeldet – Schulvertrag kurze Zeit später beendet – Wie unser autistischer Sohn unverschuldet den Schulplatz verlor

In unserem ausführlichen Erfahrungsbericht schildern wir, wie unser autistischer Sohn nach einem vielversprechenden Start am Internat Alzen wiederholt von Mitschülern belastet wurde und wir dies frühzeitig dokumentiert und gemeldet haben. Aus unserer Sicht reagierte die Schule nicht mit ausreichenden Schutzmaßnahmen, sondern hielt an einem festen Konzept fest, das die Situation unseres Kindes nicht angemessen berücksichtigte. Wenige Wochen nach unseren Hinweisen auf die Problematik wurde das Schulverhältnis beendet.

Wir ordnen den Fall im Kontext von Kinderschutz, Inklusion und schulischer Verantwortung ein und geben Hinweise, worauf Eltern in ähnlichen Situationen achten sollten und berichten von unseren Erfahrungen.

Den vollständigen Artikel mit allen Hintergründen und Dokumentationen findest du hier.

FreeBSD auf einem Lenovo T480

Ich, der derzeit fast ausschließlich seit sechs Jahren MacBooks nutzt und relativ glücklich mit seinem M5-Gerät ist, wollte schon immer mal FreeBSD auf einem Notebook ausprobieren. Ein gut kompatibles Gerät hatte ich bisher nie finden können, doch tauchte dann irgendwann ein Artikel auf, der meinte, dass das Lenovo T480 gut mit FreeBSD funktioniert. Also habe ich mir eins bei eBay für 170 Euro geklickt. 14″, i5, 256GB SSD, 16GB RAM. Nichts tolles, aber zum herumspielen reicht es, dachte ich.

Ich habe eine kurze Weile OpenBSD auf einem Eee-PC vor vielen Jahren genutzt und das Ding sogar mal für eine Weile mit ins Krankenhaus genommen. Es funktionierte echt gut, sogar Suspend und Resume. Leider ging es dann kaputt.

Bild vom Lenovo T480 mit FreeBSD und KDE

Das Gerät kam an, Windows 11 war installiert. Ich habe es direkt platt gemacht und FreeBSD 15 amd64 von einem USB-Stick installiert. Letztlich eine Standardinstallation. Was funktioniert alles?

  • Grafikkarte funktioniert, Monitor wird mit voller Auflösung (naja, ist nur Full-HD) unterstützt
  • Tastatur geht
  • Trackpad geht, auch mit Scrolling
  • Trackpoint geht auch
  • Der SD-Card-Reader funktioniert
  • WLAN- und Ethernet funktionieren
  • Beide Akkus (interner und externer) werden erkannt
  • Tonausgabe geht
  • USB-Anschlüsse funktionieren
  • Suspend und Resume funktionieren
  • Bluetooth

Was ich noch nicht ausprobiert habe, sind:

  • Smart-Card-Reader
  • HDMI-Anschluss

Installiert habe ich Xorg, KDE und ein wenig Software. Das Gerät funktioniert recht gut und für jemanden, der unbedingt FreeBSD auf einem Notebook haben möchte, ist es nicht schlecht, wenn man denn mit den ganzen Nachteilen leben kann (langsamer Prozessor, schlechte Grafikkarte, schlechter Bildschirm, mittelmäßiges Trackpad, billiges Plastikgehäuse).

KooKooK: App für neurodivergente Menschen als Testballon

Vor einiger Zeit wollte ich mich mit QML näher auseinandersetzen und suchte nach einer Projektidee. Als Domain hatte ich noch „kookook.org“ bei mir registriert und dachte, dass ich einfach damit was mache. Bei der Projektidee ging es, allen voran, darum, dass ich mich mit dieser Technik auseinandersetzen und mich vor allem auf mobile Plattformen (iOS, Android) konzentrieren wollte.

Ich habe mich entschieden, an einer App für neurodivergente Menschen zu arbeiten, um ein Ziel vor Augen zu haben. Herausgekommen ist jetzt eine kleine App, mit der man seine Stimmungen und Reize tracken kann. Das Programm kann noch nicht viel, aber vielleicht interessiert es jemanden.

Hier sind ein paar Screenshots:

Es gibt auch eine Android-Version, die ist im Google Play Store allerdings noch nicht freigegeben, da ich dafür erst 12 Tester benötige und mir dazu gerade die Zeit fehlt. Wer Lust hat: Gerne per E-Mail an mich, ich schalte die Version dann frei.

Die App ist kostenlos und benötigt keine Internetverbindung.

Welche Probleme löse ich – und für wen?

Ich werde immer wieder gefragt, was ich eigentlich genau mache. Die kurze Antwort: Ich entwickle Software und administriere Systeme, vornehmlich unter FreeBSD. Die längere Antwort ist dieser Beitrag.

Meine Arbeit bewegt sich im Spannungsfeld zwischen Softwareentwicklung, Infrastruktur und Systemarchitektur. Ich helfe dabei, Systeme zu bauen oder zu stabilisieren, die langfristig funktionieren – technisch sauber, verständlich und wartbar.

Softwareentwicklung: Qualität statt Fließband

In meinen Blog-Artikeln über Softwareentwicklung habe ich viel darüber geschrieben, was in Unternehmen schief läuft: unlesbarer Code, fehlende Architektur, technische Schulden, die niemand mehr anfasst, und ein Fokus auf Prozesse statt auf das Produkt selbst. Das ist keine abstrakte Kritik, sondern Dinge, die ich über viele Jahre hinweg in verschiedenen Unternehmen hautnah erlebt habe.

Daraus folgt, was ich anbiete: saubere, lesbare, wartbare Software. Code, den auch jemand anderes in fünf Jahren noch versteht. Ich habe langjährige Erfahrung in verschiedenen Programmiersprachen – von der systemnahen Programmierung bis hin zu komplexen GUI-Anwendungen mit Qt und wxWidgets. Datenbanken (insbesondere PostgreSQL) gehören ebenso dazu wie Server-Client-Architekturen und Netzwerkprogrammierung.

Wenn du ein Projekt hast, das aus dem Ruder gelaufen ist, das von einer Einzelperson entwickelt wurde und jetzt kaum noch jemand durchblickt, oder das dringend eine saubere Neuarchitektur braucht – dann bin ich die richtige Ansprechperson.

FreeBSD-Administration: Stabil, sicher, durchdacht

FreeBSD begleitet mich seit Version 4, also seit über zwei Jahrzehnten. Ich betreibe eigene Server damit, kenne ZFS mit RAIDz, FreeBSD-Jails, Bhyve, pf, CARP, HAST und die gängigen Netzwerkdienste (DNS, DHCP, NTP, NFS, Samba, LDAP u.v.m.) aus der täglichen Praxis – nicht nur aus der Dokumentation.

Was ich löse: Du brauchst einen stabilen, sicheren Server oder eine skalierbare Serverinfrastruktur unter FreeBSD? Du möchtest Dienste in Jails isolieren? Du hast ein laufendes System, das Pflege oder Erweiterung braucht? Oder du stehst vor einem konkreten Problem, das sich partout nicht lösen lässt? Ich bin mit solchen Situationen vertraut – und finde pragmatische Lösungen.

Für Unternehmen

Falls du als Unternehmen schaust: Ich bringe Softwareentwicklung und Systemadministration zusammen. Ich bin kein Spezialist, der nur eine Schraube dreht, sondern jemand, der Systeme im Ganzen versteht. Ich habe in Firmen gearbeitet, in denen beides gefragt war, und weiß, wie wichtig es ist, dass Entwicklung und Infrastruktur zusammenpassen.

Ich schätze eine Unternehmenskultur, in der Fehler als Lernmöglichkeit begriffen werden, Kompetenzen sinnvoll eingesetzt werden und das Produkt im Mittelpunkt steht – nicht das Verwalten von Tickets. Wenn das auch dein Ansatz ist, sollten wir sprechen (E-Mail: thorsten@tgeppert.de).

Hier meine Referenzen in Kurzform

Thorsten Geppert

Lebenslauf

OpenSource-Projekte

Verschiedenes

  • YouTube-Kanal (mit Themen über Programmierung, FreeBSD und verschiedene andere Dinge)

Gebrauchte Macs an Apple-Account gebunden

Vielleicht hilft das dem ein oder anderen. Ich habe 2023 gebraucht ein MacBook Pro 16″ (BJ 2019) als Zweitgerät auf Kleinanzeigen gekauft. Zwei Jahre lang hatte ich das in Benutzung, jetzt übergab ich es, aufgrund eines neuen Hardwarekaufs, an meinen Sohn. Also Programme, die er nicht braucht, gelöscht, Account angelegt und meinen Account gelöscht. So weit, so gut. Er hatte das Gerät jetzt gut eine Woche in Benutzung und forderte mich gestern, am 13.11.2025 auf, ihm nochmal das WLAN-Passwort zu geben, denn sein Mac sei irgendwie abgestürzt.

Ich sah mir das Gerät direkt einmal an und er hatte recht: Es versuchte, in den Internet-Recovery-Modus zu booten. Mir fiel dann ein, dass beim Erstellen vom Account meines Sohns irgendeine Apple-ID angezeigt wurde, die vom Vorbesitzer war. Anscheinend ist dieser informiert worden, dass da an seinem alten Mac gearbeitet wird. Er hat dann – so wie es aussieht – den Mac aus der Ferne vollständig gelöscht.

Zusätzlich bin ich nicht mehr in der Lage, den Mac überhaupt noch zu nutzen, da dieser via Apple-ID des Vorbesitzers entsperrt werden muss. Ich habe ihm einen Brief geschrieben (ich habe nur noch die Adresse und hoffe, er wohnt da noch) und darum gebeten, den Mac aus seinem Account zu entfernen. Wenn er das nicht macht, habe ich nur rechtliche Möglichkeiten, das zu verlangen, die aber wiederrum mit Aufwand und ggf. Kosten einhergehen. Ansonsten ist das Gerät nicht mehr als ein teurer Briefbeschwerer.

Mein Sohn ist natürlich enttäuscht und traurig. Ich hoffe, dass der Vorbesitzer noch einlenkt und alles wieder gut wird.

Also: Denkt beim Verkauf von Apple-Geräten daran, sie aus euren Accounts freizugeben und wenn ihr solche Geräte kauft, checkt das vorher. Ich denke nicht, dass hier böse Absicht hinter gesteckt hat, weiß es aber nicht. Natürlich sind alle Daten, Programme, usw. unwiderruflich gelöscht. Wohl dem, der ein Backup hat.

compow als Privatprojekt in Form einer Referenz wieder online

Eines meiner Projekte, dass ich vor wenigen Jahren gemacht hatte, lag noch auf meiner Festplatte und war bereits lange nicht mehr aktiv. Ich dachte mir allerdings, dass ich das noch einmal gerne als Referenz von mir online stellen wollte: compow.

Bei compow handelt es sich um eine Website, auf der sich Firmen vorstellen können und Stellenanzeigen schalten können. Ursprünglich war das mal kostenpflichtig, was ich aber herausgenommen habe, da ich nicht selbständig bin und damit kein Geld verdiene, es ist lediglich eine meiner Referenzen.

Das Interessante an der Website ist der Tech-Stack, denn anstelle einer der üblichen Webprogrammiersprachen wie Ruby, PHP, Python, Go, ASP.NET (keine Sprache, aber ihr wisst, was ich meine), basiert diese Website auf folgenden Technologien:

Wie gesagt, die Seite dient einfach nur als Referenz, womit ich mich in den letzten Jahren beschäftigte. Die Website ist nicht weiterentwickelt und wird es mitunter auch nicht.

KITA-Apps: Kita-Info-App, clivver und Co. – Wir müssen reden

Disclaimer: Ich schreibe hier privat meine Meinung. Ich behaupte nicht, dass irgendeine App unsicher ist, Datenhandel betreibt, unseriös ist usw. Dies ist meine private Meinung.

Es muss vor ungefähr zwei Jahren gewesen sein (vielleicht länger, vielleicht kürzer), als unser damaliger Kindergarten die Kita-Info-App einführte. Ich sah mir die Software an und war direkt davon überzeugt: Nein, das sieht nicht gut aus (Sicherheit, Datenerhebung, Qualität, usw.): wir machen da nicht mit. Meine Frau war gleicher Meinung. Wir hatten dann ein Gespräch mit der Kita-Leitung und erläuterten unsere Bedenken. Wir wurden an die nächste höhere Stelle verwiesen, die unsere Bedenken für grundlos hielt. Naja: https://www.heise.de/news/Datenleck-bei-beliebter-KiTa-App-Stay-Informed-9662578.html

Wir waren umgezogen, neuer Kindergarten, keine App, also alles super. Dann wurde vor ein paar Wochen mit clivver eine neue Kita-App eingeführt und wieder schaute ich mir die an. Ich wurde hellhörig, als ich sah, welche Informationen die App für die Nutzung vom Hersteller haben möchte (Stand 26.03.2024):

  • Vorname
  • Nachname
  • Mobilfunknummer
  • Device-ID: Android ID / Identifier for Vendor
  • Zeitpunkt der Registrierung
  • Vorname des Kindes
  • Meldungen zu einem Kind / sich selbst
  • Zeitpunkt des Öffnens einer Nachricht

Da wurde mir bereits schlecht und es stimmt nicht, denn die App benötigt noch eine weitere Information, die anscheinend bereits erhoben und auf den Servern gespeichert wurde: Das Geburtsdatum des Kindes.

Bis auf „Zeitpunkt der Registrierung“ (aus statistischen Gründen oder zur späteren Löschung bei Inaktivität) kann ich alle weiteren erhobenen Daten der Eltern und des Kindes nicht nachvollziehen. Über die App werden verschiedene Informationen ausgetauscht:

  • Nachrichten an alle/Gruppen
  • an Personal
  • Umfragen
  • Kalendereinträge
  • Krankmeldungen
  • Zuhause-Info (mein Kind bleibt heute zu Hause)
  • Mittagsessen-Info (mein Kind isst mit und was es isst)
  • Kommentare

Weiterhin hörte ich, ob es stimmt, weiß ich nicht, dass bsplw. Bilder, die Kinder gemalt haben oder Bilder von Gebasteltem darin verschickt werden.

Als Techniker im Allgemeinen und letztlich auch sowas wie „Digital Native“ im Engeren finde ich eine solche App erstmal super. Aber nur, wenn sie vernünftig gemacht ist.

Was ich damit meine: Warum werden diese Daten erhoben und warum ist nicht alles anonymisiert? Welchen Zweck hat für den Austausch mein Name, das Geburtsdatum meines Kindes, meine Device-ID, usw.?

Ich wollte es mir nicht nehmen lassen und schrieb an den Entwickler der App, seines Zeichens ehemaliger Journalist, ein paar Fragen:

Sehr geehrte Damen und Herren,

unsere Kita setzt ab jetzt clivver ein. Bevor ich den seitenlangen „Datenschutzbestimmungen“ zustimme, habe ich doch ein paar Fragen:

  1. Wo werden die personenbezogenen Daten gespeichert?
  2. Wie sind die personenbezogenen Daten verschlüsselt?
  3. Wer hat Zugriff auf die personenbezogenen Daten?
  4. Wozu wird die Telefonnummer gebraucht?
  5. Wozu wird das Geburtsdatum des Kindes benötigt?
  6. Ist die Kommunikation Ende-zu-Ende verschlüsselt?
  7. Wie werden Backups angelegt, sind diese verschlüsselt und
    wer hat Zugriff?
  8. Werden nach dem Löschen des Accounts auch alle Daten aus
    dem Backupbestand restlos entfernt?
  9. Welche Daten werden in der Cloud (Firebase) gespeichert,
    wo liegen diese Daten und wer hat Zugriff darauf und werden
    die Daten seitens Google weiterverwendet?
  10. Die erstellende und betreibende Firma sieht nach einer
    Privatperson aus, die im journalistischen Umfeld tätig
    ist (Sascha Müller-Jänsch). Gibt es im Unternehmen eine
    technische Abteilung, die die Expertise hat, eine solche
    Software sicherheitstechnisch zu betreiben?
  11. Warum werden die Daten nicht vollständig anonymisiert? Weder
    die Eltern noch die Kinder erhalten eine Rechnung, damit werden
    die Daten letztendlich nicht benötigt. Mich interessiert, warum
    diese dann erhoben werden, da ja die Kita die Rechnungen be-
    gleicht.
  12. Wir haben Zettel erhalten, auf denen unsere Namen sowie der Name
    unseres Kindes vermerkt sind und es findet ein Matching in der App
    für das Geburtsdatum des Kindes statt. Wo sind meine persönlichen
    Daten und die meines Kindes jetzt bereits (vor Registrierung) ge-
    speichert und wer hat mein Einverständnis zu dieser Speicherung
    gegeben?

Vielen Dank für die Beantwortung der Fragen und mit freundlichen Grüßen

Thorsten Geppert

E-Mail vom 28.02.2024

Ich bekam auch eine, für mich sehr schwammige, Antwort. Ich fragte nach, ob ich aus dieser Antwort zitieren dürfte. Das wurde abgelehnt. Wie die Antwort aussah, möchte ich aus einem Gedankenprotokoll anhand eines Beispiels klar machen:

Die Frage: „Wie sind die personenbezogenen Daten verschlüsselt?“ – Die Antwort: „Ja, sie sind verschlüsselt.“

Da ich nicht aus der Antwort zitieren darf, möchte ich da auch nicht weiter drauf eingehen und respektiere den Wunsch (und kann ihn an der Stelle auch absolut nachvollziehen…).

Verstehen konnte ich auch nicht die Antwort der nächst höheren Stelle der Kita, die von einem Mitglied des Eltenrbeirats angeschrieben wurde. Ich habe gefragt, ob ich diese E-Mail zitieren darf. Die Antwort kam spät, war aber ein Nein. Ich möchte das aber dennoch ohne O-Ton zusammenfassen, zumindest zwei Punkte:

  • Wenn der Hersteller zusichert, dass die Software DSGVO-konform betrieben wird, dann ist das so
  • Wir müssen mit Sicherheitslücken und auch damit, dass wir Opfer werden können, leben, wichtig sei nur, dass diese Mängel schnell beseitigt werden

Also interpretiere ich das so: Wenn Ihre Daten und die sensiblen Daten Ihres Kindes geleakt werden, dann ist das ok, da sie ja DSGVO-konform geleakt sind und der Mangel sicher bald schnell beseitigt wird…

Allerdings wurde noch mitgeteilt, dass wenn wir Datenschutzverletzungen feststellen, wir diese melden können und sie denen nachgehen würden.

In der E-Mail-Antwort der höheren Stelle wurde mir aber mitgeteilt, ich würde seine/ihre Worte nicht richtig interpretieren. Eine Relativierung der Problematiken wäre es damit nicht, sondern im Gegenteil. Dann kam direkt der Satz, dass ich aber die E-Mail nicht zitieren darf, um weitere Missverständnisse zu vermeiden.

Bevor ich noch auf ein wenig Technik komme, mal einen Gedankenanreiz für die, die meinen, dass es sich hier nicht um sensible Daten „Schutzbefohlener“ handelt. Bei einem Datenleak könnten die Daten von Ihnen und Ihrem Kind veröffentlicht werden:

  • Der jenige kennt den Namen von Ihnen und Ihrem Kind
  • Er kennt auch Ihre eindeutige Telefonnummer
  • Er weiß, wann Ihr Kind krank war und wie häufig, kann mitunter Rückschlüsse auf chronische Probleme ziehen
  • Er weiß, wann Ihr Kind in den Kindergarten geht
  • Er weiß vielleicht, wenn das mit den oben erwähnte Bildern stimmt, mitunter welchen kognitiven Zustand ihr hat, vor allem in Kombination mit dem Geburtsdatum (Es malt weiter unter der Alterserwartung… usw.)
  • Er kann Rückschlüsse auf Nahrungsunverträglichkeiten ziehen

Es lässt sich ein detailiertes Profil Ihres Kindes und teils Ihrer Familiensituation feststellen (Kind wird mittags geholt, sprich, Sie oder Ihr Partner arbeiten nur halbtags…).

Das wäre meiner Meinung nicht nötig, wenn man diese Daten nicht erhebt, bsplw. wenn das Kind nur eine Nummer ist und keine persönlichen Daten dazu getauscht werden und die Zuordnung zum Kind ausschließlich in der KITA erfolgt. Dann wäre ein Datenleak nicht ganz so schlimm. Das ist hier aber nicht der Fall.

Kommen wir zu etwas technischem, aber ich gehe da nicht in die Tiefe, da mir hier die Zeit zu fehlt. Wenn man sich die Website des Entwicklers ansieht, dann sieht man, dass dieser das Portal „Kita im Blick“ betreibt. Wenn man dort eine Bestellung aufgeben will, kann man sowas machen:

Das wird auch so in den Warenkorb übernommen:

Schaut man sich dann noch diese (von mir manipulierte) URL an: https://www.kitaimblick.com/kib/beta/public/auth/loginxxx stellt man zwei Dinge fest:

  • In der URL erscheint das Wort „beta“, was auch immer das (rechtlich) bedeuten mag
  • Es erscheint eine Fehlermeldung, in der sogar absolute Dateipfade sichtbar sind

Wenn wir uns dann noch ein nmap auf diesem Server ansehen, bekommen wir:

Dass bsplw. PostgreSQL und MySQL nach außen offen sind, muss nichts bedeuten, gibt aber ein ungutes Gefühl. Wir wissen nicht, ob dort Ihre Daten liegen und wie weit die gesichert sind.

Das war nur an der Oberfläche gekratzt und meine Frau und ich haben entschieden: wir machen bei clivver nicht mit, unsere Entscheidung. Mir fehlt leider die Zeit, da tiefer zu gehen.

Was ich aber gerne raten möchte ist: Hinterfragen Sie immer, warum gewisse Daten erhoben werden. Überlegen Sie, ob sie notwendig sind und wenn Sie auch nur ein minimales ungutes Gefühl haben, lassen Sie es lieber.

Noch einmal: ich rate auf keinen Fall von solchen Apps ab, ich sage nicht, dass sie unsicher sind, Datenlücken haben oder Datenhandel damit betrieben wird.