Sessões baseadas em fluxo

O Junos OS armazena em cache as informações da sessão que são acionadas pelo primeiro pacote do fluxo. A sessão armazenada em cache é usada por pacotes subsequentes desse mesmo fluxo e o fluxo reverso dessa sessão usando o módulo de fluxo, que é integrado ao caminho de encaminhamento.

Entender as características de sessão para firewalls da Série SRX

As sessões são criadas, com base no roteamento e em outras informações de classificação, para armazenar informações e alocar recursos para um fluxo. As sessões têm características, algumas das quais podem ser alteradas, como quando são encerradas. Por exemplo, talvez você queira garantir que uma tabela de sessão nunca esteja totalmente cheia para proteger contra a tentativa de um invasor de inundar a tabela e, assim, impedir que usuários legítimos iniciem sessões.

Dependendo do protocolo e do serviço, uma sessão é programada com um valor de tempo limite. Por exemplo, o tempo limite padrão para TCP é de 1800 segundos. O tempo limite padrão para UDP é de 60 segundos.

Se nenhum tráfego usar a sessão antes do tempo limite do serviço, a sessão será envelhecida e liberada para um pool de recursos comum para reutilização. Você pode afetar a vida útil de uma sessão das seguintes maneiras:

  • Você pode especificar circunstâncias para encerrar sessões usando qualquer um dos seguintes métodos:

    • Expire as sessões com base na capacidade da tabela de sessão

    • Definir um tempo limite explícito para sessões TCP antigas

    • Configurar uma sessão TCP para ser invalidada quando receber uma mensagem TCP RST (reset)

    • Configure a fin-invalidate-session instrução para encerrar sessões quando um dos endpoints da sessão enviar uma mensagem FIN(ish) ao peer.

      Quando o endpoint peer recebe o pacote com o sinalizador FIN definido, ele envia uma mensagem ACK(nowlege). Normalmente, a destruição de uma sessão usando esse método envolve a transmissão de um par de mensagens FIN-ACK de cada sessão.

  • Você pode configurar sessões para acomodar outros sistemas da seguinte maneira:

    • Desativar verificações de segurança de pacotes TCP

    • Alterar o tamanho máximo do segmento

Entendendo o envelhecimento agressivo da sessão

A tabela de sessão é um recurso limitado para firewalls da Série SRX. Se a tabela de sessão estiver cheia, todas as novas sessões serão rejeitadas pelo dispositivo.

O mecanismo agressivo de envelhecimento da sessão acelera o processo de tempo limite da sessão quando o número de sessões na tabela de sessão excede o limite de marca d'água alta especificado. Esse mecanismo minimiza a probabilidade de que os firewalls da Série SRX rejeitem novas sessões quando a tabela de sessão ficar cheia.

Configure os seguintes parâmetros para executar a duração agressiva da sessão:

  • high-watermark–O dispositivo executa o envelhecimento agressivo da sessão quando o número de sessões na tabela de sessão excede o high-watermark limite.

  • low-watermark–O dispositivo sai do envelhecimento agressivo da sessão e retorna ao normal quando o número de sessões na tabela de sessão cair abaixo do low-watermark limite.

  • early-ageout –Durante o envelhecimento agressivo da sessão, as sessões com um tempo de esgotamento inferior ao early-ageout limite são marcadas como inválidas.

Exemplo: controle do encerramento de sessão para firewalls da Série SRX

Este exemplo mostra como encerrar sessões para firewalls da Série SRX com base no envelhecimento após um determinado período de tempo ou quando o número de sessões na tabela de sessão está cheio ou atinge uma porcentagem especificada. Você especifica um valor de tempo limite ou o número de sessões na tabela de sessão.

Requerimentos

Antes de começar, entenda as circunstâncias para encerrar as sessões.

Visão geral

Você pode controlar o encerramento da sessão em determinadas situações — por exemplo, após receber um TCP FIN Close ou receber uma mensagem RST, ao encontrar erros de ICMP para UDP e quando nenhum tráfego correspondente é recebido antes do tempo limite do serviço. Quando as sessões são encerradas, seus recursos são liberados para uso por outras sessões.

Neste exemplo, você configura as seguintes circunstâncias para encerrar a sessão:

  • Um valor de tempo limite de 20 segundos.

    Observação:

    O valor mínimo que você pode configurar para inicialização de sessão TCP é de 4 segundos. O valor padrão é 20 segundos; se necessário, você pode definir o valor de inicialização da sessão TCP para menos de 20 segundos.

  • Um valor de tempo limite explícito de 280 segundos, que altera o tempo limite da sessão TCP durante o handshake de três vias.

    O comando define o tempo limite da sessão TCP inicial como 280 na tabela de sessão durante o handshake de três vias TCP. O temporizador é iniciado quando o primeiro pacote SYN é recebido e redefinido com cada pacote durante o handshake de três vias. Depois que o handshake de três vias é concluído, o tempo limite da sessão é redefinido para o tempo limite definido pelo aplicativo específico. Se o cronômetro expirar antes que o handshake de três vias seja concluído, a sessão será removida da tabela de sessão.

  • Qualquer sessão que receba uma mensagem TCP RST (reset) é invalidada.

