Sou administrador do sistema. No ambiente de produção, preciso gerenciar milhares de servidores. Meus colegas e eu usamos um servidor de gerenciamento central e distribuímos sua chave pública por outros servidores. Portanto, podemos usar esse servidor de gerenciamento para ssh para outros servidores.
Às vezes, precisamos usar a senha root, por exemplo, quando o servidor está inoperante, precisamos usar o iLO para determinar o motivo.
Atualmente, usamos uma senha root compartilhada. Não é seguro. Também observei algumas soluções de servidor único como OPIE
(Senhas descartáveis em tudo), mas como temos muitos servidores, essa não é uma idéia muito boa.
EDITAR:
O que eu quero da solução de gerenciamento de senhas é:
- Como deve ser seguro, a Senha de uso único é uma ótima solução.
- A senha pode ser facilmente digitada, às vezes precisamos conectar o monitor ao servidor ou com o iLO, como mencionei acima.
- A solução deve funcionar mesmo que o servidor esteja offline (sem nenhuma conexão de rede)
Portanto, não é uma boa idéia definir a senha raiz como uma string longa e aleatória, embora seja gerada a partir de algum comando conhecido (como openssl passwd
). É difícil lembrar, e às vezes é difícil gerar (sem meu laptop por perto)
Respostas:
Você pode usar o Puppet para enviar a alteração de senha a todos os seus servidores. Você definiria
root
usando ouser
tipo da seguinte maneira:Para gerar a senha criptografada:
Eu sugiro que talvez a mude todo mês mais ou menos - talvez usando um esquema que seus SAs memorizem. Você também pode distribuí-lo por um método seguro ou colocá-lo em um cofre.
fonte
Você sempre pode definir uma senha desativada. Isso impediria qualquer acesso de rede ao root e, se você inicializar no modo de usuário único, a maioria das distribuições inicializará diretamente em um shell.
Provavelmente, esse não é um problema de segurança tão grande quanto você imagina. É trivial ignorar a senha root de qualquer maneira, a menos que você tenha bloqueado o grub com uma senha, praticamente qualquer um poderia simplesmente dizer ao grub para iniciar o bash em vez do initrd.
Claro que isso pode significar que você deve descobrir como proteger com senha o seu carregador de inicialização.
fonte
Você pode usar senhas únicas com um gerenciamento central. Eu sei que isso não se encaixa em "deve funcionar quando o eth estiver offline e o servidor acessado com o iLO".
Enfim: A questão é: com que frequência o servidor está offline.
Então você pode pensar na seguinte configuração:
Use uma solução OTP gerenciada centralmente como privacyidea ( http://www.privacyidea.org ). Você pode atribuir vários tokens OTP diferentes ao usuário raiz. Cada token possui um PIN OTP diferente e é um dispositivo diferente. Assim, todos os seus colegas podem efetuar login como root do usuário, mas no log de auditoria, você verá qual token autenticado, para que você possa saber qual colega fez login e em que momento.
Nos servidores, você precisa configurar o pam_radius para passar a solicitação de autenticação ao RADIUS e privacyIDEA.
Vadio. Agora seu servidor fica offline. Nesse caso, você deve jogar com sua pilha de pam. Eu poderia pensar em algo como:
Para que você possa fazer login com uma senha fixa offline, caso contrário, a senha será entregue a pam_radius e será validada como OTP contra privacyIDEA.
Veja este tutorial em https://www.howtoforge.com/manage-two-factor-authentication-in-your-serverfarm-with-privacyidea .
fonte