# A4 Sicherheit

## pietinger

(Dieser Post ist Teil einer Installation-Anleitung. Falls nicht schon geschehen lies bitte: Installation Guide for Paranoid Dummies)

A.4 Sicherheit

Bevor wir klären können, was Du mit Deiner 4. freien Partition machen kannst/sollst, möchte ich ein wenig ausholen:

Wenn Computer Anwender im privaten oder semi-professionellen Bereich umgangssprachlich von Computer Sicherheit, oder IT-Sicherheit sprechen, meinen sie eigentlich nur zwei Dinge: Den Schutz persönlicher Daten im Home-Verzeichnis vor unbefugten Lesen (oder gar Kopieren) UND der Schutz vor unbefugter Veränderung des Systems (Hacken). Erfahrene Anwender zählen noch die Datensicherung (=Backup) zum Schutz vor Verlust der Daten zur IT-Sicherheit, während Verfügbarkeit meist nur bei professionellen Anwendern sicherheitskritisch ist. Eine kurze Einführung und Begriffsdefinition zu diesem Thema findest Du auf:

https://de.wikipedia.org/wiki/Informationssicherheit

Im privaten Bereich sind also hauptsächlich die beiden Schutzziele

A. Vertraulichkeit (kein Unbefugter darf unsere Liebesbriefe und die Steuererklärung auf unserem PC lesen) und

B. Integrität (wir wollen nicht gehackt werden, um eine Spam-Schleuder in einem BotNetz zu werden)

gefordert. Welche Sicherheits-Lösungen benötigt werden, richtet sich aber nicht nur nach den Zielen, sondern auch nach dem Schutzbedürfnis. Wer rechtliche Vorgaben (z.B. Datenschutz) zu beachten hat, muss gewisse Anforderungen und Auflagen erfüllen. Davon sind nicht nur Banken oder große Unternehmen betroffen, sondern bereits Berufsgruppen wie Ärzte, Rechtsanwälte, Steuerberater und andere. Wieder andere haben das Schutzbedürfnis Eigenschutz; ich denke dabei z.B. an Journalisten in gewissen Ländern.

Grundsätzlich gibt es nur zwei Möglichkeiten um an/auf unseren Rechner zu gelangen, um diese beiden Ziele zu bedrohen:

1. Direkter körperlicher (physischer) Zugang (Offline Tampering), oder 

2. Zugriff über das Netzwerk (Online Attack). Da Angriffe aus dem lokalen Netz (Inhouse-Angriff) bei Privatleuten eher selten ist, ist Netzwerk daher mit dem Internet gleichzusetzen.

------

Betrachten wir (1) sind im privaten Bereich folgende Konstellationen denkbar:

1a) Nur Du hast alleinigen Zugang zu Deinem PC. Andere Menschen haben im Regelfall keinen Zugang und müssten sich diesen durch Einbruch (ggf. mit Diebstahl) verschaffen. Das gleiche gilt für Dein Notebook.

1b) Deine Putzfrau hat unbeaufsichtigten Zugang, aber keine Befugnis für Deinen PC.

1c) Dein Ehe-/Lebenspartner hat (unbeaufsichtigten) Zugang zum gemeinsamen PC und auch die Berechtigung diesen zu nutzen (extra User-Account).

1d) Auch Dein Sohnemann mit Leistungskurs Informatik hat Zugang und einen eigenen Account und ist gerade in der Experimentier-Phase.

Welche Bedrohungsszenarien existieren nun für 1a ? Einzig: Einbruch mit Diebstahl oder eigenes Versagen (weil wir das Notebook irgendwo liegen gelassen haben). Es dürfte evident sein, dass unser Notebook im Auto dabei gefährderter ist als unser heimischer Großrechner. Bevor Du nun an mögliche Lösungen denkst, solltest Du berücksichtigen, dass Du in beiden Fällen Dein Notebook vermutlich nie mehr wiedersehen wirst. Das sage ich deshalb so ausdrücklich, um bewusst zu machen, dass dann das Schutzziel (B) gar nicht mehr existiert (falls Du es doch zurückbekommst, formatierst und installierst Du alles neu); Du hast dann nur noch den Wunsch, dass der Dieb Deine Daten nicht auslesen kann (in dem er z.B. Deine SSD ausbaut und in einem anderen PC einbaut). Einzig sinnvolle Lösung ist daher: Verschlüsselung von /home (und swap-partition).

Die Fälle 1b bis 1d habe ich beispielhaft als (harmlose) Bandbreite möglicher Gefährdungen aufgeführt. Hast Du wirklich Sorge, dass Deine Putzfrau mit einer bootfähigen CD Deinen PC hacken will ? Falls ja, ist die einfachste und damit sinnvollste Lösung ein BIOS-Boot-Passwort. Hast Du Sorge, dass Deine Frau versucht einen Keylogger zu installieren um an Dein Home-Verzeichnis zu kommen ? Falls ja, dann prüfe eine Scheidung ... und kaufe Deinem Sohn einen eigenen PC. Warum sage ich sowas ?

Weil es heutzutage hipp und chic ist eine Festplattenvollverschlüsselung (die aber eigentlich gar keine ist) zu installieren, die mehr Performance schluckt als die schlimmsten Parameter für ein Härten des Kernels (das in B.2. kommt). Aber brauchen wir das wirklich ? Falls Du Rechtsanwalt, Journalist oder jemand mit erhöhten Schutzbedürfnis bist, lese bitte diesen ganzen Post. Trotz Paranoia habe ich tatsächlich keine einzige verschlüsselte Partition auf meinem heimischen Desktop - nur die home-Partition auf dem Notebook.

Nach Beendigung von A.3 hast Du mit KDE bereit auch Vaults installiert. Welches ich ausdrücklich für den Einsatz am heimischen Rechner empfehle, da es ein sehr nettes Gimmick hat: Du kannst einstellen, dass mit dem Öffnen (per Passworteingabe) eines verschlüsselten Verzeichnisses, automatisch alle Netzwerkverbindungen beendet werden (ist aber nur optional). Für Dein Notebook brauchst Du aber eine komplette Verschlüsselung von /home damit auch alle Mails und Kontakte die KDE wild irgendwo im Home-Verzeichnis speichert, sicher sind.

------

Sehen wir uns nun (2) an. Hier haben Unbefugte grundsätzlich zwei Möglichkeiten auf unseren Rechner zuzugreifen: Aktiv oder Passiv. Ein aktiver Zugriff ist ein gezielter Verbindungsaufbau von außen. Bei einem passiven Zugriff musst Du zuerst mit Deinem Webbrowser eine "böse" Seite ansurfen - kann aber auch eine "gute" Seite sein, die ihrerseits gehackt wurde. In beiden Fällen würde eine Festplattenvollverschlüsselung keinerlei Schutz gegen (A) und (B) bieten, weil alle Partitionen nach dem Bootvorgang ja entschlüsselt sind. Ebensowenig würde ein verschlüsseltes Home-Verzeichnis Deine Daten schützen. Ja, es gibt die Möglichkeit, dass /home erst nach/mit der Anmeldung eingebunden (und damit entschlüsselt) wird. Wenn Du aber gar nicht angemeldet bist, könnte doch ein aktiver Angreifer zumindest nicht Deine Daten abgreifen (A). Leider falsch. Er kann Dir irgendetwas installieren (B) was nur noch abwarten muss, bis Du Dich angemeldet hast, um dann Dein /home zu versenden. Welche Lösungen gibt es dagegen ?

Aktive Angriffe: Diese sind ja nur dann möglich, wenn Du einen Server-Dienst betreibst und Du deshalb in Deiner Firewall eingehende Verbindungen zu diesem freischalten musstest. Falls Du einen Server betreibst empfehle ich eine Trennung von Server und privaten Daten auf zwei Rechner. Ist dies nicht möglich, empfehle ich eine Trennung mittels virtueller Maschinen (was jedoch diese Anleitung bei weitem übersteigt), neben dem obligatorischen Härten von Kernel und Serverdienst. Ansonsten bist Du keinen aktiven Angriffen ausgesetzt (die harmlosen Portscans fängt bereits Dein DSL-Router ab).

Bleibt als letztes:

Angriffe, denen Du beim Browsen, oder Öffnen einer E-Mail, oder Öffnen einer anderen präparierten Datei (mpeg, jpg, etc.), ausgesetzt bist. Ja, das ist in der Realität die gefährlichste Bedrohung für private User. Um sich davor zu schützen empfehle ich:

