[NSX] Advanced Security Series 2: Desplegando y probando Distributed Malware Prevention

[NSX] Advanced Security Series 2: Desplegando y probando Distributed Malware Prevention

En esta segunda serie de Advanced Security de NSX, vamos a hablar de Distributed Malware Prevention.

NSX Malware Prevention puede detectar y prevenir la descarga de malware en nuestras VMs mediante el análisis de hashes a nivel de red así como la inspección local en la propia VM Windows o Linux (A partir de NSX 4.0.1).

Prerequisitos
  • NSX Application Platform desplegada – Link al tutorial
  • NSX-T 3.2 o NSX 4.x
  • Endpoint VMs corriendo Windows (Versiones soportadas) o Linux (NSX 4.0.1)
  • Driver NSX File Introspection instalado en las VMware Tools
  • Hardware virtual de la VM versión 19 o superior
  • Un servidor web local para la descarga de la SVM (En el tutorial utilizaremos Linux y Apache)
Paso 1. Activando Malware Prevention

En primer lugar deberemos ir a nuestro manager de NSX, System > NSX Application Platform y habilitar Malware Prevention (Corremos los prechecks si es necesario)

Esperamos a que la característica esté activa antes de ir al siguiente paso:

Paso 2. Preparando un servidor web con la OVF de Malware Prevention

Para desplegar NSX Distributed Malware Prevention, necesitaremos descargar la SVM Appliance desde el site de VMware, y transferirla hacia el servidor web que vayamos a utilizar para desplegarla

Paso 2.1. Instalando Apache y moviendo la VM al raíz de html

A continuación, instalaremos Apache en nuestra VM para que actúe como servidor web para el despliegue.

sudo apt-get update && sudo apt-get install apache2 -y

Acto seguido movemos la SVM a /var/www/html y la descomprimimos.

sudo mv VMware-NSX-Malware-Prevention-appliance-4.0.1.1.0.20598729.ova /var/www/html

cd /var/www/html

tar -xvf VMware-NSX-Malware-Prevention-appliance-4.0.1.1.0.20598729.ova
Paso 2.2. Añadiendo los MIME Types necesarios.

Según VMware, para que nuestro despliegue sea satisfactorio, es necesario añadir los siguientes MIME types al servidor:


File Extension MIME Type
.ovf application/vmware
.vmdk application/octet-stream
.mf text/cache-manifest
.cert application/x-x509-user-cert

En mi caso (Ubuntu+Apache), el procedimiento a seguir es el siguiente:

Editamos el archivo /etc/mime.types y añadimos los tipos requeridos siguiendo la sintaxis del mismo, en mi caso los he añadido por órden simplemente porque soy un maníatico de la limpieza 😂, pero pueden añadirse en cualquier órden:

Una vez modificado el archivo, guardamos cambios y reiniciamos apache:

systemctl restart apache2

Podemos verificar que la asignación de MIME type es correcta, lanzando un WGET al servidor por ejemplo para obtener el archivo OVF de SVM:

wget http://127.0.0.1/nsx-svm-appliance-3.2.1.0.0.19801960.ovf
Paso 3. Registrando el Service Deployment

El siguiente paso es registrar el Service Deployment de SVM con nuestros NSX Managers, usando la API. Para ello utilizaré Postman, configurandolo de la siguiente manera:

  • Tipo de petición: POST
  • URL: https://<IP O FQDN del Manager>/napp/api/v1/malware-prevention/svm-spec
  • Pestaña «Authorization»: Basic Auth, e introducimos las credenciales de nuestro manager
  • Pestaña «Settings»: Desactivaremos la verificación de certificado SSL en caso de utilizar un certificado autofirmado en nuestro manager.
  • Pestaña Body: Utilizaremos la siguiente platilla:
{
    "ovf_url" : "http://<URL DE NUESTRO SERVIDOR>/nsx-svm-appliance-<VERSION>.ovf",
    "deployment_spec_name" : "<NOMBRE DEL DEPLOYMENT>",
    "svm_version" : "<VERSION DEL DEPLOYMENT>"
}

En mi caso:

Pulsamos «Send» y si todo está correcto recibiremos un código de respuesta 200 (OK) similar a este:

En nuestro manager, si vamos a System – Service Deployments, podremos ver que el servicio ha quedado correctamente registrado:

Paso 4. Desplegando el Service Deployment

A continuación, comenzaremos con el despliegue del Service Deployment, esto desplegará en nuestro vCenter 3 VMs de SVM hacia las que se redirigirá el tráfico para ser analizado.

Paso 4.1 Creando una clave privada de SSH

En primer lugar, necesitaremos crear una clave privada para estas VMs, esta clave deberemos guardarla ya que si en alguna ocasión necesitamos acceder por SSH a alguna de las VMs de SVM será necesaria.