Configuração

Tramitação processual

Procedimento passo a passo

Para controlar o encerramento de sessão para firewalls da Série SRX:

O exemplo a seguir requer que você navegue por vários níveis na hierarquia de configuração. Para obter instruções sobre como fazer isso, consulte Uso do Editor de CLI no Modo de Configuração noGuia do Usuário da CLI.

Para controlar o encerramento de sessão para firewalls da Série SRX:

  1. Especifique um valor de idade limite para a sessão.

  2. Configure um valor de classificação por vencimento.

  3. Invalidar qualquer sessão que receba uma mensagem TCP RST.

  4. Se você terminar de configurar o dispositivo, confirme a configuração.

Verificação

Para verificar se a configuração está funcionando corretamente, insira o show security flow comando.

Sessões de compensação para gateways de serviços da Série SRX

Você pode usar o clear comando para encerrar sessões. Você pode limpar todas as sessões, incluindo sessões de um determinado tipo de aplicativo, sessões que usam uma porta de destino específica, sessões que usam uma interface ou porta específica, sessões que usam um determinado protocolo IP, sessões que correspondem a um prefixo de origem e sessões do gerenciador de recursos.

Encerramento de sessões para gateways de serviços da Série SRX

Você pode usar o comando a seguir para encerrar todas as sessões, exceto sessões de túnel e gerenciador de recursos. A saída do comando mostra o número de sessões limpas. Lembre-se de que esse comando encerra a sessão de gerenciamento por meio da qual o comando clear é emitido.

Encerramento de uma sessão específica para gateways de serviços da Série SRX

Você pode usar o comando a seguir para encerrar a sessão cujo ID de sessão você especificou.

Uso de filtros para especificar as sessões a serem encerradas para gateways de serviços da Série SRX

Você pode encerrar uma ou mais sessões com base no parâmetro de filtro especificado para o clear comando. O exemplo a seguir usa o protocolo como um filtro.

Configuração do valor de tempo limite para sessões de fluxo multicast

Você pode configurar o valor de tempo limite para sessões de fluxo multicast configurando um aplicativo personalizado e associando o aplicativo a uma política.

As sessões de fluxo multicast têm uma sessão de modelo e uma ou mais sessões leaf. Como essas sessões estão vinculadas, elas podem ter apenas um valor de tempo limite. O valor de tempo limite para sessões de fluxo multicast é determinado considerando os valores de tempo limite configurados nas políticas de sessão leaf e os valores de tempo limite do protocolo IP. O mais alto desses valores de tempo limite é selecionado como o tempo limite da sessão de fluxo de multicast.

Se nenhum valor de tempo limite da sessão leaf estiver configurado, o valor de tempo limite do protocolo IP será usado automaticamente como o valor de tempo limite para a sessão de fluxo mulicast. O tempo limite do protocolo IP é o padrão e não é configurável.

A configuração de tempos limite de sessão leaf pode ser especialmente útil para fluxos multicast que têm um intervalo de pacotes mais longo do que o tempo limite do protocolo IP padrão. Por exemplo, fluxos multicast com um intervalo de pacote de mais de 60 segundos experimentariam envelhecimento prematuro de sessões de fluxo e quedas de pacotes com o valor de tempo limite UDP, que é sempre 60 segundos. Para esses fluxos, você pode configurar um valor de tempo limite de sessão leaf mais alto e evitar a queda de pacotes.

Para definir o valor de tempo limite da sessão leaf, configure um aplicativo personalizado e associe o aplicativo a uma política:

  1. Crie um aplicativo personalizado, especifique suas propriedades e especifique ignorar o tipo de aplicativo.
  2. Defina o valor de tempo limite para o protocolo de aplicativo.
  3. Crie uma política.
  4. Associe o aplicativo personalizado (com o tempo limite configurado) à política.
  5. Se você terminar de configurar o dispositivo, confirme a configuração.
  6. Para verificar o valor de tempo limite da sessão atualizado, insira o show security flow session comando.

    Nesta saída, a seção ID de sessão 2363 exibe uma sessão de modelo. Um valor de tempo limite de 498 indica que o valor de tempo limite da sessão do modelo está diminuindo em relação ao valor configurado de 500 segundos.

    A seção ID de sessão 2364 exibe uma sessão leaf. O valor de tempo limite de -1 indica essencialmente que a sessão não envelhecerá, a menos que a sessão do modelo envelheça.

    Neste exemplo, o valor de tempo limite da sessão leaf configurado de 500 segundos é o valor de tempo limite mais alto e é aceito como o valor de tempo limite da sessão de modelo para a sessão de fluxo multicast.