Por que antivírus tradicionais não são adequados para nuvens públicas. E o que fazer?

Cada vez mais usuários estão implantando toda a infraestrutura de TI na nuvem pública. No entanto, no caso de controle antivírus insuficiente, sérios riscos cibernéticos surgem na infraestrutura do cliente. A prática mostra que até 80% dos vírus existentes vivem perfeitamente em um ambiente virtual. Nesta postagem, falaremos sobre como proteger os recursos de TI na nuvem pública e por que os antivírus tradicionais não são adequados para esses fins.



Primeiro, mostraremos como chegamos à conclusão de que as ferramentas usuais de proteção antivírus não são adequadas para uma nuvem pública e são necessárias outras abordagens para proteger recursos.

Em primeiro lugar, como regra, os provedores fornecem as medidas necessárias para garantir a proteção de suas plataformas em nuvem em alto nível. Por exemplo, no #CloudMTS analisamos todo o tráfego da rede, monitoramos os logs de segurança de nossa nuvem e realizamos regularmente testes. Os segmentos de nuvem fornecidos a clientes individuais também devem ser protegidos com confiabilidade.

Em segundo lugar, a versão clássica da luta contra os riscos cibernéticos envolve a instalação de um antivírus e seus controles em cada máquina virtual. No entanto, com um grande número de máquinas virtuais, essa prática pode ser ineficiente e exigir quantidades significativas de recursos de computação, além de carregar adicionalmente a infraestrutura do cliente e reduzir o desempenho geral da nuvem. Isso se tornou um pré-requisito essencial para encontrar novas abordagens para a criação de proteção antivírus eficaz para as máquinas virtuais dos clientes.

Além disso, a maioria das soluções antivírus disponíveis no mercado não está adaptada para resolver os problemas de proteção de recursos de TI em um ambiente de nuvem pública. Como regra, são soluções de EPP de alto peso (Endpoint Protection Platforms), que, além disso, não fornecem as opções de personalização necessárias no lado dos clientes do provedor de nuvem.

Torna-se óbvio que as soluções antivírus tradicionais são pouco adequadas para trabalhar na nuvem, pois carregam seriamente a infraestrutura virtual durante atualizações e verificações, e também não possuem os níveis necessários de gerenciamento e configurações de função. A seguir, analisaremos detalhadamente por que a nuvem precisa de novas abordagens para a proteção antivírus.

O que um antivírus deve fazer em uma nuvem pública


Então, vamos prestar atenção às especificidades do trabalho em um ambiente virtual:

Eficiência de atualizações e verificações agendadas em massa. Se um número significativo de máquinas virtuais usando um antivírus tradicional iniciar uma atualização por vez, a chamada "tempestade" de atualizações ocorrerá na nuvem. A capacidade do host ESXi, que hospeda várias máquinas virtuais, pode não ser suficiente para lidar com uma enxurrada do mesmo tipo de tarefas iniciadas por padrão. Do ponto de vista do provedor de nuvem, esse problema pode levar a cargas adicionais em vários hosts ESXi, o que acabará por levar a uma diminuição no desempenho da infraestrutura virtual em nuvem. Isso pode afetar, entre outras coisas, o desempenho de máquinas virtuais de outros clientes em nuvem. Uma situação semelhante pode ocorrer ao iniciar uma verificação em massa: o processamento simultâneo pelo sistema de disco de muitos dos mesmos tipos de solicitações de usuários diferentes afetará adversamente o desempenho de toda a nuvem. Com um alto grau de probabilidade, uma diminuição na capacidade de trabalho dos sistemas de armazenamento afetará todos os clientes. Essas cargas espasmódicas não agradam o provedor ou seus clientes, pois afetam os "vizinhos" na nuvem. Deste ponto de vista, um antivírus tradicional pode ser um grande problema.

Quarentena segura. Se um arquivo ou documento potencialmente infectado por um vírus for detectado no sistema, ele será enviado para a quarentena. Obviamente, um arquivo infectado pode ser excluído imediatamente, mas isso geralmente não é aceitável para a maioria das empresas. Os antivírus corporativos que não são adaptados para trabalhar na nuvem do provedor geralmente têm uma zona de quarentena comum - todos os objetos infectados caem nela. Por exemplo, encontrado nos computadores dos usuários da empresa. Os clientes do provedor de nuvem "vivem" em seus próprios segmentos (ou inquilinos). Esses segmentos são opacos e isolados: os clientes não se conhecem e, é claro, não veem o que os outros estão colocando na nuvem. É óbvio que na quarentena geral, que será acessada por todos os usuários de antivírus na nuvem, um documento contendo informações potencialmente confidenciais ou segredos comerciais pode entrar nele. Isso não é aceitável para o provedor e seus clientes. Portanto, pode haver apenas uma solução - esta é uma quarentena pessoal para cada cliente em seu segmento, onde nem o provedor nem outros clientes têm acesso.

