Autor Tema: ¿Configuración adecuada de permisos de un servidor apache? [Solucionado]  (Leído 16652 veces)

Scorpyo82

  • Activo
  • **
  • Mensajes: 83
  • Karma: +12/-0
    • Ver Perfil
    • La-Pecera
Hola

Muchas veces, tras montar mis servidores para trastear joomla o lo que sea, me encuentro con una gran duda...

¿Que usuario y que permisos he de dar a las carpetas de /var/www ?

Por ejemplo, he leído que al instalar apache se crea un usuario, el www-data.

¿He de cambiar el propietario de las carpetas a www-data?
¿Que permisos tengo que poner exactamente para que todo funcione con normalidad en caso de poner www-data sin que los datos estén comprometidos?

Un saludo.
« última modificación: Marzo 24, 2012, 07:03:51 pm por Scorpyo82 »
Po favor, si solucionas tu problema añade la palabra [Solucionado] al título del hilo.

Cuando entro en Window$ estoy más tenso que en el bautizo de un Gremlin.

jordiver

  • Administrator
  • Activo
  • *****
  • Mensajes: 94
  • Karma: +5/-0
  • Linux, que haría sin él.
    • Ver Perfil
En los servidores profesionales lo que hacen es hacer funcionar el apache como el usuario del FTP pero dado que tu servidor debe ser casero y que hacer esto que te comento me parece que es muy complicado, lo que he hecho alguna vez es:
  • Poner el propietario como el usuario con el que quieres modificar. Permisos "rwx".
  • Poner a www-data como grupo de los ficheros con permisos rwx
  • Modificar el umask de las carpetas a 0002 para que los nuevos ficheros creados tengan los permisos adecuados
Los comandos a ejecutar serían:
  • chown usuario:www-data /ruta -R
  • chmod 0775 /carpeta -R
  • umask 0002 /carpeta -R

Espero que te sirva.

Scorpyo82

  • Activo
  • **
  • Mensajes: 83
  • Karma: +12/-0
    • Ver Perfil
    • La-Pecera
Gracias.

Entonces, mi usuario Scorpyo, debería pertenecer al grupo www-data

Cambiar recursivamente los permisos de los archivos a 775 en la carpeta /var/www/

Y establecer umask a 002 para que los permisos queden como 775 a partir de ese momento.

¿Con eso debería andar todo guay no?

Gracias.
Po favor, si solucionas tu problema añade la palabra [Solucionado] al título del hilo.

Cuando entro en Window$ estoy más tenso que en el bautizo de un Gremlin.

jordiver

  • Administrator
  • Activo
  • *****
  • Mensajes: 94
  • Karma: +5/-0
  • Linux, que haría sin él.
    • Ver Perfil
Entonces, mi usuario Scorpyo, debería pertenecer al grupo www-data
No, con eso que te comento das permisos para que por un lado tu usuario pueda editar los ficheros pero que el servidor web también tenga permisos. Pero nada de añadir el usuario al grupo www-data ;)

Esta configuración es válida para servidores caseros donde no te tengas que preocupar mucho del tema permisos.

k1d

  • STAFF
  • Administrator
  • Activo
  • *****
  • Mensajes: 64
  • Karma: +18/-0
    • Ver Perfil
    • sistemasyredes
Seria algo como

# chown -R www-data /var/www

por ejemplo si lo tienes así, y alguien te hackea el servidor subiéndote una shell, esta se ejecutará con los permisos de www-data es una manera simple de mejorar la seguridad
« última modificación: Marzo 21, 2012, 10:25:09 pm por k1d »

templix

  • Global Moderator
  • Forero estrella
  • *****
  • Mensajes: 100
  • Karma: +9/-0
  • g+ pep templix
    • Ver Perfil
Yo jamás pondría como propietario de los archivos de un sitio web al usuario www-data. Este usuario es el que corre apache y por tanto el más expuesto en caso de ataque. Si encima es propietario de archivos, mal asunto.... ja ja ja.... y los permisos como dice jordiver, 755 para los directorios y yo añadiría 644 para los archivos, pero tampoco es palabra santa.....
Con lo fácil que es hacerlo difícil, porqué complicarse la vida.

