Segurança e Auditoria de Big Data com o IBM InfoSphere Guardium

Monitore e audite o acesso em sistemas baseados em Hadoop

Neste artigo, você verá como o InfoSphere® Guardium® fornece recursos de monitoramento e auditoria da atividade do banco de dados que permitem a integração da proteção de dados do Hadoop à sua estratégia corporativa de segurança de dados. Você aprenderá a configurar o sistema e usar as políticas de segurança e relatórios do InfoSphere Guardium customizados especificamente para ambientes Hadoop, incluindo o IBM InfoSphere BigInsights, Cloudera, Hortonworks Data Platform e Greenplum Hadoop. Você também aprenderá sobre uma implementação de monitoramento de iniciação rápida disponível somente com o IBM InfoSphere BigInsights.

Este artigo foi atualizado para refletir as mudanças no suporte do InfoSphere Guardium para Hadoop da forma que é oferecido no V9.0 GPU 50, inclusive o suporte para Hortonworks Data Platform e Greenplum Hadoop, e os aprimoramentos ao suporte integrado do Guardium no InfoSphere BigInsights 2.1.

Sundari Voruganti, QA Specialist, IBM

Sundari Voruganti photoSundari Voruganti é membro da equipe de QA do InfoSphere Guardium no Laboratório da IBM no Vale do Silício. Sundari trabalha na IBM há mais de uma década e tem um histórico diversificado, baseado em funções de engenharia e capacitação de clientes. Apaixonada por tecnologia, ela aprecia o desafio de aprender e trabalhar com novas tecnologias e ajudar os clientes a entender e implementar soluções de IM. Sundari tem mestrado duplo em Ciência da Computação pela Universidade de Bangalore e pela Universidade de Alberta.



Kathy Zeidenstein, InfoSphere Guardium Evangelist, IBM

Author Photo: Kathy ZeidensteinKathy Zeidenstein trabalha na IBM há muitos anos. Atualmente, atua como divulgadora de tecnologia para a atividade de monitoramento de dados do InfoSphere Guardium e trabalha no Laboratório do Vale do Silício. Anteriormente, atuava como gerente de desenvolvimento de informações para as ferramentas de ciclo de vida de dados InfoSphere Optim. Desempenhou funções de capacitação técnica, gerenciamento de produtos e marketing de produtos nas organizações de Information Management e ECM da IBM.



01/Nov/2013

Visão geral

A "agitação" em torno do Big Data tem se concentrado na infraestrutura que suporta o volume extremo, velocidade, variedade e recursos analíticos em tempo real que a infraestrutura proporciona. Apesar de os ambientes de Big Data como o Hadoop serem relativamente novos, é fundamental resolver os problemas de segurança em ambientes de Big Data logo no início. Onde há dados, há o potencial de violação da privacidade dos dados, acesso não autorizado ou acesso inadequado por parte de usuários privilegiados.

Quais são as novidades do V9.0 GPU 50 para o Hadoop?

Na verdade, são muitas! Com esse GPU mais recente, InfoSphere Guardium ampliou seu suporte a mais sistemas baseados em Hadoop:

  • Hortonworks Data Platform 1.2
  • Greenplum HD 1.2

Essa correção também suporta releases mais recentes do InfoSphere BigInsights (2.1) e Cloudera Hadoop. Observe que o Guardium Proxy no BigInsights 2.1 e versões posteriores inclui suporte para o monitoramento de eventos de HBase. Para obter mais informações sobre o suporte do InfoSphere Guardium para essas plataformas, consulte a planilha de dados descrita na seção Recursos .

Os requisitos de conformidade devem ser cumpridos da mesma forma, tanto em ambientes de Big Data quanto em arquiteturas de gerenciamento de dados mais tradicionais; não há desculpas para enfraquecer a segurança de dados só porque a tecnologia é jovem e está em evolução. De fato, conforme os ambientes de Big Data ingerem mais dados, as organizações enfrentam riscos significativos e ameaças aos repositórios que contêm os dados.

Se você é responsável pela segurança de dados na sua organização, talvez tenha que responder perguntas como:

  • Quem está executando solicitações específicas de Big Data? Quais tarefas de Mapear/Reduzir estão executando? Estão tentando fazer o download de todos os dados sensíveis ou se trata de uma consulta de marketing normal para obter insight sobre os clientes?
  • Há um número excessivo de exceções de permissão do arquivo, talvez causado por um hacker que está tentando obter acesso por meio de algoritmos aos dados sensíveis?
  • Essas tarefas fazem parte de uma lista de programas autorizados que acessam os dados? Foi desenvolvido algum aplicativo novo cuja existência você desconhecia?

Você precisa ser capaz de integrar aplicativos de Big Data e análise em uma infraestrutura já existente de segurança de dados, em vez de depender de scripts e monitores "caseiros", que podem ser trabalhosos, suscetíveis a erros e sujeitos ao mau uso.

Este artigo mostra como o IBM InfoSphere Guardium V9, uma solução abrangente de monitoramento de atividade de dados e conformidade, pode ser ampliado para incluir o monitoramento de acesso e relatórios para o ecossistema Hadoop.

Embora este artigo abranja uma visão geral resumida do InfoSphere Guardium, não descreve como instalar e configurar o InfoSphere Guardium Collector. Mostrará como configurar o InfoSphere Guardium para monitorar a atividade suportada do Hadoop e enviá-la para o InfoSphere Guardium Collector para que os analistas de segurança emitam relatórios. Você verá exemplos de relatórios simples de instalar, incluídos para ajudar você a começar a usar o software rapidamente.

O InfoSphere Guardium em poucas palavras

A solução IBM InfoSphere Guardium monitora continuamente as transações do banco de dados por meio de sondas leves de software, como mostra a Figura 1.

Figura 1. Monitoramento da atividade de dados do InfoSphere Guardium

Essas sondas (chamadas S-TAPs, significando "escutas" de software) monitoram todas as transações de banco de dados, inclusive as de usuários privilegiados, no nível do kernel do sistema operacional sem precisar de logs de auditoria de banco de dados, garantindo a separação de obrigações. Além disso, as S-TAPs não requerem mudanças no banco de dados e em seus aplicativos.

As sondas encaminham as transações para um Coletor (um dispositivo) reforçado na rede, onde elas são comparadas com políticas definidas previamente para detectar violações. O sistema pode responder a diversas ações baseadas em políticas, inclusive a geração de um alerta.

O InfoSphere Guardium suporta uma ampla variedade de implementações para suportar infraestruturas muito grandes e distribuídas geograficamente. Já que esse artigo mostra o que o InfoSphere Guardium pode fazer de modo geral, consulte a seção Recursos para ver links para mais informações sobre os recursos do InfoSphere Guardium. Nem todos os recursos estão disponíveis para todas as fontes de dados.

Benefícios do uso do InfoSphere Guardium para monitorar o Hadoop

O uso do InfoSphere Guardium pode simplificar muito o seu caminho até o estado de preparação para a auditoria, fornecendo informações direcionadas e acionáveis. É possível imaginar que, se o seu plano atual de preparação do Hadoop para a auditoria é compactar os dados de log e torcer para nunca precisar deles, provavelmente você não poderá preencher muitos requisitos de auditoria somente sob o ponto de vista da pontualidade. Sem dúvida, a análise de perícia seria demorada e precisaria de scripts caseiros que consomem recursos que deveriam ser usados para gerar vantagens de negócios ligadas ao Hadoop.

O InfoSphere Guardium faz uma boa parte do trabalho pesado para você. Você define as políticas de segurança e a reação às violações de políticas. Os eventos de dados são gravados diretamente no coletor do InfoSphere Guardium, eliminando a possibilidade de que até mesmo os usuários privilegiados acessem esses dados e escondam seus rastros. Relatórios simples de instalar permitem começar o monitoramento do Hadoop rapidamente, e esses relatórios são customizados facilmente para se alinhar com os seus requisitos de auditoria.

O InfoSphere Guardium S-TAP foi projetado originalmente para funcionar com baixa sobrecarga — afinal de contas, o S-TAP também é usado para monitorar ambientes de banco de dados de produtos. Com o Hadoop, provavelmente você não terá uma sobrecarga superior a 3% — algo imperceptível para a maioria das cargas de trabalho do Hadoop.

Por fim, o InfoSphere Guardium fornece recursos de monitoramento para toda a pilha do Hadoop, desde a interface com o usuário até o armazenamento, com mostra a Figura 2.

Figura 2. Importância do monitoramento da atividade de dados em toda a pilha do Hadoop

Por que isso é importante? Embora uma boa parte da atividade no Hadoop se reduza a Mapear/Reduzir e HDFS, nesse nível, pode ser que você não consiga identificar o que um usuário de nível superior na pilha realmente estava tentando fazer ou quem era esse usuário. É semelhante a mostrar várias operações de E/S de segmentos de disco, e não a trilha de auditoria de um banco de dados. Portanto, ao fornecer monitoramento em diversos níveis, é mais provável que você entenda a atividade e seja capaz de auditar atividades que entram diretamente por pontos mais baixos na pilha.

Monitoramento da atividade do Hadoop

Os eventos que podem ser monitorados englobam:

  • Informações de sessão e dos usuários.
  • Operações de HDFS – Comandos (cat, tail, chmod, chown, expunge, etc.).
  • Tarefas de Mapear/Reduzir - Tarefa, operações, permissões.
  • Exceções, como falhas de autorização.
  • Consultas de Hive/HBase - Alterar, contar, criar, descartar, obter, listar, etc.

Os exemplos a seguir descrevem como alguns comandos simples do Hadoop são mostrados em relatórios do InfoSphere Guardium.

Terminologia

Se você é iniciante no InfoSphere Guardium, pode se surpreender com o uso ocasional da terminologia de banco de dados relacional nos relatórios e regras de política. Embora o SQL não seja usado para os dados do sistema de arquivos, o uso de uma terminologia comum permite que o Guardium forneça uma visualização da atividade em vários bancos de dados. É muito fácil customizar os cabeçalhos de coluna e o conteúdo dos relatórios de acordo com as suas preferências.

HBase: Isso é uma criação no HBase:

create ‘test_hbase’, ‘test_col’.

O InfoSphere Guardium mostrará o comando real que fluiu para o HBase, como mostra a Figure 3.

Figura 3. Relatório do HBase

HDFS: Isto é um comando -ls simples no Hadoop:

hadoop fs –ls

A Figura 4 é a saída de um relatório do InfoSphere Guardium.

Figura 4. Comando ls do HDFS

Pode-se ver que, nos mecanismos internos, ele foi dividido em dois comandos diferentes para obter a listagem e as informações de arquivo associadas.

Por trás desse monitoramento de atividades aparentemente simples, há uma infraestrutura eficiente e flexível para a configuração de políticas e para relatórios. Por exemplo: mais adiante neste artigo, você aprenderá a criar uma política que irá registrar um evento para alertar sempre que um usuário desconhecido acessar dados sensíveis. Também é possível criar um relatório de auditoria que ajuda a detectar quando aplicativos novos ou desconhecidos estão acessando dados do Hadoop.

Iniciação rápida do monitoramento de atividades para o IBM InfoSphere BigInsights

O IBM InfoSphere BigInsights inclui um recurso integrado chamado Guardium Proxy para ler e enviar mensagens de log para o InfoSphere Guardium, para análise e relatórios. Com a proxy, o BigInsights envia mensagens dos logs do Hadoop para o coletor do InfoSphere Guardium.

Estas são as vantagens do uso da proxy:

  • Fácil de colocar em operação. Não há necessidade de instalar S-TAPs ou configurar portas. Basta ativar a proxy no NameNode.
  • Já que a proxy usa dados de log do Apache como mensagens para enviar para o InfoSphere Guardium, o nível de ruído a ser filtrado das mensagens, como status e pulsação, é menor.
  • Não há um atraso do suporte do Guardium para novos releases do BigInsights que permita o aproveitamento das mudanças no protocolo de mensagens.

