VCL personalizado para permitir solicitações
Você pode usar uma lista de ACL do Fastly Edge com um trecho de código de VCL personalizado para filtrar solicitações recebidas e permitir o acesso pelo endereço IP. A lista de ACL especifica os endereços IP permitidos.
Crie um incluo na lista de permissões de atualização para limitar o acesso ao ambiente de preparo, de modo que somente as solicitações de endereços IP especificados para desenvolvedores internos e serviços externos aprovados sejam permitidos. Você também pode criar uma inclui na lista de permissões para proteger o acesso do Administrador aos ambientes de Preparo e Produção.
O exemplo a seguir mostra como usar um trecho de VCL personalizado com uma Lista de Controle de Acesso (ACL) do Fastly para proteger o acesso ao Administrador para um ambiente de projeto do Adobe Commerce na infraestrutura em nuvem. Quando você adiciona o trecho VCL personalizado ao ambiente na nuvem, o Fastly permite somente solicitações de endereços IP incluídos na ACL.
Pré-requisitos:
-
Seu ambiente deve ser configurado para usar o Fastly CDN. Consulte Configurar serviços do Fastly.
-
Verifique se você está executando a versão mais recente do módulo CDN Fastly para o Magento 2. Consulte Atualizar o Módulo Fastly.
-
Verifique a configuração do ambiente para o serviço Fastly. Consulte Verificar cache rápido.
-
Você deve ter credenciais de Administrador para acessar os ambientes de Preparo e Produção.
-
Lista de endereços IP de clientes a serem incluídos no arquivo de inclui na lista de permissões
Criar ACL do Edge para permitir endereços IP de clientes
As ACLs do Edge criam listas de endereços IP para gerenciar o acesso ao seu site. Neste exemplo, você cria uma ACL do Edge e adiciona a lista de endereços IP de clientes permitidos para acessar o Administrador do ambiente do projeto.
-
Faça logon no Administrador.
-
Clique em Lojas > Configurações > Configuração > Avançado > Sistema.
-
Expanda Cache de Página Inteira > Configuração Rápida > ACL de Edge.
-
Crie o contêiner de ACL:
-
Clique em Adicionar ACL.
-
Na página Contêiner de ACL, digite um nome de ACL—
allowlist
. -
Selecione Ativar após a alteração para implantar suas alterações na versão da configuração do serviço Fastly que você está editando.
-
Clique em Carregar para anexar a ACL à configuração do serviço Fastly.
-
-
Adicione a lista de endereços IP permitidos para acessar o Administrador:
-
Clique no ícone Configurações para a ACL
allowlist
. -
Adicione e salve o Valor IP para cada endereço IP de cliente.
-
Clique em Cancelar para retornar à página de configuração do sistema.
-
-
Clique em Salvar configuração.
-
Atualize o cache de acordo com a notificação na parte superior da página.
Criar o trecho de VCL personalizado para proteger o acesso de Administrador
O seguinte código de trecho de VCL personalizado (formato JSON) mostra a lógica para filtrar solicitações para o Administrador e permitir acesso se o endereço IP do cliente corresponder a um endereço na ACL allowlist
.
{
"name": "allowlist",
"dynamic": "0",
"type": "recv",
"priority": "5",
"content": "if ((req.url ~ \"^/admin\") && !(client.ip ~ allowlist) && !req.http.Fastly-FF) { error 403 \"Forbidden\"; }"
}
Antes de criar um trecho personalizado deste exemplo, revise os valores para determinar se você precisa fazer alterações. Em seguida, insira cada valor nos respectivos campos, como type
no campo Tipo, content
no campo Conteúdo.
-
name
— Nome do trecho VCL. Para este exemplo,allowlist
. -
priority
— Determina quando o trecho VCL é executado. A prioridade é5
para executar imediatamente e verificar se uma solicitação de administrador vem de um endereço IP permitido. O trecho é executado antes de qualquer um dos trechos de VCL de Magento padrão (magentomodule_*
) ter uma prioridade 50. Defina a prioridade para cada trecho personalizado acima ou abaixo de 50, dependendo de quando você deseja que seu trecho seja executado. Os trechos com números de prioridade mais baixa são executados primeiro. -
type
— Especifica um local para inserir o trecho no código de VCL com controle de versão. Este VCL é um tipo de trechorecv
que adiciona o código de trecho à sub-rotinavcl_recv
abaixo do código VCL padrão do Fastly e acima de qualquer objeto. -
content
— O trecho de código VCL a ser executado. Neste exemplo, o código filtra solicitações para o Administrador e permite acesso se o endereço IP do cliente corresponder a um endereço na ACLallowlist
. Se o endereço não corresponder, a solicitação é bloqueada com um erro403 Forbidden
.Se a URL do seu Administrador tiver sido alterada, substitua o valor de exemplo
/admin
pela URL do seu ambiente. Por exemplo,/company-admin
.
Na amostra de código, a condição !req.http.Fastly-FF
é importante ao usar Origin Shielding. Não remova nem edite esse código.
Depois de revisar e atualizar o código do seu ambiente, use um dos métodos a seguir para adicionar o trecho de VCL personalizado à configuração do serviço Fastly:
-
Adicionar o trecho de VCL personalizado do Administrador. Esse método é recomendado se você puder acessar o Administrador. (Requer o módulo Fastly CDN para o Magento 2 versão 1.2.58 ou posterior.)
-
Salve o exemplo de código JSON em um arquivo (por exemplo,
allowlist.json
) e carregue-o usando a API Fastly. Use esse método se não conseguir acessar o Administrador.
Adicionar o trecho de VCL personalizado
-
Faça logon no Administrador.
-
Clique em Lojas > Configurações > Configuração > Avançado > Sistema.
-
Expanda Cache de Página Inteira > Configuração Rápida > Trechos de VCL Personalizados.
-
Clique em Criar trecho personalizado.
-
Adicione os valores do trecho de VCL:
-
Nome —
allowlist
-
Tipo —
recv
-
Prioridade —
5
-
Adicionar o conteúdo do trecho VCL:
code language-conf if ((req.url ~ "^/admin") && !(client.ip ~ allowlist) && !req.http.Fastly-FF) { error 403 "Forbidden";}
-
-
Clique em Criar para gerar o arquivo de trecho VCL com o padrão de nome
type_priority_name.vcl
, por exemplorecv_5_allowlist.vcl
-
Depois que a página for recarregada, clique em Fazer upload do VCL para o Fastly na seção Configuração do Fastly para adicionar o arquivo à configuração do serviço Fastly.
-
Depois que o upload for concluído, atualize o cache de acordo com a notificação na parte superior da página.
O Fastly valida a versão atualizada do código do VCL durante o processo de upload. Se a validação falhar, edite o trecho de VCL personalizado para corrigir o problema. Em seguida, carregue o VCL novamente.
Modificar o trecho de VCL personalizado
-
Faça logon no Administrador.
-
Clique em Lojas > Configurações > Configuração > Avançadas > Sistema.
-
Expanda Cache de Página Inteira > Configuração Rápida > Trechos de VCL Personalizados.
-
Na coluna Ação, clique no ícone de configurações ao lado do trecho a ser editado.
-
Depois que a página for recarregada, clique em Carregar VCL para Fastly na seção Configuração Fastly.
-
Depois que o upload for concluído, atualize o cache de acordo com a notificação na parte superior da página.
Excluir o trecho de VCL personalizado
-
Faça logon no Administrador.
-
Clique em Lojas > Configurações > Configuração > Avançadas > Sistema.
-
Expanda Cache de Página Inteira > Configuração Rápida > Trechos de VCL Personalizados.
-
Na coluna Ação, clique no ícone de lixeira ao lado do trecho a ser excluído.
-
Na próxima janela modal, clique em DELETE e ative uma nova versão.