Isso torna o sudo mais seguro ao indexar todos os comandos por suas somas de verificação SHA-2?

1

Estou me perguntando se a segurança do sistema aumenta substancialmente quando eu gero uma política de segurança, ou seja, sudoers arquivo que contém uma ou mais Cmnd_Alias definições que enumeram todos arquivos executáveis prefixados por seus SHA -2 checksums sob diretórios como /usr/bin , /usr/sbin etc.

Ao atualizar o sistema com pacotes de uma fonte confiável, eu então regenerei a política de segurança.

Alguma ideia de se essa é uma ideia boa ou ruim?

    
por Tim Friske 24.05.2016 / 21:10

3 respostas

3

Parece uma grande dor para mim. Eu não acho que você esteja realmente ganhando qualquer coisa em segurança, pois esses (a) só podem ser escritos como root, então é provável que o jogo acabe se alguém puder escrever para eles; (b) provavelmente carregar um monte de bibliotecas compartilhadas, que não estão sendo verificadas.

A página do sudoers diz que a opção "pode ser útil em situações em que o usuário que invoca o sudo tem acesso de gravação ao comando ou ao seu diretório pai". Não tenho certeza de quem pensou que a configuração seria uma boa ideia, ou quanto ao fato de sudo fazer uma soma de verificação antes de executar sem uma condição de corrida.

Sugiro pesquisar um IDS baseado em host (por exemplo, samhain, tripwire, ...). Eles tentarão detectar e reportar rapidamente qualquer adulteração nos binários do sistema (incluindo bibliotecas compartilhadas), independentemente de alguém estar tentando sudo.

    
por 24.05.2016 / 21:21
1

Se você permitir a execução de quase qualquer binário nos diretórios binários do sistema, com argumentos arbitrários, você quase certamente terá permitido o acesso arbitrário. Entre outras coisas, se você permitir executar um editor com argumentos arbitrários, ou mv , ou um shell como bash , ou um gerenciador de pacotes como dpkg , ou qualquer programa que suporte gravação de dados em arquivos, alguém poderia facilmente use isso para se tornar o usuário para o qual você permite sudo . Os comandos da lista negra também não funcionarão; existem muitas maneiras diferentes de transformar a execução de um comando em escalonamento de privilégios.

Com o sudo, você deve permitir um conjunto limitado de comandos específicos (com argumentos específicos) ou permitir todos os comandos.

Se você quiser detectar modificações nos arquivos do sistema, você deve usar outro mecanismo para isso. Se alguém tiver acesso suficiente para modificar os binários do sistema, provavelmente terá acesso suficiente para alterar o arquivo sudoers também.

    
por 25.05.2016 / 22:11
0

A outra resposta cobre o incômodo, eu só quero ressaltar que a segurança do conteúdo do arquivo sudoers também precisa considerar o que as somas de verificação não protegerão contra ...

Digamos que você tenha o seguinte no arquivo sudoers e deseje apenas que usuários priv baixos usem o binário do apache (eu não forneci um exemplo de soma de verificação do sha-2, pois isso vai complicar o ponto que estou tentando fazer)

Cmnd_Alias HTTPD = /etc/sbin/httpd
low_priv_user ALL=(ALL) NOPASSWD: HTTPD

Dê uma olhada no log de erros se o usuário com poucos privilégios tentou

sudo /etc/sbin/httpd -t /etc/shadow
Portanto, sim, as somas de verificação indexadas nos binários e uma maneira de gerenciar poderiam, em teoria, melhorar a segurança se feitas corretamente, embora eu suspeite que a disponibilidade de comandos (uma das três fundações de segurança) estaria mais em risco. Você ainda precisa proteger / proteger outras áreas do host.

Eu acho que tudo depende de quanto os ativos que você está protegendo valem contra a sobrecarga de gerenciamento e a redução de risco que os binários somados dão.

    
por 25.05.2016 / 19:15