Migre seu balanceador de carga do AWS ELB para o ZEVENET ADC

PUBLICADO EM 27 de dezembro de 2022

Visão geral

O (AWS) Elastic Load Balancer (ELB) distribui o tráfego da web em vários EC2 instâncias, Elastic Container Service (ECS) e endereços IP. ELB também tem a capacidade de equilibrar o tráfego em diferentes zonas de disponibilidade para garantir alta disponibilidade. No entanto, existem várias limitações para o uso AWS's ELB, e estes incluem:

  1. Métodos de balanceamento de carga limitados. Por padrão, ELB só usa o Rodada robin algoritmo e possui recursos limitados de troca de conteúdo.
  2. Uma vez que o ELB é projetado para gerenciar o tráfego da Internet para as instâncias em uma Virtual Private Cloud(VPC), não é adequado para balanceamento de carga entre recursos locais.

Neste artigo, discutiremos como alguém pode substituir seus serviços de balanceamento de carga por uma alternativa melhor, ZEVENET ADC. Para ter uma comparação detalhada entre AWS ELB e ZEVENET, consulte este artigo Comparação AWS e ZEVENET.

Pré-requisitos

Certifique-se de atender a esses requisitos antes de tentar transferir configurações de AWS ELB para o ADC completo do ZEVENET.

  1. Um nó ZEVENET ADC deve ser instalado em seu PC, bare-metal, ambiente virtual ou um deve ter um ativo ZVNcloud conta. Solicite uma avaliação para implantação no local.
  2. Deve-se ter acesso à interface gráfica da Web. Se você não fizer isso, siga este rápido Guia de instalação.
  3. É preciso ser um usuário ativo do AWS ELB e estar familiarizado com os conceitos que discutiremos na seção abaixo.
  4. Deve-se ser capaz de criar um servidor virtual no balanceador de carga ZEVENET. Aqui está um guia rápido: Configuração do servidor virtual de camada 4 e camada 7.

Anote os
ZEVENET tem um modelo no Mercado da AWS. A implantação do ZEVENET na AWS é perfeita e deve ocorrer com alguns cliques.

Conceitos Básicos

Ouvinte: Um ouvinte verifica o tráfego de entrada da camada 7 e o encaminha para o grupo de destino necessário. Normalmente, um ouvinte será configurado para verificar HTTP or HTTPS tráfego nos portos 80 or 443 respectivamente. Os principais ouvintes da Camada 7 usados ​​pelo ZEVENET ADC são HTTP e HTTPS.

Grupo alvo: Um grupo de destino é um cluster de instâncias do EC2 trabalhando juntas para fornecer um serviço. Todas essas instâncias dentro de um grupo de destino devem ter o mesmo código de aplicativo que processa as solicitações dos clientes. Um grupo-alvo é o mesmo que um e eficaz ao usar ZEVENET ADC.

Verificações de saúde: As verificações de integridade monitoram a operação e a capacidade de resposta de um serviço em cada instância do EC2. Quando o serviço ou uma instância do EC2 ficar inativo, as verificações de integridade perceberão a falta de resposta e o balanceador de carga redirecionará o tráfego para instâncias íntegras. ZEVENET usa um conjunto de plugins chamado Farmguardian para monitorar o status de integridade dos servidores de back-end e seus serviços.

Tipos de balanceador de carga: O AWS ELB fornece três tipos de balanceadores de carga. Esses incluem Aplicativo, Network e Clássicos balanceadores de carga. O balanceador de carga clássico está ficando obsoleto, deixando apenas o Network e Aplicativo balanceadores de carga para uso. Os balanceadores de carga ZEVENET ADC Layer 7 têm um HTTP perfil enquanto os balanceadores de carga de rede têm um L4xNAT perfil.

Grupo de segurança: Um grupo de segurança é um conjunto de regras de firewall que monitoram e controlam o tráfego de entrada e saída. O ZEVENET ADC possui um IPDS módulo com políticas definidas para filtrar qualquer tráfego ruim para o balanceador de carga e também bloquear todas as tentativas de acesso não autorizado. Você pode criar regras de firewall acessando o WAF opção dentro do IPDS módulo.

ACM: O serviço ACM permite que um administrador implante e gerencie certificados SSL/TLS para uso em recursos internos conectados na AWS. Para gerenciar certificados SSL internos no balanceador de carga ZEVENET, acesse-os via LSLB >> certificados SSL. Ou você pode criar um certificado SSL autoassinado personalizado por meio do Let’s Encrypt programa embutido no balanceador de carga ZEVENET.

Instâncias ou destinos do EC2: Estes são servidores virtuais Linux downstream que hospedam o código do aplicativo que processa as solicitações recebidas da web. Esses servidores virtuais são chamados Backends ao usar ZEVENET ADC.

Configurações de exemplo: certificados SSL

