Sandboxing auf dem Linuxdesktop – was konkret machen

Hier im Forum wurde schon die Frage diskutiert, wie mit Sandboxing auf dem Desktop am besten verfahren werden sollte.Stichworte u.a. Firejail vs. Bubblewrap/Bubblejail.Hauptfokus galt dabei/gilt natürlich den Programmen mit Webkontakt – v.a. Browsern.
Weiter ergänzend wohl von Bedeutung evtl Mediaplayer für Streaming – VLC u.a. – Mailclients – Thunderbird z.B. - LibreOffice, in dem ein Link direkt aufgerufen wird.

Vgl. auch Thread:
https://www.kuketz-forum.de/t/erfahrungen-mit-bubblejail-gui-fuer-bubblewrap/9378/3

Leider habe ich die letztliche Konsequenz der Posts etwa von Chief1945 oder Seeket u.a. nicht genügend verstanden und möchte v.a. für die Browser – Firefox, Brave (bzw. Chromium-Forks) und TorBrowser – nochmal konkret nachfragen.

Bubblewrap ist für mich zu kompliziert und auch Bubblejail als GUI hat bei mir im Vergleich zu Firejail nicht wirklich funktioniert.

Was ich verstanden habe:
a)
Der Einsatz von Apparmor wird sehr empfohlen - soweit es schon Profile gibt, sonst lernen selbst welche erstellen.

b)
Die Browser bringen schon recht gute Sandboxen mit, wobei ich jetzt zum Disput
Gecko vs. Chromium nicht weiter nachfragen möchte.

c)
Sandboxing ist natürlich nur ein Teilaspekt von Sicherheit – vlt. nur ein kleinerer?

d)
Firejail wird von manchen (vielen?) wegen seiner Schwächen eher recht kritisch gesehen.

e)
Wenn man Apparmor und Firejail einsetzt müsste firejail-default in Apparmo nicht auf „enforced“ gesetzt werden, da sonst das Apparmor Profil z.B. für den TorBrowser nicht greift.
(So hierzu mein Verständnis zu den Erläuterungen zu Firejail).

Aber was sollte man konkret machen?

Firefox, Brave bzw. TorBrowser mit Firejail aufrufen – oder eben nicht und auf die eigene Sandbox des Browsers vertrauen?

Zu 1. ergänzend:

Bringt es Sicherheitsvorteile in Firejail Privateverzeichnisse einzusetzen, wobei
der Zugtiff aufs Homeverzeichnis und je auch Konfiguration auch weitere eingeschränkt werden kann?

Z.B.:

firejail –private=~/Verzeichnis der Firefoxinstanz firefox

oder

firejail –private=~/Torbrowser neu /home/user/tor-browser_en-US/Browser/start-tor-browser

Ich konnte damit nach einiger Einarbeitung recht gut arbeiten ohne vielfach durch Zugriffssperren ausgebremst zu werden. Aber bringt dies Sicherheitsgewinn – das ist ja die Frage?

Wie sind die Empfehlungen für andere Programme mit Webkontakt – s.o. genannte Beispie

  1. Es lohnt sich schon wenn du den Browser nochmal in eine Sandbox steckt. Es gab schon mehrere Vorfälle wo man bspw Code auf dem Host ausführen konnte oder die Sandbox umgehen kann.

  2. Bringt dir einen Sicherheitsgewinn falls die Sandbox des Browsers umgangen wird kann man immer noch nicht auf deine Privaten Dateien zugreifen.

  3. Bei anderen Programmen würde ich es genauso machen. Ich würde aber vielleicht noch einen DNS-Server erzwingen (z.B. —dns=9.9.9.9) und dem Programm nur so wenig wie möglich freigeben, also z.B. Zugriff zu /root /boot und so verbieten.

c) ich denke dies ist relativ und kommt darauf an welche ‚Kaskaden‘ du sonst noch einsetzt. Hast du deine user.js bzw. deine Browsereinstellungen schon sinnvoll angepasst und hast du für uBlock origin schon relativ restriktiv eingestellt mit zusätzlich relativ intensive Filterregeln und nutzt du zusätzlich eine Firewall á la Portmaster mit relativ restriktiven Standarteinstellungen, bist du für viele Szenarien schon gewappnet. Dennoch fallen dir sicher auch andere Szenarien ein wo zusätzlich ein Sandboxing sinnvoll ist. Die Frage ist wie wahrscheinlich sind diese im generellen und bist du mehr oder weniger gefährdet als dieser theoretische generelle Wert.

Den Aspekt des Nutzerverhaltens habe ich hier außen vorgelassen - wobei vermutlich der wichtigste Aspekt. Also welche Anwendungen verwendest du und wie beziehst du sie sowie, wie ist dein Browseverhalten - welche Seiten werden besucht, was wird wo heruntergeladen etc.

