Introdução
Este documento descreve a evolução, a configuração e as diferenças de exclusões de processos no macOS e no Linux.
Overview
Começando com a versão 1.11.0 do conector, o Secure Endpoint está adicionando suporte para Exclusões de Processo em macOS e Linux. No passado, configurar o Secure Endpoint para ignorar atividades de um aplicativo MacOS ou Linux exigia uma combinação de regras de caminho, extensão de arquivo e/ou exclusão de curinga. Como essas regras têm como destino arquivos e diretórios e não podem ser associadas a um programa ou processo, muitas vezes eram necessárias várias regras para cada programa e cada regra pode desnecessariamente excluir atividades de mais de um programa. As exclusões de processos fornecem uma maneira mais direta e precisa de excluir atividades de software benignas. Quando usadas de forma apropriada, as Exclusões de Processos podem melhorar significativamente o desempenho do Secure Endpoint com efeitos adversos mínimos na segurança do sistema.
As regras de Exclusão de Processo são gerenciadas no console da Web do Secure Endpoint. Cada regra consiste em:
- O caminho completo (absoluto) para o executável do programa,
- O nome de usuário do processo (opcional) e
- Se os processos filhos também devem ser excluídos (padrão: não)
Quando uma regra de exclusão de processo corresponde a um processo em execução, todas as atividades executadas por esse processo e, opcionalmente, seus processos filhos, são excluídas da varredura.
A partir da versão 1.15.2 do conector, o caminho de exclusão do processo aceita curingas ('*'). Um curinga corresponde a qualquer conjunto de caracteres em um nível de arquivo ou diretório.
Começando com a versão 1.2.0 do conector e a introdução do mecanismo de Proteção comportamental, as exclusões de processos são aplicadas a todos os mecanismos e não apenas às varreduras de arquivos.
IMPORTANTE!
Com a adição da Exclusão de processos nos conectores Mac e Linux 1.11.0, a interpretação das regras de Caminho, Extensão de arquivo e Curinga existentes também está mudando. Não há alteração no comportamento para conectores 1.10.x e mais antigos. No entanto, as mesmas regras em 1.11.0 não se aplicam de forma tão ampla. Consulte a seção Alterações no Caminho, Extensão de Arquivo e Regras de Exclusão de Curinga para obter detalhes.
Preparação para Exclusões de Processos
Há três considerações importantes antes de atualizar seus endpoints macOS e Linux:
- 1.10.x e conectores mais antigos ignoram as regras de Exclusão de processos.
- Os conectores 1.11.0 e mais recentes respeitam as regras de Exclusão de Processo, mas interpretam as regras de Caminho, Extensão de Arquivo e Curinga de forma diferente dos conectores mais antigos. Isso pode afetar negativamente o desempenho do sistema.
- O conector Mac 1.10.0 e o conector Linux 1.11.0 introduziram otimizações genéricas de varredura ao executar que reduzem a perda de desempenho da nova interpretação descrita em (2).
- 1.2.0 aplica as exclusões universalmente a todos os motores
Alterações nas Regras de Caminho, Extensão de Arquivo e Exclusão de Curinga
Na versão 1.10.x e em versões mais antigas do conector: As regras de arquivo, caminho e curinga excluem o arquivo ou diretório de destino da varredura para estas operações de arquivo:
- Criar
- Modificar
- Renomear
- Execute
Na versão 1.11.0 e versões mais recentes do conector: A interpretação das regras Path, File Extension e Wildcard foi alterada de tal forma que em uma correspondência, a execução do arquivo aciona uma varredura em vez de ser excluída. Os arquivos de criação, modificação e renomeação continuarão a ser excluídos. As motivações para essa mudança são:
- Evita a exclusão indesejada da atividade de execução ao excluir diretórios de arquivos de dados.
- Ele complementa melhor as regras de Exclusão de processos, tornando possível excluir independentemente operações de execução e não execução no mesmo caminho.
- Ele alinha a interpretação do macOS e do Linux dessas regras com o Secure Endpoint no Windows.
Na maioria dos casos, estima-se que o aumento do uso de CPU de endpoint seguro seja inferior a 20%. Em alguns casos, o uso da CPU do Secure Endpoint pode diminuir. Isso será possível se as otimizações genéricas da varredura ao executar da nova versão do conector forem mais eficazes que as regras de exclusão em uso.
Orientação para atualização do conector
Para sistemas previamente ajustados usando exclusões, é necessário prestar atenção após a atualização para 1.11.0 (ou mais recente) para garantir que o desempenho do sistema ainda seja satisfatório. As etapas de atualização recomendadas são:
- Sem fazer nenhuma alteração de exclusão, atualize o conector.
- Avaliar o desempenho do sistema após a atualização.
- Se o desempenho do sistema após a atualização for satisfatório, remova as regras de Caminho, Extensão de Arquivo e Exclusão de Curinga que têm como alvo executáveis de programas em vez de arquivos de dados. Essas regras já não são necessárias. Novas regras de exclusão de processo podem ser adicionadas para melhorar ainda mais o desempenho quando for conveniente.
- Se o desempenho do sistema após a atualização não for satisfatório, substitua as regras Path, File Extension e Wildcard Exclusion que têm como alvo os executáveis do programa pelas regras de Process Exclusion correspondentes.
Em implantações maiores onde os conectores são atualizados em fases, é recomendável adiar a modificação ou remoção de regras de caminho, extensão de arquivo e exclusão de curinga até que todos os conectores tenham sido atualizados para 1.11.0 ou mais recente. Isso garante que conectores mais antigos que dependem de regras de exclusão existentes não sejam afetados de forma adversa antes que o ponto final seja atualizado.
5. Se a atualização para o conector versão 1.22.0 ou mais recente e o desempenho do sistema após a atualização não for satisfatório, verifique a falha 18 e consulte o Falha do conector Linux de endpoint seguro 18 orientações para as etapas de reparação.
Adicionando Regras de Exclusão de Processos
As regras de Exclusão de Processo podem ser criadas usando o portal da Web do Ponto de Extremidade Seguro. O procedimento é:
- Localize o Conjunto de exclusões que deseja modificar. Clique em `Adicionar Exclusão` e selecione `Processar`.

