Implante um Scanner de Vírus de Dimensionamento Automático Usando o OCI Kubernetes Engine
Certifique-se de que seus arquivos no Oracle Cloud Infrastructure Object Storage sejam verificados por vírus para detectar e prevenir vírus, malware, roubo de identidade e fraude. A implementação de um scanner de vírus garante que todos os arquivos que entram na solução Oracle Cloud Infrastructure (OCI) sejam seguros e protegidos.
Arquitetura
Essa arquitetura cria um antivírus para verificar arquivos submetidos a upload para o OCI Object Storage. O scanner de vírus é implantado no Oracle Cloud Infrastructure Kubernetes Engine e usa o Dimensionamento Automático Orientado a Eventos baseado em Kubernetes para gerenciar jobs de verificação de vírus.
Os jobs de verificação de vírus são configurados para verificar arquivos únicos e arquivos zip. Quando vários arquivos são submetidos a upload para o bucket de armazenamento de objetos criado, os jobs de verificação de vírus são executados no OCI Kubernetes Engine (OKE) usando o OCI Events e o OCI Queue (máximo de 3 jobs simultaneamente por padrão, mas isso pode ser alterado usando a configuração de Dimensionamento Automático Orientado a Eventos baseada no Kubernetes). Após a verificação, os arquivos são movidos para buckets de armazenamento de objetos, dependendo do resultado da verificação (limpo ou infectado). Se não houver arquivos a serem verificados, o Dimensionamento Automático Orientado a Eventos baseado no Kubernetes reduzirá os nós do pool 2 para zero. Ao digitalizar, o Dimensionamento Automático Orientado a Eventos baseado em Kubernetes aumenta os nós.
O antivírus usa um terceiro chamado teste gratuito da Trellix uvscan
. O código do aplicativo é gravado principalmente em NodeJS e usa o SDK para JS do Oracle Cloud Infrastructure.
O diagrama a seguir ilustra essa arquitetura.
oke-antivírus-architecture.zip
A arquitetura tem os seguintes componentes:
- Região
Região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominada 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 até mesmo continentes).
- Domínios de disponibilidade
Domínios de disponibilidade são data centers stand-alone e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, o que oferece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou refrigeração ou a rede interna do domínio de disponibilidade. Portanto, uma falha em um domínio de disponibilidade não deve afetar os outros domínios de disponibilidade na região.
- Domínios de falha
Um domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre vários domínios de falha, seus aplicativos podem tolerar falha no servidor físico, manutenção do sistema e falhas de energia dentro de um domínio de falha.
- Rede virtual na nuvem (VCN) e sub-redes
Uma 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 sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após a criação da VCN. Você pode segmentar uma VCN em sub-redes, com escopo definido para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não se sobrepõem a outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.
- Gateway de internet
O gateway de internet permite o tráfego entre as sub-redes públicas em uma VCN e a internet pública.
- Gateway de roteamento dinâmico (DRG)
O DRG é um roteador virtual que fornece um caminho para o tráfego de rede privada entre VCNs na mesma região, entre uma VCN e uma rede fora da região, como uma VCN em outra região do Oracle Cloud Infrastructure, uma rede local ou uma rede em outro provedor de nuvem.
- Gateway NAT (Network Address Translation)
Um gateway NAT permite que recursos privados em uma VCN acessem hosts na internet, sem expor esses recursos a conexões de internet de entrada.
- Balanceador de carga
O serviço Oracle Cloud Infrastructure Load Balancing fornece distribuição automatizada de tráfego de um único ponto de entrada para vários servidores no back-end.
- Object Storage
O armazenamento de objetos oferece acesso rápido a grandes quantidades de dados estruturados e não estruturados de qualquer tipo de conteúdo, incluindo backups de bancos de dados, dados de análise e conteúdo avançado, como imagens e vídeos. Você pode armazenar de forma segura e depois recuperar dados diretamente da internet ou de dentro da plataforma da nuvem. Você pode dimensionar o armazenamento sem prejudicar o desempenho ou a confiabilidade do serviço. Use o armazenamento padrão para armazenamento de acesso frequente que você precisa para acessar de forma rápida, imediata e com frequência. Use o armazenamento de arquivos compactados para armazenamento "frio" que você mantém por longos períodos de tempo e raramente acessa.
- Monitoring
O serviço Oracle Cloud Infrastructure Monitoring monitora ativa e passivamente seus recursos de nuvem usando métricas para monitorar recursos e alarmes para notificá-lo quando essas métricas atenderem aos acionadores especificados pelo alarme.
- LoggingO registro em log é um serviço altamente escalável e totalmente gerenciado que oferece acesso aos seguintes tipos de logs de seus recursos na nuvem:
- Logs de auditoria: Logs relacionados a eventos emitidos pelo serviço Audit.
- Logs de serviço: Logs emitidos por serviços individuais, como API Gateway, Events, Functions, Load Balancing, Object Storage e logs de fluxo da VCN.
- Logs personalizados: Logs que contêm informações de diagnóstico de aplicativos personalizados, outros provedores de nuvem ou um ambiente on-premises.
- Serviço Functions
O Oracle Cloud Infrastructure Functions é uma plataforma Functions-as-a-Service (FaaS) totalmente gerenciada, multitenant, altamente escalável e sob demanda. Ele é alimentado pelo mecanismo de código aberto do Fn Project. As funções permitem que você implante seu código e o chame diretamente ou acione-o em resposta a eventos. O Oracle Functions usa contêineres do Docker hospedados no Oracle Cloud Infrastructure Registry.
- Fila
O Oracle Cloud Infrastructure Queue fornece um sistema escalável para processar mensagens enquanto lida com tarefas de gerenciamento complexas, como processamento, rastreamento e isolamento do cliente garantidos pelo menos uma vez. Esse serviço centralizado também gerencia a ordenação e o estado de processamento de mensagens, o que permite que processos de clientes sem monitoramento de estado descarregem o rastreamento de cursor.
- Eventos
Os serviços do 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 do recurso e eventos do sistema que afetam os recursos da nuvem.
- Registro
O Oracle Cloud Infrastructure Registry é um registro gerenciado pela Oracle que permite simplificar seu desenvolvimento para o workflow de produção. O registro facilita o armazenamento, o compartilhamento e o gerenciamento de artefatos de desenvolvimento, como imagens do Docker. A arquitetura altamente disponível e escalável do Oracle Cloud Infrastructure garante que você possa implantar e gerenciar seus aplicativos de forma confiável.
Implante
O código para implantar o antivírus está disponível em GitHub.
- Vá para GitHub.
- Clone ou faça download do repositório para seu computador local.
- Siga as instruções no documento
README
.