Medidas de seguridad y antivirus en el servidor para mitigar la acción como un vector de propagación

10

Tenemos una aplicación web para la cual se me ha pedido que agregue la capacidad de permitir que los usuarios carguen documentos que otros usuarios podrán ver y descargar. Esos documentos generalmente serán imágenes y documentos de auditoría que inicialmente estarán en formato PDF pero que pueden extenderse a otros formatos de oficina en el futuro. Cada usuario que pueda cargar o descargar archivos tendrá que autenticarse primero. Los servidores ejecutan Debian.

Tal como lo veo, con esta funcionalidad, nuestro servidor puede potencialmente convertirse en un vector de distribución de virus en el siguiente escenario:

  1. El usuario 1 carga un archivo que contiene un virus,
  2. El servidor hace que el archivo esté disponible para descargar,
  3. El usuario 2 descarga el archivo infectado y propaga el virus.

Para mitigar esta amenaza, estaba pensando en implementar un mecanismo de cuarentena en el que todos los archivos se carguen en nuestro servidor en una carpeta segura, se verifiquen y solo estén disponibles para descargar una vez que se hayan aprobado todas las comprobaciones. Los controles de seguridad que tenía en mente son:

  • Tenga una lista blanca de tipos de archivos que aceptamos y rechazamos cualquier archivo que no sea de ese tipo,
  • Verifique que el tipo de archivo real sea el mismo que el anunciado en la solicitud POST y rechace cualquier archivo donde haya una discrepancia,
  • Ejecutar antivirus en el archivo.

También podemos incluir filtros que son específicos para los tipos de archivos dados. Por ejemplo, podríamos hacer que las imágenes pasen por ImageMagick para almacenar una versión "desinfectada". De manera similar, deberíamos poder analizar parcialmente los archivos de documentos para extraer alguna información de ellos y realizar comprobaciones adicionales.

Mis ideas actuales para implementar esas verificaciones son:

  • Verifique el tipo de archivo usando file -i ,
  • Use ClamAV como antivirus.

¿Hay otros vectores de ataque en los que deba pensar u otras comprobaciones que deba implementar?

¿Es ClamAV la herramienta correcta para verificar si hay virus en los archivos?

    
pregunta Bruno Girin 15.12.2014 - 13:47
fuente

1 respuesta

2

Por sí mismo, Clamav no está a la par con las mejores alternativas comerciales. Para obtener los mejores resultados, utilice motores de detección múltiple bien clasificados en revisiones comparativas . Los motores con la tasa de detección más alta generalmente sufren más falsos positivos, por lo tanto, considere poner en cuarentena los resultados inconsistentes para verificaciones manuales posteriores. También están disponibles herramientas de análisis automatizadas de sandbox como cuckoo sandbox y servicios en línea de terceros como API de virustotal (el último solo para documentos públicos, aunque otros servicios pueden venir con un NDA ).

Los tipos de archivo y las extensiones deben filtrarse en una lista blanca. Los idiomas del lado del servidor a menudo incluyen una biblioteca de reconocimiento de archivos que puede usar además o como alternativa a file -i . No se debe permitir que los usuarios carguen documentos cifrados o archivos ZIP cuyo contenido no pueda ser escaneado.

Responsabilidad y responsabilidad ayudarían a los usuarios a pensar dos veces antes de ser tontos o descuidados. Pídales que informen las infecciones de inmediato. Lleve un registro de aquellos que cargan malware, ya que es más probable que lo hagan de nuevo. Los patrones de uso del sitio web pueden revelar credenciales filtradas y comportamiento malicioso.

La mitigación más efectiva para la seguridad general puede ser una página web de conocimiento para usuarios preparados en coordinación con el departamento designado de la compañía. Esto evitaría las infecciones de las máquinas de los usuarios en primer lugar. Tenga en cuenta que no es una medida técnica, está fuera de su alcance y puede minimizar el valor percibido de sus otros esfuerzos.

    
respondido por el Enos D'Andrea 16.12.2014 - 21:39
fuente

Lea otras preguntas en las etiquetas