Scorpyo82

  • Activo
  • **
  • Mensajes: 83
  • Karma: +12/-0
    • Ver Perfil
    • La-Pecera
Pera pera.. vosotros lo que queréis es liarme para piratearme despues y crear tutos de como habéis pirateado al pobre Scorpyo.... jooooooooo


Jajajaja, vamos a ver, entonces cuando alguien interacuta con el server lo está haciendo como el usuario www-data, que es el que usa apache, ¿no?

Entonces, ¿que propietario debería tener la carpeta /var/www/? porque la verdad no me ha quedado claro. XD

Sin pongo como propietario a www-data significa que si doy permisos 744 los navegantes puedes tener permisos totales sobre el server no?? porque apache es el usuario www-data....

¿Veis como me lío con esto?

Un saludo.
Po favor, si solucionas tu problema añade la palabra [Solucionado] al título del hilo.

Cuando entro en Window$ estoy más tenso que en el bautizo de un Gremlin.

k1d

  • STAFF
  • Administrator
  • Activo
  • *****
  • Mensajes: 64
  • Karma: +18/-0
    • Ver Perfil
    • sistemasyredes
a ver la mayoria de servidores apache de internet funcionan con el usuario www-data de propietario lo decia por eso. Y a veces instalando según que cms, por ejemplo te encuentras que para instalar plug-ins o en general contenido en tu servidor online el propietario debe ser www-data. Depende del sitio web que quieras pues te resultará mas cómodo usar este usuario como propietario u otro

añado que el usuario www-data tiene unos permisos bastante limitados, en la máquina servidora en general, solo tiene permisos sobre lo que seria /var/www si quieres mas seguridad, configura chmod usa listas acl dentro del servidor o crea un usuario nuevo, limitalo y asígnalo como propietario de www-data y si eso configura el apache en /etc/apache2/apache2.conf para que el servicio corra sobre ese usuario por poner un ejempo..
« última modificación: Marzo 21, 2012, 11:13:39 pm por k1d »

Scorpyo82

  • Activo
  • **
  • Mensajes: 83
  • Karma: +12/-0
    • Ver Perfil
    • La-Pecera
Hummm pues ahora mismo tengo el server desmontado en el salón sin enchufar ni nada, pero pronto quiero meterle mano otra vez.

Es una torre que me regaló mi cuñada, la tenía muerta de asco y decía que no funcionaba tras dejarselo a un tecnico para una reparación...
 y resulta que tenía mal enchufada la fuente de alimentación, con los cables de 4 pines de alimentación invertidos.... imaginad el desastre, fuente tostada pero la placa está bién increible.....

Así que lo apañé y monté el server :D, hice que se conectara automáticamente desde wifi con la configuración de mi red.

No uso entorno gráfico, no tiene ninguno instalado y lo manejo por ssh, nisiquiera tiene teclado...

Le instalé Ubuntu server configuré una dirección en dynsns.org a la que se conecta automáticamente para actualizar la ip y puse joomla para trastear, total, aquí lo tengo ahora mismo pero no operativo.

Cuando vuelva a trastear miraré como tengo los permisos y compararé, pero no creo que los tenga así.

Gracias XD
Po favor, si solucionas tu problema añade la palabra [Solucionado] al título del hilo.

Cuando entro en Window$ estoy más tenso que en el bautizo de un Gremlin.

k1d

  • STAFF
  • Administrator
  • Activo
  • *****
  • Mensajes: 64
  • Karma: +18/-0
    • Ver Perfil
    • sistemasyredes
jaja genial yo tenia también una máquina así por casa, ahora la aprobecho y la uso para hostear mi blog jaja :)

Scorpyo82

  • Activo
  • **
  • Mensajes: 83
  • Karma: +12/-0
    • Ver Perfil
    • La-Pecera
Ya vi que movieron el hilo, estuve dudando si ponerlo en Administración o en Seguridad...

Gracias por moverlo Jordiver
Po favor, si solucionas tu problema añade la palabra [Solucionado] al título del hilo.

Cuando entro en Window$ estoy más tenso que en el bautizo de un Gremlin.

Scorpyo82

  • Activo
  • **
  • Mensajes: 83
  • Karma: +12/-0
    • Ver Perfil
    • La-Pecera
