Infosphere Guardium: Restringindo acesso a dados sensíveis

O Infosphere Guardium é uma plataforma integrada que possibilita definir, integrar, proteger e gerenciar informações confiáveis por entre os sistemas. Este artigo demostra como podemos utilizar as funcionalidades S-TAP e S-GATE do Infosphere Guardium para restringir o acesso a dados sensíveis em bancos de dados relacionais, criando controles de segurança e evitando que estes dados sejam utilizados por usuários privilegiados para outros fins que não os do objeto de negócio.

Infosphere Guardium: Restringindo acesso a dados sensíveis com S-TAP e S-GATE

Usuários com privilégios, como DBA's e outros com perfil de administrador de banco de dados, geralmente têm acesso a todos os dados contidos no banco de dados em questão, ou seja, um usuário com privilégios pode acessar dados que não dizem respeito ao seu trabalho e utilizar estas informações da maneira que bem entender.

Outra necessidade, deve-se à regulação de normas como PCI, SOX, dentre outras, que exigem que certos tipos de dados sejam protegidos.

Com o Infosphere Guardium é possível restringir o acesso de usuários a informações não inerentes ao seu objeto de negócio, terminando a conexão assim que uma excessão seja detectada. Para tal, utilizamos o agente S-TAP com o S-GATE configurado.


Entendendo o S-TAP e S-GATE

O S-TAP é um agente instalado nos servidores de bancos de dados que intercepta os dados de atividade do banco na camada do sistema operacional e envia as informações ao appliance do Infosphere Guardium, que interpreta a atividade de acordo com as políticas estabelecidas.

Nele são configurados parâmetros que dizem qual é o appliance que vai coletar as informações de atividade do banco de dados ou dos bancos de dados, caso exista mais que um no servidor.

O tipo de S-TAP a ser instalado difere de acordo com o sistema operacional e versão, ou seja, não existe um S-TAP para DB2, outro para Oracle, mas sim S-TAP para Windows, outro para Unix, Linux, etc.

O S-TAP não requer mudanças na configuração do banco de dados e não compromete o desempenho do servidor que está monitorando.

A Figura 1 ilustra a arquitetura do S-TAP.

O S-GATE é um componente do S-TAP e funciona como um firewall para bancos de dados. Ele permite que a conexão seja terminada a partir de uma condição que obedeça a política estabelecida no appliance.

Para que o S-GATE funcione corretamente é necessário que o S-TAP esteja configurado com a propriedade firewall_installed=1.

A propriedade firewall_default_state no S-TAP determina se tudo passará pelo firewall (valor=1) ou se será necessário fazer o attach de acordo com a condição (valor=0).

Exemplos de caso de uso com o S-GATE:

  • Bloquear o DBA de acessar uma tabela com números de cartão de crédito;
  • Bloquear acesso não autorizado à tabelas de um determinado sistema ERP;
  • Terminar a conexão em caso de acesso à números de CPF ou CNPJ;
  • Terminar a conexão em caso de tentativa de alteração estrutural do banco de dados.

Figura 1. Arquitetura S-TAP.


Políticas de segurança

Para entender o funcionamento da monitoração feita pelo Infosphere Guardium, bem como o S-TAP, devemos entender como funcionam as políticas de segurança.

As políticas são um conjunto de regras configuradas no appliance através de sua interface. São nas políticas de segurança que definimos:

  • O que monitorar
  • Quem monitorar
  • Que ação tomar

As regras ou rules, podem ser classificadas como:

  • Access Rules: Se aplicam à requisições do cliente;
  • Extrusion Rules: Se aplicam ao que é retornado pelo banco de dados a partir de uma consulta;
  • Exception Rules: Se aplicam à excessões retornadas pelo servidor.

Cada regra dentro da política de segurança é definida de acordo com uma ação condicional, por exemplo: cria-se uma regra que verifica somente a atividade de um determinado endereço IP, usuário ou banco de dados. A partir da condição verdadeira da regra anterior, uma ação é tomada. As ações podem ser ignorar o acesso, gerar log, terminar a conexão do usuário, entre outras.


Por onde começar?

Agora que já abordamos a arquitetura do S-TAP, seu funcionamento e as políticas de segurança já temos um caminho para começar a monitoração e posterior restrição a dados sensíveis com o Infosphere Guardium.

  • Defina qual servidor de banco de dados irá monitorar;
  • dentifique quais serão os usuários que serão monitorados;
  • Crie uma política de segurança que monitore o ambiente de banco de dados escolhido e tome ações de acordo com a atividade monitorada, como será visto no próximo tópico.

