class: center, middle  ## Linux begreifen 2d:Signaturwechsel bei Paketquellen ### Hauke Goos-Habermann #### https://weisheit.goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - *"Nicht der Weisheit letzter Schluß"* mit **beruflichen** oder **privaten Projekten** auf
tube.tchncs.de/c/ndwls
und
youtube.com/@nichtderweisheit
- Verwendet Linux seit 1996 auf vielen Systemen. --- ### Linux begreifen: Nochmal was mit Paketen  * **Nicht**: *"1000 unglaublich tolle Tips, wie Du Deinen Desktop noch schicker machen kannst"* * Sondern für alle gedacht, die sich **eingehender** mit Linux beschäftigen wollen * Hintergründe und Grundlagenwissen * Praxisbezug * Fähigkeiten auf den Kommandozeile * Konfiguration ohne grafische Oberfläche * **Jetzt buchen: *Schulungen und Workshops*** * Online oder vor Ort * Wunschthemen aus Linux- und OpenSource-Bereich * Aufzeichnung als Video * Anfragen:
https://goos-habermann.de/kontakt
Kostenloses Basisschulungsmaterial:
https://goos-habermann.de/data/Administration_von_Debian_und_Co_im_Textmodus-2021.pdf
--- ### Signaturwechsel?  Paketquellen werden digital signiert, um sie vor Manipulationen zu schützen. Hin und wieder muß der Signaturschlüssel, z.B. wenn der **Signatur-Algorithmus unsicher** oder der **Schlüssel kompromittiert** wird, ausgewechselt werden. Das führt zu Problemen, denn den Zeitpunkt, **wann Pakete aktualisiert** werden, bestimmt der Anwender/Administrator bzw. eine Automatisierung. Daher braucht es ein (genügend großes) Zeitfenster, in dem die **Paketquelle mit** dem **alten** und **neuen Schlüssel signiert** ist. Denn nur so kann mittels eines neuen Paketes der neue öffentliche Signaturschlüssel eingespielt werden. --- ### Sicherheit (Signatur)  Damit **Pakete nicht verfälscht** (durch bewußte Manipulation oder Übertragungsfehler) werden, sind diese durch **Checksummen** und **digitale Signaturen geschützt**. Die Datei ***
Release
*** enthält Checksummen über die Paketindexdateien (***
Packages
*** und die komprimierten Versionen), die ihrerseits Checksummen über alle Pakete enthalten. Mittels GPG-Signatur wird die Release-Datei gegen Manipulationen abgesichert: * ***
InRelease
***: Enthält den kompletten Inhalt der Release-Datei und bettet die GPG-Signatur ein * ***
Release.gpg
***: Enthält nur die GPG-Signatur **Mehr zum Signieren** von Paketquellen im Video:
Linux begreifen 2a: Paketverwaltung
--- ### Paketquellensignierung  Das **Doppelsignieren** kann über die folgenden
Dodger-Tools
-Module geschehen: * **dt_deb_createPackagesIndex**: Erstellt die Packages-Datei über alle Debian-Paketdateien im aktuellen Verzeichnis * **dt_deb_createSignedInReleases**: Legt Release und die signierten Variangen InRelease und Release.gpg anParameter: * Ein oder mehrere GPG-Schlüssel-IDs * Ursprung der Paketquelle (z.B. m23) * Name des Releases (z.B. stable) * Optional: Abweichender lokaler Benutzer, der gpg aufrufen soll. ```bash # Beispiel dt_deb_createSignedInReleases\ "0x12345678 0x87654321" m23 stable ich ``` --- ### Signaturwechsel auf den Endgeräten  Debian-Pakete können, neben dem Datenanteil, Skripte beeinhalten, die z.B. nach dem Entpacken (**
postinst
**) ausgeführt werden. Das Beispiel macht folgendes: * GPG-Schlüssel schreiben * Testen ob ```apt-key``` verfügbar ist und der alte Schlüssel vorhanden ist * Ggf. alten Schlüssel mit ```apt-key``` löschen * Schlüsselablagenvariante ermitteln * Neu: Schlüssel unter /etc/apt/trusted.gpg.d ablegen * Alt: Per ```apt-key``` importieren * Passende Paketquellenlistendatei schreiben --- ### Funktioniert das auch?  Erfolgreich getestet habe ich die Doppelsignatur unter: * Raspbian GNU/Linux 11 * Raspbian GNU/Linux 12 * Linux Mint 22 Wilma * Ubuntu 24.04 * Debian 12 * Debian 13 --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de