Limitações: já que o Hadoop não registra exceções em seus logs, não é possível enviar exceções para o InfoSphere Guardium. Se precisar de relatório de exceções, você terá que implementar um S-TAP. Além disso, não há suporte para o monitoramento de consultas de Hive, embora você veja as mensagens subjacentes de Mapear/Reduzir ou HDFS do Hive.

Se você está interessado em começar usando o Guardium Proxy no InfoSphere BigInsights, consulte o Apêndice A, que tem as instruções de configuração para ativar a proxy para os serviços do Hadoop.


Pré-requisitos

A seção a seguir descreve os requisitos para o InfoSphere Guardium e o sistema baseado em Hadoop.

Solução de segurança e conformidade InfoSphere Guardium

A solução IBM InfoSphere Guardium está disponível das seguintes formas:

  • Oferta de hardware – uma solução de software totalmente configurada, entregue em dispositivos físicos fornecidos pela IBM.
  • Oferta de software – solução entregue na forma de imagens de software que você pode implementar no seu próprio hardware, diretamente ou como dispositivos virtuais.

Para monitorar ambientes do Hadoop, é necessário ter um InfoSphere Guardium Appliance V9.0 (hardware ou software) com, pelo menos a correção 2 e, de preferência, GPU correção 50. Esse dispositivo deve ser configurado como coletor. Você também precisará de autorização para o software InfoSphere Guardium Standard Activity Monitor for Hadoop. Antes de tentar monitorar o Hadoop, consulte o site de suporte da IBM para procurar correções adicionais que possam ser necessárias.

Conforme o sistema cresce, também é possível obter dispositivos configurados como gerenciador central e agregador, fornecendo o gerenciamento centralizado de diversos coletores por meio de um único console baseado na web e criando efetivamente um sistema federado a partir de diversos coletores. É possível usar isso para gerenciar centralmente as políticas de segurança e configurações de dispositivos, como planejamentos de arquivamento, instalações de correções, gerenciamento de usuários, etc. Também agrega dados brutos e relatórios de diversos coletores para gerar relatórios de auditoria holísticos e de nível corporativo.

Este artigo não aborda a instalação e configuração do dispositivo do IBM InfoSphere Guardium e pressupõe que você tem pelo menos um dispositivo conectado ao cluster do Hadoop na rede.

Sistemas baseados em Hadoop que são suportados

Consulte as informações sobre os requisitos do InfoSphere Guardium no site de suporte da IBM para ver atualizações nos níveis de release suportados das distribuições do Hadoop suportadas para o InfoSphere BigInsights, Cloudera, Greenplum HD e Hortonworks.

Observação: em relação ao IBM InfoSphere Big Insights, o suporte da instalação de sobreposição no Cloudera também é suportado pelo IBM InfoSphere Guardium.


Configurando o monitoramento da atividade de dados

As etapas necessárias para instalar e configurar são as seguintes:

  1. Planeje – Certifique-se de entender bem a arquitetura de rede do cluster do Hadoop, inclusive os endereços IP e números de porta relevantes.
  2. Instale o S-TAP e configure os mecanismos de inspeção nos nós apropriados do Hadoop.
  3. Valide que a atividade está sendo monitorada criando e revisando relatórios de atividades.
  4. Instale uma política de segurança.

Planeje

A etapa de planejamento é crítica para a integração bem-sucedida do InfoSphere Guardium ao Hadoop. A seção a seguir fornece uma visão geral resumida da arquitetura para fornecer o conhecimento de que você precisa.

Recomendação: para uma implementação inicial, considere a possibilidade de começar com a configuração mais simples que suporte uma determinada necessidade de negócios e expandir a partir disso. Por exemplo: comece apenas com os requisitos para monitorar o HDFS e Mapear/Reduzir, valide a configuração e, em seguida, expanda para incluir o Hive e o HBase conforme a necessidade.

A Figura 5 mostra onde os S-TAPs específicos para os sistemas operacionais devem ser instalados no cluster para uma cobertura completa de monitoramento fornecida pelo InfoSphere Guardium.

Figura 5. STAPs necessários para monitorar a pilha do Hadoop

O IBM InfoSphere Guardium fornece uma solução centralizada para instalar e atualizar diversos S-TAPs usando o Guardium Installation Manager para deixar o gerenciamento de S-TAPs mais simples e automatizado.

Observação: nos nós escravos, o S-TAP só é necessário nos HBase Region Servers para monitorar inserções (Puts de HBase).

Depois de instalar o S-TAP específico para o sistema operacional nos nós relevantes, é possível configurar as portas que o S-TAP está monitorando ao definir os mecanismos de inspeção para o S-TAP. Esses mecanismos de inspeção também têm protocolos de monitoramento específicos associados a eles. O S-TAP intercepta os pacotes de rede, faz uma cópia, realiza a análise e envia as informações para o InfoSphere Guardium Collector, onde eles são novamente analisados e armazenados no banco de dados local do InfoSphere Guardium Collector.

Antes de passar para a próxima etapa, revise o seguinte:

  • Certifique-se de que está executando um sistema baseado em Hadoop que seja suportado.
  • Certifique-se de saber os endereços IP dos coletores do InfoSphere Guardium Collector que receberão o tráfego coletado do cluster do Hadoop.
  • Certifique-se de saber os endereços IP dos servidores nos quais os S-TAPs são necessários.
  • Anote as portas a serem monitoradas e os hosts aos quais elas se aplicam, com base nas informações mostradas na Tabela 1 e Tablela 2. Este artigo baseou as configurações de porta nas portas padrão do Hadoop — que, em geral, são as mesmas em todas as distribuições. Sua configuração pode ser diferente.