Políticas de segurança individuais. Cada cliente na nuvem é uma empresa separada, cujo departamento de TI define suas próprias políticas de segurança. Por exemplo, os administradores definem regras de verificação e agendamentos de verificação antivírus. Assim, cada organização deve ter seu próprio centro de controle para configurar políticas de antivírus. Ao mesmo tempo, as configurações a serem definidas não devem afetar outros clientes da nuvem e o provedor deve garantir que, por exemplo, as atualizações antivírus sejam executadas normalmente para todas as máquinas virtuais clientes.

Organização de cobrança e licenciamento. O modelo de nuvem é caracterizado pela flexibilidade e envolve o pagamento apenas da quantidade de recursos de TI que foram utilizados pelo cliente. Se houver uma necessidade, por exemplo, devido ao fator de sazonalidade, a quantidade de recursos poderá ser aumentada ou reduzida rapidamente - tudo com base nas necessidades atuais de energia da computação. O antivírus tradicional não é tão flexível - como regra, um cliente compra uma licença por um ano por um número predeterminado de servidores ou estações de trabalho. Os usuários da nuvem desconectam e conectam regularmente máquinas virtuais adicionais, dependendo de suas necessidades atuais - portanto, as licenças antivírus devem oferecer suporte ao mesmo modelo.

A segunda pergunta é a que exatamente a licença será aplicada. O antivírus tradicional é licenciado pelo número de servidores ou estações de trabalho. As licenças para o número de máquinas virtuais protegidas não se encaixam perfeitamente no modelo de nuvem. O cliente pode criar qualquer número disponível de máquinas virtuais a partir dos recursos disponíveis, por exemplo, cinco ou dez máquinas. A maioria dos clientes não possui esse número; não é possível para nós, como provedor, rastrear suas alterações. Tecnicamente, o licenciamento por CPU não é possível: os clientes recebem processadores virtuais (vCPU), que devem ser licenciados. Portanto, o novo modelo de proteção antivírus deve incluir a possibilidade de o cliente determinar o número necessário de vCPUs para as quais ele receberá licenças antivírus.

Cumprimento da lei. Um ponto importante, pois as soluções aplicadas devem garantir a conformidade com os requisitos do regulador. Por exemplo, frequentemente os "habitantes" da nuvem trabalham com dados pessoais. Nesse caso, o provedor deve ter um segmento de nuvem certificado separado, que cumpra totalmente os requisitos da Lei de Dados Pessoais. Então, as empresas não precisam "construir" todo o sistema para trabalhar com dados pessoais por conta própria: comprar equipamentos certificados, conectar e configurar e passar na certificação. Para proteção cibernética do ISPD para esses clientes, o antivírus também deve cumprir os requisitos da lei russa e ter um certificado FSTEC.

Examinamos os critérios obrigatórios que a proteção antivírus deve atender em uma nuvem pública. Em seguida, compartilharemos nossa própria experiência na adaptação de uma solução antivírus para trabalhar na nuvem do provedor.

Como faço para fazer amigos antivírus e nuvem


Como nossa experiência demonstrou, escolher uma para descrição e documentação é uma coisa, e colocá-la em prática em um ambiente em nuvem já em execução é uma tarefa completamente diferente em termos de complexidade. Contaremos o que fizemos na prática e como adaptamos o antivírus para funcionar na nuvem pública do provedor. O fornecedor da solução antivírus era a Kaspersky, que possui soluções de proteção antivírus para ambientes em nuvem em seu portfólio. Optamos pelo Kaspersky Security for Virtualization (Light Agent).

Inclui um console único para o Kaspersky Security Center. Agente leve e máquina virtual de segurança (SVM) e KSC Integration Server

Depois de estudarmos a arquitetura da solução da Kaspersky e realizarmos os primeiros testes em conjunto com os engenheiros do fornecedor, surgiu a questão de integrar o serviço na nuvem. A primeira implementação foi realizada em conjunto no site de nuvem de Moscou. E aqui está o que entendemos.

