Técnicamente , un sistema de archivos almacena archivos como secuencias opacas de bytes. No hay daño que dichos bytes puedan hacer a su servidor siempre y cuando no intente "interpretar" estos bytes. Desafortunadamente, algunos sistemas operativos están ansiosos por interpretar el contenido de los archivos, lo que genera un procesamiento pesado sin el consentimiento explícito del usuario; y ese procesamiento podría tener agujeros de seguridad explotados por los contenidos de archivos creados con fines malintencionados. Consulte esta respuesta para obtener más información. Se aplican contramedidas habituales: si utiliza un sistema operativo mantenido (como CentOS) y aplica diariamente las soluciones de seguridad publicadas, entonces debería estar bien. Todavía recomendaría evitar explorar el directorio con un explorador de archivos gráfico, para evitar la interpretación automática de los archivos de imágenes.
Legalmente , cualquier acto de almacenamiento de datos provenientes de fuentes externas puede causarle problemas, según lo que contenga el archivo y el marco legal en el que opera. Cuando tiene un servidor de correo, es bastante inevitable que reciba casi cualquier cosa por correo electrónico, y la mayoría de los sistemas legales reconocen que, como proveedor de servicios técnicos, no es responsable de los contenidos del correo electrónico. Sin embargo, puede que valga la pena hablar con un abogado, en particular si visualiza sistemas de almacenamiento creativos. También puede haber problemas de privacidad; es mejor que protejas el acceso al sistema de almacenamiento para los archivos adjuntos, así como protegerías a los buzones de correo.
Nota que el manejo seguro del correo electrónico no es fácil; se considera una mala forma de perder correos electrónicos cuando se produce una escasez de energía mal programada. Se supone que los sistemas de envío de correo electrónico nunca deben destruir físicamente los datos de correo electrónico hasta que el sistema de recepción haya anunciado debidamente que ha enviado el correo electrónico a un medio físico (que, en un contexto de sistema de archivos Unix, implica al menos una llamada fsync()
). Si divide los correos electrónicos en su cuerpo principal y adjuntos separados, entonces el manejo se vuelve más complejo; esto es probablemente más fácil de hacer con una base de datos que con un sistema de archivos. Por lo tanto, recomendaría la base de datos, no por seguridad, sino por confiabilidad.