Para criptografar os dados transmitidos entre os clientes e o balanceador de carga, um certificado SSL deve ser instalado para manter a comunicação entre os hosts segura. Informações confidenciais, como credenciais de login e números de cartão de crédito devem ser transmitidos por uma camada de transporte segura.

Nesta seção, discutiremos os certificados SSL de instalação no ZEVENET ADC com referência ao AWS ACM.

Configurando um certificado SSL autoassinado para uso na AWS

Deve-se seguir estas etapas para instalar um certificado SSL no ELB.

  1. Para gerar um RSE para suas instâncias do EC2, você precisará acessar o console do Linux dessa instância.
  2. Depois de se conectar à instância do EC2, navegue até o diretório: /etc/pki/tls/private/
  3. Gere uma nova chave privada, RSA de 2048 bits usando o seguinte comando: sudo openssl genrsa -out custom.key
  4. Gere um certificado fornecendo a chave privada de geração anterior usando o comando: openssl req -new -x509 -nodes -sha1 -days 365 -extensions v3_ca -custom.key -out custom.crt
  5. Preencha os detalhes necessários exigidos pelo certificado SSL.
    • País: Digite 2 códigos de país ISO.
    • Estado / Província: Digite a província onde sua empresa está localizada.
    • Cidade: Digite o nome da cidade onde você está localizado.
    • Nome comum: Insira um nome de domínio totalmente qualificado FQDN, por exemplo www.zevenet.com
    • senha ou senha: Você pode ignorar a criação de uma senha para este exemplo. Enquanto isso, o certificado gerado ficará no *.pem .
  6. Compile ambos os certificados em um pacote PKCS12 usando o comando:openssl pkcs12 -inkey custom.key -in custom.crt -export -out custom.p12
  7. Supondo que a AWS CLI já esteja instalada, geralmente é necessário fazer upload do certificado gerado (custom.crt) e da chave privada (custom.key) para o AWS Certificate Manager usando o comando: aws acm import-certificate — arquivo de certificado://custom.crt — arquivo de chave privada://custom.key — região us-east-2
  8. Este certificado agora estará disponível no Assistente de criação na opção “Escolha um certificado do ACM (recomendado)”.

Configurando um certificado SSL autoassinado para uso no ZEVENET ADC

  1. Para gerar um certificado SSL personalizado para sua instância ZEVENET ADC, localize o seguinte diretório usando a linha de comando do dispositivo.
  2. cd /usr/local/zevenet/config/certificates
  3. Gere uma chave privada sem uma senha usando o comando:
  4. openssl genrsa -out custom.key 2048
  5. Gerar uma Solicitação de Assinatura de Certificado (RSE) para a chave privada usando o comando:
  6. openssl req -new -key custom.key -out custom.csr
  7. Preencha os detalhes necessários.
    • Nome: Um nome descritivo para identificar o CSR.
    • País: O código ISO do país onde você está localizado.
    • Nome comum: Um nome de domínio totalmente qualificado. (FQDN), por exemplo, www.example.com
    • Divisão: Seu departamento, que pode ser saúde, TI ou segurança.
    • Localidade: A cidade onde você está localizado.
    • Estado: O estado onde sua organização está localizada.
    • Organização: O nome legal da sua organização, por exemplo, ZEVENET SL.
    • Newsletter BlueCerts: Insira o seu endereço de email. Não é obrigatório que seja um para o nome de domínio.
  8. Gere um Certificado autoassinado usando a chave privada e o certificado CSR. Para este exemplo, o certificado autoassinado terá uma vida útil de 1 ano e o formato de saída será em .PEM. Use o seguinte comando.
  9. openssl x509 -in custom.csr -outform PEM -out custom.pem -req -signkey custom.key -days 365
  10. Este certificado estará disponível para uso dentro do LSLB >> certificados SSL seção.

Para saber mais sobre certificados SSL no ZEVENET ADC, consulte estes recursos:

  1. Crie Certificados no formato PEM.
  2. LSLB | Vamos criptografar
  3. LSLB | Certificados SSL

Exemplo de configurações: Web Application Firewall

Como recurso de segurança, A WAF protege um aplicativo da web filtrando e bloqueando o tráfego malicioso. Um WAF normalmente é implantado na frente de um balanceador de carga e é projetado para proteger aplicativos da Web de vários ataques maliciosos, como script entre sites (XSS), injeção SQL, e outros ataques, incluindo aqueles em Os 10 melhores da OWASP.

Ao inspecionar o tráfego HTTP de entrada e analisá-lo em relação a um conjunto de regras ou uma política de segurança, o WAF bloqueará todo o tráfego considerado inseguro. O ZEVENET ADC oferece recursos de segurança mais avançados, como lista negra de IP, política RBL, proteção DoS, etc.

Nesta seção, descreveremos como se proteger contra injeção SQL na AWS e simule configurações semelhantes com ZEVENET ADC.

configurações da AWS

