Saltar para o conteudo
Avanet

Synchronized Application Control: diagnosticar a base de dados com segurança

Quando o Synchronized Application Control deixa de detetar novas aplicações, o heartbeatd.log apresenta erros ou um firewall fica com muito pouco espaço de armazenamento após uma atualização, a base de dados interna de aplicações pode estar afetada. No entanto, este não é um caso para utilizar comandos PostgreSQL genéricos encontrados num fórum ou numa nota de suporte antiga.

O Sophos Firewall gere estes dados internamente. Desde o SFOS 20.0 MR1, limita as ocorrências por aplicação e endpoint; o SFOS 21.0 e versões posteriores também disponibilizam uma limpeza configurável por antiguidade. Este artigo explica como definir a retenção normal, delimitar um problema com segurança e acompanhar de forma controlada uma eventual intervenção do suporte.

Enquadrar corretamente o problema

O Synchronized Application Control utiliza informações de endpoints ligados ao firewall através do Security Heartbeat. Desta forma, o firewall identifica aplicações que as assinaturas tradicionais não conseguem classificar de forma inequívoca e disponibiliza-as em Applications > Synchronized Application Control para gestão.

Os conceitos não devem ser confundidos:

  • O Security Heartbeat transmite o estado de saúde e segurança entre o endpoint, o firewall e o Sophos Fusion (anteriormente Sophos Central).
  • O Synchronized Application Control regista aplicações e os locais onde foram detetadas nos endpoints ligados.
  • Missing heartbeat descreve a ausência do estado de um endpoint e pode ser gerido através de comandos suportados na Device Console.
  • Um problema de App ID ou da base de dados afeta o armazenamento interno das aplicações detetadas e requer um diagnóstico próprio.

A ausência da indicação de Heartbeat, um endpoint a vermelho ou uma regra de firewall incorreta não significa, portanto, automaticamente que existe um problema na base de dados. Para verificar a ligação entre o firewall e o Sophos Fusion, consulte primeiro Ligar o Sophos Firewall ao Sophos Fusion.

Compreender a retenção e a limpeza

Aplicam-se duas regras importantes ao Synchronized Application Control:

  • O Synchronized Application Control suporta até 15'000 aplicações.
  • Desde o SFOS 20.0 MR1, o firewall guarda apenas as últimas cinco ocorrências de cada aplicação por endpoint.

Ao migrar para o SFOS 20.0 MR1 ou posterior, o firewall mantém as cinco ocorrências mais recentes e remove automaticamente os dados de ocorrências mais antigos. A Sophos alerta, contudo, que esta limpeza de migração pode falhar se não existir espaço livre suficiente. Nesse caso, deve contactar-se o Sophos Support.

Separadamente, o SFOS pode eliminar aplicações cuja última deteção seja anterior ao período de retenção configurado. O firewall verifica-as diariamente e elimina lotes de 100 aplicações a cada cinco minutos. As aplicações adicionadas individualmente às políticas de Application Filter também são removidas dessas políticas.

Ao migrar para o SFOS 21.0 ou posterior com o Synchronized Application Control ativado, Clean up application database é ativado com o período predefinido de 12 meses. Um período personalizado anteriormente é mantido. Se o Synchronized Application Control for desativado, a limpeza também permanece desativada.

Esta distinção é importante: a retenção por antiguidade suportada é configurada na interface. A manutenção direta da base de dados continua fora da administração de rotina.

Configurar a limpeza periódica

O firewall tem de estar registado no Sophos Fusion e possuir uma subscrição Web Protection válida. Sem essa subscrição, é possível configurar o Synchronized Application Control, mas não utilizá-lo. Além disso, o domínio criado no firewall tem de corresponder ao domínio selecionado no endpoint.

  1. Abra System > Sophos Fusion e confirme que o firewall está registado e que o Synchronized Application Control está ativado.
  2. Ative Clean up application database.
  3. Escolha o período de retenção. 12 meses é o valor predefinido após a migração e um ponto de partida razoável se não existir uma política específica. Um período mais curto reduz mais cedo as entradas obsoletas, mas também remove mais cedo das políticas de Application Filter as aplicações atribuídas individualmente.
  4. Guarde a definição e monitorize o inventário durante os próximos ciclos diários de limpeza.

