Configurar o tráfego de rede de saída para clusters do Azure HDInsight através da Firewall

Este artigo fornece as etapas para você proteger o tráfego de saída do cluster HDInsight usando o Firewall do Azure. As etapas abaixo pressupõem que você esteja configurando um Firewall do Azure para um cluster existente. Se você estiver implantando um novo cluster atrás de um firewall, crie primeiro o cluster e a sub-rede do HDInsight. Em seguida, siga as etapas neste guia.

Fundo

Normalmente, os clusters HDInsight são implantados em uma rede virtual. O cluster tem dependências em serviços fora dessa rede virtual.

O tráfego de gerenciamento de entrada não pode ser enviado por meio de um firewall. Você pode usar tags de serviço NSG para o tráfego de entrada, conforme documentado aqui.

As dependências de tráfego de saída do HDInsight são quase inteiramente definidas com FQDNs. Que não têm endereços IP estáticos por trás deles. A falta de endereços estáticos significa que os NSGs (Network Security Groups) não podem bloquear o tráfego de saída de um cluster. Os endereços IP mudam com frequência suficiente para que não seja possível configurar regras com base na resolução e uso de nomes atuais.

Proteja endereços de saída com um firewall que pode controlar o tráfego de saída com base em FQDNs. O Firewall do Azure restringe o tráfego de saída com base no FQDN das tags de destino ou FQDN.

Configurando o Firewall do Azure com o HDInsight

Um resumo das etapas para bloquear a saída do HDInsight existente com o Firewall do Azure são:

  1. Crie uma sub-rede.
  2. Crie um firewall.
  3. Adicione regras de aplicativo ao firewall.
  4. Adicione regras de rede ao firewall.
  5. Crie uma tabela de roteamento.

Criar nova sub-rede

Crie uma sub-rede chamada AzureFirewallSubnet na rede virtual onde o cluster existe.

Criar um novo firewall para o cluster

Crie um firewall chamado Test-FW01 usando as etapas em Implantar o firewall do Tutorial: Implantar e configurar o Firewall do Azure usando o portal do Azure.

Configurar o firewall com regras de aplicativo

Crie uma coleção de regras de aplicativo que permita que o cluster envie e receba comunicações importantes.

  1. Selecione o novo firewall Test-FW01 no portal do Azure.

  2. Navegue até Regras de Configurações>>Coleção de> regras de aplicativo+ Adicionar coleção de regras de aplicativo.

    Title: Add application rule collection.

  3. Na tela Adicionar coleção de regras de aplicativo, forneça as seguintes informações:

    Secção superior

    Property valor
    Nome FwAppRule
    Prioridade 200
    Ação Permitir

    Seção de tags FQDN

    Nome Endereço de origem Tag FQDN Notas
    Rule_1 * WindowsUpdate e HDInsight Necessário para serviços de IDH

    Seção FQDNs de destino

    Nome Endereços de origem Protocolo:Porta FQDNS de destino Notas
    Rule_2 * https:443 login.windows.net Permite a atividade de login do Windows
    Rule_3 * https:443 login.microsoftonline.com Permite a atividade de login do Windows
    Rule_4 * https:443 storage_account_name.blob.core.windows.net Substitua storage_account_name pelo nome real da sua conta de armazenamento. Certifique-se de que a opção "transferência segura necessária" está ativada na conta de armazenamento. Se você estiver usando o ponto de extremidade privado para acessar contas de armazenamento, esta etapa não será necessária e o tráfego de armazenamento não será encaminhado para o firewall.
    Rule_5 * http:80 azure.archive.ubuntu.com Permite que as atualizações de segurança do Ubuntu sejam instaladas no cluster

    Title: Enter application rule collection details.

  4. Selecione Adicionar.

Configurar o firewall com regras de rede

Crie as regras de rede para configurar corretamente o cluster HDInsight.

  1. Continuando a partir da etapa anterior, navegue até Coleção> de regras de rede+ Adicionar coleção de regras de rede.

  2. Na tela Adicionar coleção de regras de rede, forneça as seguintes informações:

    Secção superior

    Property valor
    Nome FwNetRule
    Prioridade 200
    Ação Permitir

    Secção Etiquetas de Serviço

    Nome Protocolo Endereços de Origem Etiquetas de Serviço Portos de destino Notas
    Rule_6 TCP * SQL 1433 , 11000-11999 Se você estiver usando os servidores SQL padrão fornecidos pelo HDInsight, configure uma regra de rede na seção Tags de Serviço para SQL que permitirá registrar e auditar o tráfego SQL. A menos que você tenha configurado Pontos de Extremidade de Serviço para SQL Server na sub-rede HDInsight, o que ignorará o firewall. Se você estiver usando o SQL Server personalizado para metastores Ambari, Oozie, Ranger e Hive, só precisará permitir o tráfego para seus próprios SQL Servers personalizados. Consulte o Banco de Dados SQL do Azure e a arquitetura de conectividade do Azure Synapse Analytics para ver por que o intervalo de portas 11000-11999 também é necessário, além do 1433.
    Rule_7 TCP * Azure Monitor * (facultativo) Os clientes que planejam usar o recurso de dimensionamento automático devem adicionar essa regra.

    Title: Enter application rule collection.

  3. Selecione Adicionar.