Criando políticas de segurança

Em nosso exemplo, criaremos uma política que restringe acesso do DBA ou usuário com privilégios à tabelas do banco de dados que contenham informações de cartão de crédito. Conforme podemos ver na Figura 2, para criar a política de segurança deve-se entrar em Protect → Security Policies → Create a New Policy With no Baseline.

Em nosso exemplo, a configuração do S-TAP está com firewall_installed=1 e firewall_default_state=1. Para verificar ou alterar estas as configurações deve-se editar o arquivo guard_tap.ini que que se encontra no local onde o agente S-TAP foi instalado no servidor que será monitorado.

Como iremos monitorar o acesso a um determinado objeto, devemos criar uma Access Rule. Na Figura 3, é possível observar que qualquer tabela que termine com a palavra CREDITCARD será auditada e somente os usuários da aplicação denominados APPUSER poderão acessar esta tabela, caso contrário a conexão é terminada (S-GATE TERMINATE).

Figura 2. Política de Segurança.

Figura 3. Política de Segurança.

Clique aqui paar vizualizar a Figura 3 em tamanho maior.

O resultado da criação e instalação desta política pode ser verificado na Figura 4. O usuário conectou-se como DBA e tentou executar um select na tabela CREDITCARD e sua conexão foi terminada.

Figura 4. Conexão como DBA.

Caso o objetivo da política de segurança fosse terminar a conexão do usuário que não petence ao grupo de usuários autorizados quando este obtivesse através de alguma consulta SQL o número de CPF's a regra a ser criada dentro da política seria uma Extrusion Rule, pois agiria de acordo com o resultado retornado pela consulta e não pelo acesso a algum objeto. Podemos observar a criação desta regra na Figura 5.

Figura 5. Extrusion Rule.

Clique aqui paar vizualizar a Figura 5 em tamanho maior.

Ainda na Figura 5, podemos observar o Data Pattern que é o resultado esperado pela consulta SQL que torna a condição da política verdadeira. Este Data Pattern possui a expressão regular: [0-9]{3}.[0-9]{3}.[0-9]{3}-[0-9]{2} que determina um número formado por três algarismos de 0 a 9, ponto, mais três algarismos de 0 a 9, ponto, mais três algarismos de 0 a 9, traço, mais dois algarismos de 0 a 9. Esta string caracteriza o formato de um número de CPF. Para validar o Data Pattern pode-se utilizar o botão RE ao lado do campo Data Pattern. Será apresentada uma nova janela com a opção de testar e validar a string, conforme podemos ver na Figura 6.

Figura 6. Data Pattern.

Clique aqui paar vizualizar a Figura 6 em tamanho maior.


Tratando Excessões

O Infosphere Guardium possui a capacidade de identificar excessões em bancos de dados. Um exemplo pode ser um número elevado de tentativas mal sucedidas de login, o que pode representar uma tentativa de obtenção de senha.

Em nosso exemplo, tratamos as tentativas de login mal sucedidas com uma Exception Rule que foi criada dentro de uma política de segurança.

A ação tomada diante desta ameaça é colocar o uauário em quarentena de sessenta minutos.

Veja na Figura 7 como fica a confiuração desta regra.

A Figura 11 ilustra a tela de criação das tabelas.

Figura 7. Exception Rule.

Clique aqui paar vizualizar a Figura 7 em tamanho maior.


Conclusão

Este artigo abordou algumas formas de proteger os dados sensíveis em um ambiente de bancos de dados utilizando o Infosphere Guardium juntamente com seu agente S-TAP com S-GATE configurado. Existem diversas outras maneiras de se criar políticas de segurança e regras de acesso, regras baseadas no retorno de dados de uma consulta e excessão (Access, Extrusion e Exception) que não foram abordadas neste artigo, contudo, as regras apresentadas possuem um grande valor, já que se tratam de regras básicas e podem ser aplicadas a diversos tipos de dados e diversos tipos de ambientes. Na elaboração deste artigo utilizamos o appliance do Infosphere Guardium versão 8.01 e o agente S-TAP versão 8.01 instalado em servidor Windows 2003 R2.


Recursos

Outras informações sobre o produto Infosphere Guardium podem ser encontradas em:
http://www-01.ibm.com/software/data/guardium/

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Information Management
ArticleID=829188
ArticleTitle=Infosphere Guardium: Restringindo acesso a dados sensíveis
publish-date=08072012