Verwenden wir die neusten Versionen der Linux Distributionen Ubuntu 22.04 und Debian 11, welche zuletzt erschienen sind und viele Veränderungen mitbringen, werden vermutlich viele darüber verwundert sein, wenn nach der Eingabe von dem sonst unter Linux üblichen Befehls „apt-key“, der für die Schlüsselverwaltung verantwortlich ist, folgende Warnung ausgegeben wird: „apt-key is deprecated“.
Das Gute vorweg! Die Meldung sieht schlimmer aus, als sie es in Wirklichkeit ist. Es handelt sich hierbei lediglich um einen Hinweis, dass die Funktion für die Verwaltung von Schlüsseln veraltet ist und zukünftig nicht mehr unterstützt wird. Funktionieren tut der Befehl für die Schlüsselverwaltung jedoch nach wie vor. Diese Meldung kann in der Regel also temporär erst einmal ignoriert werden.
Es gibt eine neue Möglichkeit, Schlüsselbund-Dateien zu verwalten. Die vorherige und noch häufig verwendete Methode mittels apt-key bringt einige gravierende Sicherheitsprobleme mit sich. Aktuell ist es so, dass die GPG-Schlüssel in sogenannte Schlüsseldateien in den Verzeichnissen /etc/apt/trusted.gpg gespeichert werden und theoretisch auch von anderen, nicht offiziellen Repositorien von Drittanbietern eingelesen werden können, da den Signaturen vertraut wird.
Um dieses Problem zukünftig zu umgehen, fordert uns Ubuntu 22.04 und Debian 11 mit der Meldung „apt-key is deprecated“ dazu auf, fortan OpenPGP für die Verwaltung von Schlüsselbund-Dateien zu verwenden. In den nächsten Linux-Versionen wird höchstwahrscheinlich nur noch die neue Methode verfügbar sein und die alte komplett abgelöst haben. Es ist also an der Zeit, dass wir uns mit dem OpenPGP-Verschlüsselungs- und Signaturtool beschäftigen.
Inhaltsverzeichnis: Warnmeldung "apt-key is deprecated" beheben und neue Lösungswege für die Schlüsselverwaltung mit OpenPGP
So funktioniert die neue Möglichkeit für die Verwaltung von GPG-Schlüssel unter OpenPGP
Um die Sicherheit unserer Linux-basierten Systeme (Server/Clients) zu erhöhen, speichern die neusten Versionen von Debian und Ubuntu die GPG-Schlüssel in sogenannte Schlüsselbunde, die für andere Repositorys unleserlich verschlüsselt werden. Es folgt ein Vergleich, der mittlerweile veralteten Methode für das Hinzufügen eines GPG-Schlüssels und ein Beispiel, wie wir ohne Fehlermeldung einen GPG-Key mit der neuen Methode hinzufügen.
Veraltete Methode mit apt-key add:
wget https://beispiel.de/key/repo-key.gpg | apt-key add -
Hierbei wird die Meldung „apt-key is deprecated“ ausgegeben!
Neue Methode mit OpenPGP:
wget -O- <https://beispiel.de/key/repo-key.gpg> | gpg --dearmor | sudo tee /usr/share/keyrings/<meinresporitoy>-archive-keyring.gpg
Dieser Befehl erzeugt keine Fehlermeldung! Der Schlüssel wird verschlüsselt im Schlüsselbund in dem Verzeichnis /usr/share/keyrings gespeichert.
Was heißt das nun für Server, auf denen Dienste und Applikationen installiert worden sind, dessen GPG-Schlüssel noch mit der alten Methode „apt-key add“ hinzugefügt worden sind?
Fügen wir neue OpenPGP-Schlüssel hinzu, sollten wir denselben Schlüssel aus der Datei /etc/apt/trusted.gpg entfernen, den wir vorher mittels apt-key hinzugefügt haben. Ohne die Entfernung können wir nicht von der zusätzlichen Sicherheit und Verschlüsselung der neuen Möglichkeit profitieren.
Es reicht völlig aus, bereits vorhandene Schlüsseldateien vom System zu entfernen. Die Zuordnung ist dabei relativ einfach, da der Schlüsseldateiname in der Regel ziemlich eindeutig erkennbar ist und dem jeweiligen Repository zugeordnet werden kann. Dafür melden wir uns an unserem System als Root-Benutzer an und entfernen die Schlüsseldatei vom Drittanbieter-Repository mit dem Remove-Befehl unter Linux.
Beispiel:
rm /etc/apt/trusted.gpg.d/<meinrepository-keyring.gpg>
Mit dem folgenden Befehl können wir alle APT-Schlüssel auflisten, die bereits gespeichert wurden:
apt-key list
Bei der Ausgabe werden zuerst die gespeicherten Schlüssel aus der /etc/apt/trusted.gpg Verwaltungsdatei angezeigt, gefolgt von den Schlüsseln aus dem /etc/apt/trusted.gpg.d Verzeichnis.
Damit wir einen Schlüssel eindeutig identifizieren können, müssen wir die uid untersuchen, um herauszufinden, welchen Schlüssel wir entfernen möchten. Die Schlüssel-IDs werden Hexadezimal ausgegeben und die letzten 8-Zeichen in der Ausgabe sind der sogenannte Fingerabdruck.
(Beispiel: 9282AFFC)
Um einzelne Schlüssel zu entfernen, können wir den folgenden Befehl verwenden:
apt-key del <Schlüssel-ID>
Hinweis: Die Schlüssel-ID sind die letzten 8-Ziffern (siehe Beispielbild)
Abschließendes Fazit zur Meldung „apt-key is deprecated“
Um die Sicherheit unseres Systems zu erhöhen, ist es ein sehr guter Ansatz der beliebten Linux Distributionen (Ubuntu/Debian), die Schlüssel fortan zu verschlüsseln und unter Schlüsselbunden (Keyrings) abzuspeichern. So bleiben wir auch jetzt schon von der Warnmeldung apt-key is deprecated verschont.
Auch wenn es bequem ist, die alte Methode zu verwenden, weil wir es seit einer gefühlten Ewigkeit gewohnt sind, sollten wir zukünftig nur noch das neuste Verfahren verwenden und die zuvor eingepflegten GPG-Schlüssel gegebenenfalls entfernen, damit unser System zukünftig keine weiteren Warnmeldungen ausgibt und wir in Bezug auf die Systemsicherheit alle Möglichkeiten ausschöpfen, um einen stabilen und sicheren Betrieb zu gewährleisten.
Moin,
danke erstmal, das hilft zum Verständnis. Die Frage die sich mir aufdrängt: Was muß ich tun/engeben um sämtliche Schlüssel aus der alten Umgebung zu konvertieren (wohlgemerkt ohne jeden Schlüssel einzeln anzufassen, es sind ein paar mehr)?