In unserem Podcast diskutiert Thomas Bahn über Nutzen, Anwendungen und Erfahrungen aus den Bereichen Chatbots und Künstliche Intelligenz. Mehr erfahren

"Warnung: Signature not supported. Hash algorithm SHA1 not available." nach Upgrade auf Rocky Linux 9

von Thomas,
assono GmbH, Standort Kiel,

In-Place-Upgrade von RHEL-Clones soll man nicht machen, egal ob CentOS, Rocky Linux, AlmaLinux oder ... . "Soll man nicht" bedeutet ja nicht, dass man es nicht trotzdem tut. Vor allem, wenn ein Server einerseits nicht besonders kritisch, andererseits die Installation und Konfiguration der Software darauf komplex ist. Was soll ich sagen: Ich habe es getan und es gab Probleme.

Der einfache Weg von Rocky Linux 8 zu Rocky Linux 9

Es gibt im Internet einige Anleitungen, wie man z. B. Rocky Linux 8 auf Version 9 aktualisieren kann. Ein einfacher Weg war für mich, das Projekte ELevate von AlmaLinux zu nutzen.

Wenn der RL8-Server komplett aktualisiert und zur Sicherheit auch einmal durchgestartet worden ist, sind es dann nur noch wenige Befehle:

yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm
yum install -y leapp-upgrade leapp-data-rockylinux
leapp preupgrade

Wenn Warnungen oder Fehler kommen, sollte man die Ursache beseitigen und die Pre-Upgrade-Analyse solange wiederholen, bis sie grünes Licht gibt. Danach dann die echte Aktualsierung ausführen mit:

leapp upgrade
reboot

SHA1 ist unsicher und wurde deaktiviert

Nun zum eigentlichen Thema dieses Blog-Eintrags. Ein Unterschied zwischen den Versionen 8 und 9 des RHEL-Servers und aller Klone ist, dass der DNF-Paketmanager Signaturen mit SHA1 nicht mehr akzeptiert. Richtig so, weil dieser Algorithmus seit sehr langer Zeit als gebrochen und unsicher gilt. Redhat, Rocky Linux usw. nutzen schon lange den Nachfolger, nur leider gibt es einige Pakete aus anderen Repositories, die auf dem Server installiert sein können, die noch mit einer SHA1-Signatur unterzeichnet worden waren.

Jedes Mal, wenn man dnf aufruft, bekommt man jetzt ein- oder mehrfach die Zeile:

Warnung: Signature not supported. Hash algorithm SHA1 not available.

bzw. bei einem auf Englisch eingestellten Server:

Warning: Signature not supported. Hash algorithm SHA1 not available.

Mein Problem war: Leider sagt dnf nicht, welches Paket bzw. welche Signatur das ist.

Es gibt mehrere Artikel bzw. Problemlösungen auf einschlägigen Admin-Seiten, wie etwa "Dnf warning message after upgrade from Rocky 8 to Rocky 9" oder "RHEL8 upgrade to RHEL9 with Leapp: warning: Signature not supported. Hash algorithm SHA1 not available", die verschiedene Varianten von rpm -qa-Aufrufen angeben, womit man die Schuldigen identifizieren und anschließend mit dnf remove gpg-pubkey-xxxxx-xxxxx entfernen können soll. Leider hat das bei mir nicht funktioniert.

Die Ausgabe des folgenden Kommando kann für sich genommen schon nützlich sein:
rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'

Einen anderen Weg, der unter anderem hier beschrieben wurde "Enable and Disable SHA1 algorithm on your system CentOS Stream 9/AlmaLinux 9/RockyLinux 9", wäre das erneute erlauben von SHA1. Für mich ein No-Go.

Hilfreich war dann ein Knowlegde-Base-Artikel von Redhat "rpm/yum/dnf/subscription-manager show "warning: Signature not supported. Hash algorithm SHA1 not available.", der aber nicht allgemein zugänglich ist.

Der direkte Weg zum Ziel

Dafür ist der angegebene Weg "deterministisch" und hat mir geholfen. Und die Befehlszeilen sind deutlich länger und unverständlicher...

