apache - tips - ¿Una carpeta de carga pública sería un problema de seguridad?
hardening apache2 ubuntu (2)
Permitir que los usuarios carguen archivos en una carpeta pública no representa un riesgo para su servidor. No pueden ejecutar estos archivos en su servidor.
Representa un riesgo para los usuarios que descargan cualquiera de estos archivos. Estos archivos pueden contener un virus o malware. Abrir cualquiera de estos archivos es un alto riesgo de seguridad para sus usuarios. No estoy seguro de que les esté haciendo un favor ofreciendo tal característica.
En mi sitio, tengo la capacidad para que los usuarios carguen un archivo en el servidor y puedan ver todos los archivos cargados en un directorio llamado "cargas públicas" donde los usuarios pueden ver todos los archivos que otros usuarios cargaron. Es la página del directorio de Apache donde dice "Índice de / cargas". Es una especie de centro de intercambio de archivos donde las personas pueden descargar y compartir archivos de otras personas.
¿Habría algún problema de seguridad con esto? ¿Puede un usuario, por ejemplo, cargar un script PHP malicioso y ejecutarlo desde el lado del cliente?
¿Cómo puedo resolver estos problemas, en caso de que existan?
Posiblemente, todo depende del servidor, PHP y la configuración de Apache.
Consulte la página de vulnerabilidad Subir archivo sin restricciones de OWASP para algunos de los riesgos:
- El impacto de esta vulnerabilidad es alto, el supuesto código se puede ejecutar en el contexto del servidor o en el cliente. La probabilidad de una detección para el atacante es alta. La prevalencia es común. Como resultado, la gravedad de este tipo de vulnerabilidad es Alta.
- El servidor web puede verse comprometido al cargar y ejecutar un shell web que puede ejecutar comandos, explorar archivos del sistema, explorar recursos locales, atacar otros servidores y explotar las vulnerabilidades locales, y demás. Esto también puede resultar en una desfiguración.
- Un atacante podría poner una página de phishing en el sitio web.
- Un atacante podría poner XSS almacenado en el sitio web.
- Esta vulnerabilidad puede hacer que el sitio web sea vulnerable a otros tipos de ataques, como XSS.
- Las cargas de imágenes pueden desencadenar vulnerabilidades en bibliotecas de imágenes rotas en un cliente (libtiff, IE tuvo problemas en el pasado) si la imagen se publica 1: 1.
- El código del script u otro código puede estar incrustado en el archivo cargado, que se ejecuta si la imagen se publica 1: 1.
- Las vulnerabilidades locales de las herramientas de monitoreo en tiempo real, como un antivirus, pueden ser explotadas.
- Se puede cargar un archivo malicioso (script de shell Unix, virus de Windows, shell inverso) en el servidor para ejecutar código por un administrador o webmaster más adelante, en el servidor o en un cliente del administrador o webmaster.
- El servidor web puede usarse como servidor para albergar malware, software ilegal, pornografía y otros objetos.
Consulte mi otra publicación para obtener algunas pautas generales sobre cómo hacer que las cargas de archivos sean seguras.