Linux Servidor linux

Protegendo o GRUB2 com senha no CentOS 7.2+

Protegendo o GRUB2 com senha no CentOS 7.2+

O GRUB é um gerenciador de BOOT e neste artigo irei ensinar como proteger o GRUB2 com senha, mas pra que proteger com senha? Através do GRUB2 conseguimos editar o boot pressionando a tecla [e] e alterar alguns parâmetros para editar a senha do super usuário root, e isso é realmente uma grande falha de segurança né ?

Protegendo o GRUB2 com senha no CentOS 7.2+

Digite o comando para criar a senha que irá proteger o GRUB2.

# grub2-setpassword
Enter password: 
Confirm password:

Agora vamos editar o nome do usuário que irá digitar, o nome do usuário padrão é root.

Nota: O usuário root eu alterei para linuxnaweb.

# vim /etc/grub.d/01_users

#!/bin/sh -e
cat << EOF
if [ -f \${prefix}/user.cfg ]; then
  source \${prefix}/user.cfg
  if [ -n "\${GRUB2_PASSWORD}" ]; then
    set superusers="root" >> altere o nome "root" para o nome que desejar!
    export superusers
    password_pbkdf2 root \${GRUB2_PASSWORD} >> altere o nome para o nome que desejar!
  fi
fi
EOF

A senha que você gerou no início fica no arquivo user.cfg.

# vim /boot/grub2/user.cfg

GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.C89D3BC35145D0E19EDEEECF4A0C02C09413EEB1E17D92D5DBED39C5B434E225496268E60E5D9393A84BD8D1DAA5E9886FBB5F0251B39A70139563C7EDD58EC8.65CA39BF7D2AB7B2832A9A3627C163028FD36682A63A9DCE52F407B7662C993708312794C0868F9C3A3B671A9F7ABC89A484C86B385AD80675256850748346C9

Você também pode gerar a senha e colocar no arquivo user.cfg manualmente, executando o comando abaixo:

# grub2-mkpasswd-pbkdf2 
Digite a senha:
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.53FED65873021B0B52B25E9BDF3CE68E773645FBA7AC90A925AEF3B51FA059417BA662A8F02CE27DEBAE7A3A53F21D32AC49DF03897F22F87D23C03BD2C002CD.6F82B2B525DE477AF0F9589FE8E74006BE73E7F5AB82C119F3A36853BBF39A724482E87C0533E0A928774CC690A48F888A27670E0248CEEE689BD0F139E69E56

Ao digitar a sua senha, ele exibe a hash da senha criptografada logo na sequência, para colar no arquivo user.cfg basta copiar a partir do grub.pkbkdf2... até o final da hash. e insira no arquivo com o parâmetro, ficando assim: GRUB2_PASSWORD=grub.pkbkdf2....

Nas máquinas baseadas em BIOS, execute o comando abaixo:

# grub2-mkconfig -o /boot/grub2/grub.cfg

Em máquinas baseadas em UEFI, execute o seguinte comando como root:

grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cf

Como minha máquina é baseada em BIOS irei executar o primeiro comando para reconfigurar o GRUB2.

# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-84162511c1684476a70e8f205ffd505d
Found initrd image: /boot/initramfs-0-rescue-84162511c1684476a70e8f205ffd505d.img
done

Após executar o comando acima, reinicie seu servidor e aperte a tecla e para editar os parâmetros do GRUB e perceba que irá solicitar usuário e senha.

# reboot

Ao reiniciar pressione a tecla [e] para entrar em modo de edição do grub, perceba que ele vai solicitar usuário e senha, insira o usuário e senha que você definiu logo acima e pronto, terá acesso para editar o grub, abaixo a demonstração de como deve ficar.

Quebrando a senha no Linux

Espero que tenha ajudado, comente, compartilhe e curta as nossas redes sociais.

Referência:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sec-protecting_grub_2_with_a_password
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sec-customizing_the_grub_2_configuration_file

comments powered by Disqus

Assine nossa Newsletter! 🐧

Se una com os assinantes de nossa Newsletter, sempre que tiver postagem nova você será notificado.