desarrollo-web-br-bd.com

Mejores prácticas de servidor web: estructura de directorios y seguridad

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 garantizar que mi usuario de PureFTPd pueda manipular archivos/directorios dentro de las carpetas web.

15
JPrescottSanders

Lo que hice en mi servidor para que mi usuario pudiera introducir cosas directamente en /var/www es:

Sudo chgrp -R www-data /var/www
Sudo usermod -aG www-data $(whoami)
Sudo chmod -R 775 /var/www/*
Sudo chmod 2775 /var/www

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 de forma recursiva 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 posteriormente en/var/www mantengan la misma propiedad del grupo en lugar de tener el grupo configurado en el grupo primario del creador.

5
maco

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 .

2
txwikinger

Cuando solo tengo un servidor Ubuntu, con varios usuarios que usan el servidor como servidor web, elimino el directorio /var/www porque para mí - /var/www es donde colocas los archivos web a nivel mundial. Actualizo el directorio /etc/skel y agrego una carpeta public y private con un enlace simbólico www -> public y actualizo todos mis hosts virtuales DocumentRoots para que apunten a /home/<user>/public.

No veo /var/www como el lugar para colocar múltiples carpetas y archivos a nivel de usuario. ¡Para eso está diseñado el directorio /home/! Mantiene las rutas y estructuras de directorio limpias.

0
Marco Ceppi