Tablela 1. Portas de serviço do Hadoop a monitorar
ServiçoPorta
Nome do nó do HDFS 8020, 50470
Plug-in do HDFS Thrift para Cloudera Hue (NameNode)10090
MapReduce Job Tracker8021, 9290 e 50030
HBase Master60000 e 60010
Região do HBase60020
Porta HTTP (para WebHDFS)50070
Plug-in do HBase Thrift9090
Servidor do Hive10000
Servidor do Beeswax8002
Cloudera Manager Agent9001

Instale o S-TAP e configure os mecanismos de inspeção

Os S-TAPs são específicos para o sistema operacional — portanto, é necessário instalar o S-TAP do Red Hat ou SUSE Linux para cada um dos nós apropriados. Esse processo está bem documentado no manual de ajuda do InfoSphere Guardium S-TAP e também pode ser feito usando o InfoSphere Guardium Installation Manager ou o processo de instalação não interativa, que permite instalar em vários nós com o mesmo comando.

Em seguida, é necessário configurar os mecanismos de inspeção adequado para o nó e os serviços monitorados. Nos mecanismos de inspeção você indica o protocolo a ser usado para monitorar (Hadoop) e define as portas a serem monitoradas. A Tabela 1 mostrou um extrato das portas usadas por padrão e que o InfoSphere Guardium pode monitorar. No seu caso, as portas podem ser diferentes.

A Tabela 2 mostra as informações usadas para configurar o cluster do Hadoop para este artigo e se baseia nas portas padrão do Hadoop.

Tablela 2. Portas de serviço do Hadoop a serem monitoradas para configurar o cluster do Hadoop
Mecanismo de inspeção para...ProtocoloIntervalo de portas.Porta KTAP DB Real
HDFS, Job Tracker, servidor do BeeswaxHADOOP8000-8021 8021
MapReduce Master e plug-in do ThriftHADOOP9000-9291 929l
Servidor do Hive e plug-in do HDFS Thrift Plug-in para HueHADOOP10000-10090 10090
Nomes de nó do HDFSHADOOP50010-50069 50069
Nomes de nó do HDFSHADOOP50071-50470 50470
HBase MasterHADOOP60000-60010 60010
Região do HBaseHADOOP60020-60020 60020l
WebHDFSHTTP50070 50070

Recomendação: é possível especificar diversos mecanismos de inspeção por servidor; deve-se fazer isso quando o protocolo é o mesmo e você deseja evitar configurar um intervalo de portas grande demais para cada mecanismo de inspeção. A melhor prática é não configurar muitas portas desnecessárias, já que isso causa uma sobrecarga adicional sobre os componentes do coletor do InfoSphere Guardium, que teriam que analisar um tráfego irrelevante. Entretanto, por uma questão de simplicidade, é conveniente incluir intervalos de portas em alguns mecanismos de inspeção, onde isso fizer sentido.

É possível incluir mecanismos de inspeção a partir da interface com o usuário: Console de administração >Taps locais >Controle do S-TAP >Inclua um mecanismo de inspeção.

Também é possível usar uma API, create_stap_inspection_engine. Consulte o Apêndice B para ver exemplos de comandos de API que podem ser usados para criar os mecanismos de inspeção usando portas padrão.

A Figura 6 mostra alguns exemplos de alguns mecanismos de inspeção após sua definição.

Figura 6. Uma amostra dos mecanismos de inspeção para o Hadoop

É possível ler mais sobre os campos de configuração dos mecanismos de inspeção no manual de ajuda do S-TAP, que pode ser encontrado online. Este é um resumo, com alguns dos campos mais importantes.

  • Protocol: o tipo de fonte de dados que está sendo monitorado (Hadoop). As opções estão disponíveis na forma de um menu suspenso.
  • Port Range: o intervalo de portas que está sendo monitorado pelo mecanismo de inspeção. Conforme já foi citado anteriormente, mantenha esse intervalo tão limitado quanto possível. Para este artigo, as portas aplicáveis foram divididas em grupos correspondentes, como o intervalo 9000 ou o intervalo 50000.
  • K-TAP real port: esse parâmetro deve ser ajustado como a última porta do intervalo referente ao mecanismo de inspeção. Se somente uma porta for definida, configure essa porta como a K-TAP real.
  • Client IP Addresses/Masks: cada mecanismo de inspeção monitora o tráfego entre um endereço IP de cliente e servidor ou mais. Esse campo atua como um filtro para definir e restringir os clientes a serem monitorados. Por exemplo: é possível que você tenha alguns clientes confiáveis que não precisam de auditoria e pode filtrar esses clientes antecipadamente — isso pode reduzir a carga geral do coletor. O endereço IP é um local único, e a máscara atua como um curinga que permite definir um intervalo de endereços IP. A máscara 255.255.255.255 (que não tem bits zero) identifica apenas o endereço único especificado pelo endereço IP. No caso do artigo, está usando 0.0.0.0 para o cliente e a máscara — portanto, todos os clientes serão monitorados.
  • Connect to IP: o endereço IP que o S-TAP deve usar para se conectar à fonte de dados monitorada. Para o Hadoop, é possível usar o valor padrão, 127.0.0.1.
  • Process name: para uma configuração do Hadoop, isso não é necessário.

Valide o monitoramento da atividade

Como administrador, navegue para a guia System View do console da web do InfoSphere Guardium e certifique-se de que os S-TAPs do cluster do Hadoop estejam ativos e apareçam em verde, indicando que o S-TAP está conectado ao coletor do InfoSphere Guardium. A Figura 7 mostra a aparência dessa situação referente a um host.

Figura 7. Monitor de status do S-TAP

Depois de validar que os S-TAPs estão configurados adequadamente em todos os nós aplicáveis, a captura de qualquer trabalho executado no sistema já deve estar ocorrendo. É possível executar um comando shell ou a tarefa de amostra de contagem de palavras para validar que você está vendo dados. Em todo caso, você terá que usar os relatórios de drill down do InfoSphere Guardium (disponíveis a partir da guia View para os usuários) ou criar seus próprios relatórios para visualizar a atividade.

