Über diesen Blog#
Herzlich willkommen, in meinem Fuchsbau, sinnvollerweise würde ich hier auflisten, welche interessanten Einträge dich erwarten. Wenn ich ehrlich bin, muss ich gestehen: Ich bastle zwar mit viel Enthusiasmus an vielen Dingen herum, aber in der wenigen mir zur Verfügung stehenden freien Zeit bereitet es mir weniger Freude, Texte aufzubereiten. Also liste ich stattdessen einfach auf, worüber ich schreiben würde:
- Deklarative Infrastruktur — GitOps, Kubernetes und warum
git pushdas einzige Deployment-Werkzeug sein sollte - NixOS & Nix — reproduzierbare Systeme, von der Workstation bis zur letzten VM
- TUIs, CLIs & Tools - spannende Werkzeuge aus meinem Baukasten
- DE-Ricing & Theming - die Desktop Environment meiner Workstations
- Sicherheit — PKIs, Secrets-Management, ZeroTrust; gelegentlich Malware-Analysen und CTF-Writeups
- Self-Hosting & P2P — eigene Dienste statt fremder Plattformen, von Matrix über IRC via TOR-Onion Router bis Radicle
Die Pointe: Genau daraus ist inzwischen dieser Blog entstanden. Kurze Artikel, Anleitungen und Referenzen zu überwiegend technischen Themen aus meinem Alltag — nicht zuletzt als Gedächtnisstütze für mein Zukunft-Ich, das sich erfahrungsgemäß an nichts erinnert.
Hier findest du eine Liste der Kategorien, unter denen ich bisher Artikel veröffentlicht habe, und hier eine Übersicht aller bisher verwendeten Tags.
Falls du mal bei einem Thema feststeckst: Ich helfe gerne spontan weiter — melde dich einfach über einen der Wege unten.
Über mich#
Gestatten, Max ‘ff0x’ Reineke mein Name. Ich arbeite seit vielen Jahren — freiberuflich wie festangestellt — als Lead Platform Engineer im Cloud-Umfeld. In meiner täglichen Arbeit kümmere ich mich um die Härtung und das deklarative Setup von Infrastruktur via GitOps und helfe Teams dabei, Lösungen zur Absicherung ihrer Software und Kommunikationskanäle zu integrieren. Zu Hause fühle ich mich überall dort, wo es um PKIs, Secrets-Management, Zero-Trust-Netze und Systeme geht, die sich vollständig deklarativ beschreiben lassen.
Und nachts? Zieht es mich immer wieder für Ausflüge in die IT-Sicherheit — mal eine Malware-Analyse, mal ein Capture-the-Flag-Event, mal netzwerk-spezifische Themen oder einen POC für eine DNS Reverse Shell schreiben. Die Ergebnisse landen, wenn die Zeit es zulässt, als Writeup hier im Blog.
Open Source ist für mich dabei keine Nebensache, sondern die Grundlage: Alle meine Tools, Container-Images und die komplette Infrastruktur stehen offen zur Verfügung — bereitgestellt über meinen Radicle Seed-Node .
Abseits der Tastatur engagiere ich mich in diversen gemeinnützigen Projekten und unterstütze Organisationen, die sich für Gleichberechtigung, Meinungsfreiheit oder — allgemein — Grundrechte einsetzen.
Warum eigentlich ff0x?#
Q: Warum ff0x? Was soll das bedeuten, liest sich wie ein Teil einer IPv6-Adresse. Wo kommt der bekloppte Nick her?
A: Diese Frage höre ich in der Tat öfters. Da ich diesen Alias schon eine ganze Weile mit mir herumtrage, folgt hier die profane Geschichte dazu:
Vor einer gefühlten Ewigkeit war ich ein sehr aktiver Quake 3 Arena-Spieler.
QIII verwendet UDP als Netzwerkprotokoll — und das ist ja bekanntermaßen stateless.
Aus diesem Grund wurde die Kommunikation beim Verbindungsaufbau über eine OOB-
out-of-band
-Nachricht initialisiert.
Alle Pakete, deren erste 4 Bytes 0xFF entsprechen (formatiert als NULL-terminierter String), wurden als OOB-Nachricht interpretiert; der nachfolgende Befehl in ASCII wurde vom Server ausgeführt.
32 bits | 0xFFFFFFFF out-of-band indicator --------|--------------------------------- string | command
An dieser Stelle lässt sich vermutlich schon erahnen, woher der Nickname stammt. Jedenfalls gab es in Q3 eine Reihe von Befehlen, die der Server ausführte, ohne dass man sich explizit per RCON authentifizieren musste — etwa getstatus und getinfo.
1printf '\xFF\xFF\xFF\xFFgetstatus\n' | nc -unw 1 $q3_server $q3_server_port
2
3# Für andere musste man das RCON-Passwort mit angeben
4printf "\xFF\xFF\xFF\xFFrcon ${RCON_PASS} status\n" \
5 | nc -unw 1 $q3_server $q3_server_port \
6 | sed -ne ':x;/\xFF/{N;s/\xFF\xFF\xFF\xFFprint\n//;tx};/^$/d;p'
Hier gab es immer mal wieder arge Bugs und Sicherheitslücken, die auf diese Weise ausgenutzt werden konnten — kein Wunder, dass ich mich viele Nächte diesem Thema widmete.
Manche Pufferüberläufe in Funktionen führten dazu, dass man seine IP-Adresse (in der Übersicht) spoofen oder sich entbannen konnte; andere lasen die server.cfg aus oder schossen Server komplett ab.
Als Referenz sei Luigi Auriemma genannt, offenbar immer noch auf
Altervista
zu finden [Meine Güte, da fühlt man sich alt!].
Kolophon#
Diese Webseite wird mit Hugo erstellt — einem Generator für statische Webseiten — und über meinen Lab Cluster bereitgestellt. Das Fuchsbau -Theme ist — ebenso wie der Content und das zugehörige Image — über Radicle verfügbar.
Blog-Einträge und Code schreibe ich in nvim , eingebettet in eine tmux -Session, die mir sesh per Tastendruck zu einem fertigen Workspace aufbaut — dessen Layout ich einmal in Nix deklariert habe und nie wieder von Hand zusammenklicke. Die Statuszeile zeigt mir auf einem Blick, wo ich im Radicle -Netzwerk stehe (ahead, behind, synchron) und ob der aktuelle Git-Branch dirty ist.
Der Desktop darunter ist Hyprland , ein Wayland-Compositor, der sich wie der Rest des Systems vollständig deklarativ aus demselben Flake konfiguriert — Tiling, Keybinds, Monitore, alles in Nix. Als Browser nutze ich qutebrowser , ein keyboard-getriebener WebKit-Browser mit Vim-Keybindings (eigentlich nutze ich überall Vim-Keys), der dasselbe monochrome Theme mit neon-orangen Akzenten trägt wie die gesamte DE. Dateien wandern durch yazi , einem terminalbasierten Dateimanager, der sich anfühlt wie nvim fürs Dateisystem und sich Dank Kitty sogar als Bildbetrachter eignet. Als Task-Runner kommt Task statt Make zum Einsatz und (AGE+GPG) Secrets verwalte ich mit SOPS , bzw. über meinen Passwortmanager pass den ich - wie so vieles - über Rofi steuere.
Das alles läuft auf einem Lenovo ThinkPad X230 mit QuadCore-Mod. unter NixOS — seit mehreren Jahren mein Daily Driver. Wie das im Detail aussieht, steht im Artikel über mein Flake -Setup, der die gesamte Maschine von der Partitionstabelle bis zum Wallpaper beschreibt.
Das this is fine Logo ist in Anlehnung an den Gunshow comic #648 von KC Green entstanden. Alle Rechte am Original obliegen natürlich beim Autor. Das bekannte Internet Meme stellt für mich in wunderbarer Weise die bestmögliche Gemütsverfassung dar, wenn alles um einen herum in Flammen aufzugehen scheint — offenbar ganz im Gegensatz zu manch anderer Interpretation .
Contact#
Feel free to drop me some lines.. Get my GPG Key here and write encrypted!
I’m also still idling a lot on different IRC servers. You may reach me for any questions at
Libera
,
HackInt
and unfortunately on
QuakeNet
too. Everywhere under the nickname ff0x.
Last build: · commit ef7fd64 · Hugo 0.163.0
