¿Es un riesgo de seguridad otorgar permisos de lectura / escritura a / Library / WebServer / Documents a mi cuenta principal?

5

La configuración predeterminada es que apache2 root-directory Documents es propiedad de root y tengo que ingresar una contraseña cada vez que la cambio. Por eso quiero otorgar permisos completos a mi cuenta de usuario en la información del archivo:

Sin embargo, no estoy seguro de si eso podría ser un riesgo de seguridad ya que la configuración predeterminada es muy restrictiva.

    
pregunta Lenar Hoyt 17.11.2014 - 14:12
fuente

3 respuestas

2

Sí, puede ser un riesgo para la seguridad y puede considerarse una violación de la seguridad si su cuenta principal se ve comprometida o si hace algo incorrecto por error, difiere de un caso a otro según la importancia de su proyecto y su situación. Tratando con. Pero si yo fuera usted, nunca usaría el permiso 777 o incluso algo similar a lo que cualquier persona puede hacer cambios en los directorios de mi servidor web. En otras palabras, incluso si tengo dos usuarios de Unix, uno es mi usuario de X y el otro es el usuario de la raíz, no le daré permiso a X solo porque busco facilidad. En MacOS, como en Linux o en cualquier otro sistema operativo similar a Unix, puede usar ACLs - Listas de control de acceso -, puede configurar Atributos , o puede configurar Apache en una forma de tener diferentes directorios raíz para diferentes hosts virtuales si va a tratar con cientos de usuarios que necesitan cambiar sus propias probabilidades y campos dentro de los directorios de apache, pero nunca subestime los DAC. Los permisos que mencionó se consideran DAC (control de acceso discrecional), 3 bits para el propietario, 3 para grupos y 3 para otros, también llamado personal. De todos modos, te recomiendo que leas sobre las ACL, supongo que harán lo que necesites, las ACL predeterminadas se usan para otorgar / configurar la lista de control de acceso en un directorio específico para permitir que usuarios y grupos específicos tengan derecho a acceder. Para obtener una visión rápida de las ACL, puede usar la opción chmod con la opción +a para establecer o la opción -a para eliminar la ACL. También puede ls -le para mostrar las ACL establecidas. Por ejemplo:

chmod -R +a "group:_www allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" yourDirectoryORFile

Las ACL son una mejor opción, que cambiar los permisos, de las que puede beneficiarse de la forma.

Por cierto, debe notar que es correcto que MacOS sea seguro y seguro, pero los servicios que incluyen Apache, SSH, SAMBA, etc. no están protegidos porque se están usando y configurando según el estado predeterminado.

Los permisos de archivos y directorios son uno de los principios básicos y primeros permisos con los que se enfrentará en sistemas operativos similares a Unix. Para asegurar su sistema, realmente necesita prestar mucha atención a cada detalle del sistema dependiendo de su propósito. Al dar un permiso completo, parece que está proporcionando deliberadamente violaciones de seguridad en su sistema.

Cuando se trata de Apache Server, o NGINX, primero debe asegurarse de la seguridad de su directorio. Por ejemplo, en Linux, se recomienda no deshabilitar SELinux (usado para administrar el control de acceso obligatorio, el control de acceso basado en roles - RBAC - y etc.), por lo que, en ese caso, después de configurar los permisos correctos para directorios y archivos, puede establecer roles y tipos en un nivel más profundo de seguridad. Si no fuera necesario, todos usarían 777 - Lectura-escritura-Ejecución para todos los usuarios, grupos y personal, así que asegúrese de que haya una razón por la que no sea 777 por defecto.

Y lo siguiente que debes tener en cuenta es la configuración y las reglas de tu Firewall. MacOS usa PF, ya que está construido sobre un microkernel FreeBSD (PF significa Packet Filter, y IPFW significa IPFireWall). Puedes usar man pfctl para leer su página de manual y entender cómo puedes manejarlo.

    
respondido por el FarazX 27.12.2016 - 09:22
fuente
1

No puedo pensar en una razón por la que eso sería un problema.

Apache no se ejecuta con sus credenciales de usuario, por lo que ningún usuario externo podrá acceder a ese directorio simplemente otorgándose permisos de lectura / escritura.

    
respondido por el SDsolar 27.12.2016 - 06:55
fuente
1

El valor predeterminado es solo una mera aplicación del Principle Of Least Priviledge . No pretende proteger su cuenta principal de lo que podría pasar en el servidor de apache, sino proteger los sitios de apache de acciones involuntarias de su cuenta.

Si normalmente tiene que escribir algunos archivos en algunas carpetas debajo del directorio raíz de apache2 Documents , debe darle acceso de escritura solo a esas carpetas. Si ocasionalmente realiza tareas administrativas en todas las carpetas de apache2, debe utilizar una cuenta administrativa que tenga acceso completo allí, no necesita ser raíz ni su cuenta principal.

Solo debe tener acceso de escritura en la carpeta raíz de apache2 si escribir hay una parte importante de su actividad normal en esa máquina.

No hay un riesgo específico en no hacer eso además de las acciones involuntarias (¿qué hay de editar un archivo operacional cuando se desea hacerlo en un archivo de prueba?), o el compromiso de su propia cuenta. Así es como con todos los demás principios de seguridad: debe ser consciente de ello y simplemente saber por qué no lo aplica. Por ejemplo, si la organización general de la máquina implica que si su cuenta principal no tiene acceso de escritura, debe registrarse como root más de la mitad del tiempo, probablemente sea peor.

TL / DR: el valor predeterminado que solo la raíz tiene acceso r / w a la raíz apache2 Document es solo el principio de privilegio mínimo. Depende de usted saber si es relevante o no en su caso de uso particular.

    
respondido por el Serge Ballesta 27.12.2016 - 08:27
fuente

Lea otras preguntas en las etiquetas