segurança

Aumentando a segurança com LBAC - Label Based Access Control

LBAC é um modo de controle de acesso. Ele não encripta dados, apenas faz o controle de permissões.

É um recurso de segurança baseado no modo MAC - Mandatory Access Control, que utiliza rótulos para definir níveis de segurança. Neste modo de trabalhar é possível definir hierarquias de acesso onde o usuário terá acesso apenas ao dado que esteja subordinada a sua credencial/hierarquia, salvo as exceções definidas.

Capturando senha de usuários

Quando utilizado a conexão padrão via protocolo SOCKET TCP todos os dados trafegados na rede são "texto puro" , inclusive a senha do usuário logado no banco de dados.

Para demonstrar , com o banco de dados sendo executado em uma maquina na mesma rede que o meu desktop, executei na mesma maquina do banco de dados o comando do linux tcpdump -nAs0 -i eth1 'port 2010' para capturar tod

Tags:

Cuidados a tomar para contas de usuários no sistema operacional do banco de dados

Ambientes Unix/Linux


Usuários com passwd travados = LK :
  • Possuem acesso ao banco quando estão na lista de trusted /etc/hosts.equiv
  • Possuem acesso direto com ssh (authorized_keys) a shell do SO
  • Não conseguem acesso ao banco utilizando o sql CONNECT
Usuário que possui shell padrão apontada para "false" ou "nologin" , não afeta o banco de dados.

Quais são as configurações de rede trusted ( confiavel ) possíveis?

ATENÇÃO: As configurações de trusted são todas a nivel de sistema operacional , portanto elas tem efeitos sobre outras aplicações como telnet/rsh,rcp,rlogin , etc.

É possivel colocar um banco de dados em Read-Only ?

Infelizmente não. E se você já pensou em tentar enganar o Informix tentando força-lo a pensar que a instancia é o servidor secundário de um HDR, não perca tempo que não é possível (já tentei).

Este recurso é muito solicitado a IBM e não sei porque até hoje não foi atendida.

Para contornar a situação a solução é acerta os GRANTs de todos os usuários.

Quais informações um usuário tem acesso através do onstat ?

Todos os parâmetros do onstat que estão relacionados a sessões de outros usuários são bloqueados e para ter acesso é necessário que o usuário seja um DBSA ( participante do grupo informix ou do grupo DBSA definido através o Role Separation ) .

[code]
# Alguns comandos bloqueados a usuários comuns
onstat -g his # Historico dos SQL
onstat -g env # Variáveis de ambiente das co

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.

Auditoria no Informix

A auditoria no Informix não era um ponto forte quando utilizado sua ferramenta nativa, pois não gera muitas informações uteis ou detalhadas suficiente para rastreamento e sim apenas informações do que ocorreu. Para ter uma auditoria mais completa é necessário complementar com o recurso de SQLTRACE e auditorias a nível de sistema operacional, rede e da própria aplicação em si.

Quais os cuidados a ter quando trabalhar com GRANT / REVOKE / ROLE

  • Para remover a permissão de DBA ou RESOURCE de um usuário basta executar um REVOKE, porém este revoke irá sempre colocar a permissão do usuário em CONNECT, sendo que se o desejo for tirar o acesso total do usuário é necessário remover om CONNECT também:
        GRANT DBA TO cesar;
        REVOKE DBA TO cesar;
        REVOKE CONNECT TO cesar;
    

  • Quando o banco é criado em modo NÃ