Los enlaces simbólicos no son necesariamente malos.
En primer lugar: si intenta abrir un objetivo de enlace simbólico, los permisos de archivo del objetivo están vigentes. Si no tienes permiso para leer / escribir / ejecutar el objetivo del enlace simbólico, no pasa nada.
Pero: es posible que pueda ejecutar archivos fuera de la raíz de su documento (a veces eso es realmente lo que quiere hacer con ellos, ¿verdad?). El problema puede ocurrir si tu estás no en un entorno suEXEC y tienen una apache
o www-data
usuario en un alojamiento compartido, que está a cargo del servicio de archivos de diferentes cuentas. El usuario de su sistema no puede acceder a los archivos de otro cliente, pero el apache/www-data
usuario tendrá principalmente derechos de lectura en todas las cuentas compartidas. Este podría ser un escenario en el que un usuario puede acceder a los archivos de otro usuario en un host compartido. No con su propio usuario, sino accediendo al archivo a través del navegador con el apache/www-data
usuario. Para resumir: en este escenario, podrá acceder a los archivos de otros usuarios => malo.
El siguiente inconveniente es que un atacante podría crear enlaces simbólicos, también a archivos como / etc / passwd, ..., descargar estos datos y continuar con esta información. Esto no solo depende del enlace simbólico, sino también de una configuración incorrecta del servidor (donde el acceso a estos archivos es estrictamente limitado). Por lo tanto, no usar enlaces simbólicos evita algunos ataques más posibles.
No se trata solo de que el enlace simbólico sea un riesgo de seguridad, sino un problema de configuración del servidor.