Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
spectre_and_meltdown_fixes_-_release_dates_for_linux_distros [19.01.2018 15:35] – Pascal Suter | spectre_and_meltdown_fixes_-_release_dates_for_linux_distros [24.01.2018 11:44] – [Microcode Update - Yes it's necessary too!] Pascal Suter | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | Unfortunately the [[https:// | + | This page should give you a short overview of what is currently available to update your Intel based server or Workstation to get as good as possible patched against |
+ | |||
+ | ===== What' | ||
+ | **this update will need a reboot of your server | ||
+ | |||
+ | in general you need to update your kernel to the latest versions provided | ||
+ | |||
+ | Here is how it' | ||
apt-get update && apt-get upgrade | apt-get update && apt-get upgrade | ||
- | in ubuntu and | + | ... in ubuntu and .. |
yum update | yum update | ||
- | in RedHat and CentOS distributions. | + | .. in RedHat and CentOS distributions. |
- | **this update | + | this will protect you against Variant 1 and Variant 3 vlunerabilities. In order to also protect against Variant 2, you further need to update |
- | However, now that the news is out, every OS vendor tries to be as fast as possible in pushing out patches, so possibly fixes will be released earlier. | + | ===== Different Distributions and their update status ===== |
- | here is a list of links with information about updates available from linux distributions | + | here is a list of links with information about updates available from linux distributions |
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
Line 19: | Line 26: | ||
for further information read those pages or check out the [[https:// | for further information read those pages or check out the [[https:// | ||
- | ===== Minimalistic Fix on CentOS 7.4 ===== | + | ===== Microcode Update - Yes it's necessary too! ===== |
- | usually all you need todo today is simply update your linux to the latest patch level and you should be good. as of now (18.1.18) you might need to update the microcode (firmware) for your CPU manually, as some distributions (RHEL for example) have removet the intel firmware from their repos for the moment, due to some [[https:// | + | Update 22.1.2017: ** [[https:// |
+ | After you have installed the latest OS updates, your system should be protected against Variant 1 and 3, in order to protect against Variant 2, you also need to install a newer microcode (firmware of the CPU). | ||
+ | Usually the microcode package is also a package in your distributions repository and is updated during a normal os upgrade. However, there where some [[https:// | ||
+ | |||
+ | So now you have two options: 1.) wait until a stable microcode update is available and stay vulnerable until then or 2.) install the currently available microcode update and risk having a less stable system. I have to mention, that intel says that only "some configurations" | ||
+ | |||
+ | Here is, how you can download the microcode package (for all intel processors) and then insert this into your Linux installation for Linux to load the latest microcode. | ||
+ | |||
+ | The latest officially released Microcodes can be found on the intel downloadcenter page. currently [[https:// | ||
+ | |||
+ | **NOTE: see update above: Intel discurages the use of these microcodes as it seems that they can cause your system to be unstable. Intel in fact changed their recommendations as of Jan. 22 from "ask your vendor to get the latest microcote" | ||
+ | |||
+ | < | ||
+ | |||
+ | - download the package of your choice to your System: < | ||
+ | cd / | ||
+ | wget <url> | ||
+ | </ | ||
+ | - now move your existing microcode package to another location, so you can move it back in case you have these stability issues that some users had with the new ones. then unpack and load the new microcode: < | ||
+ | cd / | ||
+ | mv intel-ucode / | ||
+ | tar xvf / | ||
+ | echo 1 > / | ||
+ | </ | ||
+ | you can double check if your microcode was loaded using < | ||
+ | you should now be up to date with the latest patches for all three Variants of the Spectre & Meltdown vulnerability. | ||
+ | |||
+ | ==== Understanding the release notes ==== | ||
+ | Intel' | ||
+ | -- Updates upon 20171117 release -- | ||
+ | IVT C0 (06-3e-04: | ||
+ | SKL-U/Y D0 (06-4e-03: | ||
+ | BDW-U/Y E/ | ||
+ | HSW-ULT Cx/ | ||
+ | Crystalwell Cx (06-46-01: | ||
+ | BDW-H E/ | ||
+ | HSX-EX E0 (06-3f-04: | ||
+ | SKL-H/S R0 (06-5e-03: | ||
+ | HSW Cx/ | ||
+ | HSX C0 (06-3f-02: | ||
+ | BDX-DE V0/ | ||
+ | BDX-DE V2 (06-56-03: | ||
+ | KBL-U/Y H0 (06-8e-09: | ||
+ | KBL Y0 / CFL D0 (06-8e-0a: | ||
+ | KBL-H/S B0 (06-9e-09: | ||
+ | CFL U0 (06-9e-0a: | ||
+ | CFL B0 (06-9e-0b: | ||
+ | SKX H0 (06-55-04: | ||
+ | GLK B0 (06-7a-01: | ||
+ | </ | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | grep -P "^(cpu family)|(model\s*: | ||
+ | </ | ||
+ | * the last part '' | ||
+ | * by the way, '' | ||
+ | ===== Minimalistic Fix on CentOS 7.4 ===== | ||
Should you, for some reason, not be able or willing to run a full update, I have here a minimalistic fix for your centos: | Should you, for some reason, not be able or willing to run a full update, I have here a minimalistic fix for your centos: | ||
Line 48: | Line 113: | ||
reboot | reboot | ||
</ | </ | ||
- | |||
- | ===== Microcode Update - Yes it's necessary too! ===== | ||
- | |||
- | Your system should now be patched against Variant 1 and 3, in order to protect against Variant 2, you also need to install a newer microcode. Keep in mind however, that there where some stability issues with the microcodes released until today (18.1.18) so that for example RedHat removed them from their repos. however, this step can be reverted should you have issues with the new microcode (sudden reboots where reported), so if you can afford a few crashes at worst, you should still give it a try and only revert when the system gets too unstable for you to work with: | ||
- | - go to [[https:// | ||
- | - < | ||
- | cd / | ||
- | wget <url copied from downloadcenter> | ||
- | </ | ||
- | - now move your existing microcode package to another location, so you can move it back in case you have these stability issues that some users had with the new ones. then unpack and load the new microcode: < | ||
- | cd / | ||
- | mv intel-ucode / | ||
- | tar xvf / | ||
- | echo 1 > / | ||
- | </ | ||
- | you can double check if your microcode was laded using < | ||
- | you should now up to date with the latest patches for all three Variants of the Spectre & Meltdown vulnerability. | ||
===== Test-Tools ===== | ===== Test-Tools ===== | ||
* [[https:// | * [[https:// | ||
===== Performance Impact ===== | ===== Performance Impact ===== | ||
- | the fix for all this works in a way that it may affect the system performance negatively. Different sources claim different results reaching from no impact at all up to a 30% slowdown. As always, Benchmarks are probably not too representative for your realworld experience. In order to find out what the difference in performance is, you can simply disable the workaround on a patched kernel to run your workload once with and once without the patch. the workaround | + | the fix for all this works in a way that it may affect the system performance negatively. Different sources claim different results reaching from no impact at all up to a 30% slowdown. As always, Benchmarks are probably not too representative for your realworld experience. In order to find out what the difference in performance is, you can simply disable the workaround on a patched kernel to run your workload once with and once without the patch. |
+ | |||
+ | In CentOS (and probably other linux distributions as well) the workarounds | ||
+ | < | ||
+ | echo 0 > / | ||
+ | echo 0 > / | ||
+ | echo 0 > / | ||
+ | </ | ||
+ | by default all three fixes are enabled, if you want to disable them permanently (=on every boot) you can add these three options to your kernel command line: | ||
+ | < | ||
+ | noibrs noibpb nopti | ||
+ | </ |