/*
    Pagetool
    Copyright 2001,2002 Pagetool Development Team
    pagetool-user@lists.sourceforge.net http://www.pagetool.org/
    $Id: SEGURIDAD.txt,v 1.2 2002/05/03 12:49:50 daveguerin Exp $
*/

Pagetool
ADVERTENCIA DE SEGURIDAD

=====================

Pagetool almacena el nombre de usuario y contrasea de acceso
para la base de datos MySQL y el usuario y la contrasea FTP,
(muchos ISP asignan el mismo) en un archivo llamado pt_config.inc.
Este archivo se debe guardar en un directorio fuera del arbol de
directorios de tu sitio web, ciuando tu ISP te da esa facilidad,
si se instala de esta manera, no ser accesible a los visitantes
desde la web. Sin embargo por defecto tiene los privilegios
para ser "world readable", ello significa que cualquier usuario
del sistema puede tener acceso a l para leerlo.

La razn para que sea "world-readable" de debe a que el usuario
bajo el que corre el propio sistema en Linux (que puede ser 
nobody, www o www-data) pueda leerlo. Si el servidor web no puede
tener acceso a este archivo, entonces Pagetool no operar correctamente.

Si corres tu propio servidor Linux y todos los usuarios del sistema
son de confianza, esto no es un problema. Sin embargo, si no puedes
garantizar la confianza de todos los usuarios del sistema 
(entendindose como tales, aquellos que al igual que tu tienen 
un nombre de usuario y contrasea), o tienes el sitio instalado con 
un ISP y no tienes acceso a root al sistema, entonces requerirs hacer 
unos cambios.

SI TIENES ACCESO COMO ROOT

Debers agregar el usuario que utiliza el servidor HTTP al grupo
de usuarios propietario de pt_config.inc. Entonces podrs cambiar
los permisos de pt_config.inc para que sea "group-readable" pero
no "worl-readable"
 
Ejemplo:

El usuario que utiliza el servidor HTTPS es: nobody
El usuario propietario de pt_config.inc es: pablot
pablot pertenece a un grupo que a su vez se llama: pablot

Primero, edita tu archivo /etc/group. Encuentra la lnea que se parece
a: 

pablote:x:1021:

Cmbiala para que se lea:

pablote:x:1021:nobody

Si ya existe un username despus de los dos puntos (por ejemplo
pablot:x:1021:cecilia), agrega nobody separado por una coma (ej.
pablote:x:1021:cecilia,nobody).

Si esto te confunde utiliza "man group" en la lnea de comandos
para obtener ms informacin acerca de modificar el archivo group.

Finalmente cambia los permisos de pt_config.inc para que sea 
"group readable", pero no world-readable:

chmod 640 pt_config.inc

SI NO PUEDES ACCESAR COMO ROOT
Si ests ejecutando Pagetool mediante un "hosting compartido", 
contratado aon un ISP, querrs asegurarte que otros clientes
que alquilan hospedaje no tendrn acceso a tu archivo de
contraseas. Entra el sitio web con Telnet, el Explorador de Archivos
en modo ftp o cualquier cliente FTP, no confundir con ftp annimo)
trata de subir al directorio del nivel ms alto (cd / con Telnet) 
o varios pasos de ../ con el cliente FTP. Si en el puntoo final, 
puedes ver y navegar los sitios de otros usuarios (home directories), 
entonces, tu sitio de hospedaje no es seguro. Si por el otro lado, 
el directorio raz al que tienes acceso slo contiene informacin
de tu propia cuenta de hospedaje (cgi-bin, ftp-annimo, stats, etc),
entonces tu cuenta de hospedaje es un tanto ms segura.

Desde aqu trata de subir el nivel de directorio otra vez, para ver
si puedes ver los directorios home de los sitios de
otros usuarios).

Si tu sitio no es seguro, necesitas pedirle un favor especial
a tu ISP. Pdele que agregue el usuario del servidor web a tu grupo
de usuarios (puedes mandarle este documento de seguridad para ampliar
la explicacin). Una vez que el ISP halla hecho la operacin cambia 
los permisos de pt_config.inc para que sea "group readable", pero no 
world-readable:

chmod 640 pt_config.inc

NOTA FINAL ACERCA DE LA MODALIDAD SEGURA


Finalmenta - tu ISP debe estar corriendo PHP con el safe_mode
activado. Cuando se ejecuta en safe_mode, los permisos de PHP
son restrigidos al propietario del script pqra que este
se ejecute, en otras palabras, si ests corrienso con safe_mode = On
los usuarios que comparten el servidor sern incapaces de ejecutar
un guin escrito para leer tu pt_config.inc desde su propio sitio.

Sin embargo, al correr el sistema con safe_mode activado, la capacidad
para subir archivos de Pagetool no funcionar. Para resolverlo, instala
Pagetool como lo haras normalmente, luego sigue las instrucciones
de como ejecutar la funcin Upload de Pagetool via cgi (bsicamente
significa cambiar varios valores y poner el archivo en tu cg-bin).
