FreeBSD Handbook/Administração/MAC/Módulo bsdextended


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


16.7 O Módulo bsdextended do MAC

Nome do módulo: mac_bsdextended.ko

Linha para configuração do kernel: options MAC_BSDEXTENDED

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

O módulo mac_bsdextended(4) ativa um firewall no sistema de arquivos. A política deste módulo fornece uma extensão ao modelo de permissões padrão do sistema de arquivos. Ela permite que o administrador crie um conjunto de regras como num firewall para proteger arquivos, utilitários e diretórios na hierarquia do disco. Quando um acesso a um objeto do sistema de arquivos é solicitado a lista de regras é verificada até que uma regra que bata com a solicitação seja encontrada ou que as regras cheguem ao fim. Este comportamento pode ser alterado por uma opção do sysctl(8), a security.mac.bsdextended.firstmatch_enabled. De maneira similar a outros módulos de firewall do FreeBSD, um arquivo de regras de controle de acesso pode ser criado e apontado por uma variável pelo rc.conf(5) para ser lido no boot.

A lista de regras deve ser carregada com o utilitário ugidfw(8), que tem sintaxe semelhante a do ipfw(8). Mais ferramentas podem ser escritas usando as funções da biblioteca libugidfw(3).

Deve se tomar um cuidado extremo ao se trabalhar com este módulo. O uso incorreto pode bloquear acessos a certas partes do sistema de arquivos.

16.7.1 Exemplos

Depois que o módulo mac_bsdextended(4) foi carregado, o seguinte comando pode ser usado para listar a configuração atual de regras:

 # ugidfw list
 0 slots, 0 rules

Como esperado, não há regras definidas. Isso significa que tudo ainda está completamente acessível. Para criar uma regra que bloqueará todo o acesso a usuários mas não afetará o root, simplesmente use o seguinte comando:

 # ugidfw add subject not uid root new object not uid root mode n

Nota: Em versões anteriores ao FreeBSD 5.3 o parâmetro add não existe. Nestes casos o set deve ser usado. Veja um comando exemplificado abaixo.

Isso é uma péssima idéia, já que bloqueará a mais simples execução de comandos a todos os usuários, como um simples ls. Uma lista de regras mais razoável seria:

 # ugidfw set 2 subject uid user1 object uid user2 mode n
 # ugidfw set 3 subject uid user1 object gid user2 mode n

Isso irá bloquear todo e qualquer acesso, incluindo listagens de diretórios, ao diretório do user2 pelo usuário de nome user1.

Ao invés de user1 poderia ter sido passado not uid user2, o que implicaria nas mesmas restrições de acesso acima para todos os usuários que não o user2, ao invés de apenas um.

Nota: O usuário root não seria afetado por estas mudanças.

Isso deve dar uma idéia geral de como o módulo mac_bsdextended(4) pode ser usado para ajudar a fortalecer um sistema de arquivos. Para mais informações veja as páginas de manual mac_bsdextended(4) e ugidfw(8).



Anterior Índice Próxima
Planejando a Configuração de Segurança Topo O Módulo ifoff do MAC
Última edição desta página: 31/08/2010 (20100831124429)