A limpeza é deliberadamente gradual. Por isso, uma contagem inalterada imediatamente após guardar não indica uma falha. Para validar, compare a deteção visível mais antiga e o número de aplicações antigas antes e depois de pelo menos um ciclo diário; as novas aplicações devem continuar a aparecer.

⚠️ Desativar a limpeza interrompe as eliminações futuras, mas não repõe aplicações nem atribuições a filtros já removidas. Uma aplicação detetada volta a aparecer na lista, mas deve ser novamente adicionada a uma política de Application Filter, se necessário.

Distinguir os sintomas típicos

Problema de armazenamento após uma atualização ou limpeza

Os possíveis indícios incluem uma partição muito ocupada, falhas em relatórios ou serviços e uma relação temporal com uma atualização ou com uma limpeza por antiguidade que não progride. Só estes indícios ainda não provam que o Synchronized Application Control seja a causa.

Primeiro, devem ser verificados os relatórios, Debug Logs, arquivos de suporte, Mail Queue, Quarantine e o tamanho de um disco virtual. O procedimento encontra-se em Verificar o espaço de armazenamento e gerir relatórios no Sophos Firewall.

Intervalo de App ID esgotado

Outro sintoma é uma mensagem como:

Cannot create ID for application, because appId range is exhausted.
Application will be ignored.

Neste caso, o firewall pode continuar a apresentar aplicações existentes, mas deixar de registar corretamente novas aplicações. Esta mensagem está relacionada com o Synchronized Application Control, não com uma base de dados geral de relatórios ou logs.

Uma lista próxima do limite de produto de 15'000 aplicações indica um problema de capacidade do Synchronized Application Control. Uma partição cheia é, por outro lado, um problema de armazenamento distinto. Os dois sintomas podem ocorrer simultaneamente, mas nenhum comprova a causa do outro, pelo que devem ser investigados separadamente.

O Security Heartbeat não funciona

Se os endpoints não comunicarem o estado do Heartbeat ou se as regras com condições de Heartbeat não funcionarem como esperado, devem ser verificadas primeiro a inscrição no Sophos Fusion, a comunicação do endpoint, as zonas afetadas e a regra de firewall. Uma limpeza direta da base de dados não é a abordagem correta para este problema.

Diagnóstico antes do caso de suporte

1. Documentar o firmware e o contexto

As notas do caso devem incluir as seguintes informações:

  • modelo do firewall, número de série e versão SFOS completa, incluindo o build
  • Standalone, HA Primary ou HA Auxiliary
  • data da última atualização e versão SFOS anterior
  • momento a partir do qual o problema se tornou visível
  • serviços afetados e impacto concreto

Em HA, deve ficar claro em que Node ocorre o sintoma. Os logs locais e a utilização do armazenamento podem diferir entre o Primary e o Auxiliary.

2. Verificar a vista de aplicações

Em Applications > Synchronized Application Control, verifique:

  • Continuam a ser detetadas novas aplicações?
  • A lista está próxima do limite de 15'000 aplicações?
  • O problema afeta apenas aplicações novas ou também entradas existentes?
  • É possível pesquisar, abrir e gerir aplicações?
  • As aplicações eliminadas voltam a ser criadas como esperado quando são novamente detetadas?

Eliminar aplicações individuais na interface é uma função suportada, mas também as remove dos Application Filters. Se o firewall voltar a detetar a aplicação, esta reaparece. Por isso, esta função da interface não constitui uma reparação da base de dados.

3. Verificar separadamente o armazenamento

A utilização do armazenamento deve ser documentada antes de outras medidas. É importante registar a partição afetada e a evolução ao longo do tempo, não apenas um único valor percentual.

Se forem eliminados simultaneamente relatórios, logs ou arquivos de suporte, deixa de ser possível determinar posteriormente qual medida resolveu o problema. Por isso, recolha primeiro as evidências e efetue depois apenas uma alteração de cada vez.

4. Guardar logs e o relatório de troubleshooting

O heartbeatd.log é particularmente relevante para o Synchronized Application Control e o Security Heartbeat. Devem também ser guardados o momento exato do erro e um relatório de troubleshooting.

Os ficheiros e métodos de recolha adequados encontram-se em Troubleshooting do Sophos Firewall: serviços e logs e Guardar logs do Sophos Firewall para análise externa.

Não utilizar comandos públicos para a base de dados