En mi caso, la generaré con PuTTYgen, un software incluido con Putty para la generación de claves:

  • Abrimos PuTTYgen, y lo configuramos para generar una key RSA de 2048 bits, acto seguido pulsamos en Generate y movemos el ratón por la pantalla para generar aletoriedad.
  • Una vez generada la clave, pulsamos tanto en «Save public key» como en «Save private key» y guardamos las claves en un lugar seguro.

Así como copiamos la clave pública en nuestro portapapeles.

Paso 4.2 Desplegando las SVMs

Volvemos a nuestro manager donde lo dejamos, en «System»«Service Deployments»

Escogemos el servicio que hemos registrado anteriormente y pulsamos en «Deploy service»

Introducimos los siguientes parámetros:

  • Service Deployment Name: Nombre que le daremos al despliegue.
  • Compute Manager: el vCenter donde se desplegarán las VMs.
  • Cluster: El Cluster donde se desplegarán las VMs.
  • Data Store: El datastore donde se desplegarán las VMs.
  • Networks: Una red de gestión para las 3VMs que se desplegarán (Al menos 3 IPs libres), esta red debe de alcanzar a los managers y podrá ser configurada tanto por DHCP como mediante un IP Pool de manera estática.
  • Configure attributes: Pinchamos y pegamos la clave pública que copiamos al portapapeles en el paso anterior.

Pulsamos en «Save» y el servicio comenzará a desplegarse. Si todo va bien, tras unos minutos estará listo.

Paso 4.3. Habilitando Malware Prevention.

Una vez que el servicio está desplegado y arriba, en nuestro manager vamos a «Security»«Policy Management»«IDS/IPS & Malware Prevention» – «Settings», y en «Shared» habilitamos todos aquellos T1s que queremos que participen en Malware Prevention para inspección Norte – Sur (En el este-oeste se habilita automáticamente)

Con esto ya tendremos desplegado y configurado «Malware Prevention» para ponerlo a prueba

Paso 5. Probando Distributed Malware Prevention.

¡Por fín llegó el momento de probar Malware Preventión!

Paso 5.1 Creando un perfil y reglas de inspección de Malware

En nuestro NSX Manager vamos a «Security», «Policy Management»«IDS/IPS & Malware Prevention» – «Profiles» – «Malware Prevention» y pinchamos en «Add Profile», creamos un perfil con todos aquellos tipos de archivo que queremos que se inspeccionen:

Una vez creado, vamos a la pestaña de «Distributed Rules» o «Gateway Rules», en función de donde queramos aplicar nuestras reglas y creamos una regla de DMPS:

  • Sources: Any
  • Destination: Any
  • Services: Any
  • Security Profiles: Escogemos el perfil que acabamos de crear
  • Applied To: Escogemos aquellos grupos donde se incluyen las VMs que queremos proteger
  • Mode: Detect Only (El Malware no se bloqueará en la VM pero se notificará en NSX), Detect & Prevent (El Malware se bloqueará en la VM)
Paso 5.2 Descargando Malware a la VM (Detect Only)

Empezaremos con nuestra regla en «Detect Only» para probar el comportamiento de DMPS en la VM.

Escogemos una VM que forme parte del grupo sobre el que hemos aplicado las reglas de DMPS. Pararemos Windows Defender para evitar bloqueos por parte del propio antimalware de Windows Durante la prueba (DMPS y Otros antimalware pueden convivir perfectamente, pero en este caso descargaremos un archivo que hace saltar facilmente a todos los antimalware y puede interferir con la ejecución de la prueba).

Abriremos un explorador de internet e intentaremos descargar «EICAR Anti Malware Test File»

No es un Malware en si y es 100% seguro su descarga y uso, pues es un archivo que se creó en el año 1996 para probar el funcionamiento de los antivirus

Más información en Wikipedia

Trataremos de descargar cualquiera de los archivos de EICAR, en mi caso descargaré EICAR.COM

La descarga se ha completado correctamente y el «Malware» se ha descargado a la VM. Miremos NSX, Pestaña «Security» – «Threat Event Monitoring» «Malware Prevention»

El Malware ha sido detectado y notificado tal y como configuramos en la anterior regla. ¡Esto funciona!

Paso 5.3 Descargando Malware a la VM (Detect & Prevent)

Probaremos ahora el funcionamiento de Malware Prevention cambiado la regla creada en el paso 5.1 por «Detect & Prevent«

Volveremos a intentar la descarga del archivo pero esta vez…

Obtendremos un error de descarga automáticamente al tratar de descargar el archivo ¡Detect and Prevent funciona a la perfección!

Si volvemos a NSX y miramos los detalles de la intrusión, podremos ver que esta vez se ha bloqueado la descarga:

Espero que hayas disfrutado y aprendido leyendo mi post, tanto como yo creándolo. Como siempre, cualquier comentario o sugerencia será agradecida.

Mantén un ojo en mi blog si quieres leer más contenido sobre NSX ATP

Navegación de entradas

Deja una respuesta

Tu dirección de correo electrónico no será publicada.