Para minimizar o tráfego de rede, foi decidido colocar o SVM em cada host ESXi e "vincular" o SVM aos hosts ESXi. Nesse caso, os agentes leves das máquinas virtuais protegidas acessam o SVM do host ESXi específico no qual estão executando. Um inquilino administrativo separado foi selecionado para o KSC principal. Como resultado, os subordinados da KSC estão localizados nos inquilinos de cada cliente individual e recorrem ao KSC superior localizado no segmento de gerenciamento. Esse esquema permite resolver rapidamente os problemas que surgem nos inquilinos dos clientes.

Além de problemas com o aumento dos componentes da solução antivírus, enfrentamos a tarefa de organizar a interação da rede através da criação de VxLANs adicionais. E, embora a solução tenha sido originalmente projetada para clientes corporativos com nuvens privadas - com a ajuda da engenhosidade da engenharia e da flexibilidade tecnológica do NSX Edge, conseguimos resolver todos os problemas associados à separação de inquilinos e licenciamento.

Trabalhamos em estreita colaboração com os engenheiros da Kaspersky. Portanto, no processo de análise da arquitetura da solução em termos de interação da rede entre os componentes do sistema, verificou-se que, além do acesso dos agentes leves ao SVM, também é necessário feedback - do SVM aos agentes leves. Essa conectividade de rede não é possível em um ambiente com vários locatários devido à possibilidade da existência de configurações de rede idênticas de máquinas virtuais em diferentes locatários da nuvem. Portanto, a nosso pedido, colegas do fornecedor redesenharam o mecanismo de interação da rede entre o agente leve e o SVM em termos de eliminar a necessidade de conectividade de rede do SVM para os agentes leves.

Depois que a solução foi implantada e testada no site em nuvem de Moscou, a replicamos em outros sites, incluindo o segmento de nuvem certificado. Agora o serviço está disponível em todas as regiões do país.

A arquitetura da solução IB como parte de uma nova abordagem


O esquema geral da solução antivírus em um ambiente de nuvem pública é o seguinte:


O esquema de trabalho da solução antivírus em um ambiente de nuvem pública #CloudMTS

Descrevemos os recursos do trabalho de elementos individuais da solução na nuvem:

• Um console único que permite aos clientes gerenciar centralmente o sistema de proteção: executar verificações, monitorar atualizações e monitorar zonas de quarentena. É possível configurar políticas de segurança individuais dentro do seu segmento.

Note-se que, apesar de sermos um provedor de serviços, não interferimos nas configurações definidas pelos clientes. A única coisa que podemos fazer é redefinir as políticas de segurança para o padrão, se for necessária uma migração. Por exemplo, isso pode ser necessário se o cliente os apertar acidentalmente ou os enfraquecer significativamente. Uma empresa sempre pode obter um centro de controle com políticas padrão, que podem ser configuradas por conta própria. A desvantagem do Kaspersky Security Center é que, embora a plataforma esteja disponível apenas para o sistema operacional Microsoft. Embora agentes leves possam trabalhar com máquinas baseadas em Windows e Linux. No entanto, a Kaspersky Lab promete que, em um futuro próximo, o KSC também funcionará no Linux. Um dos recursos importantes do KSC é a capacidade de gerenciar a quarentena. Cada empresa cliente em nossa nuvem é pessoal. Essa abordagem elimina a situação em que um documento infectado por um vírus cai acidentalmente no domínio público, como poderia ser o caso de um antivírus corporativo clássico com quarentena geral.

• agentes leves. Como parte do novo modelo, um agente leve Kaspersky Security é instalado em cada máquina virtual. Isso elimina a necessidade de armazenar um banco de dados antivírus em cada VM, o que reduz a quantidade de espaço em disco usado. O serviço é integrado à infraestrutura de nuvem e funciona através do SVM, o que aumenta a densidade de máquinas virtuais no host ESXi e o desempenho de todo o sistema em nuvem. Um agente leve cria uma fila de tarefas para cada máquina virtual: verifique o sistema de arquivos, a memória etc. Mas o SVM é responsável por executar essas operações, sobre as quais falaremos mais adiante. O agente também atua como um firewall, monitora as políticas de segurança, envia arquivos infectados para a quarentena e monitora a "integridade" geral do sistema operacional no qual está instalado. Tudo isso pode ser controlado usando o console único já mencionado.

• Máquina virtual de segurança. Todas as tarefas que consomem muitos recursos (atualizações de bancos de dados antivírus, verificações agendadas) são tratadas por uma Security Virtual Machine (SVM) separada. Ela é responsável pela operação do mecanismo antivírus completo e de seus bancos de dados. A infraestrutura de TI de uma empresa pode incluir vários SVMs. Essa abordagem aumenta a confiabilidade do sistema - se uma máquina falhar e não responder por trinta segundos, os agentes automaticamente começarão a procurar outra.

Servidor de integração KSC. Um dos componentes do KSC principal, que atribui seus SVMs de acordo com o algoritmo especificado em suas configurações para agentes leves, e também controla a disponibilidade dos SVMs. Portanto, este módulo de software fornece balanceamento de carga em toda a infraestrutura de nuvem SVM.

Algoritmo de nuvem: reduzindo o ônus da infraestrutura


Em geral, o algoritmo do antivírus pode ser representado da seguinte maneira. O agente acessa o arquivo na máquina virtual e o verifica. O resultado da verificação é armazenado em um banco de dados centralizado comum de veredictos SVM (é chamado de cache compartilhado), cada entrada na qual identifica um arquivo de amostra exclusivo. Essa abordagem permite garantir que o mesmo arquivo não seja verificado várias vezes seguidas (por exemplo, se ele foi aberto em diferentes máquinas virtuais). Um arquivo é verificado novamente apenas se tiver sido modificado ou se uma verificação foi iniciada manualmente.


Implementando uma solução antivírus na nuvem do provedor

A imagem mostra o esquema geral para implementar a solução na nuvem. O principal Kaspersky Security Center é implantado na zona de controle da nuvem e um SVM individual é implantado em cada host ESXi usando o servidor de integração KSC (cada host ESXi possui seu próprio SVM associado a configurações especiais no VMware vCenter Server). Os clientes trabalham em seus segmentos de nuvem, que hospedam máquinas virtuais com agentes. Eles são gerenciados por meio de servidores KSC individuais subordinados ao KSC principal. Se for necessário proteger um pequeno número de máquinas virtuais (até 5), o cliente poderá obter acesso ao console virtual de um servidor dedicado KSC dedicado. A rede entre os KSCs do cliente e o KSC principal, bem como agentes leves e SVMs, é feita usando o NAT através dos roteadores virtuais do cliente EdgeGW.

De acordo com nossas estimativas e os resultados dos testes de colegas do fornecedor, o Light Agent reduz a carga na infraestrutura virtual dos clientes em cerca de 25% (quando comparado com um sistema que usa software antivírus tradicional). Em particular, o antivírus padrão Kaspersky Endpoint Security (KES) para ambientes físicos consome quase o dobro do tempo do processador do servidor (2,95%) do que uma solução leve de virtualização baseada em agente (1,67%).


Gráfico de comparação de carga da CPU

Uma situação semelhante é observada com a frequência do acesso de gravação ao disco: para antivírus clássicos, são 1011 IOPS, para antivírus em nuvem - 671 IOPS.


Gráfico comparando taxas de acesso ao disco

Os ganhos de desempenho ajudam a manter a estabilidade da infraestrutura e a alavancar o poder da computação. Ao se adaptar ao trabalho em um ambiente de nuvem pública, a solução não reduz o desempenho da nuvem: executa uma verificação centralizada de arquivos e atualiza downloads, distribuindo a carga. Isso significa que, por um lado, as ameaças relevantes à infraestrutura da nuvem não serão perdidas; por outro lado, os requisitos de recursos das máquinas virtuais diminuirão em média 25% em comparação aos antivírus tradicionais.

Em termos de funcionalidade, ambas as soluções se parecem muito: a tabela comparativa é fornecida abaixo. No entanto, na nuvem, como mostram os resultados dos testes acima, ainda é mais ideal usar a solução para ambientes virtuais.



Sobre tarifas como parte de uma nova abordagem. Decidimos usar um modelo que permite obter licenças pelo número de vCPUs. Isso significa que o número de licenças será igual ao número de vCPUs. O antivírus pode ser testado deixando uma solicitação no site .

No próximo artigo sobre tópicos relacionados à nuvem, falaremos sobre a evolução dos WAFs baseados na nuvem e o que é melhor escolher: hardware, software ou nuvem.

O texto foi preparado pelos funcionários do provedor de nuvem #CloudMTS: Denis Myagkov, arquiteto principal e Alexey Afanasyev, gerente de desenvolvimento de produtos do IB.

Source: https://habr.com/ru/post/pt472892/


All Articles