- Insira o caminho absoluto para o programa a ser excluído, a conta de Usuário que executa o programa (opcional) e se a exclusão deve ser aplicada a todos os processos filho criados pelo programa.
Começando com a versão 1.15.2 do conector, os curingas (*) podem ser usados no caminho para representar qualquer número de caracteres em um único diretório. É recomendável usar o curinga para cobrir o número mínimo de caracteres necessários para fornecer a exclusão necessária. O curinga também pode ser usado junto com caracteres em um diretório para restringir ainda mais a exclusão.

- Clique em `Adicionar Exclusão` para adicionar mais regras (repetindo as etapas 1-2) ou clique em `Salvar` para salvar o conjunto de exclusões.

Práticas recomendadas de exclusões de processos
- Nunca excluir o processo de inicialização: O processo de inicialização (`launchd` no macOS, `init` ou `systemd` no Linux) é responsável por criar todos os outros processos no sistema e está no topo da hierarquia de processos. Excluir o processo de inicialização e todos os seus processos filhos desabilitaria efetivamente o monitoramento do Ponto de Extremidade Seguro.
- Especificar Usuário quando possível: Se o campo Usuário for deixado em branco, a exclusão se aplicará a qualquer processo que execute o programa especificado. Embora uma regra que se aplica a qualquer usuário seja mais flexível, esse escopo amplo pode excluir involuntariamente atividades que devem ser monitoradas. Especificar o Usuário é especialmente importante para regras que se aplicam a programas compartilhados, como mecanismos de tempo de execução (por exemplo, `java`) e intérpretes de script (por exemplo, `bash`, `python`). Especificar o Usuário limita o escopo e direciona o Ponto de Extremidade Seguro para ignorar instâncias específicas ao monitorar outras instâncias.
- Evite a sobreposição entre as regras de exclusão de processo e caminho/extensão de arquivo/curinga: ao excluir a execução de um programa da varredura, uma boa proteção a ser mantida é detectar modificações desse programa confiável e acionar varreduras de arquivos. Garantir que o caminho especificado em uma regra de exclusão de processo não seja coberto por uma regra de caminho/extensão de arquivo/curinga garante que a modificação do arquivo não seja excluída acidentalmente da varredura.
- Minimizar o número de regras: embora os conectores Mac e Linux não imponham um número máximo de limite de regras de exclusão de processo, mais regras podem incorrer em sobrecarga de avaliação adicional. Escolha o processo pai de nível mais alto que identifica exclusivamente o aplicativo a ser excluído e use a opção Aplicar ao Processo Filho para minimizar o número de regras.
Diferenças da implementação do Windows
Adicionar suporte à Exclusão de processos e reduzir o escopo das regras de Caminho, Extensão de arquivos e Curinga aproxima as exclusões de macOS e Linux do Windows. No entanto, ainda há diferenças importantes na implementação:
- As regras de Exclusão de Processo do Mac OS e Linux aceitam um nome de usuário opcional para acompanhar o caminho completo do executável do processo, enquanto o Windows aceita um valor de hash SHA-256 opcional. A exclusão de um processo por seu valor de hash SHA-256 não é suportada atualmente em macOS e Linux.
- Os mecanismos de Atividade mal-intencionada e Processo do sistema são exclusivos do Windows e, portanto, esses tipos de exclusão não estão disponíveis no macOS e no Linux.
- As regras de Exclusão de Processos do macOS e do Linux são aplicadas a todos os mecanismos e não são separadas por mecanismo, como acontece no Windows.