strace -yyv -s 4096 -e pread64,write -o /tmp/rpm_-qa.strace rpm -q foopgk
grep -F -B4 'Signature not supported.' /tmp/rpm_-qa.strace| fgrep -e gpg-pubkey -e 'BEGIN PGP PUBLIC KEY BLOCK'

Die Ausgabe pro gefundener Signatur geht über viele, viele Zeilen, z. B.

pread64(3</var/lib/rpm/rpmdb.sqlite>, "\r\0\0\0\1\0(\0\0(\0\341\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\237T\201#\4\0\277,\0\0\0\25\0\0\16x\0\0\0?\0\0\0\7\0\0\0164\0\0\0\20\0
\0\1\n\0\0\0\10\0\0\0\0\0\0\0\1\0\0\3\350\0\0\0\6\0\0\6F\0\0\0\1\0\0\3\351\0\0\0\6\0\0\6Q\0\0
\0\1\0\0\3\352\0\0\0\6\0\0\6Z\0\0\0\1\0\0\3\354\0\0\0\t\0\0\6c\0\0\0\1\0\0\3\355\0\0\0\t\0\0\6
\211\0\0\0\1\0\0\3\356\0\0\0\4\0\0\r<\0\0\0\1\0\0\3\357\0\0\0\6\0\0\r@\0\0\0\1\0\0\3\361\0\0\0
\4\0\0\rL\0\0\0\1\0\0\3\366\0\0\0\6\0\0\rP\0\0\0\1\0\0\3\367\0\0\0\6\0\0\rW\0\0\0\1\0\0\3\370\0
\0\0\t\0\0\rx\0\0\0\1\0\0\4\24\0\0\0\6\0\0\r\204\0\0\0\1\0\0\4\27\0\0\0\10\0\0\r\213\0\0\0\3\0\0
\4(\0\0\0\6\0\0\r\315\0\0\0\1\0\0\4X\0\0\0\4\0\0\r\324\0\0\0\3\0\0\4Y\0\0\0\10\0\0\r\340\0\0\0\3
\0\0\1\r\0\0\0\6\0\0\16D\0\0\0\1\0\0\3\360\0\0\0\4\0\0\16p\0\0\0\1\0\0\4h\0\0\0\4\0\0\16t\0\0\0
\1mQENBFeIdv0BCADAzkjO9jHoDRfpJt8XgfsBS8FpANfHF2L29ntRwd8ocDwxXSbt\nBuGIkUSkOPUTx6i/
e9hd8vYh4mcX3yYpiW8Sui4aXbJu9uuSdU5KvPOaTsFeit9j\nBDK4b0baFYBDpcBBrgQuyviMAVAczu5qlwol
A/Vu6DWqah1X9p+4EFa1QitxkhYs\n3br2ZGy7FZA3f2sZaVhHAPAOBSuQ1W6tiUfTIj/Oc7N+FBjmh3VNfIv
MBa0E3rA2\nJlObxUEywsgGo7FPWnwjZyv883slHp/I3H4Or9VBouTWA2yICeROmMwjr4mOZtJT\nz9e4v/a
2cG/mJXgxCe+FjBvTvrgOVHAXaNwLABEBAAG0IFphYmJpeCBMTEMgPHBh\nY2thZ2VyQHphYmJpeC5jb20+
iQE4BBMBAgAiBQJXiHb9AhsDBgsJCAcDAgYVCAIJ\nCgsEFgIDAQIeAQIXgAAKCRAIKrVroU/lkbO8B/4/Mh
xoUN2RPmH7BzFGIntKEWAw\nbRkDzyQOk9TjXVegfsBnzmDSdowh7gyteVauvr62jiVtowlE/95vbXqbBCISLq
KG\ni9Wmbrj7lUXBd2sP7eApFzMUhb3G3GuV5pCnRBIzerDfhXiLE9EWRN89JYDxwCLY\nctQHieZtdmlnPyC
bFF6wcXTHUEHBPqdTa6hvUqQL2lHLFoduqQz4Q47Cz7tZxnbr\nakAewEToPcjMoteCSfXwF/BRxSUDlN7tKFf
BpYQawS8ZtN09ImHOO6CZ/pA0qQim\niNiRUfA25onIDWLLY/NMWg+gK94NVVZ7KmFG3upDB5/uefK6X
wu2PsgiXSQguQEN\nBFeIdv0BCACZgfqgz5YoX+ujVlw1gX1J+ygf10QsUM9GglLEuDiSS/Aa3C2UbgEa\n+N
7JuvzZigGFCvxtAzaerMMDzbliTqtMGJOTjWEVGxWQ3LiY6+NWgmV46AdXik7s\nUXM155f1vhOzYp6EZj/xt
GvyUzTLUkAlnZNrhEUbUmOhDLassVi32hIyMR5W7w6I\nIi0zIM1mSuLR0H6oDEpR3GzuGVHGj4/sLeAg7iY
5MziGwySBQk0Dg0xH5YqHb+uK\nzCTH/ILu3srPJq+237Px/PctAZCEA96ogc/DNF2XjdUpMSaEybR0LuHHst
Aqkrq8\nAyRtDJNYE+09jDFdUIukhErLuo1YPWqFABEBAAGJAR8EGAECAAkFAleIdv0CGwwA\nCgkQCCq1a6
FP5ZH8+wf/erZneDXqM6xYT8qncFpc1GtOCeODNb19Ii22lDEXd9qN\nUlAz2SB6zC5oywlnR0o1cglcrW96M
D/uuCL/+tTczeB2C455ofs2mhpK7nKiA4FM\n+JZZ6XSBnq7sfsYD6knbvS//SXQV/qYb4bKMvwYnyMz63escg
QhOsTT20ptc/w7f\nC+YPBR/rHImKspyIwxyqU8EXylFW8f3Ugi2+Fna3CAPR9yQIAChkCjUawUa2VFmm\n5K
P8DHg6oWM5mdqcpvU5DMqpi8SA26DEFvULs8bR+kgDd5AU3I4+ei71GslOdfk4\ns1soKT4X2UK+dCCXu
i+/5ZJHakC67t5OgbMas3Hz4Q==\n\0gpg-pubkey\0a14fe591\000578876fd\0gpg(Zabbix LLC <packager
@zabbix.com>)\0-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: rpm-4.14.2 (NSS-3)\n\nmQENBFeIdv0
BCADAzkjO9jHoDRfpJt8XgfsBS8FpANfHF2L29ntRwd8ocDwxXSbt\nBuGIkUSkOPUTx6ie9hd8vYh4mcX3yYpi
W8Sui4aXbJu9uuSdU5KvPOaTsFeit9j\nBDK4b0baFYBDpcBBrgQuyviMAVAczu5qlwolAVu6DWqah1X9p+4EF
a1QitxkhYs\n3br2ZGy7FZA3f2sZaVhHAPAOBSuQ1W6tiUfTIjOc7N+FBjmh3VNfIvMBa0E3rA2\nJlObxUEyws
gGo7FPWnwjZyv883slHp/I3H4Or9VBouTWA2yICeROmMwjr4mOZtJT\nz9e4v/a2cGmJXgxCe+FjBvTvrgOV
HAXaNwLABEBAAG0IFphYmJpeCBMTEMgPHBh\nY2thZ2VyQHphYmJpeC5jb20+iQE4BBMBAgAiBQJXiHb9
AhsDBgsJCAcDAgYVCAIJ\nCgsEFgIDAQIeAQIXgAAKCRAIKrVroU/lkbO8B/4MhxoUN2RPmH7BzFGIntKEWA
w\nbRkDzyQOk9TjXVegfsBnzmDSdowh7gyteVauvr62jiVtowlE/95vbXqbBCISLqKG\ni9Wmbrj7lUXBd2sP7eA
pFzMUhb3G3GuV5pCnRBIzerDfhXiLE9EWRN89JYDxwCLY\nctQHieZtdmlnPyCbFF6wcXTHUEHBPqdTa6hvU
qQL2lHLFoduqQz4Q47Cz7tZxnbr\nakAewEToPcjMoteCSfXwF/BRxSUDlN7tKFfBpYQawS8ZtN09ImHOO6CZ
pA0qQim\niNiRUfA25onIDWLLY/NMWg+gK94NVVZ7KmFG3upDB5uefK6Xwu2PsgiXSQguQEN\nBFeIdv0B
CACZgfqgz5YoX+ujVlw1gX1J+ygf10QsUM9GglLEuDiSS/Aa3C2UbgEa\n+N7JuvzZigGFCvxtAzaerMMDzbliT
qtMGJOTjWEVGxWQ3LiY6+NWgmV46AdXik7s\nUXM155f1vhOzYp6EZjxtGvyUzTLUkAlnZNrhEUbUmOhD
LassVi32hIyMR5W7w6I\nIi0zIM1mSuLR0H6oDEpR3GzuGVHGj4/sLeAg7iY5MziGwySBQk0Dg0xH5YqHb+u
K\nzCTH/ILu3srPJq+237Px/PctAZCEA96ogcDNF2XjdUpMSaEybR0LuHHstAqkrq8\nAyRtDJNYE+09jDFdUIu
khErLuo1YPWqFABEBAAGJAR8EGAECAAkFAleIdv0CGwwA\nCgkQCCq1a6FP5ZH8+wf/erZneDXqM6xYT8q
ncFpc1GtOCeODNb19Ii22lDEXd9qN\nUlAz2SB6zC5oywlnR0o1cglcrW96MD/uuCL/+tTczeB2C455ofs2mhp
K7nKiA4FM\n+JZZ6XSBnq7sfsYD6knbvS//SXQV/qYb4bKMvwYnyMz63escgQhOsTT20ptc/w7f\nC+YPBR/r
HImKspyIwxyqU8EXylFW8f3Ugi2+Fna3CAPR9yQIAChkCjUawUa2VFmm\n5KP8DHg6oWM5mdqcpvU5DM
qpi8SA26DEFvULs8bR+kgDd5AU3I4+ei71GslOdfk4\ns1soKT4X2UK+dCCXui+/5ZJHakC67t5OgbMas3Hz4
Q==\n=5TOS\n-----END PGP PUBLIC KEY BLOCK-----\n\0\0\0W\210v\375localhost\0\0\0\0\0\0\0pubkey
\0Zabbix LLC <packager@zabbix.com>\0Public Keys\0(none)\0gpg(Zabbix LLC <packager@zabbix.com>)\0
gpg(a14fe591)\0gpg(e709712c)\0004.14.2\0\4\0\0\10\4\0\0\10\4\0\0\0104:082ab56ba14fe591-578876f
d\0004:082ab56ba14fe591-578876fd\0004:df517f33e709712c-578876fd\0\0\0\0?\0\0\0\7\377\377\376
\340\0\0\0\20d1eb6ca14f96d279bd05930fb7b37f0dd67ef240\0\0\0\0_\30\\\35_\30\\\35", 4096, 210288
64) = 4096

Irgendwo darin versteckt sich ein -----BEGIN PGP PUBLIC KEY BLOCK----- und kurz davor etwas wie gpg-pubkey\0a14fe591\000578876fd.

Wenn man jetzt die \0 bzw. \000 durch Bindestriche ersetzt, bekommt man den Namen des Schlüssel, den man dann mit

rpm --erase --allmatches gpg-pubkey-a14fe591-578876fd

aus dem System entfernen kann. Zusätzlich sieht man in der langen Ausgabe auch Details zum Paket, es dann den dazu passenden, aktuellen Schlüssel zu installieren.

Quellen:

Fachbeitrag Linux Administration Für Entwickler

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie haben Interesse an diesem Thema?

Gerne bieten wir Ihnen eine individuelle Beratung oder einen Workshop an.

Kontaktieren Sie uns

Weitere interessante Artikel

Sie haben Fragen?

Wenn Sie mehr über unsere Angebote erfahren möchten, können Sie uns jederzeit kontaktieren. Gerne erstellen wir eine individuelle Demo für Sie.

assono GmbH

Standort Kiel (Zentrale)
assono GmbH
Lise-Meitner-Straße 1–7
24223 Schwentinental

Standort Hamburg
assono GmbH
Bornkampsweg 58
22761 Hamburg

Telefonnummern:
Zentrale: +49 4307 900 416
Vertrieb: +49 4307 900 402

E-Mail-Adressen:
kontakt@assono.de
bewerbung@assono.de