Como posso evitar que um sudoer altere a chave mestra do LUKS?

0

Há um cenário que me preocupa e não tenho certeza se é possível arquivar. Eu tenho uma máquina com esta configuração:

  • Uma partição do sistema principal com código LUKS.
  • Um usuário com acesso sudo (adicionado à lista de sudoers).
  • O sudoer não pode logar como root (já que ele não sabe a senha), também - não pode fazer "sudo su".
  • Eu consegui, como sysadmin, acesso root.

A pergunta é: posso evitar ou negar de alguma forma que o usuário sudoer altere a chave mestre LUKS?

Eu posso negar a ele que execute o dm-setup ou o cryptsetup, mas ele sempre pode mover e renomear os arquivos, ou pode fazer o download de alguma biblioteca e programar um aplicativo para alterar o MK. Eu não sei se há algo para impedi-lo de executar uma ação linux do nível do kernel, com o qual as interfaces dm-setup / cryptsetup.

Então, se eu der acesso ao sudoer a um usuário, existe alguma maneira de manter a chave mestre LUKS inalterada?

    
por Sidi H'bibi 02.03.2017 / 07:41

2 respostas

4

Você está desenhando uma falsa dicotomia entre "fazer login como root" e "ter acesso ao sudo". Estes não devem ser pensados como coisas tão diferentes. Se você não confia em seus usuários com acesso root, não os deixe usar o sudo! Bloquear apenas o comando sudo su é um absurdo, existe um sudo -s para obter um shell de root ou você pode sudo bash . Ou há milhões de outras maneiras.

Basicamente você não pode criar uma lista negra de coisas que usuários do sudo não podem fazer. Você irá falhar, pois não foi feito para funcionar dessa maneira. Uma vez que você tenha acesso a um punhado de coisas como PID 1, o sistema é seu.

O que você pode fazer é colocar na lista de permissões processos específicos. Certifique-se de que esses processos não sejam também graváveis pelo usuário e certifique-se de que eles não aceitam entradas ou argumentos do usuário de uma maneira que permita a execução arbitrária de comandos. Cuidado com muitas ferramentas comuns unix permitem comandos arbitrários de uma forma ou de outra. Um bom método, se eles precisam apenas de acesso sudo para fazer uma tarefa, é criar um script wrapper que faça exatamente essa tarefa e não aceite argumentos e permita que o usuário execute esse script como root.

    
por 02.03.2017 / 08:08
0

Se por chave mestra você indicar a chave usada para criptografar conteúdo, isso não pode ser alterado sem reescrever o contêiner LUKS: desbloquear para acessar dados, dados de backup, recriar o contêiner LUKS e restaurar a partir do backup.

Se o que você quer dizer com chave mestra é simplesmente um dos senhas usadas para desbloquear o contêiner LUKS, então sim, elas podem ser alteradas, mas você precisa conhecer primeiro uma senha existente.

Em suma, se você não quiser que o outro usuário consiga mexer nas chaves LUKS, não diga a ele a senha. Você não precisa fazer nada com o sudo. E, claro, faça um backup fora do site do cabeçalho LUKS para que você possa restaurá-lo se ele for corrompido ou adulterado.

    
por 10.04.2017 / 01:41