abril 22, 2021, 10:47:31 pm

Noticias:

Si tienes problemas para ingresar: puedes escribir a [email protected] para soporte técnico.


Acceso de awstats a los logs de apache

Iniciado por pish, marzo 10, 2011, 08:18:07 pm

Tema anterior - Siguiente tema

pish

Eso compas.

En un servidor en squeeze instalé el awstats para estar revisando las estadísticas de unos virtual hosts. Todo funciona perfecto, el cron job que instala awstats actualiza sus bases de datos sin problema.

Pero también quiero que la misma paginita web del awstats pueda actualizar las estadísticas. Entonces, procedí a habilitar la opción de configuración en el archivo correspondiente y aparece el link para actualizar las estadísticas del sitio que estoy viendo.
El problema que tengo es que la carpeta y logs de apache son propiedad de root:adm y sus permisos: rw-r-----. Entonces cuando uso el link de la web para actualizar, el awstats trata de leer los logs de apache para actualizar sus bases de datos, pero como allí él trata de acceder como www-data, entonces me sale el error de "permission denied".

Se me ocurren 2 opciones:
1. Darle a "otros" permisos de lectura a la carpeta /var/log/apache2 y a los logs que necesito que lea el awstats. Pero no sé si esto puede comprometer la seguridad del servidor?
2. Ya que tanto la carpeta como los logs de apache son propiedad de root:adm, pensaba también agregar al usuario www-data al grupo adm. Pero tampoco sé si esto también puede representar alguna amenaza en la seguridad del servidor.

¿Cuál de las 2 opciones sería menos insegura? O si hay otra opción de hacerlo me encantaría que me recomendaran.

Si la opción a usar en definitiva fuera la 1. tengo otra pregunta: debido a que apache rota sus logs, en el momento de rotar el log actual y crear un archivo de log nuevo, me imagino que lo va a crear con sus permisos default: rw-r----- por lo que cada vez que eso ocurra yo tendré que ir manualmente a cambiarle los permisos a dicho archivo a rw-r--r-- para que el awstats de la web me lo pueda leer. ¿Estoy en lo correcto?

Muchas gracias de antemano compas.

Un saludo ;)

Edit: qué raro, cuando hice este mensaje, me salieron un montón de tags: de font,size,color y por más que los quité ahora este hilo se comenzó a ver con una mezcla de fonts. Lo único que hice fue previsualizar antes de guardar y la previsualización me mostró todo eso. (He editado varias veces este hilo para corregirle eso)

JorgeAVM

¿Y por qué no corres el awstats como root?
 ...

¿Respecto a la edición del mensaje, qué navegador usas?
Esta versión del foro tiene un editor nuevo: WYSIWYG

pish

Eso Jorge, gracias!


Pues el cron job de awstats sí corre como root y por ese lado sí funciona bien.


Pero desde el browser la actualización hace la solicitud mediante el usuario www-data (quien es el que corre apache) y es quien no puede acceder a los logs.


En realidad la actualización desde el browser es para poder hacerla en el acto (si la ocupara) y no esperar a que terminen de transcurrir los 10 minutos para que se ejecute el cron job de awstats.


Un saludo ;)




PD: estoy utilizando el navegador Chrome 10 en Linux Mint Debian y eso sólo me sucede cuando le doy "Previsualizar" antes de "Guardar" o "Enviar".

JorgeAVM

Pruebe en otros navegadores, qué se yo, Firefox, a ver qué tal.
Gracias!

pish

Excelente capi, muchísimas gracias.

Un saludo bro.

chaco

Cita de: "pish"Eso compas.

En un servidor en squeeze instalé el awstats para estar revisando las estadísticas de unos virtual hosts. Todo funciona perfecto, el cron job que instala awstats actualiza sus bases de datos sin problema.

Pero también quiero que la misma paginita web del awstats pueda actualizar las estadísticas. Entonces, procedí a habilitar la opción de configuración en el archivo correspondiente y aparece el link para actualizar las estadísticas del sitio que estoy viendo.
El problema que tengo es que la carpeta y logs de apache son propiedad de root:adm y sus permisos: rw-r-----. Entonces cuando uso el link de la web para actualizar, el awstats trata de leer los logs de apache para actualizar sus bases de datos, pero como allí él trata de acceder como www-data, entonces me sale el error de "permission denied".


Por que no usa sudo a este punto?
que www puede correr el script que genera las estadisticas?

Se me ocurren 2 opciones:


Cita de: "pish"

Si la opción a usar en definitiva fuera la 1. tengo otra pregunta: debido a que apache rota sus logs, en el momento de rotar el log actual y crear un archivo de log nuevo, me imagino que lo va a crear con sus permisos default: rw-r----- por lo que cada vez que eso ocurra yo tendré que ir manualmente a cambiarle los permisos a dicho archivo a rw-r--r-- para que el awstats de la web me lo pueda leer. ¿Estoy en lo correcto?



Tiene que editar el archivo de logrotate de los logs de apache para que le ponga los permisos que usted necesita/quiere en /etc/logrotate.d/apache2, la linea que dice
create 640 root adm


Adicionalmente yo no veo inseguro que OTROs lean las bitácoras de acceso.

This is Unix-Land. In quiet nights, you can hear the Windows machines reboot"

pish

Buenísimo chaco muchas gracias!!


Voy entonces a hacer eso inmediatamente.


Un saludo.

Dannn!

Uff en esta zona sin chaco tamos pal tigre jeje Excelente man
Lo hago porque puedo, puedo porque quiero y quiero porque me dijeron que no podía.

koda

Por vara, nadie sabe aquí de esa vara estamos sonation xD

Silencio...

Creo que esta mal la configuración de awstats..  en el fichero de configuración tiene que poner el nombre del dominio que tendrá acceso al log del apache...

Por ejemplo si tiene varios dominios alojados a de tener varios archivos de configuración... cada archivo de configuración tiene que tener el nombre del dominio para hacer la distinción claro esta..
Eso por si tiene varios dominios algo así /etc/awstats/awstats.forodelpc.com.conf

Ahora bien, para ver lo que sucede puede ver en el log de error aver si deniega el permiso o que pasa.. así se dará cuenta si es problema de permisos.

Si fuera el caso..

Cambiar los permisos de los logs del apache no es gran cosa en cuanto a seguridad.. mas que otros lo podrán ver y modificar si fuera el caso...


Puede usar chown con la carpeta www-data o bien dar permisos como dijo chaco a los logs.. o usar chmod y asignar permisos 775 a los logs de apache... y eso no debería dar problemas..
SysAdmin.

CCCP Born !

Debian Powered.

pish

Muchas gracias por el aporte Silencio. Sí, de hecho cada sitio tiene su /etc/awstats/awstats.dominio.com.conf y configurado adentro correctamente y se están actualizando sin ningún problema desde los cron jobs que instala awstats automáticamente.

Más que todo el único problema que tenía era que cuando quería actualizar desde la web, el usuario www-data es quien corre apache y por consiguiente el proceso de leer los logs de apache era el que me daba problemas de permisos ya que www-data no tiene accesos de ningún tipo a los logs de apache.

Al final le di accesos de sólo-lectura al usuario www-data a los logs de apache y modifiqué la configuración del logrotate.d y todo está como una uvita ahora.

Un saludo ;)

Buscar en el Foro: