Restringindo o poder do super usuário

Publicado por Willian Jhonnes L. dos Santos em 25/08/2006

[ Hits: 6.406 ]

Blog: http://www.ntitecnologia.com.br

 


Restringindo o poder do super usuário



Galera, essa é uma dica bem simples. Isso é, em suma, apenas uma maneira de "enganar" os usuários mais "espertinhos" e rootkits, reduzindo seu poder destrutivo. Geralmente utilizo esta técnica em servidores, pois não há quem fique 24 horas por dia monitorando o log de eventos do sistema.

O que faremos é restringir o poder de fogo do usuário root, trocando-o por outro usuário qualquer. Apesar de simples, esta técnica evita que usuários mal intencionados e rootkits obtenham certos privilégios, pois ambos se baseiam no fato do usuário root ser o super-usuário.

Para isso, logados como root, criamos um novo usuário em nosso sistema, de preferência algo que não seja óbvio. Para este usuário criamos uma senha mais complexa (16 ou mais caracteres, alfa-numérica e capitalizada) que as utilizadas normalmente. Em seguida, vamos editar o arquivo /etc/passwd, trocando o uid e o gid do usuário root pelos do novo usuário, desta forma:

root:x:1000:100::/root:/bin/bash
novo_usuário:x:0:0::/home/novo_usuário:/bin/bash

Isto já seria o suficiente, se não fosse o problema de propriedade de arquivos e diretórios. Para resolvermos tal problema, devemos mudar estas propriedades. Para isso usamos o chown da seguinte forma:

# chown -R root /root
# chown -R novo_usuário /home/novo_usuário


Agora podemos testar o "poder de fogo" do usuário root. Efetuamos o logout e logamos novamente com o usuário root. Então, no prompt do shell, ao invés de "#" aparecerá "$". Efetuamos novamente o logout e logamos como novo_usuário. Agora, ao invés de "$" no prompt do shell aparecerá "#", evitando que usuários que consigam obter a senha do usuário root tenham poder para efetuar qualquer operação indevida, assim como vários rootkits que se baseiam no nome do usuário e não em seu uid, também façam o mesmo.

Espero que isso possa ser útil a vocês como tem sido útil para mim (evitando o número excessivo de manutenção nos meus servidores causadas por usuários espertinhos nas redes que administro).

[]'s

Willian

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Criando um bridge com MasterShaper (Firewall + QoS)

Redirecionammento de portas

"Antivírus" e o Linux

Buffer Overflow para Pentesters - Vídeo aula

Restringindo acesso do "root" ao SSH

  

Comentários
[1] Comentário enviado por birilo em 25/08/2006 - 17:11h

Vários rootkits que eu conheçam se baseiam em identificar o usuário de UID 0.

É interessante, mas não difere muito em segurança...

O mais interessante é manter patchs de segurança de softwares constantemente, e manter uma senha forte (clássicos: Alfa + Num + pontuação + minusculos/maiuscutos) e troca-la constantemente...

O uso de honeypots dizem ser uteis (mas estes eu nunca usei)

[]'s
Danilo Cesar
http://www.danilocesar.com

[2] Comentário enviado por robertofonseca em 13/01/2007 - 14:10h

E como ficam os serviços que estavam sendo executados pelo root?


Roberto Fonseca?:?

[3] Comentário enviado por wolfgang em 26/02/2007 - 23:50h

Todos os serviços são, na verdade, executados com o usuário que tem o uid 0. Por exemplo, se criarmos o usuário fonseca e atribuirmos a ele o uid 0, na próxima inicialização, todos os serviços habilitados no boot para rodarem pelo root rodarão pelo usuário fonseca... Caso vc não reinicialize os sistemas, os serviços continuarão rodando como root até que vc faça isso, pois todos eles permanecem na RAM, onde foram previamente alocados...
Caso um novo serviço seja executado, ele será iniciado pelo usuário fonseca...

[]'s



Contribuir com comentário