Entonces, para que quede constancia a ver si lo he entendido.

Al instalar apache tendré un nuevo usuario en el sistema llamado www-data (¿O solo es un grupo?)

Por ssh puedo entrar a mi servidor con mi usuario normal... y operar desde ahí y tal, pero para que apache trabaje correctamente he de poner que la carpeta /var/www/ pertenezca a www-data (de forma recursiva claro)


Si yo entro en esa carpeta con mi user solo he de preocuparme de no crear archivos que pertenzcan a root o a mi usuario, de manera que apache no se encuentre con problemas de lectura-escritura en esa ruta.

¿Puedo loguearme como www-data para trabajar en /var/www o es mejor hacerlo con mi usuario y cambiar permisos de manera manual?

Total, casi todo el trabajo se hace desde web, menos cuando configuras todo por primera vez... ¿No?

En realidad no parece tan complicado...

Eso sí, supongo que no todos los archivos en la carpeta /var/www/ deban ser accesibles por www-data, por ejemplo habrá archivos importantes para.... por ejemplo joomla o worpress que deban ser propiedad de root.

Total creo que es solo cuestión de mantener la caperta /var/www/ como propiedad de www-data y asegurarse de que archivos importantes pertenezcan a root, así si alguien accede mediante un shell como me habéis dicho, no podrá operar fuera de la carpeta /var/www/

Un saludo.
Po favor, si solucionas tu problema añade la palabra [Solucionado] al título del hilo.

Cuando entro en Window$ estoy más tenso que en el bautizo de un Gremlin.

jordiver

  • Administrator
  • Activo
  • *****
  • Mensajes: 94
  • Karma: +5/-0
  • Linux, que haría sin él.
    • Ver Perfil
a ver la mayoria de servidores apache de internet funcionan con el usuario www-data de propietario lo decia por eso. Y a veces instalando según que cms, por ejemplo te encuentras que para instalar plug-ins o en general contenido en tu servidor online el propietario debe ser www-data. Depende del sitio web que quieras pues te resultará mas cómodo usar este usuario como propietario u otro
Quieres decir? Tenía entendido que corrian con el usuario del mismo FTP que te proporcionan las empresas de hosting. De hecho hay una propiedad en Apache que haces que este trabaje como ese usuario, pero ni idea de como se llama ni de cómo se configura... Pero claro, el usuario de un hosting está limitado y no tiene acceso a ninguna shell via SSH ni nada.

Y al tratarse de un casero pues para que no tenga problemas pues por eso propuse esa configuración, para que con tu usuario puedas editar los archivos pero para que también el servidor web en caso de subir algun archivo pues que no te dé problemas de permisos, y esto sin tenerte que preocupar mucho por el tema seguridad ya que cómo sólo tendrás ese usuario pues... Y el servidor estará corriendo como www-data por supuesto.

Ya nos contarás que tal! Saludos!

Scorpyo82

  • Activo
  • **
  • Mensajes: 83
  • Karma: +12/-0
    • Ver Perfil
    • La-Pecera
Re:¿Configuración adecuada de permisos de un servidor apache? [Solucionado]
« Respuesta #13 en: Marzo 24, 2012, 07:06:16 pm »
Pues he desempolvado el server y lo tenía como mencionáis, así que lo dejaré como está.

Solo una cosa...

¿Puedo usar el usuario www-data de apache para entrar por ssh?
¿O ese usuario solo puede usarse desde apache?

Un saludo.
Po favor, si solucionas tu problema añade la palabra [Solucionado] al título del hilo.

Cuando entro en Window$ estoy más tenso que en el bautizo de un Gremlin.

k1d

  • STAFF
  • Administrator
  • Activo
  • *****
  • Mensajes: 64
  • Karma: +18/-0
    • Ver Perfil
    • sistemasyredes
Re:¿Configuración adecuada de permisos de un servidor apache? [Solucionado]
« Respuesta #14 en: Marzo 24, 2012, 10:31:47 pm »
no te lo aconsejo para entrar via ssh, yo nunca lo he probado de usar para entrar por ssh, para eso ya tengo uno que creé con los permisos que queria :)