Proibir carregar outro kernel em execução
Fecha um caminho para um atacante com direitos de administrador trocar para um kernel que ele preparou.
Por que importa
O kexec deixa o kernel em execução carregar e pular para outro kernel sem passar pelo firmware. Um atacante que já ganhou direitos de administrador poderia usá-lo para iniciar um kernel preparado, que ignora suas configurações de segurança ou esconde as ferramentas dele. Desligar remove esse passo.
Como funciona
Define kernel.kexec_load_disabled como 1, o que desativa as chamadas de sistema kexec_load e kexec_file_load. A documentação do kernel diz que, depois de definido como 1, não volta a 0 até a próxima reinicialização.
Quem deve usar
Serve para desktops e servidores que não usam kexec. Deixe desligado se você depende de captura de crash com kdump, reinícios rápidos por kexec, ou ferramentas de atualização de kernel em vivo.
O que você pode notar
Comandos como kexec -l falham com erro de permissão, e um serviço de kernel de crash que iniciar depois da mudança pode falhar ao carregar. Só reiniciar desfaz.
Verifique no seu computador
Leia o valor atual:
sysctl kernel.kexec_load_disabled Aplique à mão
Defina agora (até a próxima reinicialização):
sudo sysctl -w kernel.kexec_load_disabled=1 Mantenha após reinicializações, em um arquivo seu:
sudo tee /etc/sysctl.d/90-kernel-kexec.conf <<'EOF'
kernel.kexec_load_disabled = 1
EOF
sudo sysctl --system Desfaça
Remova o arquivo e reinicie, ou volte ao valor antigo com sysctl -w.
Configurações relacionadas
Fontes
- Linux Hardening Guide (madaidans)
- 2.2.1
- Linux kernel documentation
- kernel.kexec_load_disabled