1. Einsetzen eines Proxys, der gefährliche Inhalte herausfiltert,

2. Härten des Kernels,

3. Betrieb des Browsers in einer Sandbox, oder noch besser: Schutz durch AppArmor und/oder IMA,

4. und halte Deine Programme aktuell !

Diese Maßnahmen werden leider in vielen Beschreibungen zur "Festplattenvollverschlüsselung" vernachlässigt ... ...   :Evil or Very Mad: 

Erhöhtes Schutzbedürfnis

1. Falls Du tatsächlich in der mißlichen Lage sein solltest mit einem nicht vertrauenswürdigen Kollegen (Mitarbeiter) einen Rechner teilen zu müssen, würde Dir eine Festplattenvollverschlüsselung auch nicht helfen, da er ja auch das Passwort zum Start des PC haben muss. Wenn Du jetzt sagst, nein, Du startest den PC in der Früh, dann genügt aber auch wieder ein BIOS-Boot-Passwort. Wichtig ist nur: Der Mitarbeiter wird/ist insoweit überwacht, dass er keine Möglichkeit hat - unbemerkt - die Festplatte auszubauen. Auf USB und CD-ROM kann er aufgrund der Linux-Berechtigungen seines Accounts nicht zugreifen. Falls er doch dafür Rechte haben muss, musst Du nur SecureBoot installieren um einen Booten von einer CD oder USB zu unterbinden. Besser ist natürlich eine Trennung: Jeder hat seinen eigenen PC.

2. Falls Du zwar den Recher alleinig nutzt, aber wirklich Sorge haben musst, dass jemand - unbemerkt - eindringen will und kann, um "böse" Programme zu installieren, ist eine - echte - Festplattenvollverschlüsselung eine mögliche Lösung. Dazu ist aber der ganze Overkill mit GRUB/INITRAMFS/INITRD/LVM/LUKS/DMCRYPT unnötig. Das wichtigste ist der USB-Stick, der als Schlüssel dient und den Du dann wirklich abziehen musst. Ich habe dazu bereits eine einfachere Installationsanleitung geschrieben, die ich jedoch NICHT empfehle:

https://forums.gentoo.org/viewtopic-t-1110764-highlight-.html

Warum ? Weil es noch einfacher geht. Es gibt Wechselplatten, die Du nach dem Shutdown abziehen kannst und zuhause statt dem USB-Stick in den Tresor steckst. Falls Du jetzt denkst: "Wechselplatten sind doch sowas von Retro", dann könnte ich Dir berichten welche Behörden als erstes nach Wechsel-SSDs bei der Industrie nachgefragt haben ...  :Wink:  (Ja, es gibt inzwischen Wechsel-SSDs). Diese Abteilungen haben extra einen Büro-Tresor für eben diese Wechsel-Platten - weil das halt noch sicherer ist als eine "dumme" Festplattenvollverschlüsselung ! (und deswegen meine Empfehlung ist).

3. Falls Du als Selbständiger oder Geheimnisträger, Kundendaten oder Wichtigereres schützen willst/musst und deshalb alles verschlüsseln willst/musst und trotzdem noch Angriffe aus dem Netz befürchtest, empfehle ich noch einmal die Trennung auf verschiedene PCs. Einer davon sollte keine Internet-Verbindung haben, sondern nur eine einzige VPN-Verbindung zum Ärzte-Rechenzentrum ...

4. Falls Du wirklich ein gefährderter Journalist in einem unguten Land bist, wirst Du sicherlich bereits TAILS oder QubesOS benutzen. Lies dazu den 4.Post in B.4 

Überhöhtes Schutzbedürfnis - Paranoid Part

Falls Du nur deswegen eine "Festplattenvollverschlüsselung" willst, damit ein Dieb Dein geklautes Notebook nicht nutzen kann, muss ich Dich enttäuschen. Dazu brauchst Du nur SecureBoot. Aber selbst dann kann er noch Dein Notebook zerlegen und Display, Prozessor und SSD einzeln verticken.

Falls Du jetzt noch meinst, es gibt ja noch die Bedrohung durch die ManagementEngine eines Intel-Prozessors, die man nach der Anleitung von Sakaki ausschalten müsste:

