FreeBSD Handbook/Administração/MAC/Módulo Multi-Level


FreeBSD Handbook
Anterior Capítulo 16. Mandatory Access Control Próxima


16.11 O Módulo Multi-Level Security do MAC

Nome do módulo: mac_mls.ko

Linha para configuração do kernel: options MAC_MLS

Opção para carga no boot: mac_mls_load="YES"

A política mac_mls(4) controla o acesso entre sujeitos e objetos no sistema forçando uma rigorosa política de fluxo de informações.

Em ambientes com MLS é criado um nível "livre" em cada rótulo de sujeito ou objeto em conjunto com os compartimentos. Como estes níveis livres podem atingir números maiores que seis mil, seria uma tarefa assustadora para qualquer administrador configurar completamente cada sujeito ou objeto. Ainda bem que três rótulos "instantâneos" já são colocados nesta política.

Estes rótulos são mls/low, mls/equal e mls/high. Já que estes rótulos são profundamente descritos nas páginas de manual, eles serão apenas rapidamente apresentados aqui:

  • O rótulo mls/low contém uma configuração fraca que permite que ele seja dominado por todos os outros objetos. Qualquer coisa rotulada com mls/low terá um nível de liberdade baixo e não terá permissão de acesso à informações de níveis mais altos. Adicionalmente este rótulo prevenirá que objetos de um nível mais alto escrevam ou passem informações para eles.
  • O rótulo mls/equal deve ser usado em objetos a serem excluídos desta política.
  • O rótulo mls/high é o de maior nível possível. Objetos com este rótulo terão dominância sobre todos os outros objetos no sistema, contudo não permitirão que informações escapem para objetos de níveis mais baixos.

O MLS oferece:

  • Um nível de segurança hierárquico com um conjunto de categorias não hierárquicas
  • Regras fixas: sem leitura acima, sem escrita abaixo (um sujeito pode ter acesso de escrita a objetos em seu nível ou abaixo, mas não acima. Da mesma forma um sujeito pode ter acesso de escrita a objetos em seu nível ou acima, mas não abaixo.)
  • Confidencialidade (prevenindo a revelação indevida de dados)
  • Base para o planejamento de sistemas que lidam concorrentemente com dados em múltiplos níveis (sem deixar escapar informações secretas e confidenciais)

Os seguintes ajustes do sysctl estão disponíveis para a configuração de serviços especiais e interfaces:

  • security.mac.mls.enabled é utilizado para habilitar ou desabilitar a política MLS.
  • security.mac.mls.ptys_equal rotulará todos os dispositivos pty(4) como mls/equal durante a criação.
  • security.mac.mls.revocation_enabled é usado para revogar acesso a objetos depois que seus rótulos mudarem para um rótulo mais fraco.
  • security.mac.mls.max_compartments é usado para definir o número máximo de níveis de compartimento com objetos. Basicamente é o número máximo de compartimentos permitidos num sistema.

Para manipular os rótulos MLS está disponível o comando setfmac(8). Para definir um rótulo a um objeto dê o seguinte comando:

 # setfmac mls/5 test

Para obter o rótulo MLS do arquivo teste use o seguinte comando:

 # getfmac test

Este é um resumo das possibilidades da política MLS. Uma outra maneira de trabalhar seria criar um arquivo central de políticas no /etc que especificasse as informações da política MLS e este arquivo seria carregado via comando setfmac. Este método depois que todas as políticas forem vistas.

16.11.1 Planejando a Sensibilidade do Mecanismo

Com o módulo de política Multi-Level o administrador pode planejar o controle de fluxo da informação confidencial. Por padrão, com sua natureza de bloquear leitura acima e escrita abaixo, o sistema coloca tudo num nível mais baixo. Tudo fica acessível e o administrador muda aos poucos o estado das coisas, aumentando a confidencialidade das informações.

Além das 3 opções básicas de rótulo acima, o administrador pode agrupar usuários e grupos conforme requerido para bloquear o fluxo da informação entre eles. Deve ser mais fácil ver a informação em níveis distintos com palavras familiares, como classificados em Confidencial, Secreto e Super Secreto. Alguns administradores podem criar grupos diferentes baseados em níveis de projetos. Não obstante o método de classificação, um plano bem pensado deve existir antes de se implementar uma política restritiva como esta.

Algumas situações que exemplificam este módulo poderiam ser um servidor web usado num e-commerce, um servidor de arquivos que guarda informações críticas da companhia ou ambientes de instituições financeiras. O lugar mais inusitado para usá-lo seria um computador pessoal com apenas dois ou três usuários.



Anterior Índice Próxima
O Módulo partition do MAC Topo O Módulo Biba do MAC
Última edição desta página: 31/08/2010 (20100831124447)