quinta-feira, 14 de janeiro de 2010

Impedindo o Acesso sem senha

Este é um artigo meu publicado no Dicas-l em 20 de dezembro de 2005. O objetivo é impedir o acesso sem senha à um sistema Linux gerenciado pelo grub/lilo.
Não sei como estão as coisas hoje, mas, lembro que na época com esses passos a única maneira de de acessar seu sistema, sem possuir uma senha,  era abrindo a máquina e retirando da bateria da BIOS.
Reproduzo aqui o artigo da mesma forma que foi publicado no Dicas-l.



 Impedindo o Acesso sem senha

O grub, gerenciador de boot padrão em muitas distribuições, possui alguns artifícios que permitem a entrada no sistema como root sem a necessidade de digitar uma senha. Nessa dica explicarei como prevenir esse tipo de coisa, fazendo uso de alguns procedimentos que podem, inclusive, serem adaptados a outros gerenciadores de boot, como o Lilo.

As maneiras mais conhecidas para entrar no sistema sem senha são:

1. disquete de boot.
2. trocando o runlevel para 1 (Single ou manutenção).
3. Trocando o runlevel para `init=/bin/bash`.

Para impedir que alguém não autorizado tenha acesso total usando qualquer uma das opções citadas, siga os seguintes passos.

1. Edite o /etc/inittab e verifique se existe uma linha parecida com:

su:S:wait:/etc/rc.d/rc.sulogin

Essa linha diz ao sistema para, quando iniciado no modo Single, executar o arquivo /etc/rc.d/sulogin. Seguindo a lógica, edite o script /etc/rc.d/sulogin, e adicione a linha:

sulogin -p

*/Para forçar o sistema a pedir a senha root sempre que for iniciado no modo manutenção*/

2. Com o procedimento anterior, padrão em muitas distribuições, você impede o acesso no modo single, porém, ainda é possível o acesso sem senha trocando o runlevel para init=/bin/bash. Para evitar faça:

#grub

*/criptografa uma senha ser usada no grub*/
grub> md5crypt

*/digite a senha a ser criptografada*/
password: *********

A saída do comando será a senha criptografada, algo como:

encrypted: $1$2atu01$qdxmcgaxxw0pehytdvixo.

Edite o arquivo /boot/grub/menu.lst, e adicione, no início do arquivo, a seguinte linha:

password = --md5


Lembrando que "" deverá ser trocado pelos caracteres obtidos com o md5crypt do grub. Salve o /boot/grub/menu.lst e retire a permissão de escrita de todos os usuários. Reinicie a máquina e tente editar os parâmetros do grub, ou entrar na linha de comando, para ver o que acontece.


Repare que colocar senha no grub evita também o acesso pelo modo Single e a vizualização de arquivos confidenciais, pois, a edição dos parâmetros do grub e a linha de comando ficam restritas a quem possuir a senha.


Se você quiser, pode adicionar "lock", logo após a linha de senha no menu.lst, e forçar o grub pedir senha até mesmo para iniciar uma partição. Se preferir, adicione "password = --md5 " e "lock" nas opções de cada Sistema Operacional "setado" no menu.lst, e configure uma senha diferente para cada SO.


Para aumentar ainda mais a segurança, coloque senha no setup, para impedir que mudem a sequência de boot. Isso irá evitar o acesso com um disquete de recuperação.

A Opção de senha também pode ser usada com o Lilo. 


Para mais informações consulte:

* info grub, man lilo
* GRUB
* Lilo HOWTO



Giorge Henrique Abdala

Nenhum comentário:

Postar um comentário