Criar e configurar uma tabela de rotas

Crie uma tabela de rotas com as seguintes entradas:

  • Todos os endereços IP de serviços de integridade e gerenciamento com um tipo de Internet de salto seguinte. Ele deve incluir 4 IPs das regiões genéricas, bem como 2 IPs para sua região específica. Esta regra só é necessária se ResourceProviderConnection estiver definido como Inbound. Se o ResourceProviderConnection estiver definido como Outbound , esses IPs não serão necessários no UDR.

  • Uma rota de Dispositivo Virtual para o endereço IP 0.0.0.0/0 com o próximo salto sendo seu endereço IP privado do Firewall do Azure.

Por exemplo, para configurar a tabela de rotas para um cluster criado na região dos EUA de "Leste dos EUA", use as seguintes etapas:

  1. Selecione seu firewall do Azure Test-FW01. Copie o endereço IP privado listado na página Visão geral . Para este exemplo, usaremos um endereço de exemplo de 10.0.2.4.

  2. Em seguida, navegue até Todas as tabelas de rotas de rede>de serviços>e Criar tabela de rotas.

  3. Na sua nova rota, navegue até Configurações>Rotas>+ Adicionar. Adicione as seguintes rotas:

Nome da rota Prefixo de endereço Tipo de salto seguinte Endereço do próximo salto
168.61.49.99 168.61.49.99/32 Internet ND
23.99.5.239 23.99.5.239/32 Internet ND
168.61.48.131 168.61.48.131/32 Internet ND
138.91.141.162 138.91.141.162/32 Internet ND
13.82.225.233 13.82.225.233/32 Internet ND
40.71.175.99 40.71.175.99/32 Internet ND
0.0.0.0 0.0.0.0/0 Aplicação virtual 10.0.2.4

Conclua a configuração da tabela de rotas:

  1. Atribua a tabela de rotas criada à sub-rede HDInsight selecionando Sub-redes em Configurações.

  2. Selecione + Associado.

  3. Na tela Associar sub-rede, selecione a rede virtual na qual o cluster foi criado. E a Sub-rede que utilizou para o cluster HDInsight.

  4. Selecione OK.

Tráfego de nó de borda ou aplicativo personalizado

As etapas acima permitirão que o cluster opere sem problemas. Você ainda precisa configurar dependências para acomodar seus aplicativos personalizados em execução nos nós de borda, se aplicável.

As dependências do aplicativo devem ser identificadas e adicionadas ao Firewall do Azure ou à tabela de rotas.

As rotas devem ser criadas para o tráfego do aplicativo para evitar problemas de roteamento assimétrico.

Se seus aplicativos tiverem outras dependências, eles precisarão ser adicionados ao seu Firewall do Azure. Crie regras de aplicativo para permitir tráfego HTTP/HTTPS e regras de rede para todo o resto.

Registro em log e dimensionamento

O Firewall do Azure pode enviar logs para alguns sistemas de armazenamento diferentes. Para obter instruções sobre como configurar o log para seu firewall, siga as etapas em Tutorial: Monitorar logs e métricas do Firewall do Azure.

Depois de concluir a configuração do registo, se estiver a utilizar o Log Analytics, pode ver o tráfego bloqueado com uma consulta como:

AzureDiagnostics | where msg_s contains "Deny" | where TimeGenerated >= ago(1h)

A integração do Firewall do Azure com os logs do Azure Monitor é útil ao colocar um aplicativo em funcionamento pela primeira vez. Especialmente quando você não está ciente de todas as dependências do aplicativo. Você pode saber mais sobre os logs do Azure Monitor em Analisar dados de log no Azure Monitor

Para saber mais sobre os limites de escala do Firewall do Azure e os aumentos de solicitação, consulte este documento ou consulte as Perguntas frequentes.

Acesso ao cluster

Depois de ter o firewall configurado com êxito, você pode usar o ponto de extremidade interno (https://CLUSTERNAME-int.azurehdinsight.net) para acessar o Ambari de dentro da rede virtual.

Para usar o ponto de extremidade público (https://CLUSTERNAME.azurehdinsight.net) ou o ponto de extremidade ssh (CLUSTERNAME-ssh.azurehdinsight.net), verifique se você tem as rotas corretas na tabela de rotas e nas regras do NSG para evitar o problema de roteamento assimétrico explicado aqui. Especificamente nesse caso, você precisa permitir o endereço IP do cliente nas regras do NSG de entrada e também adicioná-lo à tabela de rotas definida pelo usuário com o próximo salto definido como internet. Se o roteamento não estiver configurado corretamente, você verá um erro de tempo limite.

Próximos passos