:Installation eines vollverschlüsselten Debian/Devuan Systems:

Da ich vom aktuellen Init-System[1] „systemd“[2] ziemlich angenervt bin, beschreibe ich exemplarisch eine Installation des aktuell erschienenen[3] „Devuan v2.0 "ASCII"“[4, 5], welche aber fast identisch bei „Debian“[6, 7, 8] oder auch „Ubuntu“[9, 10, 11] ablaufen sollte. „Devuan“ setzt im Gegensatz zu „Debian“ auf das herkömmliche „SysVinit“[12, 13] als Init-System.
Ich installiere grundsätzlich über den textbasierten Mini-Installer (möglichst von USB gestartet), ohne LVM[14, 15, 16, 17] und zunächst ohne grafische Oberfläche, welche ich mir anschließend auf die Festplatte hole – die alternativ angebotenen CD- oder DVD-Abbilder[18, 19] funktionieren aber auch in ähnlicher Form. Das ISO des Mini-Installers bekommt ihr hier (64 Bit)[20] und dort (32 Bit)[21]. Wie ihr dieses auf einen „Multi-Distro-USB-Stick“ bekommt, habe ich vor längerem in meiner Anleitung zum „Multi-Distro-USB-Stick“ beschrieben. Ich arbeite seit Jahren ziemlich puristisch mit Fluxbox[22, 23, 24, 25] (Installationsanleitung folgt!) und logge mich per Konsole[26, 27] ein. Ihr könnt im Installer aber auch alternative Desktopumgebungen[28, 29] mitsamt grafischem Login-Manager[30, 31] auswählen.

Ich partitioniere[32] die Festplatte im Vorfeld mit einer entsprechenden LiveCD[33], wie beispielsweise der „SystemRescueCd“[34, 35, 36], da dies dort komfortabler als im Installer des Betriebssystems[37] geht. So muss ich dort lediglich die gewünschten Partitionen auswählen, ihnen Mountpunkte[38, 39] zuordnen, Passworte vergeben und sie verschlüsselt formatieren lassen. Des Weiteren sichere ich zwischendurch das System und die LuksHeader[40, 41] auf einer ebenfalls verschlüsselten separaten Partition, was mir im Falle eines Systemcrashs eine komfortable und zeitnahe Wiederherstellung des Systems ermöglicht. Es empfiehlt sich, diese Sicherungen an einer weiteren sicheren Stelle zu hinterlegen, da auf diese zwar weder zugegriffen noch diese manipuliert, jene aber durch unautorisierte Personen gelöscht oder entwendet, sowie durch Naturgewalten vernichtet werden könnten. Dem installierten System selbst mache ich diese Sicherungspartition natürlich nicht zugänglich.

Falls ihr von USB installieren wollt, denkt daran dass ihr im BIOS[42] die entsprechende Boot-Reihenfolge[43] auswählt. Es kann dabei zu so Merkwürdigkeiten kommen, dass nur USB-Sticks als Boot-Medien, in USB-Adaptern steckende SD-Karten dagegen aber nicht erkannt werden. Ihr solltet diesbezüglich gerade auf älteren Rechnern eine gewisse Experimentierbereitschaft mitbringen. Auf vielen Rechnern kann – unabhängig von der Boot-Konfiguration im BIOS – per Druck auf die Taste [F12] ein separates Boot-Menü aufgerufen werden, in dem ihr manuell angeschlossene USB-Geräte als Boottmedium auswählen könnt – selbst wenn diese zuvor nicht vom BIOS richtig erkannt wurden!

Denkt übrigens daran, euren Rechner mit einem zuverlässigen Boot-/BIOS-Passwort zu versehen, welches ihr nicht vergessen dürft, da man in heutige Rechner nicht mehr mit Universalpasswörtern oder dem zeitweiligen entfernen der Puffer-Batterie hinein kommt. D.h. im Falle des vergessens habt ihr „Siliziumschrott“ vor euch liegen. Ein zusätzlicher Passwortschutz (Anleitung folgt) des Bootmanagers[44] „GRUB“[45, 46, 47, 48] bietet zusätzliche Sicherheit, ist aber kein Ersatz für das BIOS-Passwort.

Jetzt geht es aber los:

Schließt den Rechner per Ethernetkabel[49] ans Netz, da für den Zugang per WLAN[50] nicht im Installer enthaltene und zudem „vernagelte“[51] Firmware[52, 53] benötigt wird.

Wenn der Bootvorgang erfolgreich war, meldet sich der Text-Installer. Den grundlegenden Umgang mit [Pfeil]-, [Tab]- und [Enter]-Taste zur Navigation im Textmodus darf ich als bekannt voraussetzen. Mit [ALT] + [Rechts]-/[Links]-Pfeiltaste könnt ihr übrigens auf die Konsole wechseln, soweit ihr euch innerhalb von „BusyBox“[54, 55] zurecht findet.

Sobald der Installer läuft, solltet ihr den USB-Datenträger ziehen, damit dieser nicht fälschlicherweise als „1. Festplatte“ (/dev/sda) sowie die eingebaute Festplatte als 2. (/dev/sdb) erkannt wird – was ohne manuelle Nacharbeit zu einem nicht bootfähigen Betriebssystem führen würde! Ein „mount“-Befehl in der Konsole zeigt, dass dieser eh nicht mehr eingehängt ist, sobald der Installer läuft.

Zunächst wählt ihr eure favorisierte Sprache und das gewünschte Tastaturlayout[56] aus, in der der Installer und das installierte Betriebssytem dann auch laufen.

Die Frage nach der WLAN-Firmware beantwortet ihr entgegen dem Vorschlag mit „Nein“. Ggfs. könnt ihr diese später manuell nach installieren. Somit heißt eure „Primäre Netzwerk-Schnittstelle“ dann auch „eth0“.

Wenn diese korrekt erkannt wurde und die Netzverbindung steht, vergebt ihr einen Rechnernamen. Der „Domain-Name“[57] ist freiwillig und kann problemlos leer gelassen werden.

Anschließend wählt ihr den Spiegelserver[58] aus. Ein geografisch nahe liegender Server („Deutschland“) ist die wohl beste Option. Der danach abgefragte Proxy-Server[59] kann üblicherweise leer bleiben.

Dann werden grundlegende Dateien für die Installation aus dem Netz geladen, was je nach Netzanbindung eine kurze Weile dauern kann. Der Vorteil dieser vollständig netzbasierten Installationsvariante ist, dass entgegen der CD- oder DVD-Version stets die die aktuellsten Paketversionen aus dem Netz auf die Platte kommen.

Im nächsten Fenster bekommt der Systemverwalter „root“[60] ein Passwort, welches ihr um Vertipper zu vermeiden, zweimal eingeben müsst.

Anschließend bekommt der Standard-Benutzer einen Namen. Ein vollständiger Name muss nicht angegeben werden, da dieser sonst in div. Dokumenten und Dateien automatisch eingetragen wird. Einen Kontonamen und zweimaliges Passwort müsst ihr natürlich angeben.

Dann werden benötigte Pakete für die Partitionierung der Festplatte nachgeladen. Ich empfehle selbstverständlich die manuelle Partitionierung! Da die Partitionen bereits im Vorfeld per LiveCD angelegt wurden, ist deren Einrichtung im Installer vergleichsweise einfach. Ein praxisgerechtes Partitionierungsschema beschreibe ich hier. Ich trenne grundsätzlich System+Konfiguration strinkt von den Daten, was eine Systemwiederherstellung im Falle eines Crashs bedeutend vereinfacht!

Somit sieht die Festplatte folgendermaßen aus:

Den „Logical Volume Manager (LVM)“ verwende ich nicht und äußere mich somit auch nicht dazu.

Zunächst werden im unteren Bereich die einzelnen Partitionen ausgewählt und anschließend oben die verschlüsselten konfiguriert und formatiert.[69] Lasst euch nicht davon irritieren, dass die Passwort-Abfragen der verschlüsselten Partitionen erst später im Konfigurationsdialog erscheinen!

Nun geht es an die oben stehende „Konfiguration der verschlüsselten Datenträger“:

Zunächst muss das Partitionsschema auf die Festplatte geschrieben werden, bevor die für Verschlüsselung vorgesehenen Partitionen eingerichtet werden können. Ihr bestätigt dies mit „Ja“. Die folgende völlig unsinnige „Aktionen zur Verschlüsselungskonfiguration“ könnt ihr mit „Fertigstellen“ abkürzen.

