Antivírus de baixo custo para Object Storage

Melhore a segurança e mantenha a conformidade criando um scanner de vírus de baixo custo para verificar objetos de arquivo à medida que eles são criados no Oracle Cloud Infrastructure Object Storage. Essa arquitetura usa uma única instância do Oracle Cloud Infrastructure Compute e o ClamAV, um mecanismo antivírus de código-fonte aberto.

Arquitetura

Essa arquitetura mostra dois métodos de realização de operações de varredura em seus arquivos no Object Storage.

Um método depende do serviço Oracle Cloud Infrastructure Events e do serviço Oracle Cloud Infrastructure Streaming para notificar um script ou programa no scanner de que um ou mais novos arquivos foram adicionados ao bucket de arquivos. O outro método verifica o bucket de arquivos em uma programação definida.

O diagrama a seguir ilustra essa arquitetura de referência.

Veja a seguir a descrição da ilustração architecture-antivirus.png
Descrição da ilustração architecture-antivirus.png

A arquitetura tem os seguintes componentes:

  • Região

    Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, chamados domínios de disponibilidade. As regiões são independentes de outras regiões e grandes distâncias podem separá-las (entre países ou mesmo continentes).

  • Sub-redes e rede virtual na nuvem (VCN)

    Um VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem controle total sobre seu ambiente de rede. Um VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar depois de criar o VCN. Você pode segmentar uma VCN em sub-redes, que podem ter escopo para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em uma faixa contígua de endereços que não se sobrepõem às outras sub-redes na VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.

  • Compartimento

    Um compartimento é um conjunto de recursos relacionados. Os compartimentos são um componente fundamental do Oracle Cloud Infrastructure para organizar e isolar recursos de nuvem. Os compartimentos são de toda a tenacidade e cruzam todas as regiões.

    Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego permitido dentro e fora da sub-rede.

  • Principal da Instância

    Principal da Instância é o recurso de serviço do IAM que permite que as instâncias sejam atores autorizados (ou principais) para executar ações nos recursos de serviço. Cada instância de computação tem sua própria identidade e é autenticada usando os certificados adicionados a ela.

  • Grupo Dinâmico

    Os grupos dinâmicos permitem que você agrupe instâncias de computador do Oracle Cloud Infrastructure como atores "principais", semelhantes aos grupos de usuários. Em seguida, você pode criar políticas para permitir que as instâncias façam chamadas de API em relação aos serviços Oracle Cloud Infrastructure.

  • Políticas

    Uma política é um documento que especifica quem pode acessar quais recursos do Oracle Cloud Infrastructure sua empresa tem e como. Uma política simplesmente permite que um grupo trabalhe de determinadas maneiras com tipos específicos de recursos em um compartimento ou tenancy específico.

  • Serviço Object Storage

    O serviço Oracle Cloud Infrastructure Object Storage é uma plataforma de armazenamento de alto desempenho em escala da Internet que oferece durabilidade de dados confiável e econômica. Você pode armazenar uma quantidade ilimitada de dados não estruturados de qualquer tipo de conteúdo. Incluindo backups de bancos de dados, dados analíticos e conteúdo rico, como imagens e vídeos.

  • Instâncias do serviço Compute

    O Oracle Cloud Infrastructure Compute permite provisionar e gerenciar hosts de computação. Você pode iniciar instâncias de computação com formas que atendam aos seus requisitos de recursos (CPU, memória, largura de banda da rede e armazenamento). Depois de criar uma instância de computação, você poderá acessá-la com segurança, reiniciá-la, anexar e desanexar volumes e encerrá-la quando não precisar.

    A arquitetura tem uma instância de computação. Ele hospeda o mecanismo antivírus do ClamAV e outras ferramentas para gerenciar o processo de digitalização.

  • Eventos

    Os serviços Oracle Cloud Infrastructure emitem eventos, que são mensagens estruturadas que descrevem as alterações nos recursos. Os eventos são emitidos para operações de criação, leitura, atualização ou exclusão (CRUD), alterações no estado do ciclo de vida dos recursos e eventos do sistema que afetam os recursos da nuvem.

    Nessa arquitetura, o serviço Events é usado para rastrear a criação de um objeto em um bucket do Object Storage.

  • Streaming

    O Oracle Cloud Infrastructure Streaming fornece uma solução de armazenamento totalmente gerenciada, escalável e durável para a ingestão de fluxos contínuos de dados de alto volume que você pode consumir e processar em tempo real. Você pode usar o Streaming para ingerir dados de alto volume, como logs de aplicativos, telemetria operacional, dados de fluxo de cliques na Web; ou para outros casos de uso em que os dados são produzidos e processados de forma contínua e sequencial em um modelo de mensagens de assinatura de publicação.

Recomendações

Seus requisitos podem ser diferentes da arquitetura descrita aqui. Use as recomendações a seguir como ponto de partida.

  • VCN e Sub-redes

    Ao criar uma VCN, determine o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que você planeja anexar a sub-redes na VCN. Use blocos CIDR que estejam dentro do espaço de endereço IP privado padrão.

    Selecione blocos CIDR que não se sobreponham a nenhuma outra rede (no Oracle Cloud Infrastructure, seu data center local ou outro provedor de nuvem) para a qual você pretenda configurar conexões privadas.

    Depois de criar um VCN, você poderá alterar, adicionar e remover seus blocos CIDR.

    Ao projetar as sub-redes, considere o fluxo de tráfego e os requisitos de segurança. Anexe todos os recursos em uma camada ou função específica à mesma sub-rede, que pode servir como um limite de segurança.

  • Compartimento

    Por default, qualquer tenancy do Oracle Cloud tem um compartimento raiz default nomeado após a própria tenancy. O administrador da tenancy (administrador do compartimento raiz default) é qualquer usuário que seja membro do grupo Administradores default.

    Para essa arquitetura, crie um compartimento que contenha todos os recursos para isolá-los e melhorar a segurança.

  • Principal da Instância

    Crie um grupo dinâmico e políticas para permitir que a VM acesse buckets do Object Storage sem torná-los públicos.

  • Imagem do Oracle

    Crie a VM usando o Oracle Cloud Developer Image, que vem com OCI-CLI, Python e Git instalados e prontos para uso.

Considerações

Considere os seguintes pontos ao implantar esta arquitetura de referência:

  • Frequência

    A frequência com que você executa a varredura depende do volume e da frequência dos objetos recebidos. Uma diretriz geral começa com uma varredura semanal e se ajusta com base no tempo gasto para processar todos os objetos no bucket.

  • Desempenho

    Vários fatores afetam o desempenho, mas o mais importante é o número de arquivos que precisam ser processados e a forma da instância.

  • Segurança

    Use o grupo principal e dinâmico da instância para restringir o acesso a buckets de armazenamento de objetos. Use as políticas do Oracle Cloud Infrastructure Identity and Access Management (IAM) para designar privilégios ao grupo dinâmico específico para evitar tornar os buckets públicos.

    A criptografia está ativada para o Oracle Cloud Infrastructure Object Storage por padrão e não pode ser desativada.

  • Custo

    A instância do Oracle Cloud Infrastructure e seu armazenamento em bloco são pagos por uso, portanto, você só paga quando executa o antivírus no bucket. Para verificar objetos de entrada, você manterá uma instância em execução no 24x7 e, dependendo do volume de objetos, poderá usar a camada livre, compartilhar uma instância com outro serviço ou iniciar uma instância dedicada. Você não precisa pagar pela transferência de dados de saída e pelo antivírus de código aberto.

Implantar

O código Terraform desta arquitetura de referência está disponível como uma pilha de amostra no Oracle Cloud Infrastructure Resource Manager. Você também pode fazer download do código do GitHub e personalizá-lo para atender às suas necessidades específicas.

  • Implante usando a pilha de amostra no Oracle Cloud Infrastructure Resource Manager:
    1. Vá para Implantar no Oracle Cloud.

      Se você ainda não tiver efetuado sign-in, informe as credenciais da tenancy e do usuário.

    2. Selecione a região em que deseja implantar a pilha.
    3. Siga os prompts e instruções na tela para criar a pilha.
    4. Depois de criar a pilha, clique em Ações do Terraform e selecione Plano.
    5. Aguardar até que o job seja concluído e revisar o plano.

      Para fazer alterações, retorne à página Detalhes da Pilha, clique em Editar Pilha e faça as alterações necessárias. Em seguida, execute a ação Plano novamente.

    6. Se nenhuma outra alteração for necessária, retorne à página Detalhes da Pilha, clique em Ações do Terraform e selecione Aplicar.
  • Implante usando o código Terraform no GitHub:
    1. Vá para o GitHub.
    2. Clonar ou fazer download do repositório para o computador local.
    3. Siga as instruções no documento README.