https://wiki.gentoo.org/wiki/User:Sakaki/Sakaki%27s_EFI_Install_Guide/Disabling_the_Intel_Management_Engine

dann empfehle ich ... kauf Dir einfach ein entsprechendes Notebook für ein paar Euro Aufpreis, denn ich kenne niemanden, der sich diese Anleitung angetan hat:

https://www.computerbase.de/2017-12/intel-management-engine/

Deine 4. Partition

Meine Empfehlung für einen PC zuhause: Im parted das Label HOME vergeben, mit EXT4 formatieren, in die fstab eintragen und als unverschlüsselte /home benutzen (das kannst Du inzwischen sicher ohne dummy Anleitung). Falls Du jetzt denkst, warum denn nicht einfach eine große root-Partition die auch /home enthält (so wie im AMD64-Handbuch vorgegeben), dann sage ich: Weil Du jetzt Dein /home mit anderen Optionen mounten kannst (nodev, nosuid). Siehe Dir einfach mal das an:

https://wiki.gentoo.org/wiki/Security_Handbook/Mounting_partitions

https://wiki.gentoo.org/wiki/Mount

Meine Empfehlung für ein Notebook: Als verschlüsseltes Home-Verzeichnis verwenden. Lies Dir dazu B.4 durch.

Möglicherweise möchtest Du dann auch noch das lesen:

X.2 Verschlüsselung Kompendium - Doppelte oder mehrfache / multiple Verschlüsselung

Ich empfehle aber in jedem Fall mindestens B.1, B.2, B.6 und D.AppArmor umzusetzen !

< Ende des allgemeinen Teils >Last edited by pietinger on Wed Feb 23, 2022 2:55 pm; edited 9 times in total

----------

## pietinger

Ein Nachwort zur Sicherheit

In meiner Einleitung habe ich versprochen ein möglichst sicheres Linux zu bauen. Gerade deshalb habe ich z.B. kein Blutooth oder WLAN installiert. Natürlich benötigen einige unbedingt WLAN um das Notebook auch überall Online zu haben. Wenn Du Dir deshalb WLAN installierst empfehle ich noch dringender C. und D. zu installieren und vor allem Deine Installation wirklich aktuell zu halten. Ja, auch der Kernel sollte ...

Schau auch oft in die Kernel-Updates (aus A.2: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git ) ob Du dort Patches findest, die im Titel mit "mac80211" beginnen.

Aktuell haben wir (wieder mal) ein Sicherheits-Problem mit WLAN:

https://www.fragattacks.com/

