Повышение производительности ОС, Spectre и Meltdown

Уже давно в intel процессорах существуют патчи, закрывающие уязвимости spectre и meltdown (и многие другие, на самом деле). Проблема в том, что их включение понижает производительность системы.
Можно, конечно, просто отключить hyper-threading, например, но зачем? Нам нужны потоки, с ними производительность то только повышается.
Поэтому мы можем просто вырубить защитные патчи. Опасно ли это? — Решайте сами, зависит от того, что у вас там крутится на серверах. Найти способы эксплуатации уязвимости можете сами. Заюзать их — это не самая тривиальная задача.


Чтобы отключить в Linux защиту от Spectre и Meltdown, нужно добавить следующие параметры ядра:

Spectre v1/v2

nospectre_v1, nospectre_v2, spectre_v2_user=off

SSB (Spectre variant 4)

spec_store_bypass_disable=off, ssbd=force-off

L1TF

l1tf=off

MDS

mds=off

TAA

tsx_async_abort=off

iTLB multihin (не стоит отключать, если на сервере есть чужие виртуалки)

nx_huge_pages=off, kvm.nx_huge_pages=off

KPTI

nopti, kpti=0

В ядрах Linux 5.2 и выше (а на старых ядрах в бэкпортах найти можно патч) был добавлен параметр mitigations.
Можно добавить просто:

mitigations=off

Все патчи будут отключены.

mitigations=auto

По-умолчанию стоит такое значение. Все патчи включены и включен SMT.

mitigations=auto,nosmt

Все патчи включены, но SMT выключен.

В итоге имеем следующую строку, которую надо добавить в параметр GRUB_CMDLINE_LINUX в файле /etc/default/grub:

nospectre_v1, nospectre_v2, spectre_v2_user=off, spec_store_bypass_disable=off, ssbd=force-off, l1tf=off, mds=off, tsx_async_abort=off, nx_huge_pages=off, kvm.nx_huge_pages=off, opti, kpti=0, mitigations=off

После этого вводим:

sudo update-grub

Ребутаемся и радуемся — все патчи отключены, сервер работает быстрее, но стал дырявым 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *