Skip to main content

Configuração de ACL no Load Balancer

Introdução

As Listas de Controle de Acesso (ACLs) permitem restringir ou permitir o tráfego para o Load Balancer com base em regras específicas. Essa funcionalidade melhora a segurança e o controle sobre as conexões, garantindo que apenas fontes autorizadas possam acessar os serviços balanceados.

Vale destacar que o LB atua como a primeira camada de segurança, controlando o acesso por meio de suas ACLs, enquanto os Security Groups (SG) das VMs representam uma segunda camada, reforçando a proteção no nível das instâncias. Em outras palavras, mesmo que uma conexão seja autorizada pelo LB, a VM pode, por meio do seu SG, bloquear o acesso se necessário.

Arquitetura em Duas Camadas

ACL do Load Balancer:

  • Controla o acesso à porta de entrada do LB (o listener), permitindo ou negando o tráfego com base nos intervalos de IP configurados.
  • Na prática, o LB permanece aberto por padrão, sendo necessário inserir apenas os intervalos de IP que se deseja bloquear ou, alternativamente, permitir somente determinados intervalos e negar o restante.

Security Groups das VMs:

  • Aplicam regras de controle no nível da instância, atuando como uma camada adicional de segurança.
  • Mesmo que o tráfego passe pela ACL do LB, as VMs podem recusar a conexão se o SG estiver configurado para bloquear determinados acessos.

Etapas para Configuração de ACL

1. Criar uma ACL

A criação de uma ACL envolve definir regras de controle para permitir ou negar conexões.

  • Endpoint: POST /v0beta1/network-load-balancers/{load_balancer_id}/acls
  • Parâmetros principais:
    • name: Nome da ACL
    • ethertype: IPv4 ou IPv6
    • protocol: Protocolo permitido: TCP
    • remote_ip_prefix: Faixa de IPs permitidos
    • action: ALLOW ou DENY

2. Remoção de ACLs

Remoção: Caso uma ACL não seja mais necessária, ela pode ser removida para liberar as restrições aplicadas ao tráfego.

  • Endpoint: DELETE /v0beta1/network-load-balancers/{load_balancer_id}/acls/{acl_id}

Exemplos de Configuração

  • Bloqueio de uma Subnet Específica:

    • Regra: Deny 198.162.0.0/24
    • Regra padrão: default Allow
  • Permitir Apenas um Intervalo Específico e Bloquear o Restante:

    • Regra: Allow 192.168.0.0/16
    • Regra: Deny 0.0.0.0/0
    • Regra padrão: default Allow (Neste cenário, a regra padrão não terá efeito, pois o tráfego já será bloqueado pelo Deny aplicado a todos os IPs.)

Boas Práticas

  • Minimize regras permissivas: Permita apenas o tráfego estritamente necessário.
  • Use ACLs para proteção contra ataques: Bloqueie IPs maliciosos e reduza exposição a ameaças.
  • Monitore ACLs regularmente: Revise e ajuste as regras conforme necessário para manter a segurança.