Há mais detalhes sobre os relatórios do Hadoop na seção Relatórios do Hadoop incluídos no InfoSphere Guardium . No que diz respeito à validação, este artigo irá descrever como usar os relatórios de drill-down disponíveis para os administradores de segurança que têm funções de usuário designadas a eles no sistema.

Ao efetuar login como usuário e clicar na guia View , você vê um gráfico parecido com o mostrado na Figura 8. Clique duas vezes no gráfico para realizar drill down nos detalhes.

Figura 8. Drill down nos detalhes

Há muitos caminhos que passam pelos dados. A Figura 9 apresenta uma amostra de drill down.

Figura 9. Amostra de drill down

Sempre que você clica em uma linha do relatório, é exibido um menu de opções referentes ao próximo nível de relatório que você deseja ver.


Relatórios do Hadoop incluídos no InfoSphere Guardium

O InfoSphere Guardium inclui vários relatórios simples de instalar referentes ao Hadoop, como os seguintes:

  • Atividade de Mapear/Reduzir.
  • Tarefas desautorizadas de Mapear/Reduzir.
  • Atividade do Hue/Beeswax.
  • Atividade do HDFS, HBase e Hive.
  • Relatório de exceções.

Se você está conectado como usuário, pode encontrar os relatórios predefinidos clicando em View (na área de janela de navegação esquerda, clique em Hadoop; os relatórios estão listados ali.

Se você estiver conectado como administrador, terá que incluir os relatórios ao seu console. As etapas a seguir pressupõem que a guia My New Reports já esteja definida no seu console e que você está conectado como administrador.

  1. Navegue para o Tools>Report Building>Report Builder.
  2. Na seção do título do relatório, use o menu suspenso para localizar um dos relatórios, como o Hadoop - Hue/Beeswax e, em seguida, clique em Search.
  3. Na janela de resultados da procura de relatórios, clique no botão Add to My New Reports , como mostra a Figura 10.
    Figura 10. Inclua o relatório em uma área de janela chamada My New Reports
  4. Agora é possível executar um comando no Beeswax usando o Hue e ver o relatório. Por exemplo: neste artigo, o seguinte comando do Hive foi inserido, como mostra a Figura 11.
    Figura 11. Enviando uma consulta no Beeswax
  5. Acesse o relatório Hue/Beeswax . Provavelmente você verá No data found. Isso acontece porque é necessário especificar alguns parâmetros de tempo de execução para dizer ao sistema o que deve ser exibido. Para fazer isso, clique no ícone de lápis para customizar a consulta de relatórios, como mostra a Figura 12.
    Figura 12. Enviando uma consulta no Beeswax
  6. Inclua um período de tempo para as datas inicial e final da consulta (dependendo da sua carga de trabalho, é conveniente escolher um valor menor, talvez horas ou um dia) e o sinal de porcentagem ou outros parâmetros de procura para o campo LIKE dos campos SQL e Table_Name, como mostra a Figura 13.
    Figura 13. Especifique parâmetros de tempo de execução para o relatório do Hue/Beeswax
  7. Agora você deve ver alguns dados exibidos no relatório, como mostra a Figura 14.
    Figura 14. Relatório do Hue/Beeswax
  8. Agora realize as mesmas etapas para o relatório MapReduce (se você for administrador):
    1. Navegue para o Tools>Report Building>Report Builder.
    2. Procure o relatório MapReduce .
    3. Inclua em uma área de janela de relatório.
    4. Edite o relatório para incluir parâmetros de tempo de execução.
  9. Execute uma tarefa de Mapear/Reduzir. Este artigo usou a amostra de programa de contagem de palavras no Cloudera. A sintaxe para executar a contagem de palavras é: bin/hadoop jar hadoop-*-examples.jar wordcount in-dir out-dir.
  10. Neste artigo, foi executado o seguinte: hadoop jar hadoop-0.20.2-cdh3u4-examples.jar wordcount /user/svoruga /user/svoruga/wc100. É possível ver um relatório muito semelhante ao da Figura 15.
    Figura 15. Relatório MapReduce

    (Veja uma versão maior da Figura 15.)

    Como se pode ver, neste artigo, os parâmetros de consulta foram customizados para especificar que somente as atividades em que svoruga e word%count aparecem na mensagem (Full SQL) devem ser retornadas no relatório.

Resolução de problemas

Os relatórios Hue/Beeswax do InfoSphere Guardium pressupõem o uso do formato de mensagem do Thrift e o banco de dados MySQL. Se você está usando o MySQL e, mesmo assim, o relatório do Hue/Beeswax não exibe dados, talvez seja necessário configurar o Beeswax para usar a porta 8002 da forma a seguir — essa foi a porta usada pelo Thrift para o exemplo do sistema neste artigo.

  1. Navegue para o arquivo .ini do Hue:
    • Para o CDH3: /etc/hue/hue-beeswax.ini.
    • Para o CDH4 /etc/hue/hue/ini, onde o -hadoop *examples.jar"* está no diretório /user/lib/hadoop . Substitua pelo arquivo jar correto.
      in-dir é o diretório do HDFS onde o arquivo de entrada está.
      out-dir é o diretório do HDFS onde o arquivo de saída está.
  2. Remova os comentários da linha a seguir:
    beeswax_server_port=8002
  3. Pare e reinicie o hue usando os comandos a seguir:
    • /etc/init.d/hue stop
    • /etc/init.d/hue start

Instale uma política de segurança

No InfoSphere Guardium, as políticas de segurança contêm um conjunto ordenado de regras a serem aplicadas ao tráfego observado entre os clientes e servidores. Uma ou mais regras são combinadas para criar uma política. Na política de segurança do Hadoop neste artigo, foram definidas regras de acesso — ou seja, regras para ajudar a reduzir a quantidade de tráfego a ser registrado no coletor do InfoSphere Guardium.

Recomendação: Não modifique a política de amostra. Em vez disso, crie um clone e use como base para a sua modificação.

Para acessar a política do Hadoop e criar um clone, faça o seguinte:

  1. efetue login como administrador e navegue para Tools>Config & Control>Policy Builder.
  2. No Policy Finder, selecione Hadoop Policy e, em seguida, clique no botão Clone .
  3. Insira um novo nome para a política e, em seguida, clique em Save.

Para instalar uma política, faça o seguinte:

  1. efetue login como administrador e acesse Administration Console > Configuration > Policy Installation.
  2. Selecione o clone de política do Hadoop que você criou e escolha a ação de instalação adequada. Consulte a ajuda online para obter mais informações sobre a instalação de políticas e as implicações de ter mais de uma política.

As regras referentes à política do Hadoop são mostradas na Figura 16. Clique no sinal de mais para ver mais detalhes. É possível editar a regra clicando no ícone de lápis.

Figura 16. Regras da amostra de política do Hadoop

Este é um resumo de cada regra da política.

  • Access Rule: Low interest objects: Allow

    A Figura 17 mostra a definição da regra.

    Figura 17. Regras para objetos de baixo interesse para o Hadoop

    Estes são os dois principais itens de interesse nesta política.

    • Uma definição de grupo de objetos, como preferências de usuários, que provavelmente não será interessante. Se você clica no ícone do construtor de grupos, é possível ver os objetos que fazem parte do grupo HadoopSkipObjects, como mostra a Figura 18.
      Figura 18. Regras para objetos de baixo interesse para o Hadoop

      É possível modificar esse grupo conforme a necessidade.
    • A ação Allow significa que as violações de política referentes a esses objetos não serão registradas nem consideradas para análise posterior.
  • Access Rule: Low Interest Commands: Allow

    Semelhante à regra acima, mas específica para comandos.

  • Access Rule: Filter based on Server IP: Log Full Details

    Essa regra permite filtrar as atividades para servidores não-Hadoop que estão usando o mesmo coletor do Guardium.

Importante: É obrigatório modificar o grupo Not Hadoop Servers para incluir todos os IPs dos servidores que você deseja filtrar. Se não houver servidores desse tipo, insira um IP simulado que não seja 0.0.0.0. Se não houver nada no grupo, os relatórios não irão funcionar.


Coisas legais que podem ser feitas

Estas são algumas coisas que podem ser feitas com o InfoSphere Guardium para ajudar a preencher os requisitos de auditoria e conformidade referentes ao Hadoop. Esta seção descreve formas de responder as perguntas feitas no início do capítulo.

Informe quando um usuário não autorizado acessar dados sensíveis

Há muitas regras diferentes que podem ser usadas para criar políticas que podem ajudar a impor os requisitos de auditoria.

Dica: Se você incluir regras no clone de política do Hadoop, certifique-se de que a regra anterior esteja com a opção Continue to next rule selecionada. Caso contrário, pode ser que a nova regra não seja avaliada nunca.

A Figura 19 mostra uma regra em que dois grupos são definidos da seguinte forma:

  • Usuários conhecidos do Hadoop
  • Objetos/arquivos de dados sensíveis conhecidos
Figura 19. Exemplo de regra de política referente ao acesso a arquivos sensíveis

A regra tem uma negação para os usuários conhecidos — ou seja, se o usuário que não faz parte do grupo conhecido acessa dados sensíveis, essas informações serão registradas e você poderá ver as ocorrências em um relatório de incidentes para investigação posterior. Se o acesso for legítimo, o usuário poderá ser incluído no grupo conhecido.

Informa quando novas tarefas de Mapear/Reduzir usarem o sistema

Muitas empresas querem acompanhar aplicativos novos que acessam seus dados — e um relatório automatizado pode ajudar a fazer isso. O InfoSphere Guardium fornece um relatório de tarefas não autorizadas de Mapear/Reduzir que pode ser customizado para ajudar a identificar quando novas tarefas de Mapear/Reduzir entram no sistema.

É possível planejar esse recurso para executar regularmente como parte de um processo de auditoria executado em segundo plano. Dessa forma, você é notificado quando novos trabalhos entram no sistema, para que eles possam ser revisados adequadamente e incluídos na lista de tarefas autorizadas conforme for adequado.

A configuração desse relatório requer algumas definições. É necessário criar e customizar um grupo chamado Hadoop Authorized Job List. Será preciso:

  1. Criar e preencher o grupo com a lista de tarefas conhecidas e aprovadas no sistema. (Observação: No 9.0 GPU 50, a Hadoop Authorized Job List está incluída no sistema. Você só terá que preenchê-la.)
  2. Designe funções ao grupo par que as pessoas adequadas da organização possam ver e usar o grupo ao desenvolver relatórios.
  3. Customize o relatório Hadoop-Unauthorized MapReduce Jobs para incluir esse grupo como parâmetro de tempo de execução.

Estas são as etapas detalhadas da configuração do grupo:

  1. A partir do console de administração, acesse Tools > Config and Control > Group Builder. Ou, se você estiver conectado como usuário, acesse Monitor/Audit > Build Reports> Group Builder e, em seguida, clique em Next.
  2. Nos campos Create New Group , especifique Public como Application Type, dê a ele o nome que você quiser (como Hadoop Authorized Job List) e, na lista suspensa de Group Type Description, selecione OBJECTS , conforme mostrado na Figura 20. Clique no botão Add .
    Figura 20. Dando nome ao novo grupo
  3. Na área de janela Manage Members, insira um nome de tarefa de Mapear/Reduzir no campo Create & add new members e, em seguida, clique em Add para incluir o membro no grupo. Continue incluindo nomes, como mostra a Figura 21. Quando você terminar de adicionar nomes de tarefa de Mapear/Reduzir, clique no botão Back .
    Figura 21. Preencha o grupo com tarefas autorizadas
  4. No Group Builder, localize o seu grupo na lista Modify Existing Group e, em seguida, clique no botão Roles , como mostra a Figura 22.
    Figura 22. Associe funções ao grupo
  5. Selecione as funções que você deseja poder usar nesse grupo. Simplesmente selecionamos All Roles, conforme mostrado na Figura 23. Clique no botão Apply .
    Figura 23. Indique quais funções podem usar este grupo

Agora você terminou a tarefa de criar o grupo Hadoop Authorized Job List e está pronto para passar para a próxima tarefa — associá-lo ao relatório.

  1. Conforme o descrito na seção Relatórios do Hadoop incluídos no InfoSphere Guardium , se você está conectado como usuário, é possível localizar os relatórios predefinidos clicando em View (Na área de janela de navegação à esquerda, clique em Hadoop. Os relatórios estão listados lá.
  2. Clique em Hadoop – Unauthorized MapReduce Jobs. Provavelmente, será exibida a mensagem "No data found". Clique no ícone de lápis para customizar esse relatório, como mostra a Figura 24.
    Figura 24. Customize o relatório
  3. Na lista, selecione o nome do grupo, como mostra a Figura 25. Certifique-se de que os parâmetros de data abranjam um período de tempo em que você sabe que verá pelo menos um pequeno conjunto de resultados para validar que o relatório está funcionando. Em seguida, clique no botão Update .
    Figura 25. Inclua o grupo nos parâmetros de tempo de execução do relatório
  4. A partir da navegação à esquerda, clique no relatório Hadoop – Unauthorized MapReduce Jobs novamente. Ele deve estar preenchido com dados de relatórios que não estão em seu grupo de trabalho autorizado. Um extrato do relatório é mostrado na Figura 26, onde é possível ver que uma tarefa chamada PiEstimator é mostrada porque não estava na lista de tarefas autorizadas.
    Figura 26. O relatório inclui atividade de tarefas que não estão no grupo autorizado

Informe se houver um número excepcional de erros de permissão do arquivo

O InfoSphere Guardium inclui relatórios de exceções simples de instalar para o Hadoop. Por exemplo, se você está conectado como usuário, é possível acessar View > Hadoop > Hadoop - Exception Report para ver o relatório simples de instalar, semelhante ao mostrado na Figura 27.

Figura 27. Amostra de relatório de exceções do Hadoop

Também é possível criar um alerta baseado na mesma consulta usada para o relatório. Com um alerta, é possível enviar um email sempre que um limite para uma condição específica — como exceções de permissão do arquivo — ultrapassa um certo valor.

Também é possível optar por registrar o alerta como uma violação de política, para colocar esse alerta na guia Incident Management do console da web do InfoSphere Guardium.

Estas são as etapas gerais para criar a consulta de exceções e ativá-la em um alerta.

  1. Navegue para o Alert Builder:
    • Como administrador, acesse Tools> Config and Control> Alert Builder.
    • Como usuário, acesse Protect> Correlation Alert> Alert Builder.
  2. No Alert Finder, clique em New.
  3. Na seção Query Definition da tela Add Alert, selecione Hadoop – Exception Report no menu suspenso, como mostra a Figura 28, e preencha o restante dos requisitos de alerta.
    Figura 28. Use a consulta de relatórios de exceções para desenvolver seu alerta

Figura 29 é um exemplo de um alerta que foi criado para este artigo, que especifica a exceção 101 para a permissão do arquivo.

Figura 29. Alert builder

Observe que os alertas são registrados como violações de política, para que os alertas acionados também apareçam na guia Incident Management (Além disso, observe a parte inferior do exemplo — o administrador David Roz obterá pelo menos um email quando o alerta for acionado.


Conclusão

Esperamos que você tenha gostado desse tour pelo InfoSphere Guardium referente à segurança de ambientes Hadoop. Se você está usando ou avaliando o Hadoop e considerando uma estratégia de segurança ligada à sua implementação, acreditamos que as informações fornecidas neste artigo podem ajudar você a pensar no que você precisa e em como o InfoSphere Guardium pode ajudar. Aqueles que já são usuários do Guardium podem ampliar facilmente os processos atuais de segurança de dados e auditoria para incluir o Hadoop.

Agradecimentos

As autoras gostariam de agradecer às seguintes pessoas, sem as quais este artigo não existiria:

  • David Rozenblat, pelas muitas horas em que nos ajudou a desenvolver relatórios e políticas e pelo suporte de gerenciamento.
  • Joe DiPietro, por nos ter dado exemplos de problemas de negócios para resolver.
  • Ury Segal, pela orientação técnica.

Apêndice A: Configurando a proxy do Guardium no IBM InfoSphere BigInsights

Este apêndice descreve as etapas para ativar a proxy do Guardium Proxy no IBM InfoSphere BigInsights para enviar cópias de mensagens de log relevantes para o InfoSphere Guardium.

Figura 30 mostra a arquitetura da solução.

Figura 30. As mensagens de log são enviadas para a proxy do Guardium e, em seguida, encaminhadas para o coletor do Guardium

A ativação da integração entre o InfoSphere BigInsights e o InfoSphere Guardium é muito mais simples no BigInsights 2.0. Você ativa a proxy do Guardium no momento da instalação do BigInsights (BigInsights 2.0 e posteriores). Os eventos de log são enviados por uma conexão do soquete. A porta 16015 é usada para essa conexão de soquete. Em seguida, a proxy encaminha essas mensagens para o coletor do InfoSphere Guardium (porta padrão 16016), que analisa e armazena essas mensagens nas tabelas internas do Guardium referentes a relatórios, alertas, etc.

A captura de tela abaixo é um extrato do painel de instalação do InfoSphere BigInsights 2.1, no qual é possível especificar os endereços de porta da proxy e do coletor do Guardium e os nomes de host do coletor e do nó em que você executa a proxy (geralmente o nó do nome).

Figura 31. Extrato do painel de instalação do BigInsights

É possível encontrar detalhes da integração no Centro de Informações do IBM InfoSphere BigInsights (consulte Recursos).

Valide a configuração

É possível testar a configuração enviando uma tarefa, incluindo uma amostra de tarefa de contagem de palavras e vendo os resultados nos relatórios do InfoSphere Guardium.

Envie uma tarefa de contagem de palavras por meio do console da web do BigInsights. Consulte o centro de informações do BigInsights na seção Recursos para obter mais informações sobre como fazer isso.

Efetue login como usuário no console da web do InfoSphere Guardium e selecione um dos relatórios do Hadoop, como BigInsights - MapReduce. A Figura 26 mostra um extrato de um relatório MapReduce para o BigInsights quando a proxy é usada.

Figura 32. Relatório MapReduce parcial para o BigInsights

(Veja uma versão maior da Figura 26.)

É possível ver informações sobre permissões na seção Full SQL do relatório. Também é possível ver que o relatório inclui informações sobre o nome da tarefa, o usuário que enviou a tarefa e até mesmo o nome do arquivo JAR da tarefa. Essas informações são analisadas para você a partir da mensagem completa e, como elas aparecem na forma de um campo no relatório, é possível realizar certas ações nesses campos, como criar alertas. Consulte esta seção do artigo para ver mais detalhes sobre a customização de relatórios.


Apêndice B: Amostra de comando GuardAPI para configurar os mecanismos de inspeção

O GuardAPI dá acesso à funcionalidade do InfoSphere Guardium a partir da linha de comando, para permitir a automatização de tarefas repetitivas. Para executar esses comandos, é necessário efetuar login com uma das contas de CLI (interface de linha de comando) e ter a função de administrador ou CLI. Para obter mais informações sobre a API, consulte o manual de ajuda online InfoSphere Guardium Appendices.

A Listagem 1 mostra os comandos que foram usados para criar os mecanismos de inspeção por meio da API neste artigo.

Lista 1. Amostra de comandos grdapi para configurar mecanismos de inspeção no ambiente de amostra
#hdfs job tracker, hdfs name node beeswax server 
grdapi create_stap_inspection_engine client=0.0.0.0/0.0.0.0 protocol=HADOOP 
ktapDbPort=8021 portMax=8021 portMin=8000 stapHost=<My Hadoop Node IP>
                
#Mapreduce job tracker, cloudera agent and thrift plugin
grdapi create_stap_inspection_engine client=0.0.0.0/0.0.0.0 protocol=HADOOP 
ktapDbPort=9291 portMax=9291 portMin=9000 stapHost= <My Hadoop Node IP>
                
#hive server, thrift plugin
grdapi create_stap_inspection_engine client=0.0.0.0/0.0.0.0 protocol=HADOOP 
ktapDbPort=10090 portMax=10090 portMin=10000 stapHost= <My Hadoop Node IP>
                
#HDFS name node ports
grdapi create_stap_inspection_engine client=0.0.0.0/0.0.0.0 protocol=HADOOP 
ktapDbPort=50069 portMax=50069 portMin=50010 stapHost= <My Hadoop Node IP>

#HDFS name node ports
grdapi create_stap_inspection_engine client=0.0.0.0/0.0.0.0 protocol=HADOOP 
ktapDbPort=50470 portMax=50470 portMin=50071 stapHost= <My Hadoop Node IP>

#WebHDFS
grdapi create_stap_inspection_engine client=0.0.0.0/0.0.0.0 protocol=HTTP 
KtapDbPort=50070 portMax=50070 portMin=50070 stapHost=<My Hadoop Node IP>
                
#HBase region servers
grdapi create_stap_inspection_engine client=0.0.0.0/0.0.0.0 protocol=HADOOP 
KtapDbPort=60010 portMax=60010 portMin=60000 stapHost= <My Hadoop Node IP>

Será necessário garantir que o mecanismo de inspeção corresponda adequadamente ao nó do Hadoop que tem os serviços correspondentes instalados. Neste caso, a configuração tinha apenas um nó — portanto, os mecanismos de inspeção foram agrupados por semelhança dos números de porta. Provavelmente, a sua configuração será mais complexa.


Apêndice C. Usando a interface de linha de comando (CLI) do Guardium para filtrar o ruído do Hadoop

O InfoSphere Guardium tem una interface de linha de comando rica. É possível usar a CLI para configurar diretamente o componente analisador do coletor para filtrar o ruído do Hadoop, em vez de utilizar a política de segurança ao usar o comando store gdm_analyzer_rule new para especificar um aplicativo Hadoop e um padrão para excluir. O exemplo na Listagem 2 mostra o uso do comando para filtrar as mensagens getServerRegion do HBase.

Lista 2. Comando CLI para modificar a filtragem do coletor
store gdm_analyzer_rule new
Please enter rule description (optional): HDP
Please enter rule type (required): 5
Please enter rule acdtion (optional. Default to 0):
Please enter active flag (optional. Default to 1):
Please enter DB protocol (required): 25
Please enter server IP (optional):
Please enter server IP mask (optional. Default to 255.255.255.255):
Please enter service name (optional):
Please enter pattern (optional): getServerRegion
Please enter format (optional): 1

Estas são as opções relevantes:

  • Rule type: especifique 5 para a regra de exclusão do Hadoop.
  • Rule action: manter os padrões.
  • DB Protocol: especifique '25 para o Hadoop.
  • Pattern: insira o nome exato e o caso do padrão de mensagem que você deseja excluir.
  • Format: insira o código do serviço do Hadoop a ser excluído. Os valores são:
    0 - HDFS
    1 - HBase
    2 - Hadoop IPC
    3 - Job Tracker

Recursos

Aprender

Obter produtos e tecnologias

  • Crie seu próximo projeto de desenvolvimento com o software de avaliação da IBM, disponível para download diretamente do developerWorks.
  • Avalie os produtos IBM do jeito que for melhor para você: faça o download de uma avaliação de produto, experimente um produto online, use um produto em um ambiente de nuvem ou passe algumas horas no Sandbox da SOA aprendendo a implementar a Arquitetura Orientada a Serviços eficientemente.

Discutir

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=844764
ArticleTitle=Segurança e Auditoria de Big Data com o IBM InfoSphere Guardium
publish-date=11012013