Es ist sehr schwer hier zu pauschalisieren, da wie vermutlich hieran klar wurde Sicherheit sehr individuell ist

1 „Gefällt mir“

Ich nutze Firejail zusammen mit dem kleinen Tool Firetools (aus dem Debian Repository).

Sowas hab ich schon öfter gelesen, was heißt das eigentlich?
Was genau macht denn das Sandboxing eines Browsers?

  • den Browser gegen andere Anwendungen abschotten?
  • im Browser verschiedene Profile gegeneinander abschotten?
  • oder innerhalb eines Profils verschiedene Tabs gegeneinander abschotten?

Ja zu allen drei bei allen Mainstream-Browsern (außer bei FF unter Android). Sandboxing ist aber nicht S/W, da gibt es auch Unterschiede in den Angriffsflächen, der Prozessstruktur und welche Prozesse wie gesandboxt sind.

Bei Browsern ein ziemlich großer. Generell ist Sandboxing eines der effektivsten Mittel für mehr Sicherheit.

Ich würde mich zunächst auf andere Sicherheitsmaßnahme fokussieren, wie z.B. JIT deaktivieren, Medien einzuschränken und ggf. auf Chromium-basierte Browser wechseln. Eigentlich steht in dem verlinkten Thread schon das Wichtigste an Maßnahmen drin. Ich denke nicht, dass Firejail für einen Angreifer der schon die deutlich ausgeklügelteren Sicherheitsmechanismen eines Browsers ausgehebelt hat, wirklich eine große Hürde ist.

Die wird es auch immer geben. Das sagt aber noch nichts darüber aus, wie wahrscheinlich es ist von so einem Angriff betroffen zu sein und ob eine weitere (deutlich laxerere) Sandbox drum herum wirklich Angreifer davon abgehalten hätte.

Vielen Dank für die Antworten!
Sicherheit ist ein kontrovers diskutiertes Thema - auch in einer Reihe anderer Threads u.a. hier im Forum.
Ich verstehe Posts gut, in denen Standards für den durchschnittlichen User, der jetzt keine spezielle und erhöhte Bedrohungslage hat, gewünscht werden.
Wobei es dabei nicht um die Basisempfehlungen wie „nicht auf jeden Mailanhang klicken“ etc. sondern schon um mehr geht.
Ich kann der Äußerung von den „Kicksecure“ Entwicklern nur zustimmen, dass
es den durchschnittlichen Linuxuser überfordert, wenn er an allen möglichen „Sicherheitsschrauben“ drehen soll(te), sondern dies Aufgabe der Entwickler ist.
Eigentlich müssten viele der wesentlichen Sicherheitsmaßnahmen in der jeweiligen Distro schon eingebaut sein. So verstehe ich Kicksecure.
Folgt man den Diskussionen hier im Forum zum Thema „Linux - z.B. Manjaro - sicherer machen“ und den diversen Links wie u.a. https://madaidans-insecurities.github.io/guides/linux-hardening.html
dann muss man als „normaler User“ und/oder mit zeitlicher Begrenzung
leider „abreißen lassen“ - wie mancher bei der Tour.
Z.B. bleiben dann eigentlich nur 2 Distrozweige wie dort erwähnt empfehlenswert:
Fedora und OpenSuse.
Und ja, mit dem System Audit von Lynis erreicht etwa Tumbleweed out oft the box 83% - MXLinux/Manjaro z.B. gerade mal schlappe 64%.
Was heißt das alles? Alle „normalen, Nichtexpertenuser“ nun hin zu diesen Distros?
Wobei ich als Nichtexperte auch so mein Mißtrauen am Sicherheitskonzept von Flatpaks (Fedora) hätte – wenn auch wohl in Bubblewrap eingepackt.
Aber das ist vermutlich auch schon wieder reichlich Diskussionsstoff mit kontroversen Meinungen.

Nur mal so ein paar Gedanken, die aus meiner – und vielleicht aus Sicht anderer – das Dilemma des einfachen Linuxusers zeigen, dem als Nichtexperte Security auch wichtig ist.
Hoffentlich jetzt nicht zu weit off topic. Falls doch - sorry!

Ist ein einfacher Linux Nutzer nicht schon per se besser geschützt, da Linux weniger als Angriffsziel herhalten muss?

So würde ich das sehen.
Wie bei Android sehe ich eig. Updates also einen aktuellen Stand am wichtigsten.

Härten und Co. brauchen wohl wirklich die wenigsten wenn es rein um Sicherheit geht.

Ist doch wieder die alte Frage:
Was ist mein Bedrohungszenario und wie will ich mich davor schützen.

@gellemrt25 Wärst du so freundlich und würdest deine Kommentare so formatieren, dass sie auch angenehm lesbar sind?

