![¿Es seguro cambiar el propietario de la carpeta html/ en Apache?](https://rvso.com/image/1127594/%C2%BFEs%20seguro%20cambiar%20el%20propietario%20de%20la%20carpeta%20html%2F%20en%20Apache%3F.png)
Sé cómo usar chmod y esas cosas, así que esa no es la cuestión. Tengo un pequeño servidor (Ubuntu LTS) ejecutándose con Apache con la carpeta estándar en /var/www/html/
. Por defecto, la raíz es el propietario de la html/
carpeta.
Pregunta: ¿Es seguro cambiar el propietario de la html/
carpeta?
Respuesta1
Es perfectamente seguro cambiar la propiedad de los archivos en /var/www
y, de hecho, cualquier cosa en esa carpeta es suya para editarla y cambiarla como desee.
Por ejemplo, si el usuario tsmith
necesita poder escribir en archivos, /var/www/myweb
está perfectamente bien establecer el propietario de estos archivos en tsmith
. O si lo prefiere, mantenga al propietario como root
y solicite tsmith
sudo para poder escribirle, si le confía sudo.
Si tiene varios usuarios que necesitan poder editar los archivos y no desea darles sudo, también puede usar la membresía de grupo, por ejemplo, crear un grupo y agregar usuarios a ese grupo, luego configurar la propiedad del grupo y el grupo. escriba en los archivos relevantes para permitir que los miembros de ese grupo modifiquen esos archivos. Al hacer esto, probablemente desee utilizar el bit SetGID ( chmod g+s dir
) en el directorio que lo contiene para garantizar que los archivos nuevos hereden la misma propiedad del grupo y umask 002
en el de cada usuario ~/.profile
para asegurarse de que obtengan permiso de escritura del grupo; de lo contrario, los archivos nuevos solo serán editables por su creador y no otros miembros del grupo.
Sin embargo, debes tener en cuenta las siguientes malas prácticas:
No establezca la propiedad de ningún archivo para el
www-data
usuario ni para elwww-data
grupo si le otorga permisos de escritura al grupo. El objetivo delwww-data
usuario es que es un usuario sin privilegios y no puede escribir en ningún archivo. Los demonios del servidor accesibles desde la red externa (como el servidor web) generalmente se ejecutan como un usuario sin privilegios, de modo que, en caso de que sean pirateados debido a una vulnerabilidad, las posibles cosas que el atacante puede hacer son mínimas.Excepción: algunas aplicaciones web requieren acceso de escritura a ciertos archivos y carpetas para implementar cosas como el almacenamiento de archivos adjuntos, etc. En estos casos, debes establecer la propiedad en
www-data
SOLOpara esos archivos, manteniendo alwww-data
mínimo el número de archivos en los que se puede escribir.Por la misma razón, no configure ningún archivo para que se pueda escribir en todo el mundo.
Si crea grupos, no reutilice grupos de usuarios existentes como
admin
,sudo
o especialmentewww-data
, que ya tienen propósitos en Ubuntu porque esto puede reducir la seguridad del sistema si esos grupos no estaban diseñados para poder escribir en archivos. En su lugar, cree sus propios grupos y agrégueles miembros.
Respuesta2
No es muy seguro utilizar directorios o archivos con permisos de root (ya sea de propiedad o permisos únicos). Para archivos HTML estáticos no sería un gran problema de seguridad, pero tan pronto como se ejecutan scripts (PHP, JavaScript, cualquier formulario, etc.), pueden surgir problemas graves.
Respuesta3
Si solo necesita ofrecer contenido (html, imágenes, etc.), no es necesario establecer una propiedad especial para los directorios/archivos en /var/www
, siempre que el usuario de apache2 ( www-data
) tenga permiso para acceder al contenido.
En caso de que necesite hacer algo más, es posible que deba modificar las propiedades. Por ejemplo, si necesita cargar archivos desde un CMS (como WordPress, Joomla, etc.), deberá cambiar la propiedad del directorio de carga www-data
(o al menos otorgar permisos de escritura a ese usuario)
Personalmente, soy /var/www
propiedad de root
un usuario con mod 1777
(igual que /tmp
) y los /var/www/site1
directorios de sitios web (es decir: ) son propiedad de www-data
.
¡Espero eso ayude!