Anschließend werden doppelt die Passphrasen für die System-Partion (Partition 3) und Daten-Partition (Partition 6) abgefragt.

Nachdem die Header-Daten der Partitionen geschrieben wurden, können unten stehend die jeweiligen Dateisysteme und Mountpunkte konfiguriert werden. Im folgenden Dialog könnt ihr die gewählten Optionen noch einmal kontrollieren und dann absegnen.

Nach deren Formatierung wird das Grundsystem installiert. Wandert ihr um drei Konsolen nach links (Taste [ALT] + Pfeil [links]), könnt ihr übrigens die Systemmeldungen mitlesen.

Zwischendurch folgt noch die Abfrage nach der freiwilligen Teilnahme am „Beliebtheits-Wettbewerb“[70] der installierten Pakete. Je nach eurem Grad an Paranoia könnt ihr daran teilnehmen oder eben nicht.

Anschließend könnt ihr Paketgruppen[71, 72] (gewünschte Desktop-Umgebung, div. Serverdienste[73, 74]) auswählen. Ich deaktiviere stets alle bis auf die „Standard-Systemwerkzeuge“ und hole mir die gewünschten Pakete später manuell auf die Festplatte.

Der Bootmanager „GRUB“ wird abschließend üblicherweise in den Master Boot Record[75] der Platte /dev/sda geschrieben.

Abschließend kann das installierte System zum ersten Mal gebootet bzw. vorher gesichert werden.

Ihr startet das System erstmalig, gebt während des hochfahrens die Passworte der System- und Datenpartition ein und loggt euch als Benutzer „root“ ein.

Zunächst müssen die Zugriffsrechte des Mountpunkts der Datenpartition dem normalen, nichtprivilegierten Benutzer zugänglich gemacht werden: chown 1000:1000 /DATA .

Die Liste verfügbarer Pakete aktualisiert ihr ganz debian-typisch per apt-get update, mit apt-upgrade führt ihr die Systemaktualisierung durch und mit apt-get clean löscht ihr die heruntergeladenen Pakete nachdem sie ausgepackt und installiert wurden.

Ich benutze gerne einige Zusatzprogramme, die ich stets manuell nach installiere:

apt-get mc vlock dselect wodim memtest86+ (mc = („Midnight Commander“[76, 77, 78]) Dateimanager+Texteditor, vlock = Sperre für die Konsole, dselect = löst Paketkonflikte auf, wodim = Brennprogramm für die Konsole, Memtest86+ = Speichertest, der sich ins Bootmenü einklinkt)

Die Paketlisten[79, 80, 81] ergänze ich um die Zweige „contrib“ und „non-free“:

mcedit /etc/apt/sources.list

Jeweils hinter das „main“ ein „contrib“ und „non-free“ (mit Leerstellen) anhängen.

Das /tmp-Verzeichnis[82] ergänze ich gerne durch /DATA/.TEMP auf der Datenpartition, um all den zeitweiligen Ballast von der Systempartition weg zu halten. Die Anwendungen konfiguriere ich entsprechend auf das neue Verzeichnis um.

Als grafische Paketverwaltung empfehle ich „Synaptic“:[83, 84, 85]

apt-get install synaptic

Zum „entmüllen“ (temporäre Dateien, überflüssige Lokalisierungen, etc.) des Systems installiere ich „BleachBit“:[86, 87, 88]

apt-get install bleachbit

Beim erstmaligen Durchlauf entfernt dieses nicht selten 250MB Ballast oder mehr von der Festplatte.

 

Angriffsvektor boot-Partition

Da, um das System bootfähig zu halten, die „/boot“-Partition unverschlüsselt bleiben muss, ergibt sich hier ein potentieller Angriffsvektor. Dies lässt sich recht simpel umgehen, in dem man die „/boot“-Partition auf einen USB-Wechseldatenträger oder CD auslagert, stets von dort bootet und diesen Datenträger immer mit sich herum führt, egal wo man sich gerade aufhält! Somit könnten unautorisierte Personen diese Partition auf der Festplatte manipulieren, ohne dass dies sicherheitsrelevant würde.

Status: testing