Lynis ist gut um ein paar Konfigurationen im System zu checken und entsprechende Verbesserungen durchzuführen, aber es deckt bei weitem nicht alles ab, was das Thema Sicherheit betrifft.

Fedora verwendet auch nicht mehr oder weniger Flatpaks als Distros wie Debian oder OpenSUSE Leap/Tumbleweed. Zudem sind Flatpaks nicht per se gut oder schlecht. Wichtig ist, dass der Maintainer des Flatpaks ist vertrauenswürdig und das komplette Flatpak aktuell hält. Wenig Berechtigungen und Benutzung von Portals wären darüberhinaus sehr wünschenswert.

Auf was willst du eigentlich konkret hinaus mit dem Kommentar? Kommt mir alles ziemlich zusammengewürfelt und viel hineininterpretiert vor.

Sorry Chief1945, ich nehme gerne Kritik an, kann aber nicht hier so ganz deinen Kritikansatz verstehen. Es wäre für mich hilfreich, wenn es hier eine Vorschau gäbe – oder habe ich etwas übersehen?

Naja, wenn ich die ausgedehnten Diskussionen zum Thema Sicherheit von Linux hier im Forum lese, scheint es da andere Meinungen zu zugeben oder zumindest dieses Argument nicht so wirklich „zu stechen“. Vgl. bitte z.B.

https://www.kuketz-forum.de/t/wie-kann-ich-manjaro-linux-sicherer-machen/3555/40

Ich dachte, ich hätte ein paar klare Fragen gestellt bzw. sie würden aus meinen Darstellungen deutlich….

Ein User hat mal in einem anderen Forum es etwa so formuliert:

„Ich möchte eine Linuxdistro nutzen, die mir ein gutes Gefühl zu einer guten Grundsicherheit des Systems gibt.“

Das kann man doch vielleicht nachvollziehen - oder nicht?

Da scheint es doch erhebliche Unterschiede zw. den Distros zu geben.

S. die zitierte Diskussion zur Sicherheit von Manjaro, das ich auch gerne einige Zeit genutzt und als sehr „usable“ empfand.

Dein Kommentar zu Manjaro ist ja aber hier ja sehr eindeutig:

https://www.kuketz-forum.de/t/ein-paar-anfaengerfragen-zu-linux/8657/5

