17

Básicamente, quiero analizar los archivos de virus a medida que se cargan (antes de escribirlos en el disco) en una aplicación web.¿Cómo escanea el virus un archivo que está siendo cargado en su aplicación de Java mientras se transmite?

En particular, me gustaría integrar con "McAfee VirusScan Enterprise" (última versión).

Desde el punto de vista del diseño y mantenimiento, ¿sería mejor explorar ciertas rutas en el firewall utilizando un producto de un tercero? De esa forma, la aplicación web no debería preocuparse por el escaneo de virus. Para minimizar la sobrecarga, los firewalls de escaneo de virus típicos le permiten especificar patrones de URL así como un patrón de datos POST en particular. Esto, por supuesto, no funcionaría si es un sitio HTTPS (a menos que haya alguna forma de evitarlo).

This post from stackoverflow parece sugerir que un SDK de McAfee ya no está disponible, pero ¿hay alternativas de código abierto?

+3

Esta es una gran pregunta, ¡gracias por preguntar! – mtyson

+4

Esta pregunta no debe cerrarse. Él está preguntando cómo integrar su aplicación con el análisis de virus. Qué escaneo usar es secundario. Vamos, SO nazis, dale un descanso. – mtyson

+0

Estoy de acuerdo. Hice la misma pregunta y me votaron negativamente ¡Me alegro de haber encontrado esta publicación! – mmaceachran

Respuesta

35

Echa un vistazo a Clamv (http://www.clamav.net/) Es un antivirus de código abierto, y puedes escanear un flujo. Así que no necesita guardar el archivo para escanearlo.

http://linux.die.net/man/1/clamscan

Escanear un flujo de datos: testfile gato | clamscan -

Así que es bastante fácil, iniciar el proceso de clamscan con el - arg. escriba el contenido del archivo en el stdin y espere el código de resultado.

Durante su prueba, puede usar el archivo EICAR, que es un archivo dedicado para verificar si un antivirus está funcionando. http://en.wikipedia.org/wiki/EICAR_test_file

+3

+1 upvoting el suyo ya que dio MUCHO más detalles sobre cómo lograr esto. – NotMe

+0

Rad, ¡gracias! –

+2

Howto in java: http://nverma-tech-blog.blogspot.co.at/2014/04/if-you-are-looking-for-options-where.html – heaphach

1

Puede investigar ClamAV o ClamWin. Son escáneres de virus de código abierto, ClamWin se basa en ClamAV. Debería poder modificar uno de estos (si alguien aún no lo hizo) para hacer lo que quiera.

En el otro extremo, puede considerar simplemente colocar los archivos transmitidos en un directorio y dejar que un escáner supervise ese directorio en particular.

0

Kaspersky (y probablemente otros) parece tener varias formas de manejar esta a un nivel empresarial: http://usa.kaspersky.com/business-security/targeted-solutions

El producto de puerta de enlace a Internet podría ser de más relevancia. Parece que es compatible con Checkpoint, Squid Proxy Server y Microsoft.

Aquí está allí página de descarga de pruebas y documentación: http://usa.kaspersky.com/downloads/documentation

a nivel de empresa puede decidir conseguir un aparato (Cisco ACE por ejemplo) que libera parte del SSL y luego usar una de estas opciones (o Cisco IOS Intrusion Prevention System (IPS) con firewalls de Cisco). Tengo varios clientes con dispositivos ACE de Cisco, pero estoy investigando la detección de virus en el firewall.

Cuestiones relacionadas