(deutsch Heise: https://www.heise.de/news/WLAN-Sicherheitsluecken-FragAttacks-Erste-Updates-6045116.html)

Da bereits Patches für den Kernel existieren sollte das in den nächsten Tagen auch im Kernel sein:

https://lore.kernel.org/linux-wireless/20210511180259.159598-1-johannes@sipsolutions.net/

Edit 2021-06-03: Da war ich wohl ein wenig zu optimistisch. Es ist erst jetzt in 5.4.124, 5.10.42 und 5.12.9 drin. Wer also WLAN nutzt sollte wirklich einen dieser neuesten Kernel verwenden !

Edit 2022-10-13: Schon wieder WLAN ...  :Sad:  https://lwn.net/ml/oss-security/20221013101046.GB20615@suse.de/

Edit 2022-10-15: Da sind in 5.15.74 jede Menge Patches => sofort upgraden, falls Du WLAN hast   :Cool: 

Edit 2022-10-16: 5.15.74 is sofort stable gegangen !

---------------------------

Ich werde diesen Thread dann auch zukünftig verwenden um auf sicherheitsrelevante Vorgänge hinzuweisen.  :Smile: 

---------------------------

Bei der Gelegenheit noch ein Hinweis (wollte ich eigentlich schon lange mal sagen):

WENN Du neue Firmware, oder einen neuen Micro-Code für Deinen Intel- oder AMD-Prozessor geholt (=emergst) hast, MUSST Du danach auch nochmal den Kernel neu backen. Grund: Diese Binarys werden als BLOB im Kernel gespeichert und NICHT beim booten aus den jeweiligen Verzeichnissen geladen. Details (auf englisch):

https://wiki.gentoo.org/wiki/User:Pietinger/Tutorials/Manual_kernel_configuration#Driver_needs_Firmware

.Last edited by pietinger on Sat Oct 15, 2022 10:02 pm; edited 7 times in total

----------

## pietinger

A local root kernel vulnerability

Wer es noch nicht gelesen haben sollte: https://lwn.net/Articles/863586/

Der Patch ist in 5.10.52 (und allen äquivalenten Versionen der anderen Serien) drin ... und sollte natürlich gleich installiert werden. Vermutlich deswegen wurde 5.10.52 sofort stable  :Wink: 

----------

## pietinger

Gibt es wirklich nur zwei Möglichkeiten um auf unseren Computer zu gelangen ?

Jein. Ja, es gibt nur diese beiden. Nein, es gibt Kombinationen von beiden. Hä ?  :Smile: 

Eine sehr häufig genutzte Kombination ist das "Liegenlassen" eines präparierten USB-Sticks in den Räumen eines Targets (=Opfer) ... mit der Hoffnung jemand findet den und steckt ihn auch ein. Dieser Stick versucht dann alle Tastur-Eingaben mitzuschneiden und diese per Funk an eine "befreundete" Station zu senden ... Das "Liegenlassen" benötigt natürlich physichen Zugang; die Funkverbindung ist dann die Online Attacke.

Es muss nicht einmal ein Stick sein; heutzutage gibt es viele Gadgets die einfach nur per USB aufgeladen werden wollen, wie z.B. mein elektrisches Feuerzeug. Wenn ich dieses in meinem Desktop einstecke sehe ich in meinem Systemlog keinen einzigen Eintrag = Korrekt. Wenn da Meldungen wären, dass es sich als Tastatur gemeldet hat, wäre ich "skeptisch" ...  :Wink: 

Damit habe ich auch schon erklärt was Du nach dem Einstecken eines unbekannten Teils machen solltest: "dmesg" ist Dein Freund !

Prüfe nicht nur Gadgets sondern auch Kabel ... https://www.heise.de/news/USB-C-auf-Lightning-Kabel-spioniert-Nutzer-aus-6182199.html !

.

----------

## pietinger

Ein Wort zu ... Passwörter

Leider gibt es immer noch veraltete Empfehlungen bezüglich Länge und Sonderzeichen in Passwörtern. Unser @NeddySeagoon hat des öfteren in einigen seiner Posts auf die einzig richtige Empfehlung hingewiesen:

https://xkcd.com/936/

Ich möchte dies kurz für deutsche User ergänzen. Vorab: Solange sich die Gelehrten streiten, ob ein Passwort mindestens 8, 10, 12, 16 Zeichen oder noch länger sein sollte, werde ich Dir keine Empfehlung darüber geben, sondern nur sagen: Je länger, desto besser - Solange Du auch in der Lage bist es Dir zu merken.

Ja, ein Passwort für das Du einen Spickzettel benötigst - der am besten unter der Schreibtischauflage liegt, oder gar als Post-it am Bildschirm hängt - nützt Dir GAR NICHTS. Eine Hardcopy Deines Passworts gehört allerhöchstens in den Tresor (und das auch nur, wenn Du möchtest dass nach Deinem Tod Dein Erbe auf Deine Daten zugreifen kann).

Jetzt ergänze ich das XKCD: Als deutscher User solltest Du nur Zeichen in Deinem Passwort verwenden, die Du auch problemlos auf einer amerikanischen Tastatur eingeben kannst (ja, ich bin schon einmal in diese Verlegenheit gekommen). Das bedeutet, Du verwendest lediglich:

- Zahlen, Klein- und Großbuchstaben - AUSSER "y", "z", "Y" und Z"

- Als Sonderzeichen nur den Punkt und das Komma

Damit Du Dir Dein Passwort auch wirklich merken kannst, empfehle ich folgende Vorgehensweise zur Bildung eines Passwort:

1. Suche Dir irgendeinen kurzen Satz, z.B. den Titel Deines Lieblings-Liedes ... und verwende da gleich auch Großbuchstaben:

```
AlleMeineEntchen
```

2. Danach streue ein paar Zahlen ein:

```
AlleMeine666Entchen
```

3. Sorge dann für grammatikalisch korrekte Satzzeichen  :Wink: 

```
Alle,Meine,666,Entchen.
```

4. Verwende niemals dieses Beispiel  :Smile: 

Das wars auch schon wieder.

Edit 2022-05-28: Folgendes hat mich per Mail erreicht und kopiere ich einfach mal hier rein (mit freundlicher Genehmigung des Autors):

 *Quote:*   

> Eine kleine Anmerkung zum Thema Passwörter. Leerzeichen, reichlich unkonventionell aber sehr effektiv, sind ebenfalls möglich. Kann nur beim kopieren von Passwortstrings aus Passwortmanagern relativ nervig werden.

 Last edited by pietinger on Sat May 28, 2022 5:34 am; edited 1 time in total

----------

## pietinger

A local root kernel vulnerability II.

Wer es noch nicht gelesen haben sollte: https://www.heise.de/news/Rechenfehler-im-Linux-Kernel-erlaubt-Rechteausweitung-6333365.html

Der Patch ist in den LTS Kernels 5.4.173, 5.10.93 und 5.15.16 drin (ebenso in 5.16.2) und sollte natürlich installiert werden.

Aus 5.15.16: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=e192ccc17ecf3e78a1c6fb81badf9b50bd791115

----------

## pietinger

Linux: Dirty Pipe beschert Root-Rechte

Wer es noch nicht gelesen haben sollte: https://www.heise.de/news/Linux-Dirty-Pipe-beschert-Root-Rechte-6541556.html

Der Patch ist diesmal sehr unauffällig: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=114e9f141822e6977633d322c1b03e89bd209932

Er ist in 5.15.25 drin (und allen äquivalenten Versionen der anderen Serien). Vermutlich werden wir bald einen neuen stable Kernel haben (momentan ist es noch 5.15.23).

Wer sich für die Details interessiert: https://dirtypipe.cm4all.com/

----------

## pietinger

Microcode Update für AMD Prozessoren

Es wird spekuliert, dass diese Updates Sicherheitslücken beheben soll: https://www.phoronix.com/scan.php?page=news_item&px=Zen-1-To-Zen-3-2022-AMD-ucode

Bei dieser Gelegenheit wiederhole ich nochmal den Text aus dem 2. Post dieses Threads:

WENN Du neue Firmware, oder einen neuen Micro-Code für Deinen Intel- oder AMD-Prozessor geholt (=emergst) hast, MUSST Du danach auch nochmal den Kernel neu compilieren (und installieren + aktivieren). Grund: Diese Binarys werden als BLOB im Kernel gespeichert und NICHT beim booten aus den jeweiligen Verzeichnissen geladen.

----------

## pietinger

Mal wieder ... Neue Malware für/gegen Linux

Aus aktuellem Anlaß möchte ich noch einmal auf IMA hinweisen (habe gerade C.3 minimal ergänzt):

https://www.heise.de/news/Krypto-Malware-Shikitega-ueberlistet-den-herkoemmlichen-Linux-Schutz-7260803.html

Auch wenn in diesem Artikel über die Einbruchs-Vektoren (initiale Infektion) keine Aussage gemacht wird, kann uns dies egal sein, solange wir IMA im Einsatz haben. Denn ... Jede Attacke (die AppArmor und unseren gehärteten Kernel überwunden hat) die ein Nachladen von einem (oder mehreren) (ausführbaren) Binary benötigt, wird - spätestens dann - zuverlässig von IMA gestoppt: Selbst der root-User kann kein einziges Programm starten, welches einen fehlenden (oder ungültigen) Hash hat (Ja, keines dieser automatisierten Angriffs-Prozeduren prüft ob IMA aktiv ist, und welches Hash-Verfahren genutzt wird).

----------

## pietinger

Mal was Neues .... Libre-Office

https://www.heise.de/news/Jetzt-updaten-LibreOffice-beseitigt-kritische-Makroluecke-7315313.html

Stand heute haben wir zwar bereits app-office/libreoffice-7.3.6.2 ... Aaaber die bin-Version ist noch: app-office/libreoffice-bin-7.3.4.2 ... !

Wird sich sicherlich in den nächsten Tagen ändern.

----------

