Estou trabalhando em um aplicativo da web que lida com alguns dados confidenciais. Estamos ficando muito rígidos com a segurança e estabelecendo políticas para bloquear o acesso a máquinas e registrar tudo para fins de auditoria técnica.
A pergunta para a qual voltamos sempre é: quem se enraíza?
Nossas instâncias do servidor terão um usuário root. Esse usuário root terá uma senha. Quem deve ter acesso a isso? É possível / desejável ter uma máquina em que ninguém possa ter acesso root?
Agradeço qualquer opinião que você tenha sobre o assunto.
Respostas:
Ninguém. Faça com que eles sejam usados
sudo
para que todos os comandos no nível raiz sejam registrados e atribuíveis a uma pessoa específica.fonte
Ninguém, exceto, talvez, um administrador de hardware obtém a senha de root! A senha root deve ser usada apenas no console, não via SSH ou outros serviços.
Use grupos para definir o acesso a diferentes conjuntos de programas com privilégios escalados usando
sudo
. Por exemplo, o grupo wheel é geralmente para pessoas que obtêm privs de root, mas tudo é registrado como usuário. Se as pessoas não precisarem de privilégios de root completos, mas apenas alguns comandos como outro usuário, faça outro grupo.fonte
Se você usa e implementa o selinux, é possível remover a conta "típica que tudo vê, que tudo sabe" que é a configuração raiz normal e convertê-la em uma conta mais sensível à segurança.
fonte
Minha opinião é que as pessoas não devem estar executando comandos que exigem permissões de root, exceto é claro quando estão realmente logados como root.
Eu recomendaria o uso de su (alterna para usuário root) em vez de sudo (aumenta temporariamente as permissões para o nível raiz por um comando) por esse motivo. Se eles precisarem de permissão root, faça com que eles mudem para usuário root.
Minha pergunta é: o que seus usuários estão fazendo e acham que precisam de raiz?
fonte
sudo
é perfeitamente adequado para a finalidade e registra cada comando emitido diretamente com osudo
anexo. Onde, quando su é usado, você obtém um shell e nada dentro dele é registrado./etc/sudoers
pode ser ajustado muito. Você pode dizer qual comando pode ser executado como qual usuário, por qual usuário e se deve exigir senha ou não, além de várias outras opções úteis. Uma razão pela qual alguém pode precisar de root é reiniciar um daemon. Isso é facilmente alcançadosudo
sem dar acesso total à conta raiz.su
excessosudo
não é defendida e, de acordo com a maioria das outras vozes aqui, seria realmente parte do problema original dos caras, não uma solução.