Sessões baseadas em fluxo
O Junos OS armazena as informações de sessão que são acionadas pelo primeiro pacote do fluxo. A sessão em cache é usada por pacotes subseqüentes desse mesmo fluxo e o fluxo reverso dessa sessão usando o módulo de fluxo, que é integrado ao caminho de encaminhamento.
Entendendo as características de sessão para firewalls da Série SRX
As sessões são criadas, com base no roteamento e 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 você pode mudar, como quando são terminadas. Por exemplo, você pode querer garantir que uma tabela de sessão nunca esteja totalmente cheia para se proteger contra a tentativa de inundação da mesa de um invasor e, assim, impedir que os usuários legítimos iniciais das 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 intervalo do serviço, a sessão será envelhecida e liberada para um pool de recursos comum para reutilização. Você pode afetar a vida de uma sessão das seguintes maneiras:
Você pode especificar circunstâncias para encerrar sessões usando qualquer um dos seguintes métodos:
Sessões de envelhecimento baseadas em quão completa é a tabela de sessão
Definir um tempo limite explícito para o envelhecimento das sessões de TCP
Configure uma sessão de TCP a ser invalidada quando receber uma mensagem TCP RST (reset)
Configure a
fin-invalidate-session
declaração para encerrar sessões quando qualquer ponto final de sessão enviar uma mensagem FIN(ish) para seu peer.Quando o endpoint peer recebe o pacote com o conjunto de bandeira FIN, ele envia uma mensagem ACK(nowlege). Normalmente, derrubar 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 forma:
Desativar verificações de segurança de pacotes TCP
Altere 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 da sessão estiver cheia, quaisquer novas sessões serão recusadas pelo dispositivo.
O mecanismo agressivo de envelhecimento de 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 especificado de alta marca d'água. Esse mecanismo minimiza a probabilidade de que os firewalls da Série SRX rejeitem novas sessões quando a tabela de sessão estiver cheia.
Configure os seguintes parâmetros para realizar o envelhecimento agressivo da sessão:
high-watermark—O dispositivo realiza um 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 volta ao normal quando o número de sessões na tabela de sessão cai abaixo do low-watermark limiar.
early-ageout —Durante o envelhecimento agressivo da sessão, as sessões com tempo de saída de idade inferiores ao early-ageout limite são marcadas como inválidas.
Em dispositivos de SRX1400, SRX3400, SRX3600, SRX5600 e SRX5800, a SPU verifica a tabela de sessão, localiza as sessões para as quais o valor de tempo limite é menor do que o valor do tempo de envelhecimento precoce e os marca como inválidos. (O suporte da plataforma depende da versão do Junos OS em sua instalação.)
Exemplo: controle da rescisão 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 estiver cheio ou atingir uma porcentagem especificada. Você especifica um valor de tempo limite ou o número de sessões na tabela de sessão.
Requisitos
Antes de começar, entenda as circunstâncias para encerrar sessões.
Visão geral
Você pode controlar o término de sessão em determinadas situações — por exemplo, depois de receber um TCP FIN Fechar 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 terminadas, 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.
Nota:O valor mínimo que você pode configurar para a inicialização da sessão de TCP é de 4 segundos. O valor padrão é de 20 segundos; se necessário, você pode definir o valor de inicialização de sessão do TCP em menos de 20 segundos.
Um valor de tempo limite explícito de 280 segundos, o que muda o tempo limite de sessão do TCP durante o aperto de mão de três vias.
O comando define o tempo limite inicial de sessão do TCP para 280 na tabela de sessão durante o TCP de três vias. O temporizador é iniciado quando o primeiro pacote SYN é recebido e reiniciado com cada pacote durante o aperto de mão de três vias. Após a conclusão do intervalo de três vias, o tempo limite da sessão é redefinido para o tempo limite definido pelo aplicativo específico. Se o temporiza antes da conclusão do processo de três vias, a sessão será removida da mesa de sessão.
Qualquer sessão que receba uma mensagem TCP RST (reset) é invalidada.
Configuração
Procedimento
Procedimento passo a passo
Para controlar a rescisão de sessão para firewalls da Série SRX:
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter instruções sobre como fazer isso, veja Usando o Editor de CLI no modo de configuração noGuia do usuário da CLI.
Para controlar a rescisão de sessão para firewalls da Série SRX:
Especifique um valor de saída de idade para a sessão.
[edit security flow] user@host# set aging early-ageout 20
Configure um valor de envelhecimento.
[edit security flow] user@host# set tcp-session tcp-initial-timeoout 280
Invalide qualquer sessão que receba uma mensagem TCP RST.
[edit security flow] user@host# set tcp-session rst-invalidate-session
Se você terminar de configurar o dispositivo, confirme a configuração.
[edit ] user@host# commit
Verificação
Para verificar se a configuração está funcionando corretamente, insira o show security flow
comando.
Compensação de sessões 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 tipo de aplicativo específico, 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 combinam com um prefixo de origem e sessões de gerente de recursos.
- Terminação de sessões para gateways de serviços da Série SRX
- Encerrando uma sessão específica para gateways de serviços da Série SRX
- Usando filtros para especificar as sessões a serem terminadas para gateways de serviços da Série SRX
Terminação 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 gerenciador de túneis e recursos. A saída de comando mostra o número de sessões liberadas. Esteja ciente de que esse comando encerra a sessão de gerenciamento por meio da qual o comando claro é emitido.
user@host> clear security flow session all
Encerrando 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 cuja ID de sessão você especifica.
user@host> clear security flow session session-identifier 40000381
Usando filtros para especificar as sessões a serem terminadas para gateways de serviços da Série SRX
Você pode encerrar uma ou mais sessões com base no parâmetro do filtro que você especifica para o clear
comando. O exemplo a seguir usa o protocolo como filtro.
user@host> clear security flow session protocol 89
Configurando o 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 ligadas juntas, 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 de sessão de fluxo multicast.
Se nenhum valor de tempo de 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 tempoouts 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 de protocolo IP padrão. Por exemplo, fluxos multicast com um intervalo de pacotes de mais de 60 segundos experimentariam o envelhecimento prematuro das sessões de fluxo e quedas de pacotes com o valor de tempo limite do UDP, que é sempre de 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 do tempo limite da sessão leaf, configure um aplicativo personalizado e associe o aplicativo a uma política: