Introdução
Este documento descreve duas configurações avançadas do coletor de fluxo que podem alterar a forma como o SNA Flow Collector dispara Eventos de Segurança Personalizados (CSEs).
Background
A configuração avançada do coletor de fluxo early_check_age legado, junto com a nova configuração avançada do coletor de fluxo cse_exec_interval_secs determinam a maneira como os Eventos de Segurança Personalizados são acionados pelo mecanismo do coletor de fluxo. O coletor de fluxo é o primeiro dispositivo na arquitetura do sistema SNA a ver o fluxo na rede e, portanto, o mecanismo do coletor de fluxo é responsável por monitorar as características do(s) fluxo(s) no cache de fluxo e determinar se o fluxo atende aos critérios configurados de um determinado evento de segurança personalizado. No entanto, essas configurações avançadas do coletor de fluxo NÃO alteram as características de acionamento de nenhum dos eventos de segurança principal embutidos.
Depuração de Evento de Segurança Personalizada
Na versão 7.5.0 e posterior do SNA, a configuração avançada do coletor de fluxo debug_custom_events foi aprimorada para fornecer diferentes níveis de depuração
- debug_custom_events 1 (menor depuração - destinado a ser capaz de ser executado em produção e fornecer mais informações sobre os fluxos exatos que estão gerando CSEs)
- debug_custom_events 2 (mais depurações)
- debug_custom_events 3 (depuração mais detalhada)
Comportamento do coletor de fluxo padrão
Por padrão, a configuração avançada do coletor de fluxo early_check_age está configurada como 160 segundos. Isso significa que o mecanismo do coletor de fluxo espera um mínimo de 160 segundos em um fluxo antes de verificar se esse fluxo corresponde a um evento de segurança personalizado configurado. Por padrão, essa verificação não é feita novamente até que o fluxo termine.
Esse valor de verificação antecipada de 160 segundos foi escolhido especificamente porque, se estiver usando as melhores práticas, os exportadores de telemetria devem ser configurados para enviar telemetria a cada 60 segundos. Esse valor padrão permite tempo suficiente em um ambiente típico para que o coletor de fluxo veja as informações de fluxo relacionadas aos dois lados de uma determinada conversa/fluxo. Por esse motivo, a early_check_age não é predefinida na lista de configurações avançadas. Isso ocorre por projeto, e você não deve alterar esse valor sem consultar primeiro o suporte/engenharia. Esse projeto inicial, no entanto, não tem um desempenho favorável ao considerar características de fluxo longas e um pouco silenciosas associadas à configuração do evento de segurança personalizado que envolve o acúmulo de contagens de bytes ou pacotes. Por esse motivo, foi criado o parâmetro de configuração avançado cse_exec_interval_secs .
A configuração avançada cse_exec_interval_secs
Disponibilizado no 7.4.2, a adição da configuração avançada do coletor de fluxo cse_exec_interval_secs agora possibilita instruir o mecanismo a verificar periodicamente os fluxos em seu cache de fluxo em relação aos eventos de segurança personalizados configurados. Essa configuração avançada é particularmente útil no caso de fluxos longos, em que um determinado fluxo não correspondeu aos critérios de um CSEs no padrão de 160 segundos early_check_age, mas ultrapassa esse limite posteriormente no fluxo. Sem essa configuração avançada, o evento de segurança personalizado não será acionado até que o fluxo termine. Às vezes, isso pode acontecer dias depois.
Impactos no desempenho
A execução desses critérios de intervalo do CSE verifica os fluxos mais vezes na vida útil do fluxo do que o que os padrões definem exige mais CPU. As instruções orientam você na investigação do conteúdo do arquivo sw.log no mecanismo do coletor de fluxo para determinar uma linha de base de desempenho antes de ativar o parâmetro cse_exec_interval_secs. Se você estiver considerando habilitar essa configuração avançada e quiser que o TAC ajude a confirmar a integridade do coletor de fluxo na preparação para essa alteração, isso pode ser feito abrindo um caso de suporte e anexando um pacote de diagnóstico do coletor de fluxo ao SR.
Medindo a duração do thread classify_flows
Uma medida rápida de impacto no desempenho que você pode fazer é investigar o sw.log a partir de hoje e comparar os números listados após as entradas de "cf-"log antes da ativação da configuração com os números após a configuração ser aplicada.
/lancope/var/sw/today/logs/grep "cf-"sw.log
20:43:21 I-flo-f0: classify_flows: fluxos n-1744317 ns-178613 ne-188095 nq-0 nd-0 nx-0 to-300 cf-21 ft-126473/792802/940383/14216
20:44:20 I-flo-f4: classify_flows: fluxos n-1754296 ns-191100 ne-167913 nq-0 nd-0 nx-0 to-300 cf-20 ft-122830/783378/949392/14928
20:44:21 I-flo-f2: classify_flows: fluxos n-1773175 ns-191930 ne-169039 nq-0 nd-0 nx-0 to-300 cf-20 ft-123055/788507/962264/15431
20:44:21 I-flo-f3: classify_flows: fluxos n-1750066 ns-189197 ne-165940 nq-0 nd-0 nx-0 a 300 cf-20 ft-122563/779792/944192/15154
20:44:21 I-flo-f5: classify_flows: fluxos n-1753899 ns-190477 ne-168004 nq-0 nd-0 nx-0 to-300 cf-20 ft-122261/783375/946651/15423
20:44:21 I-flo-f1: classify_flows: fluxos n-1763952 ns-191342 ne-169518 nq-0 nd-0 nx-0 a 300 cf-20 ft-122782/786822/955997/15175
20:44:21 I-flo-f7: classify_flows: fluxos n-1757535 ns-188154 ne-166221 nq-0 nd-0 nx-0 to-300 cf-20 ft-122808/781388/951528/14363
20:44:21 I-flo-f6: classify_flows: fluxos n-1764211 ns-190964 ne-169013 nq-0 nd-0 nx-0 to-300 cf-21 ft-122713/784446/954149/16320
20:44:21 I-flo-f0: classify_flows: fluxos n-1764197 ns-189780 ne-168784 nq-0 nd-0 nx-0 to-300 cf-21 ft-123290/787327/952186/14352
20:45:22 I-flo-f4: classify_flows: fluxos n-1780277 ns-177512 ne-149843 nq-0 nd-0 nx-0 to-300 cf-21 ft-129553/766777/964933/14864
20:45:22 I-flo-f2: classify_flows: fluxos n-1789285 ns-175763 ne-155809 nq-0 nd-0 nx-0 to-300 cf-21 ft-129685/772482/976850/15289
20:45:22 I-flo-f3: classify_flows: fluxos n-1774883 ns-177085 ne-149715 nq-0 nd-0 nx-0 a 300 cf-22 ft-129067/764272/962000/15090
20:45:22 I-flo-f5: classify_flows: fluxos n-1775998 ns-176898 ne-150682 nq-0 nd-0 nx-0 to-300 cf-22 ft-128835/768374/963353/15347
20:45:22 I-flo-f1: classify_flows: fluxos n-1786441 ns-175776 ne-151846 nq-0 nd-0 nx-0 a 300 cf-22 ft-129255/770212/970360/15129
As entradas cf significam "Classificar fluxos". Isso representa o número de segundos que o thread levou para fazer sua passagem pela seção do Cache de Fluxo pela qual é responsável. Ele está nos threads "Classificar fluxos" onde os CSEs são aplicados contra os fluxos. Se você observar o aumento desses números após ativar o recurso, essa será uma boa medida do impacto geral sobre o desempenho.
É esperado um aumento após a adição dessa configuração de intervalo avançada, mas se esse número se aproximar de 60, remova a configuração, pois o impacto é muito grande. Um aumento de alguns segundos seria de esperar e é considerado razoável.
Status do Mecanismo no Período de Desempenho
Outra medida de desempenho "antes vs depois" que você pode fazer é observar as seções "Performance Period" no arquivo sw.log que são registradas a cada 5 minutos para medir o impacto da configuração no processamento de fluxo. Você pode procurar esses blocos usando o grep também. Se o Engine estiver sobrecarregado, esta verificação de intervalo de configuração avançada deverá ser desativada.
/lancope/var/sw/today/logs/ grep -A3 "Período de Desempenho" sw.log
Tome nota de qualquer estado diferente de "Estado do motor normal".
Um status como "Taxa de entrada de status do mecanismo muito alta" indicaria que o thread classify_flows está consumindo muita CPU.
SFI - índice de fluxo estático
Significa que os threads de classificação não foram capazes de concluir suas passagens pelo cache de fluxo: Representa o "Índice de Fluxo Estático" e indica uma luta nos threads de classificação de fluxos. Não é um desastre por si só, mas indica que o motor está começando a atingir o teto e que o desempenho está começando a degradar-se nos níveis atuais de cf.
sw.log:16:09:49 I-flo-f1: classify_flows: sfi:base(8388608) (10522745 -> 11014427) max(16777215) cod(1) (491681/8388608)---------->(5%)
sw.log:16:09:49 I-flo-f3: classify_flows: sfi:base(25165824) (27269277 -> 27754304) max(33554431) cod(1) (485026/8388608)---------->(5%)
sw.log:16:09:49 I-flo-f4: classify_flows: sfi:base(33554432) (35652656 -> 36138422) max(41943039) cod(1) (485765/8388608)---------->(5%)
sw.log:16:09:49 I-flo-f2: classify_flows: sfi:base(16777216) (18985626 -> 19499308) max(25165823) cod(1) (513681/8388608)---------->(6%)
sw.log:16:09:54 I-flo-f0: classify_flows: sfi:base(0) (1786480 -> 421161) max(8388607) cod(1) (7023288/8388608)---------->(83%)
sw.log:16:10:49 I-flo-f0: classify_flows: sfi:base(0) (421161 -> 1402189) max(8388607) cod(0) (981027/8388608)---------->(11%)
sw.log:16:10:49 I-flo-f2: classify_flows: sfi:base(16777216) (19499308 -> 17522620) max(25165823) cod(0) (6411919/8388608)---------->(76%)
sw.log:16:10:49 I-flo-f1: classify_flows: sfi:base(8388608) (11014427 -> 8976309) max(16777215) cod(0) (6350489/8388608)---------->(75%)
sw.log:16:10:49 I-flo-f3: classify_flows: sfi:base(25165824) (27754304 -> 25702968) max(33554431) cod(0) (6337271/8388608)---------->(75%)
sw.log:16:10:49 I-flo-f7: classify_flows: sfi:base(58720256) (58848913 -> 59630528) max(67108863) cod(0) (781614/8388608)---------->(9%)
sw.log:16:10:49 I-flo-f4: classify_flows: sfi:base(33554432) (36138422 -> 34064015) max(41943039) cod(1) (6314200/8388608)---------->(75%)
sw.log:16:10:49 I-flo-f5: classify_flows: sfi:base(41943040) (43310891 -> 44059251) max(50331647) cod(1) (748359/8388608)---------->(8%)
sw.log:16:10:49 I-flo-f6: classify_flows: sfi:base(50331648) (51714170 -> 52444661) max(58720255) cod(1) (730490/8388608)---------->(8%)
sw.log:16:11:49 I-flo-f5: classify_flows: sfi:base(41943040) (44059251 -> 42121104) max(50331647) cod(0) (6450460/8388608)---------->(76%)
sw.log:16:11:49 I-flo-f0: classify_flows: sfi:base(0) (1402189 -> 2373792) max(8388607) cod(1) (971602/8388608)---------->(11%)
sw.log:16:11:49 I-flo-f6: classify_flows: sfi:base(50331648) (52444661 -> 50483491) max(58720255) cod(1) (6427437/8388608)---------->(76%)
sw.log:16:11:49 I-flo-f3: classify_flows: sfi:base(25165824) (25702968 -> 26385879) max(33554431) cod(1) (682910/8388608)---------->(8%)
sw.log:16:11:49 I-flo-f1: classify_flows: sfi:base(8388608) (8976309 -> 9662167) max(16777215) cod(1) (685857/8388608)---------->(8%)
sw.log:16:11:49 I-flo-f4: classify_flows: sfi:base(33554432) (34064015 -> 34742593) max(41943039) cod(1) (678577/8388608)---------->(8%)
sw.log:16:11:50 I-flo-f7: classify_flows: sfi:base(58720256) (59630528 -> 60298366) max(67108863) cod(1) (667837/8388608)---------->(7%)
sw.log:16:11:50 I-flo-f2: classify_flows: sfi:base(16777216) (17522620 -> 18202249) max(25165823) cod(1) (679628/8388608)---------->(8%)
Configurando
Abra um navegador da Web e navegue diretamente para o IP do dispositivo Flow Collector. Faça login como o usuário administrador local.
Navegue até Suporte -> Configurações avançadas
Desça até a tela Advanced Setting (Configuração avançada) para expor a caixa de configuração "Add New Option" (Adicionar nova opção) na parte inferior da lista
Na caixa de edição Add New Option: digite cse_exec_interval_secs e, na caixa de edição Option value:, digite 119. A edição dessas caixas habilita o botão Adicionar. Pressione o botão Adicionar depois de inserir cse_exec_interval_secs na caixa de edição Adicionar nova opção: e 119 na caixa de edição Valor da opção: .
As caixas de edição Add New Option: e Option value: se apagam em preparação para outra entrada no caso de serem inseridas várias Advanced Settings novas. As Configurações avançadas recém-adicionadas são empilhadas na parte inferior da lista à medida que são adicionadas. Isso dá ao usuário uma chance de inspecionar a entrada. A ortografia exata da Configuração avançada é importante, assim como o caso. Todas as configurações avançadas estão em minúsculas.
Agora que a Configuração avançada foi inserida corretamente, pressione o botão Aplicar. Observe que, às vezes, o botão Apply não está ativado. Para ativá-lo, clique na caixa de edição Add New Option: e o botão Apply será ativado para clicar. Quando este pop-up for exibido, pressione o botão OK para enviar o novo valor e a nova Configuração avançada.
Confirmando a alteração
Esta validação final é a mais importante. Clique no menu Suporte novamente e escolha Procurar arquivos.
Isso o leva ao sistema de arquivos no FC. Clique em sw.
Clique hoje
Clique em logs.
Clique em sw.log
Faça uma pesquisa na página do navegador, insira cse_exec_interval_secs na caixa de pesquisa para localizar a Configuração avançada
As configurações avançadas aceitas são listadas conforme mostrado na captura de tela.
Os que não foram aceitos são listados como "não fazem parte da configuração de entrada", nesse caso, foi devido ao erro de ortografia do usuário na configuração. É por isso que é importante verificar o registro depois de fazer essas alterações de configuração.
Parabéns!
Você acabou de inserir uma nova Configuração avançada e validar sua aceitação pelo mecanismo.
Agora, o recurso está habilitado para executar a lógica do CSE nos fluxos aproximadamente a cada 2 minutos depois que o fluxo atingir a early_check_age que assume como padrão o 160 segundos.
Se as regras do CSE envolverem o acúmulo de contagens de bytes ao longo do tempo, esse recurso melhora a temporização na qual os CSEs disparam os fluxos que correspondem aos critérios definidos.