Há um bom tempo atrás eu li um cara argumentando que logar como root não é necessariamente ruim. Na época não pensei muito sobre o assunto, mas agora acho que o camarada tem razão. Em uma máquina com múltiplos usuários, ou um servidor, é importante proteger os dados de um usuário dos outros, e proteger o sistema dos usuários. Mas em um sistema com um único usuário, as vantagens de usar um usuário comum ao invés do root são de mínimas a nulas.
Ameaças à segurança do sistema incluem:
O que isso nos demonstra é que os mecanismos de segurança tradicionais do Unix são largamente inúteis nos ambientes atuais. Eles não me permitem dar direito a um programa de ler seus arquivos de configuração sem também dar direito de apagar meus arquivos pessoais, nem dar direito a um programa de alterar o relógio do sistema sem também dar direito de formatar o disco. Em um mundo ideal, quando eu dou um comando do tipo cp whatever.txt /home/docs/text/, o programa cp deveria receber não strings, mas sim handlers referindo-se ao arquivo e ao diretório em questão, e só teria acesso a esses dois itens, através dos handlers, e a mais nada. (Integrar isso em uma interface gráfica e garantir acesso a arquivos de configuração e outros recursos implícitos sem causar a loucura do usuário é deixado como um exercício para o leitor.) Essa é a idéia de segurança por capabilities (não confundir com as capabilities de mortal do POSIX).
Ainda não me convenci a me logar sempre como root, mas estou em vias de. Contrapontos são bem-vindos.
Unix is dead. Long live Unix.
[* Ok, um possível objetivo de adulterar o sistema é tornar futuros ataques invisíveis, coisa que não é em princípio possível sem acesso de root. Hmmrgh.]
[P.S.: O primeiro que reclamar do "há um tempo atrás" será sumariamente apedrejado.]
Copyright © 2010-2023 Vítor De Araújo
O conteúdo deste blog, a menos que de outra forma especificado, pode ser utilizado segundo os termos da licença Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.
Powered by Blognir.
Marcus Aurelius, 2012-05-29 13:17:38 -0300 #
(Comment spree! Não sabia que tinha tantos posts novos no teu blog!)
Pois é! Essa separação de poderes entre root e usuários normais fica muito estranha quando, seja por design ou por distração, o uso de root (ou setuid root) para fazer coisas “avançadíssimas” como tocar um som, ler uma mídia externa, alterar a hora, ou desligar a máquina. Tudo bem, não é qualquer um que pode mandar um comando para desligar o servidor remoto, mas na minha máquina doméstica não faz sentido ter essa proteção! Enquanto isso, os arquivos pessoais continuam legíveis a qualquer programa...