Para habilitar injeção SQL proteção, você deve ter pelo menos uma ou duas instâncias do EC2 colocadas atrás de um Elastic load balancer. Essas instâncias do EC2 devem ter o aplicativo da web que você deseja proteger.

  1. No console da web da AWS, procure por WAF e escudoe clique no link que aparece.
  2. Clique no Web ACL item do menu.
  3. Selecione a região de onde virá o seu tráfego, por exemplo Europa (Frankfurt).
  4. Clique na Criar ACL da Web botão.
  5. Debaixo Adicionar regras e grupos de regras, Clique no Adicionar regras seta suspensa.
  6. Selecionar Adicionar grupos de regras gerenciadas. Você encontrará mais grupos de regras gerenciadas, incluindo controle de bot, Lista de reputação de IP da Amazon, Bancos de dados SQL, Etc.
  7. Selecionar banco de dados SQL ativando o botão de alternância Adicionar à web ACL.
  8. Role para baixo e clique no botão Adicionar regra botão.
  9. Dentro do Ação padrão para regras que não correspondem, deixe a opção como Permitir.
  10. Clique na Próximo botão.
  11. Dentro do Definir prioridade da regra seção, use esta seção para adicionar prioridade a uma regra e, em seguida, clique no botão, Próximo.
  12. Dentro do Configurar métricas seção, não há nada para mudar, então clique no botão, Próximo.
  13. Dentro do Revisar e criar web ACL seção, clique no Criar ACL da Web botão.
  14. Depois de criar com sucesso uma Web ACL, clique na ACL que você acabou de criar.
  15. Clique na guia com Recursos associados da AWS.
  16. Adicione o balanceador de carga do aplicativo que você deseja proteger. Após adicionar os recursos, sua regra será configurada para bloquear qualquer injeção no banco de dados sql.

configurações ZEVENET

Para habilitar a proteção de injeção SQL, você precisa criar um Conjunto de regras WAF em primeiro lugar.

  1. Acesse IPDS no menu lateral e clique para expandi-lo.
  2. Clique no WAF opção para expandi-lo.
  3. Clique no Conjuntos de Regras opção.
  4. Clique no Criar conjunto de regras WAF botão.
  5. Atribuir um Nome que identifica facilmente este conjunto de regras.
  6. Deixe o Copiar conjunto de regras campo como –Sem conjunto de regras–.
  7. Clique na Aplicar para salvar as alterações.
  8. Dentro do Configurações globaisalternar no Verifique o corpo da solicitação opção.
  9. oracle_jd_edwards_load_balancing_farm

  10. Altere a ação padrão para Negar: corte a solicitação e não execute as regras restantes
  11. Clique na Aplicar para salvar as alterações.

Regras de configuração

  1. Clique no Regras guia para adicionar novas regras.
  2. Clique no Nova regra botão.
  3. Selecione o tipo de regra como Açao Social.
  4. oracle_jd_edwards_load_balancing_farm

  5. Selecione os Fase as Corpo da solicitação recebido.
  6. Selecione os Resolução as Negar: corte a solicitação e não execute as regras restantes.
  7. Adicione uma descrição à regra para identificar facilmente do que se trata a regra
  8. Clique na Aplicar para salvar as alterações.

Adicionando condições

  1. Clique na regra recém-criada para adicionar condições. Comece clicando no Criar condição botão.
  2. oracle_jd_edwards_load_balancing_farm

  3. Dentro do Variáveis campo, selecione REQUEST_BODY E clique no Adicionar variável botão.
  4. Dentro do Transformação campo, selecione a opção, Nenhum.
  5. Dentro do operador seção, selecione detectSQLi
  6. Clique na Aplicar para criar a nova condição.

Habilitando regras para uma fazenda

  1. Clique no Fazendas guia para adicionar esta regra a um servidor virtual de destino (farm) no balanceador de carga.
  2. oracle_jd_edwards_load_balancing_farm

  3. Dentro do Configurações da fazenda, arraste e solte a fazenda selecionada de Fazendas disponíveis para Farms ativados.
  4. No canto superior direito, há Opções. Clique no botão de reprodução verde para iniciar a regra. Neste momento, a regra WAF bloqueará qualquer injeção de sql incorporada ao corpo da solicitação, principalmente por meio de pesquisa ou formulários de login.

Para obter mais recursos sobre o WAF, consulte estes artigos:

  1. IPDS | WAF
  2. IPDS WAF arquivos

Recursos adicionais

Usando o programa Let's encrypt para gerar automaticamente um certificado SSL.
Balanceamento de carga Datalink/Uplink Com ZEVENET ADC.
Balanceamento de carga DNS com ZEVENET ADC.
Proteção contra ataques DDoS.
Monitoramento de aplicativos, integridade e rede no ZEVENET ADC.

Compartilhar no:

Documentação sob os termos da Licença de Documentação Livre GNU.

Esse artigo foi útil?

Artigos Relacionados