Segurança no GRUB -- "Pegando" a senha do root

Introdução

Nesse artigo vamos ver, na prática, como "pegar" a senha de root e também vamos aprender como aumentar a segurança no GRUB.

O GRUB (Grand Unified Boot Loader) é flexível, funcional e poderoso, podendo inicializar Sistemas Operacionais (9x, ME, NT, 2000 e XP), DOS, Linux e etc.

Por utilizar o padrão Multiboot, ele é capaz de carregar diversas imagens de boot e módulos. O GRUB também permite buscar imagens do kernel pela rede, por cabos seriais, suporta discos rígidos IDE e SCSI, detecta toda a memória RAM disponível no sistema, tem interface voltada para linha de comandos ou menus de escolha, além de suportar sistemas sem discos ou terminais remotos.

Trechos extraídos do FOCA.

1° Parte – “Pegando” a senha de root.

Primeiramente vamos ver como é fácil “pegarmos” a senha de root.

Vamos ligar o computador e, assim que o GRUB for inicializado, aparecerá uma tela parecida com a (Fig. 1.0).

Fig. 1.0

Pressionamos a tecla “e” para editarmos a linha, logo após selecionamos a opção do kernel. (Fig. 1.1)

Fig. 1.1

Após selecionar, pressione “e” novamente. Uma tela (Fig. 1.2) deverá aparecer.


Fig. 1.2
Vamos apagar a opção “ro”, que significa Read Only, e vamos colocar a opção “rw”, que significa Read Write, depois vamos deixar igual ao da (Fig. 1.3).

Fig. 1.3

Pressionamos a tecla Enter e uma tela como a da (Fig. 1.4) deverá aparecer.


Fig. 1.4

Agora pressionamos a tecla “b” e o GRUB subirá o sistema.

Feito isso, o sistema habilitará um Shell com permissões de root. Note que nenhuma senha foi pedida, bastando assim agora trocar a senha e reiniciar a máquina (Fig. 1.5).

Fig. 1.5

Exemplo, o sistema nos deu um shell com permissões de root sem nos pedir uma senha, caso o usuário deseje alterar a senha de root pode faze-lo com o comando:

debian:~# passwd root

2° Parte --- Implantando senhas no GRUB

Vimos como é fácil “pegar” a senha de root. Para evitarmos que isso ocorra, vamos mudar algumas configurações no nosso GRUB para aumentar a nossa segurança e evitarmos o acesso indevido ao nosso sistema.

Suba o seu sistema, e efetue o login como root em caso de modo texto e, em caso de modo gráfico, efetue o login normalmente e depois abra o terminal e torne-se root através do comando su. Como root, vá ao diretório /boot/grub/.

Vamos editar o arquivo “menu.lst”, use o seu editor de texto favorito.

Antes de continuarmos, explicarei um pouco sobre os parâmetros do GRUB.

Opções do arquivo de configuração.

Esta seção descreve os parâmetros globais do arquivo de configuração menu.lst localizado no diretório /boot/grub.

timeout = Define um tempo de espera em segundos. Se nenhuma tecla for pressionada, carrega a imagem padrão do sistema.

default = Define qual será a opção padrão a ser automaticamente selecionada caso nenhuma tecla seja pressionada ou até que o timeout se esgote.

color = Permite que você, através deste parâmetro, configure as cores usadas no menu de boot do GRUB.

password = Permite que você especifique uma senha, que será utilizada para evitar a edição dos parâmetros de boot durante a inicialização. Essa senha será pedida sempre que uma função diferente de carregar imagem seja pedida ao GRUB durante a sua inicialização. (Usaremos essa opção neste tutorial).

title = Define qual o texto que aparecerá no menu de boot, é usado para identificar qual imagem será carregada.

root = Determina qual a partição raiz do sistema a ser inicializada.

kernel = Nessa opção você informa qual o kernel vai ser inicializado.

lock = Usado para controlar a inicialização do sistema. Se habilitada, o sistema só iniciara após você ter digitado a sua senha e selecionado a imagem a ser carregada. (Vamos aprender a usar essa opção nesse tutorial).

Bom, passado os parâmetros básicos do GRUB, vamos pôr a mão na massa.
Agora de posse dessas informações vamos começar.

Primeiramente vamos tirar o comentário “#” da linha “password” ou digitar a opção “password” que deve vir antes das configurações de arranque do sistema operacional.

Podemos usar dois tipos de senha aqui, sem criptografia e com criptografia, vamos ver as duas opções.

2.1 – Sem criptografia.

Você pode usar uma senha legível, comum em frente à opção password – (Fig. 2.0), porém essa opção não é muito recomendada, pois um usuário comum com acesso ao sistema poderia visualizar o arquivo de configuração do GRUB e também visualizar a sua senha, mas, para esse caso, vamos usá-la assim mesmo.

Fig. 2.0

Agora basta reiniciar o sistema e tentar “pegar” o root novamente, você não conseguiria a menos que você pressione “p” e digite a sua senha.

Essa configuração não impedirá que o usuário inicialize o sistema, vamos ver como impedir isso mais a frente.

2 .2– Com criptografia Md5.

Bom, vimos que usar uma senha legível não é muito aconselhável, vamos usar agora o aplicativo “grub-md5-crypt” para gerarmos uma senha criptografada. Digite o comando como root e pressione Enter, o Shell pedirá a senha, digite-a e pressione Enter, o aplicativo irá fornecer uma string criptografada (Fig. 2.1).



Fig. 2.1


Copie e vá novamente ao arquivo de configuração do GRUB “menu.lst” e, na frente da opção “password”, cole essa string copiada (Fig. 2.2).


Fig. 2.2


Essa configuração não impedirá que o usuário inicialize o sistema.

3° Parte --- Impedindo o acesso ao Sistema sem senha.

Vamos ver agora como impedir a inicialização do sistema sem que o usuário digite a senha.

Cuidado!!! Certifique-se de que a senha esteja correta, primeiramente teste antes de fazer essa configuração. Somente depois que os passos da 2 parte forem testados e estejam funcionando corretamente, é que você deverá continuar com o nosso tutorial.


Primeiramente adote uma senha, conforme explicado anteriormente, após esse passo vamos novamente editar o arquivo de configuração do GRUB “menu.lst”.

Abra o arquivo de configuração como root, depois nas configurações de arranque do sistema logo abaixo da opção title, coloque a opção lock. Agora, toda vez que o você quiser inicializar o seu sistema, você terá que digitar a senha cadastrada.


Fig. 2.3


Caso não digite a sua senha e tente inicializar o sistema você verá uma tela como a seguinte. (Fig. 2.4 )


Fig. 2.4


Pressione Enter, a tela vai voltar para o começo. Pressione “p” e digite a sua senha, logo após selecione o seu sistema e bom proveito.

Para Aqueles que querem mais segurança ainda ...

Podemos também colocar permissão de leitura, execução e gravação somente para o usuário root no arquivo de configuração menu.lst.

Ex: debian:/boot/grub# chmod 700 menu.lst 

Este comando fará com que somente o root tenha permissão para acessar o arquivo de configuração do grub.


Bom amigos terminanos por aqui e espero que tenham gostado...

Para maiores informações entre em contato.

 
Copyright (c) 2011 Filizola Home.