Gerenciamento de sessão
O gerenciamento de sessão é uma prática recomendada de anti-negação de serviço (DoS) para segurança de API. Uma sessão representa o tempo que um visitante gasta no site e não está relacionada ao tempo em que os usuários administradores ou clientes estão conectados às suas contas.
Uma sessão é uma sequência de transações de resposta e solicitação HTTP de rede associadas ao mesmo usuário. É uma maneira de associar um cliente (Admin) aos seus dados quando ele acessa o servidor. As sessões são usadas para estabelecer variáveis, como direitos de acesso e configurações de localização, que se aplicam a todas as interações que um usuário tem com um aplicativo web durante a sessão.
Tamanho da sessão
Use as seguintes configurações para limitar o tamanho máximo da sessão para usuários Administradores e visitantes da loja:
- Max Session Size in Admin — Limita o tamanho máximo das sessões em bytes. Use
0
para desabilitar. - Max Session Size in Storefront — Limita o tamanho máximo das sessões em bytes. Use
0
para desabilitar.
256000
bytes (ou 256 KB).Para configurar o tamanho máximo da sessão:
-
Na barra lateral Admin, vá para Stores > Settings>Configuration.
-
No painel esquerdo, expanda Advanced e escolha System.
-
Expanda a seção Security para acessar as configurações da sessão.
{width="600" modal="regular"}
-
Insira os novos tamanhos da sessão em bytes.
note warning WARNING Definir o valor como muito baixo pode causar problemas. Se você definir uma das opções abaixo do padrão de 256.000 bytes, verá uma mensagem de aviso. Se você clicar em No, o sistema alterará o valor para 256000
. -
Clique em Save Config.
Sessões de administrador
Se você exceder o tamanho máximo de sessão, uma mensagem de erro será exibida e o sistema registrará a restrição de tamanho de sessão no diretório var/log
.
Se você perder o acesso ao Administrador depois de definir o tamanho da sessão como muito baixo, use a CLI para redefinir a configuração:
bin/magento config:set system/security/max_session_size_admin 256000
Sessões de vitrine eletrônica
Se você exceder o tamanho máximo de sessão, nenhum erro será exibido, mas o sistema registrará a restrição de tamanho de sessão no diretório var/log
.
Validação de sessão
O Adobe Commerce e o Magento Open Source permitem validar variáveis de sessão como uma medida de proteção contra possíveis ataques de fixação de sessão ou tentativas de envenenar ou sequestrar sessões de usuário. As Configurações de validação de sessão determinam como as variáveis de sessão são validadas durante cada visita de armazenamento e se a ID da sessão é incluída no URL do armazenamento.
Para obter informações técnicas, consulte Usar Redis para armazenamento de sessão no Guia de Configuração.
{width="600" modal="regular"}
A validação verifica se os visitantes são quem dizem ser comparando o valor nas variáveis de validação com os dados da sessão armazenados nos dados $_SESSION
para o usuário. A validação falhará se as informações não forem transmitidas conforme esperado e a variável correspondente estiver vazia. Dependendo das configurações de validação da sessão, se uma variável de sessão falhar no processo de validação, a sessão do cliente será encerrada imediatamente.
Ativar todas as variáveis de validação pode ajudar a evitar ataques, mas também pode afetar o desempenho do servidor. Por padrão, toda validação de variável de sessão é desativada. Recomendamos que você experimente as configurações para encontrar a melhor combinação para sua instalação do Adobe Commerce ou Magento Open Source. A ativação de todas as variáveis de validação pode ser desnecessariamente restritiva e pode impedir o acesso a clientes que têm conexões com a Internet que passam por um servidor proxy ou são originários de um firewall. Para saber mais sobre as variáveis de sessão e seu uso, consulte a documentação de administração do sistema Linux®.
Para configurar a validação da sessão:
-
Na barra lateral Admin, vá para Stores > Settings>Configuration.
-
No painel esquerdo, expanda General e escolha Web.
-
Expandir a seção Session Validation Settings.
-
Defina cada uma das opções de configuração:
-
Validate REMOTE_ADDR — Defina como
Yes
para verificar se o endereço IP de uma solicitação corresponde ao que está armazenado na variável$_SESSION
. -
Validate HTTP_VIA — Defina como
Yes
para verificar se o endereço de proxy de uma solicitação recebida corresponde ao que está armazenado na variável$_SESSION
. -
Validate HTTP_X_FORWARDED_FOR — Defina como
Yes
para verificar se o endereço encaminhado-para de uma solicitação corresponde ao que está armazenado na variável$_SESSION
. -
Validate HTTP_USER_AGENT — Defina como
Yes
para verificar se o navegador ou dispositivo usado para acessar o armazenamento durante uma sessão corresponde ao que está armazenado na variável$_SESSION
.
-
-
Quando terminar, clique em Save Config.
Tempo de vida da sessão do administrador
Como medida de segurança, o Administrador está inicialmente definido como tempo limite após 900 segundos (15 minutos) de inatividade do teclado. Você pode ajustar o tempo de vida da sessão para ajustá-lo ao seu estilo de trabalho.
Para ajustar a duração da sessão do Administrador:
-
Na barra lateral Admin, vá para Stores > Settings>Configuration.
-
Role para baixo e expanda Advanced no painel lateral esquerdo.
-
Clique em Admin.
-
Expandir a seção Security.
-
Por Admin Session Lifetime (seconds), insira o número de segundos durante os quais uma sessão permanece ativa antes do tempo limite.
{width="600" modal="regular"}
-
Quando terminar, clique em Save Config.## Tempo de vida da sessão do administrador
Como medida de segurança, o Administrador está inicialmente definido como tempo limite após 900 segundos (15 minutos) de inatividade do teclado. Você pode ajustar o tempo de vida da sessão para ajustá-lo ao seu estilo de trabalho.
Para ajustar a duração da sessão do Administrador:
-
Na barra lateral Admin, vá para Stores > Settings>Configuration.
-
Role para baixo e expanda Advanced no painel lateral esquerdo.
-
Clique em Admin.
-
Expanda a seção Segurança.
-
Por Admin Session Lifetime (seconds), insira o número de segundos durante os quais uma sessão permanece ativa antes do tempo limite.
{width="600" modal="regular"}
-
Quando terminar, clique em Save Config.