Me gustaría utilizar el servidor Ubuntu como servidor web, pero quiero asegurarme de seguir las mejores prácticas para configurar las cosas. Quiero asegurarme de configurar el directorio en la mejor ubicación y entender cómo configurar la seguridad adecuada en esa carpeta. Me gustaría poder enviar FTP al servidor e insertar archivos en las carpetas web, por lo que me gustaría entender cómo asegurarme de que mi usuario de PureFTPd pueda manipular archivos / directorios dentro de las carpetas web.
filesystem
security
server
websites
JPrescottSanders
fuente
fuente
Respuestas:
Lo que hice en mi servidor para que mi usuario pudiera hacer cosas directamente
/var/www
es:Esto colocará a su usuario en un grupo que tiene la propiedad del grupo en / var / www y todos sus directorios secundarios, configurará todo en / var / www recursivamente para permitir el acceso de escritura de su grupo y establecerá el bit setgid en el directorio / var / www para que todos los archivos creados más tarde en / var / www mantengan la misma propiedad del grupo en lugar de tener el grupo configurado en el grupo primario del creador.
fuente
www-data
cual el servidor web ya se ejecuta. Como resultado, cualquier compromiso de los scripts del servidor web significa que los archivos debajo/var/www
podrían modificarse. Simplemente cambiewww-data
a algo comoweb-users
(y cree ese grupo primero, consudo addgroup web-users
).Esta es una pregunta muy general.
Obviamente, no desea ejecutar su servidor web como root. Sin embargo, la instalación de Ubuntu ya lo hace de la manera correcta.
Además, en el sitio web de apache hay algunos consejos sobre cómo configurar correctamente su directorio .
En lo que respecta a ftp. Desea asegurarse de utilizar un servidor ftp seguro que no envíe sus nombres de usuario y contraseñas en texto plano a través de la red. Las páginas de ayuda de Ubuntu tienen un tutorial sobre cómo configurar dicho servidor ftp .
fuente
Cuando solo tengo un servidor Ubuntu, con varios usuarios que usan el servidor como servidor web, elimino el
/var/www
directorio porque, para mí,/var/www
es donde colocas los archivos web a nivel mundial. Actualizo el/etc/skel
directorio y agrego una carpetapublic
yprivate
con un enlace simbólicowww -> public
y actualizo todos mis hosts virtuales DocumentRoots para señalar/home/<user>/public
.No veo
/var/www
como el lugar para colocar múltiples carpetas y archivos a nivel de usuario. ¡Para eso/home/
está diseñado el directorio! Mantiene las rutas y las estructuras de directorios limpias.fuente