Muss ich mich selber um Microcode Updates kuemmern?

devaux

Active Member
Feb 3, 2024
172
40
28
Soweit ich verstanden habe sind die CPU Microsode-Updates meist dazu da, dass entweder Sicherheitsluecken in der CPU geschlossen oder Abstuerze verhindert werden koennen.
-Muss ich mich hierzu aktiv kuemmern oder uebernimmt PVE das fuer mich?
-Kann es hierbei auch Nebeneffekte (Abstuerze, schlechtere Performance...) geben?
-Kann ich bei einer komplett gepatchten CPU den Boot-Parameter mitigations=off setzen und erhalte dann bessere Performance? Oder ist das wieder ein ganz anderes Thema?
 
-Muss ich mich hierzu aktiv kuemmern oder uebernimmt PVE das fuer mich?
Die CPU Microcode Updates werden erst automatisch installiert und aktualisiert, wenn diese auch auf dem Host/den Nodes jeweils richtig aufgesetzt wurden. Siehe dazu in der Dokumentation hier über eine Anleitung wie dies gemacht wird. Es ist auch ratsam BIOS/UEFI Updates zu machen, die oft auch Microcode Updates beinhalten.

-Kann es hierbei auch Nebeneffekte (Abstuerze, schlechtere Performance...) geben?
Normalerweise sollte es zu keinen Nebeneffekten kommen, besonders wenn du die non-free/non-free-firmware Debian Repositories von stable verwendest, da diese bei Debian alle 2-4 Monate geupdated werden, welche zuvor in unstable und danach in testing waren und somit schon auf vielen Systemen davor auf Fehler überprüft wurden. Aber natürlich kann es - sehr selten aber doch - zu Fehlern kommen, jedoch patchen diese Microcode Updates oft auch Fehler, die zuvor zu Abstürzen führen konnten.

-Kann ich bei einer komplett gepatchten CPU den Boot-Parameter mitigations=off setzen und erhalte dann bessere Performance? Oder ist das wieder ein ganz anderes Thema?
Ja, der Kernel Parameter migitations=off kann alle vorhandenen Vulnerability migitations ausschalten und je nach dem Workload kann sich dadurch auch die Performance verbessern. Jedoch sollte man sich bewusst machen, welchen Sicherheitsrisken man sich dabei aussetzt und wie sehr man den VMs und Containern auf seinem System vertraut (siehe dazu zwei externe Artikel hier und hier). Es könnte z.B. auf reinen Compute Clustern oder CI/CD Pipeline Nodes Sinn machen, wenn diese abgesichert intern verwendet werden und nur eine kurze Laufzeit haben.
 
  • Like
Reactions: devaux
Vielen lieben Dank fuer die Eroerterungen.
Also haben die Kernel-Mitigations eigentlich das selbe Ziel (Security-Updates fuer die CPUs) wie die Microcode-Updates? Sofern natuerlich eine Sicherheitsluecke ueber eine Firmware ueberhaupt patchbar ist.
Inwieweit spuert man denn den Performance-Verlust bei Microcode-Updates? Ich nehme mal an dass dieser sehr viel geringer ist, als wenn sich der Kernel darum kuemmern muesste, oder?
Und wenn eine Sicherheitsluecke per Microcode unschaedlich gemacht wurde, weiss der Kernel dann automatisch, dass er sich darum nicht keummern muss und loest dann die Bremse? Oder ist migitations=off in jedem Falle Pflicht?
 
Also haben die Kernel-Mitigations eigentlich das selbe Ziel (Security-Updates fuer die CPUs) wie die Microcode-Updates? Sofern natuerlich eine Sicherheitsluecke ueber eine Firmware ueberhaupt patchbar ist.
Grundsätzlich sind die Kernel Migitations Umgehungen von dem Kernel selbst, um vor Sicherheitslücken in der Hardware zu schützen. Microcode Updates haben verschiedene Gründe, welche sowohl Sicherheitsupdates als auch funktionale Updates (Stabilität, etc.) sein können. Siehe dazu die Release Changelogs von deinem CPU Hersteller.

Die Kernel migitations haben aber nichts mit dem Microcode patches zu tun. Es passiert oft, dass für das Patchen einer Sicherheitslücke sowohl die Kernel migitation als auch der dazugehörige Microcode patch nötig ist.
Inwieweit spuert man denn den Performance-Verlust bei Microcode-Updates? Ich nehme mal an dass dieser sehr viel geringer ist, als wenn sich der Kernel darum kuemmern muesste, oder?
Ich rate dir dabei nach spezifischen Benchmarks zu suchen, da dies sehr Hardware- und Anwendungsspezifisch ist. Aber grundsätzlich sollten Microcode patches keine Performance-Verluste mit sich ziehen.
Und wenn eine Sicherheitsluecke per Microcode unschaedlich gemacht wurde, weiss der Kernel dann automatisch, dass er sich darum nicht keummern muss und loest dann die Bremse? Oder ist migitations=off in jedem Falle Pflicht?
Der Kernel überprüft, ob die Hardware von einer Sicherheitslücke betroffen ist und Microcode dafür verfügbar ist und patcht diesen dann. Jedoch braucht man für viele Sicherheitsfeatures sowohl die Kernel migitation als auch den Microcode patch. Außerdem gibt es für die Kernel migitations auch eigene Parameter, um diese granularer ein/auszuschalten.
 
  • Like
Reactions: devaux
Alles klar, vielen Dank!
Dann gibt es eigentlich KEINEN Grund die Microcode-Updates einzuspielen.
Weiss jemand wieso diese Proxmox dann nicht automatisch integriert? Eine Lizenzgeschichte? Aber mit anderen Komponenten wie zum Beispiel ZFS wird ja auch weniger restriktiv vorgegangen.
 
Einerseits werden die Microcode Updates auch oft über BIOS/UEFI Updates eingespielt, und andererseits ist das bei Debian standardmäßig auch so, da diese Microcode Updates "non-free" Software sind, sprich der Microcode ist closed source und diese standardmäßig zu inkludieren würde gegen die Debian-Philosophie widersprechen. Mehr dazu findest du hier.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!