Debian und seine Anverwandten (MXLinux gehört ja auch dazu, habe ich auch benutzt (nach Empfehlung von Mike) bekommen ja beim Thema Sicherheit/Updates/Stichwort Backporting hier im Forum auch eine Menge „Haue“. Berechtigt oder nicht – viele Meinungen.

Die ausgedehnten Diskussionen zu Browsern - Gecko vs. Chromium - , die Diskussion um das Fingerprinting, wozu du auch einiges kommentiert hast, die tendenzielle Abkehr von Firejail - einst von Mike auch sehr empfohlen - und von manchen hier ja auch weiterhin – nur als ein paar Beispiele wirken manchmal für den „durchschnittlichen Linuxuser“ sagen wir mal „etwas verwirrend“ und nicht immer so recht erhellend.

Da wünsche ich mir schon mal gelegentlich so etwas wie eine „Take Home Message“ - und vlt. ja andere Teilnehmer im Forum auch. Aber möglicherweise ist das zu viel Erwartung.

Die verzögerten Updates bei Manjaro und deine und weitere Hinweise (s. u.a. Madaidan) haben mich veranlasst, mal Tumbleweed von OpenSuse zu installieren.

Offensichtlich sind aber die 83% beim Lynis Audit für Tumbleweed (und vermutlich Leap auch, habe ich nicht getestet) sehr zurückhaltend zu bewerten - so verstehe ich deinen Kommentar.

Da frage ich mich, was denn „der heiße Tip“ – hier unter Sicherheitsaspekten -für eine Distrowahl ist?

„While many valuable security guides exist, better security and privacy for the masses necessitates software that applies a majority of hardening instructions by default.“
„Es gibt zwar viele wertvolle Sicherheitsleitfäden, aber für eine bessere Sicherheit und einen besseren Schutz der Privatsphäre für die breite Masse ist eine Software erforderlich, die einen Großteil der Sicherheitsanweisungen standardmäßig anwendet.“
https://www.kicksecure.com/wiki/About
Dem kann ich mich voll anschließen. Leider ist das Projekt wohl noch eher in den Anfängen.

Die gibt es.

Ja. Das mit dem sicher fühlen kann dir aber niemand geben. Man kann sich auch sicher fühlen und trotzdem sich der Schwächen und Risiken bewusst sein, dann handeln oder es auch sein lassen.

Den heißen Tipp gibt es da leider nicht. Wenn du mit Tumbleweed besser zurecht kommst als mit anderen Distros kannst du dabei bleiben, da hast du aktuelle Pakete und vermeidest Backports. Fedora mit Brace oder Secureblue wären sehr gute Optionen. Arch ebenso, aber dafür muss man nochmal mehr Arbeit reinstecken.

Ein Arbeitsablauf zur Arch Installation/Härtung gibt es unter dem Link. Allerdings nichts für Linux Neulinge, aber gut geeignet, um sich ein System von Grund auf neu zu bauen und zu lernen.

https://www.computerbase.de/forum/threads/how-to-arch-linux-installieren-verschluesselt-gehaertet-spieletauglich-modular.2072682/

Secureblue nutzte ich als Zweitsystem jetzt seit zwei Monaten. Flatpaks:

Enabling only the flathub-verified remote by default
https://flathub.org/apps/collection/verified/1

Ich kann das gut nachvollziehen!
Bin auch gerade am ‚umsortieren‘ und stelle meine Programme auf die flatpack-Versionen um.
Aber die Frage, ob - ohne großen Aufwand meinerseits - Debian, Feodora, MX Linux oder LMDE/ Linux Mint sicherer ist, habe ich mir leidet auch noch nicht beantworten können.

Sicherer als was?

Welche der erwähnten Distros sicherer sind, also, welche ich mir unter dem Sicherheitsaspekt aussuchen würde.

Wenn du wenig Aufwand für Sicherheitsverbesserungen reinstecken willst, würde ich Fedora mit Brace empfehlen, und ggf einzelne Programme welche keine eigene Sandbox haben mit Bubblejail, Firejail o.ä. verwenden. Solltest du sowieso fast komplett auf Flatpaks umsteigen wollen, wäre Secureblue eine gute Wahl. Von Debian und Derivaten halte ich mich persönlich fern. Trotz langsamem Release-Zyklus und relativ viel Linux Erfahrung, hatte ich zu viele Probleme in der Vergangenheit und die Sicherheit wurde u.a. von GrapheneOS kritisiert.

Ich habe eher zufällig einen Weg gefunden auf Debian Basis Programme ohne Firejail den Netzzugang zu erlauben - wohl aber den Zugriff auf mein /home zu verweigern.

  1. Richte Dir einen User mit minimalen Rechten ein, der von seiner Rechteausstattung her - gerade mal so einen Desktop starten kann und sonst fast nichts darf. (Sound kannst Du trickreich pipewire über ein geteiltes Device teilen - aber nur wenn nötig…(Weniger ist mehr.))
    Wichtig er sollte keinen lesenden Zugriff auf dein /home Verzeichnis haben.
  2. Richte dem User lokale flatpack Programme ein. Typischerweise Dinge, die andere nutzen und die potentielle Datenabflussgefährdungen sind. Ich betrachte Skype und Zoom als solche Software. Auch Browser können darunter fallen.
    (Die Doku zur lokalen Einrichtung von flatpack ist leider sehr rudimentär…)
  3. Richte einen lokalen Zugriff von Deinem Account auf diesen User ein. Und berechtige sein /home Verzeichnis so, dass Du von deinem User aus Zugriff auf die Daten dort erhältst.
  4. Kümmere Dich um den einseitigen Zugriff per GUI per vnc oder ssh (wie Du magst) um diesen User von Deinem Desktop aus nutzen zu können.

Wenn Du das gemacht hast - hast Du eine Umgebung, die im Fall eines Datenlecks der flatpack Programme - nur die Daten des unprivilegierten Users freigibt. Und sollte er übernommen werden - kann er wenig ausrichten.

Was hat der Netzzugang mit dem Home-Verzeichnis zu tun?

Gibt es einen Grund warum du nicht ein einfaches Apparmor-Profil oder Namespaces verwendest?

Ich verwende Namespaces, wenn ich aus Sicherheitsgründen den Netzzugang für proprietäre Anwendungen völlig sperren will. Das ist einfach einzurichten und zu überprüfen. Mein masterpdfeditor5 ist nach außen sehr, sehr still.

Ich habe bisher noch kein einfaches Apparmor-Profil oder einfaches Firejail-Profil verstanden/bauen können, dass es mit einfach erlaubt hätte meine Vorstellungen von Zugriffen für die Anwendungen - wirklich einfach - für mich verständlich und überprüfbar einzuschränken.
Wenn Du der Meinung bist, dass das einfach geht - ich bin empfänglich für ein einfaches Firejail-Profil, dass balena-etcher den Netzzugang abgewöhnt…

Bei einem unterprivilegierten User auf dem gleichen System nutzt man 50 Jahre alte abgehangene Technik, die man mit Berechtigungseingeschränkt gemounteten logical volumes auf denen man den Zinnober laufen lässt noch weiter mit einfachen, verständlichen - und rustikalen Methoden einhegen kann.
Jeder versteht eben etwas anderes unter KISS.

Darf ich fragen, was Brace ist?

https://github.com/divestedcg/brace