Escalando o atraso de autenticação no 'su' ou 'sudo' com falha [duplicado]

1

Estou prestes a iniciar meu novo trabalho como administrador de sistema e estou pensando em implementar um recurso de cooldown em su ou sudo . O cooldown impede que o usuário use esses comandos por alguns segundos após a primeira tentativa falhada, e o tempo de espera aumenta com cada tentativa falhada por algum fator.

A idéia por trás do conceito é que o usuário autorizado pode errar pela primeira vez, mas acertará no segundo. O cooldown estará lá para desencorajar e atrasar um adversário de usar variações de força bruta.

Existe alguma falha na minha abordagem? Substituir o comando sudo por um script modificado seria sábio? Ou devo corrigir o executável em si?

Edit: Eu já pesquisei isso no Google, nada foi encontrado. O mesmo vale para SO, SuperUser.SE e Security.SE. Se você acha que esta questão não é adequada para o ServerFault, por favor, sinalize isso.

    
por rath 17.07.2013 / 11:34

2 respostas

2

Is there a flaw in my approach? Would replacing the sudo command with a modified script be wise? Or should I patch the executable itself?

Sim, há uma falha em sua abordagem: como foi apontado nos comentários, a primeira regra de segurança é não crie sua própria . Você não tem chance de testar seu próprio código tão completamente quanto o código su ou sudo foi testado, e mesmo que você consiga acertar na maioria das vezes, você está praticamente fadado a perder algum caso extremo em algum lugar. (É difícil o suficiente para obter um código que não seja crítico para a segurança, mesmo quando você é pago para fazer isso.) Apenas não faça isso.

Em vez disso, use o módulo PAM pam_faildelay . Ele permite que você configure o atraso, pode permitir que você desconfie o atraso e, mesmo que isso não ocorra, copiar o código dele e implementar um atraso impressionante certamente será menos propenso a erros do que substituir su e sudo . Eu ainda não recomendaria a criação de um módulo PAM, mesmo baseado em um existente similar, se você não sabe exatamente o que está fazendo (qualquer coisa que se associe a riscos do PAM introduzindo vulnerabilidades de segurança), mas pelo menos você não seria mexendo com utilitários básicos do sistema tentando adicionar sua própria lógica do zero.

Além disso, como Lingfeng Xiong apontou, há muitas outras maneiras de obter privilégios de root.

    
por 17.07.2013 / 13:46
1

sudo e su não são a única maneira de obter permissão de root. Tente o PAM. Eu acredito que é melhor para você do que consertar os binários.

    
por 17.07.2013 / 11:41

Tags