Aumentando a segurança com "Role Separation"
Antes, uma observação, não confundir role separation com roles.
Role Separation é uma configuração de segurança no nível de Instancia.
Roles são "profiles" de permissões aos objetos do banco de dados.
Role Separation é separação a nível de grupos de usuários no sistema operacional para cada responsabilidade no sistema. Não permitindo assim que um usuário X possa realizar tarefas do usuário Y.
- É preciso ter conhecimento dos seguintes "papéis":
- OSA : Operation System Administrator
- DBSA : Database Server Administrator.
Tunna e administra o banco (DDL) - DBSSO : Database Server Security Officer
Define as regras "roles" e mascaras "masks" do que será auditado. - AAO : Audit Analysis Officer
Papel que realiza a auditoria baseado nas regras e mascaras definida pelo dbsso. Também é quem decide quando iniciar ou para o processo (onaudit) de auditoria. - USER : Usuários do banco
- O usuário "informix" não tem limitações, ele pertence a todos os grupos
- O usuário AAO audita a todos, incluindo os DBSA, DBSSO (inclusive alterações de regras e mascaras efetuadas com o onaudit.
- Responsabilidades de cada usuário ( copiado do manual Security Guide IDS 11.10 pagina 110).
- Specify events to audit in the default, user, and global audit masks (DBSSO)
- Specify how the database server should behave if an auditing error occurs when an audit record is written (AAO)
- Determine the desired level of auditing (AAO)
- Turn on auditing (AAO)
- Specify the directory where audit files are located (AAO)
- Para utilizar o Role Separation é preciso criar os grupos de usuário no sistema operacional para cada regra.
- UNIX: Quando ativo o Role Separation, para identificar qual o grupo de cada regra basta verificar o owner (group id) dos diretórios:
AAO : $INFORMIXDIR/aaodir
DBSSO : $INFORMIXDIR/dbssodir
DBSA : $INFORMIXDIR/etc
USER : - (ver abaixo)
WINDOWS: Verificar registros - O usuário Informix sempre será DBSA, independente do grupo configurado no $INFORMIXDIR/etc
- Para os usuários que acessam o BD o controle é feito através do arquivo $INFORMIXDIR/dbssodir/seccfg. Onde é definido a opção IXUSERS=* para todos os usuários ou IXUSERS=grupo_xyz para apenas os usuários do grupo_xyz
- Para habilitar o Role Separation
UNIX: No momento da instalação do IDS ou alterando os owners(gid) dos diretórios aaodir, dbssodir, etc.
WINDOWS: Apenas no momento da instalação do IDS. - Para desabilitar o Role Separation
UNIX: Basta voltar o owner do diretórios para "informix" - Quando Role Separation for ativo e o grupo DBSA for configurado para algo != informix
- Arquivo ONCONFIG *tem* que ter seu group id = DBSA group deve/pode ter permissão de gravação para o grupo (DBSA) não pode ter permissão de gravação para "other group"
- Arquivo SQLHOSTS *pode* ter seu group id = DBSA group não pode ter permissão de gravação para "other group"
- BUGs:
- v11.50 Quando especificado o grupo do usuário no seccfg IXUSERS, os usuários conseguem acessar localmente, porém via TCP apartir de uma maquina windows, não deu permissão de acesso.
- Ao definir o grupo de usuários no arquivo $INFORMIXDIR/dbssodir/seccfg o usuário informix perde acesso ao banco pois não faz parte do grupo do usuário, impendindo assim de acessar tabelas de SMI e qualquer banco. Para resolver a situação basta adiciona-lo no grupo dos usuários e o acesso é liberado imediatamente.
- 206 leituras
Tags:





Comentar