Quais são as implicações do uso allow.sysvipc em uma prisão de segurança FreeBSD

3

A página man para jail diz que allow.sysvipc permite que "primitivas do System V [para] compartilhem um único namespace nos ambientes host e jail ..." assim "... os processos dentro de uma prisão seriam capazes de comunicar-se com ... processos fora da prisão e em outras prisões ".

Quais são as implicações práticas de segurança disso? A interpretação mais extremaria implicaria que, ao usar esta opção, há pouca segurança efetiva dentro de toda a infra-estrutura da cadeia. (Se os processos podem interferir e se comunicar com outros processos no host e outras cadeias, então por que se preocupar com a cadeia?)

    
por gvkv 10.07.2010 / 10:38

1 resposta

1

Assim, a interpretação extrema é correta . Permitindo sysvipc " ... derrota [s] todo o propósito de ter uma cadeia; usuários privilegiados da cadeia poderiam afetar processos fora do ambiente preso. "

ATUALIZAÇÃO 3 de agosto de 2010: Depois de uma pesquisa fortuita, consegui detalhar alguns detalhes. O problema decorre do fato de que as permissões de processo são baseadas em UIDs (observe que isso significa o número, não o identificador de string). Assim, mesmo que os espaços de usuário para o host e a cadeia sejam mutuamente separados, essa divisão não é revestida de ferro e, dado que a raiz tem um UID de 0, obtemos a citação acima. Algumas opções para minimizar o risco:

  1. Garanta que todos os usuários em todo o sistema (host e jaulas) tenham UIDs diferentes
  2. Desabilite o login da raiz para as prisões (não ajudará com os processos executados como root para que os truques sudo, mas alguns sejam melhores que nenhum.)
por 10.07.2010 / 11:27