VCL personalizado para permitir solicitações
Você pode usar uma lista ACL de borda do Fastly com um trecho de código 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 um Lista de controle de acesso (ACL) do Fastly para proteger o acesso do Administrador a 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 os 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 armazenamento em 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 de Borda para permitir endereços IP de clientes
As ACLs de borda criam listas de endereços IP para gerenciar o acesso ao seu site. Neste exemplo, você cria uma ACL de borda e adiciona a lista de endereços IP de clientes permitidos para acessar o administrador do ambiente do seu projeto.
-
Fazer logon para o Administrador.
-
Clique em Lojas > Configurações > Configuração > Avançado > Sistema.
-
Expandir Cache de Página Inteira > Configuração do Fastly > ACL de borda.
-
Crie o contêiner de ACL:
-
Clique em Adicionar ACL.
-
No Contêiner de ACL insira um Nome da ACL—
allowlist
. -
Selecionar Ativar após a alteração para implantar as alterações na versão da configuração do serviço Fastly que 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
allowlist
ACL. -
Adicione e salve a variável Valor de IP para cada endereço IP do 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 allowlist
ACL.
{
"name": "allowlist",
"dynamic": "0",
"type": "recv",
"priority": "5",
"content": "if ((req.url ~ \"^/admin\") && !(client.ip ~ allowlist) && !req.http.Fastly-FF) { error 403 \"Forbidden\"; }"
}
Antes criação de um trecho personalizado a partir 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. Neste 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_*
) atribuíram uma prioridade de 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 versão. Este VCL é umrecv
tipo de trecho que adiciona o código do trecho àvcl_recv
subrotina abaixo do código padrão do Fastly VCL 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 noallowlist
ACL. Se o endereço não corresponder, a solicitação será bloqueada com um403 Forbidden
erro.Se o URL do seu administrador tiver sido alterado, substitua o valor de exemplo
/admin
com o URL do seu ambiente. Por exemplo,/company-admin
.
Na amostra de código, a condição !req.http.Fastly-FF
é importante ao usar Blindagem de origem. 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. (Exige Módulo Fastly CDN para o Magento 2 versão 1.2.58 ou posteriormente.)
-
Salve o exemplo de código JSON em um arquivo (por exemplo,
allowlist.json
) e fazer upload usando a API Fastly. Use esse método se não conseguir acessar o Administrador.
Adicionar o trecho de VCL personalizado
-
Fazer logon para o Administrador.
-
Clique em Lojas > Configurações > Configuração > Avançado > Sistema.
-
Expandir Cache de Página Inteira > Configuração do Fastly > Trechos de VCL Personalizados.
-
Clique em Criar trecho personalizado.
-
Adicione os valores do trecho de VCL:
-
Nome —
allowlist
-
Tipo —
recv
-
Prioridade —
5
-
Adicione o VCL conteúdo do trecho:
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 Carregar VCL para Fastly no 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
-
Fazer logon para o Administrador.
-
Clique em Lojas > Configurações > Configuração > Avançado > Sistema.
-
Expandir Cache de Página Inteira > Configuração do Fastly > Trechos de VCL Personalizados.
-
No 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 no Configuração do Fastly seção.
-
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
-
Fazer logon para o Administrador.
-
Clique em Lojas > Configurações > Configuração > Avançado > Sistema.
-
Expandir Cache de Página Inteira > Configuração do Fastly > Trechos de VCL Personalizados.
-
No Ação clique no ícone de lixeira ao lado do trecho a ser excluído.
-
Na próxima janela modal, clique em DELETE e ativar uma nova versão.