Por que o 'nethogs' não é instalado com o conjunto de bits setuid?

3

Estou usando nethogs há algum tempo, tendo que usar sudo a cada vez, enquanto ping tem o bit setuid definido. Hoje eu configuro para nethogs e funciona:

$ ls -l $(which nethogs) $(which ping)
-rwxr-xr-x 1 root root  64496 Nov  2  2011 /usr/sbin/nethogs
-rwsr-xr-x 1 root root 44168 May  7 17:21 /bin/ping

$ sudo chmod u+s  $(which nethogs)

$ ls -l $(which nethogs)
-rwsr-xr-x 1 root root 64496 Nov  2  2011 /usr/sbin/nethogs

$ nethogs

Você consegue pensar em algum motivo para não instalá-lo por padrão assim?

    
por arielCo 04.07.2014 / 06:44

1 resposta

6

ping é setuid porque, embora bastante "seguro", requer a capacidade de abrir sockets não processados. Consequentemente, precisa do recurso CAP_NET_RAW ou ser root.

nethogs é diferente por alguns motivos: notavelmente, ele não apenas requer acesso privilegiado à pilha de rede, mas também mostra informações sobre outros usuários. Em um sistema multiusuário, você pode não querer que apenas um usuário possa ver quem está usando o quê.

Outra razão é que nethogs é um programa bastante complicado. Os programas que executam o setuid precisam ser extra-seguros : um estouro de buffer, por exemplo, pode levar à elevação arbitrária de privilégios. O ping toma bastante cuidado para ser seguro, e até detecta quem o está realmente executando para se comportar de maneira diferente ( ping -f só funciona se você for realmente root, por exemplo). É mais fácil ter certeza sobre isso em um pequeno programa não interativo do que em uma ferramenta maior como nethogs .

Exigir que o usuário tenha acesso raiz já evita esse tipo de problema ou o delega a sudo . Não há nenhuma preocupação com a elevação de privilégio quando você já está root. Em geral, os programas não são feitos setuid-by-default a menos que seja vitalmente necessário para sua função, como passwd .

Dito isso, em um sistema de usuário único ou em um local em que você não está preocupado com esses problemas, configurá-lo para sua própria conveniência não é um problema significativo.

    
por 04.07.2014 / 07:23