bindzwirn: Linux Port-Berechtigungen per eBPF

Speakers:

Pluto (Sysadmin, Hobby-Hacker und Kernelentwickler)

Scheduled time: Sat, 15:00 - Room V5 - Duration 60 Min.

Bei Self-Hosting zuhause, im Hackerspace oder auf dem VPS bietet es sich an, Services in separaten Unix-Accounts zu betreiben; zum Beispiel als rootless podman Container. Das verbessert die Isolation der Services und erlaubt eine administrative Trennung.

Meist werden jedoch lokale IP-Ports genutzt, um die einzelnen Dienste mit einem zentralen Reverse-Proxy zu verbinden. Da Linux von Haus aus keine Berechtigungen für IP-Ports unterstützt, habe ich mich auf die Suche nach einer geeigneten Lösung begeben, den Zugriff auf bestimmte Ports auf bestimmte Accounts zu begrenzen.

Meine Lösung war die Entwicklung von bindzwirn, einem drop-in replacement für authbind, das dank eBPF auch mit moderner Software und Containern gut funktioniert.

Im Vortrag erkläre ich:

- Ein einfaches beispielhaftes Hosting-Setup
- Ein Angriffsszenario in dem von einem gekaperten Account aus ein Service eines anderen Accounts kompromittiert wird
- Warum bestehende Lösungen wie authbind ungeeignet waren
- Wie eBPF es erlaubt, Linux um die fehlende Funktionalität zu ergänzen
- Mein Projekt bindzwirn

Ich freue mich über Feedback zu meinem Projekt und die Diskussion von Themen wie Self-Hosting, eBPF und mehr.

Website: https://codeberg.org/bindzwirn/bindzwirn

Desired previous knowledge: Grundkenntnisse mit Linux, mit systemd, mit der Konfiguration von Services und mit C oder einer ähnlichen Programmiersprache sind von Vorteil aber nicht erforderlich.