Zero Trust: Vertraue niemandem - Mein digitaler Schutzschild Teil 2

Ursprünglich veröffentlicht: https://www.kuketz-blog.de/zero-trust-vertraue-niemandem-mein-digitaler-schutzschild-teil-2/

1. Materialauswahl Die Herstellung eines Schildes ist ein handwerklicher Vorgang, der mehrere Schritte umfasst. Ein konventioneller Schild besteht in der Regel aus einem Metallkern, der von einer Hülle aus Holz, Leder oder anderen Materialien umgeben ist. Der Metallkern verleiht dem Schild Stabilität und Schutz. Vorliegend möchte ich nun den »Metallkern« vorstellen, der sozusagen das Fundament meines digitalen Schutzschildes bildet. Der Kern besteht aus Konzepten wie Zero Trust und KISS (Keep it simple, stupid!), die für eine zuverlässige Abwehr sorgen, aber nur dann Sicherheit bieten, wenn der Schutzschild regelmäßig auf Risse und andere Defekte überprüft wird. Die Wirksamkeit des Schutzes hängt…

4 „Gefällt mir“

Sehr interessantes Thema, wenn auch als Laie, nicht immer alles ins Detail verständlich ist. Da muss man sich einfach ausführlicher mit dem Thema beschäftigen.

Aber es macht einen nachdenklich!

Hi,

super dass du dich dem Thema Zero-Trust widmest. :+1::blush:

Mich interessiert dabei insb. der folgende Punkt.

Dein OpenWrt Router ist auch zeitgleich der Radius-Server? Verwendest du WPA3 EAP-TLS mit 192 bit?
Ich habe nun einige Zeit in Recherche zur Konfiguration verbrannt, aber bin nicht wirklich fündig geworden. Insb. die Doku im OpenWrt Wiki ist sehr dünn. Der Eintrag zu FreeRadius z.B.
Ist dir ein schöner Guide bekannt?

Insb. die Erstellung des jeweiligen Nutzerzertifikats ist für mich noch sehr unklar.
Verwendest du eine SQLite Datenbank fur die Einträge?
Und auch die Konfiguration der Access Points welche per Kabel an den Router angebunden sind ist fur mich noch unklar.

Viele Grüße, :innocent:

@kuketzblog Bezüglich apparmor wäre ein Link zu https://github.com/roddhjav/apparmor.d eventuell ganz hilfreich, da dort sehr viele aktuelle und gepflegte apparmor profile zu finden sind.

Zudem finde ich den Verweis auf firejail eher zweifelhaft, da diese Tool dauerhaft als root läuft und auch schon eigene Sicherheitslücken deswegen hatte.
Wenn ich meine Sicherheit verbessern möchte will ich keine zusätzliche Angriffsfläche hinzufügen, was firejail jedoch eindeutig macht. Apparmor oder bubblewrap dagegen erfordert sowas nicht.

Das verstehe ich jetzt nicht. Bei mir läuft firejail im Userkontext.

Ja, das ist richtig, die angezeigte user id des firejail Prozesses entspricht der des normalen users, allerdings gibt es mehrere user ids in linux prozessen und firejail behält effectiv the Berechtigung zu root zu werden während der gesamten laufzeit.
https://github.com/netblue30/firejail/issues/510
Wenn ein Angreifer Code execution im kontext des firejail prozesses erlangt, kann dieser einfach zu root werden weil der prozess die echten root ids niemals dropt
https://github.com/carlospolop/hacktricks/blob/master/linux-hardening/privilege-escalation/euid-ruid-suid.md

Zum selber testen:
ps -eo pid,euid,ruid,suid | grep YOUR_PID_HERE

1 „Gefällt mir“

Das würde mich auch sehr interessieren. Ggf. sogar ein gutes Thema für einen Blogbeitrag. OpenWrt Teil8? :slightly_smiling_face:

2 „Gefällt mir“

Hallo,
ich bin etwas überrascht, dass zu diesem Thema keine Diskussion zu „Zero Trust Network Access solution“, die es ja schon länger gibt, geführt wird: Twingate
Hier ein YT von Chistian Lempa zu Twingate.
Was ist die Meinung der Community hierzu?

Hast Du auch selber eine Meinung zu dem Thema, oder wolltest Du hier nur deine Links loswerden?

was genau machen diese Profile?

Ist es jetzt schon verwerflich, die bereitgestellte Information mit Links zu ergänzen?

Jetzt hab ich mich endlich mal damit befasst. Ja, die firejail-Prozesse werden mir mit SUID 0 angezeigt, was nach meinem laienhaften Verständnis bedeutet, dass sie mit Root-Rechten laufen (können).
Aber ist das so schlimm oder kann das überhaupt anders funktionieren?
Eine Anwendung, die befähigt ist, andere Anwendungen in Sandboxen zu stecken, die kann doch nicht auf einer Ebene mit diesen Anwendungen stehen, die muss doch darüber stehen. Eigentlich müsste sie nach meinem Verständnis Teil des Betriebssystems sein.
Wenn ich nun in Synaptic firejail anschaue, dann hat es einen Debian-Kringel.
Debian und der Debian-Kringel im Repository, das ist für mich sowas wie der axiomatische Vertrauensbeginn, den ich definieren muss, da ich nicht alles selbst entwickeln kann.
Also, für mich ist das in Ordnung.