Sudo: enviar e-mail apenas quando o comando não foi explicitamente permitido

Iniciado por Barreto_, 22 de Janeiro de 2016, 19:18

tópico anterior - próximo tópico

Barreto_

Olá pessoal,
Contexto
Estou querendo elevar o nível de segurança nos servidores do meu departamento. Atualmente, todos os administradores podem executar quaisquer comandos usando sudo. Eu quero mudar isso, permitindo que os administradores executem somente os comandos necessários para cada servidor ou serviço.  O grande problema é que não é fácil fazer esse levantamento devido a quantidade de servidores e serviços. Caso seja implementado da noite pro dia poderia gerar transtornos na produção, já que seria necessário interromper o trabalho frequentemente para conceder novas permissões.
O problema
Para poder catalogar cada comando necessário antes de implementar essa mudança, eu gostaria de receber e-mails de sudo apenas daqueles comandos que ainda não inseri no arquivo sudoers e, ainda assim, conceder acesso total aos administradores do sistema.  A opção mail_always não resolveria meu problema, já que ele enviaria e-mails mesmo que os eles já constem no sudoers.
Eu li o man e já procurei um bocado na net, sem sucesso  :-[. Alguém poderia me ajudar?

zekkerj

Tenta a opção "mail_no_perms" (dica: man sudoers, procure por essa opção).

E se estiver fazendo isso em mais de um servidor, considere controlar o sudo por LDAP.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Barreto_

Obrigado pela resposta, zekkerj.

Infelizmente não funcionou. A opção mail_no_perms não reporta e-mails porque, no meu caso, os usuários têm permissão de executar qualquer comando com o ALL=(ALL:ALL) ALL. Eu queria que ele ignorasse essa linha quando fosse mandar e-mails e só reportasse se não tivesse especificado o comando explicitamente. :-\

zekkerj

Mas vc concorda que se o usuário tem a pemissão de executar "ALL=(ALL:ALL) ALL", ele nunca vai ter acesso negado pra executar um comando? Assim não é mesmo pra enviar mensagem nunca. Vc só começaria a receber mensagens daqueles usuários de quem vc tirasse essa permissão total.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

zekkerj

Posso te dar uma sugestão? Grupos de Administradores. Levante quais são as funções de cada administrador, divida-os em grupos. Daí vc cadastra os comandos permitidos pra cada grupo, e depois associa os usuários com os grupos.
Se alguém ficar sem permissão em um ou outro comando, vc completa com uma permissão isolada.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Barreto_

Citação de: zekkerj online 28 de Janeiro de 2016, 14:05
Mas vc concorda que se o usuário tem a pemissão de executar "ALL=(ALL:ALL) ALL", ele nunca vai ter acesso negado pra executar um comando? [...]
Sim sim. O que eu quero é justamente receber e-mails de executáveis que eu não especifiquei no sudoers e ainda dando permissões totais para os administradores.

Citação de: zekkerj online 28 de Janeiro de 2016, 14:06
Posso te dar uma sugestão? Grupos de Administradores. Levante quais são as funções de cada administrador, divida-os em grupos. Daí vc cadastra os comandos permitidos pra cada grupo, e depois associa os usuários com os grupos.
Se alguém ficar sem permissão em um ou outro comando, vc completa com uma permissão isolada.
Esse é meu objetivo final. Infelizmente, pela quantidade de serviços que administramos, é muito difícil catalogar os executáveis necessários para cada um deles. Eu quero fazer essa transição o mais suave possível. Receber e-mails para cada comando que eu ainda não especifiquei no sudoers me ajudaria a avaliar cada um com calma, sem interromper o serviço de ninguém. Infelizmente, o que eu quero, parece não ser possível :-\

Mais uma vez, obrigado pela ajuda zekkerj.

zekkerj

CitarSim sim. O que eu quero é justamente receber e-mails de executáveis que eu não especifiquei no sudoers e ainda dando permissões totais para os administradores.
Mas não tem como fazer isso, Barreto. Quando vc dá permissão total, todos os executáveis são permitidos. Ele nunca te enviará emails, pois sempre vai permitir o acesso.

Crie os grupos, defina o perfil de cada grupo, liste os comandos que cada um pode executar. Escolha uma ou duas cobaias, mova-os pros grupos desejados, e depure isso. Daí é só fazer a sintonia fina.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Barreto_

Citação de: zekkerj online 28 de Janeiro de 2016, 17:33
Mas não tem como fazer isso, Barreto. Quando vc dá permissão total, todos os executáveis são permitidos. Ele nunca te enviará emails, pois sempre vai permitir o acesso.
Crie os grupos, defina o perfil de cada grupo, liste os comandos que cada um pode executar. Escolha uma ou duas cobaias, mova-os pros grupos desejados, e depure isso. Daí é só fazer a sintonia fina.

Eu estava buscando algo entre o mail_always e o mail_no_perms mas realmente não é algo que o sudo pode me oferecer. Terei que fazer algo semelhante ao que você sugeriu.

Muitíssimo obrigado, zekkerj!