Na Internet circulam vários comandos psql, DELETE, VACUUM FULL e de reinício de serviços para versões antigas do SFOS e diferentes problemas relacionados com o Heartbeat. Estes procedimentos não são intercambiáveis:

  • Um VACUUM FULL liberta espaço de uma tabela, mas não elimina automaticamente a causa do seu crescimento.
  • Um DELETE pode alterar associações de aplicações, endpoints ou utilizadores autenticados em tempo real.
  • As tabelas e os procedimentos de suporte podem variar entre versões do SFOS.
  • Em HA, o procedimento depende também do Node, do estado de sincronização e das instruções do suporte.

⚠️ Sem instruções atuais e específicas para o caso por parte do Sophos Support, não devem ser efetuadas alterações diretas à base de dados PostgreSQL interna. Um backup da configuração é importante, mas não fornece um rollback completo da base de dados interna.

Também não se devem aplicar, sem nova verificação, comandos de um ticket anterior a outro firewall, firmware ou função HA. As instruções exatas devem constar do caso de suporte atual e identificar o Node afetado e o efeito esperado.

Preparar completamente o caso de suporte

Um caso bem preparado acelera a análise e evita pedidos adicionais de informação. Devem ser anexados:

  • versão SFOS completa e modelo do firewall
  • número de série e função HA do Node afetado
  • momento e texto exato da mensagem de erro
  • captura de ecrã de Applications > Synchronized Application Control
  • utilização do armazenamento antes de qualquer limpeza própria
  • heartbeatd.log e relatório de troubleshooting do período relevante
  • data e caminho da última atualização de firmware
  • descrição que indique se faltam novas aplicações, se o armazenamento é insuficiente ou se ocorrem ambos os problemas

Antes de uma intervenção do suporte, deve existir um backup atual da configuração do firewall. O procedimento para abrir o caso é descrito em Abrir um ticket de suporte na Sophos.

Se o suporte ordenar uma intervenção na base de dados, devem ser registados na alteração o número do ticket, os comandos aprovados, o Node de destino, a janela de manutenção, o resultado esperado e os critérios de interrupção. As mensagens de erro diferentes devem ser documentadas e comunicadas, em vez de se continuar a experimentar comandos semelhantes.

Verificar após a medida de suporte

Após a medida aprovada, não basta verificar o espaço livre ou a execução bem-sucedida de um comando. Deve ser testado todo o percurso funcional:

  1. Abra Applications > Synchronized Application Control e verifique as entradas existentes.
  2. Inicie num endpoint de teste uma aplicação nova que ainda não tenha sido detetada.
  3. Confirme se a aplicação aparece e pode ser gerida.
  4. Verifique o estado do Security Heartbeat do endpoint de teste.
  5. Teste regras de firewall com condições de Heartbeat ou Application Control.
  6. Verifique o heartbeatd.log quanto a novos erros durante o período de teste.
  7. Acompanhe a utilização do armazenamento durante várias horas ou dias.

Se o erro ou o crescimento regressar rapidamente, a limpeza apenas proporcionou um alívio temporário. Nesse caso, o Sophos Support necessita da nova evolução temporal, de logs atuais e da informação sobre a ação após a qual o problema voltou a ocorrer.

FAQ

Deve limpar-se regularmente a base de dados do Synchronized Application Control?

Sim, mas apenas através de Clean up application database em System > Sophos Fusion. Desde o SFOS 21.0, esta limpeza por antiguidade suportada fica predefinida para 12 meses após uma migração quando o Synchronized Application Control está ativado. A manutenção direta do PostgreSQL continua a ser uma tarefa do suporte.

O que significa appId range is exhausted?

O firewall não consegue criar uma nova ID interna para uma aplicação detetada e ignora essa aplicação. Este sintoma pertence ao Synchronized Application Control e deve ser analisado através da vista de aplicações, do heartbeatd.log, da versão de firmware e do suporte.

É possível utilizar comandos psql antigos da Sophos Community?

Não sem aprovação atual do Sophos Support. Os comandos públicos podem destinar-se a outra versão do SFOS, outro problema ou outro HA Node e podem alterar associações de aplicações, endpoints ou utilizadores.

Um backup da configuração é suficiente como caminho de recuperação?

Não. Um backup da configuração é importante antes de trabalhos de manutenção, mas não proporciona um rollback completo de alterações diretas à base de dados PostgreSQL interna. Por isso, o processo de recuperação deve fazer parte das instruções do suporte.