Despliegue de un escáner de virus de escala automática mediante OCI Kubernetes Engine
Asegúrese de que los archivos de Oracle Cloud Infrastructure Object Storage estén analizados por virus para detectar y prevenir virus, malware, robo de identidad y fraude. La implantación de un antivirus garantiza que todos los archivos que entran en la solución de Oracle Cloud Infrastructure (OCI) estén seguros.
Arquitectura
Esta arquitectura crea un antivirus para explorar los archivos cargados en OCI Object Storage. El antivirus se despliega en Oracle Cloud Infrastructure Kubernetes Engine y utiliza la escala automática basada en eventos de Kubernetes para gestionar trabajos de exploración de virus.
Los trabajos de análisis de virus se configuran para analizar archivos únicos y archivos zip. Cuando se cargan varios archivos en el cubo de almacenamiento de objetos creado, los trabajos de exploración de virus se ejecutan en OCI Kubernetes Engine (OKE) mediante OCI Events y OCI Queue (máximo 3 trabajos simultáneamente por defecto, pero esto se puede cambiar mediante la configuración de escala automática basada en eventos de Kubernetes). Después de la exploración, los archivos se mueven a cubos de Object Storage según el resultado de la exploración (limpio o infectado). Si no hay archivos que explorar, la escala automática basada en eventos basada en Kubernetes se amplía hacia abajo en los nodos del pool 2 a cero. Al realizar la exploración, la escala automática basada en eventos basada en Kubernetes amplía los nodos.
El antivirus utiliza un tercero llamado la prueba gratuita de Trellix uvscan
. El código de aplicación se escribe principalmente en NodeJS y utiliza el SDK de Oracle Cloud Infrastructure para JS.
En el diagrama siguiente se ilustra esta arquitectura.
oke-antivirus-architecture.zip
La arquitectura tiene los siguientes componentes:
- Región
Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes entre sí y puede haber grandes distancias que las separen (entre países e incluso continentes).
- Dominios de disponibilidad
Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. Por lo tanto, un fallo en un dominio de disponibilidad no debería afectar a los otros dominios de disponibilidad de la región.
- Dominios de errores
Un dominio de errores es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad cuenta con tres dominios de errores con energía y hardware independientes. Al distribuir los recursos entre varios dominios de errores, las aplicaciones pueden tolerar fallos físicos del servidor, mantenimiento del sistema y fallos de energía en un dominio de errores.
- Red y subredes virtuales en la nube (VCN)
Una VCN es una red personalizable y definida por software que puede configurar en una región de Oracle Cloud Infrastructure. Al igual que las redes de los centros de datos tradicionales, las redes virtuales le proporcionan el control de su entorno de red. Una VCN puede tener varios bloques de CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, las cuales se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
- Gateway de Internet
El gateway de Internet permite el tráfico entre las subredes públicas de una VCN y la red pública de Internet.
- Gateway de enrutamiento dinámico (DRG)
El DRG es un enrutador virtual que proporciona una ruta para el tráfico de red privada entre las redes virtuales en la misma región, entre una VCN y una red fuera de la región, como una VCN en otra región de Oracle Cloud Infrastructure, una red local o una red en otro proveedor en la nube.
- Gateway de traducción de direcciones de red (NAT)
Un gateway de NAT permite que los recursos privados de una VCN accedan a hosts en Internet, sin exponer dichos recursos a conexiones de Internet entrantes.
- Equilibrador de carga
El servicio Oracle Cloud Infrastructure Load Balancing proporciona una distribución automatizada del tráfico desde un único punto de entrada a varios servidores en el backend.
- Object Storage
Object Storage proporciona acceso rápido a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad de base de datos, datos analíticos y contenido enriquecido, como imágenes y vídeos. Puede almacenar datos de forma segura y, a continuación, recuperarlos directamente desde Internet o desde la plataforma en la nube. Puede ampliar el almacenamiento sin experimentar ninguna degradación del rendimiento ni de la fiabilidad del servicio. Utilice el almacenamiento estándar para el almacenamiento al que debe acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivo para el almacenamiento "frío" al que conserva durante largos períodos de tiempo y al que rara vez accede.
- Monitoring
El servicio Oracle Cloud Infrastructure Monitoring supervisa de forma activa y pasiva los recursos en la nube mediante métricas para supervisar recursos y alarmas para notificarle cuando estas métricas cumplen los disparadores especificados por la alarma.
- LoggingLogging es un servicio altamente escalable y totalmente gestionado que proporciona acceso a los siguientes tipos de logs de sus recursos en la nube:
- Logs de auditoría: logs relacionados con eventos emitidos por el servicio de auditoría.
- Logs de servicios: logs emitidos por servicios individuales como API Gateway, eventos, funciones, equilibrio de carga, Object Storage y logs de flujo de VCN.
- Logs personalizados: logs que contienen información de diagnóstico de aplicaciones personalizadas, otros proveedores de nube o un entorno local.
- Functions
Oracle Cloud Infrastructure Functions es una plataforma de funciones como servicio (FaaS) totalmente gestionada, multi-inquilino, altamente escalable y bajo demanda. Se basa en el motor de origen abierto Fn Project. Las funciones le permiten desplegar el código y llamarlo directamente o dispararlo en respuesta a eventos. Oracle Functions utiliza contenedores de Docker alojados en Oracle Cloud Infrastructure Registry.
- Queue
Oracle Cloud Infrastructure Queue proporciona un sistema escalable para procesar mensajes mientras gestiona tareas de gestión complejas como el procesamiento garantizado una vez, el seguimiento y el aislamiento de clientes. Este servicio centralizado también gestiona el estado de procesamiento y orden de mensajes, lo que permite a los procesos de cliente sin estado descargar el seguimiento del cursor.
- Eventos
Los servicios de Oracle Cloud Infrastructure emiten eventos, que son mensajes estructurados que describen los cambios en los recursos. Los eventos se emiten para operaciones de creación, lectura, actualización o supresión (CRUD), cambios de estado del ciclo de vida de los recursos y eventos del sistema que afectan a los recursos en la nube.
- Registro
Oracle Cloud Infrastructure Registry es un registro gestionado por Oracle que permite simplificar el desarrollo y el flujo de trabajo de producción. El registro facilita el almacenamiento, el uso compartido y la gestión de artefactos de desarrollo, como imágenes de Docker. La arquitectura altamente disponible y escalable de Oracle Cloud Infrastructure garantiza que pueda desplegar y gestionar sus aplicaciones de forma fiable.
Despliegue
El código para implementar el antivirus está disponible en GitHub.
- Vaya a GitHub.
- Clone o descargue el repositorio en su computadora local.
- Siga las instrucciones del documento
README
.