TRex versión 2.1.2Guía del usuario - Introspección |
Toda la información enviada hacia o desde TRex puede ser vista por cualquiera que esté realmente decidido a hacerlo. No hay encripción hecha cuando se recibe o envía información, incluyendo las passwords enviadas al servidor de correo para la lectura de los e-mails (más seguridad es agregada a TRex según este evoluciona). Alternativamente las passwords nunca son enviadas en las páginas de HTML, lo que hace casi imposible que sea guardada una página con una password.
La password de usuario de TRex se encuentra almacenada, en forma encriptada, en el archivo pass. Esta es una precaución menor, ya que si alguien puede leer el archivo pass, podrá leer los mensajes almacenados en el mismo directorio. Sin embargo si los archivos sólo pueden ser leídos por el usuario con el que es ejecutado el web server, entonces sólo este podrá hacer las operaciones requeridas. Como precaución adicional los directorios de usuario no deben ser accesibles a través del web server en forma directa.
Cada vez que un usuario hace login, un identificador de sesión (session ID) se crea y almacena en el archivo sessID del area del usuario. Un nuevo login re-escribe el archivo sessID y el identificador anterior no servirá. Este archivo es eliminado durante la desconexión (logout). Cada script que accede una area del usuario verifica que que se le entregue el nombre de usuario y el session ID corespondientes. Esta información es pasada entre scripts a través de formularios (tags FORM). Cada vez que se comprueba el session ID, también se verifica que esta no haya expirado (expresado en la variable $time_til_expire del módulo Common.pm. Si la sesión duró más de los segundos especificados, el session ID no funcionará.
El archivo user_info.db almacena almacena el resto de la información. Esta podría ser abusada, por lo que debe protegerse su acceso de otros usuarios.
Los nombres de usuario y las passwords se limitan a ciertos caracteres, pero el resto de los datos poseen mayor libertad.
Protección de usuarios no deseados: Si no se quiere que cualquier usuario pueda generar una cuenta, hay dos opciones : colocar el script new_account.pl en un directorio que esté protegido con una password (el archivo login.pl debe apuntar a la nueva ubicación) y que sólo ese usuario tenga permisos para crear directorios o que se deba correr manualmente el script new_account.pl (no accesible desde web). Esta última opción da mucho mayor control sobre la creación de cuentas.
Directorio de Documentos : Dentro de este hay toda la
documentación provista con TRex en unos pocos idiomas (sólo
inglés y español por ahora). Ah, si estás leyendo esto
es porque ya encontraste la documentación !!
Se debe copiar todo el directorio en el que corresponde al
URL indicado por la variable $man_URL, ubicada dentro del
archivo Common.pm (si $man_URL apunta al URL
http://localhost/htdocs/TRex/man, entonces debe copiarse
al directorio que implementa el URL indicado)
Directorio de Imágenes: Todas las imágenes que tienen una dependencia del idioma están aquí. Se debe copiar todo el directorio en el que corresponde al URL indicado por la variable $img_URL, ubicada dentro del archivo Common.pm (si $img_URL apunta al URL http://localhost/htdocs/TRex/images, entonces debe copiarse al directorio que implementa el URL indicado)
Directorio de Programas : Se usa para guardar todos
los scripts de Perl. Cualquier archivo que termine en pl o pm
debe estar colocado aquí. Este directorio necesita ser
accesible por web con permiso de ejecución. Dependiendo de
su instalación, deberá colocarse debajo del directorio cgi-bin.
Se debe copiar todo el directorio en el que corresponde al
URL indicado por la variable $dir_URL, ubicada dentro del
archivo Common.pm (si $dir_URL apunta al URL
http://localhost/cgi-bin, entonces debe copiarse
al directorio que implementa el URL indicado)
Directorio de bibliotecas : Dentro de su directorio de programas hay uno denominado lib que contiene todos lso módulos Perl (archivos .pm) que conforman la clase TRex. Se debe hacer un directorio 'TRex' dentro del directorio site_perl que se encuentra dentro del directorio donde se encuentra instalado Perl (normalmente /usr/lib/perl5 o c:\perl\lib) y copiar o mover a él todos los archivos ubicados dentro del directorio lib.
Directorio de e-mails de usuarios : Se utiliza para almacenar todos los datos de los usuarios, por lo que NO DEBE HABER ACCESO DESDE EL WEB SERVER A ESTOS DIRECTORIOS O CUALQUIERA PODRÍA MIRAR EL E-MAIL DE CUALQUIER OTRO. Los únicos archivos que se necesitan son folders.start y 999999. A cada usuario se le otorga un directorio con el mismo nombre que su nombre de usuario. La estructura necesaria para un nuevo usuario se genera en el proceso de creación de este.
Se puede ver una descripción detallada de la estructura de directorio.
Directorio de pieles: Todas las imágenes que componen las distintas pieles de TRex se encuentran en este directorio. Se pueden crear nuevas pieles generando nuevos directorios dentro de esta, usando el nombre de la nueva piel como nombre de directorio y generando imágenes de 24 x 24 pixels. Copie (o mueva) todo el directorio en el que corresponde al URL indicado por la variable $skin_URL, ubicada dentro del archivo Common.pm (si $skin_URL apunta al URL http://localhost/htdocs/TRex/skins, entonces debe copiarse al directorio que implementa el URL indicado).
o Ubicación de archivos
Common.pm contiene lo relativo a directorios de usuario
y URLs. La variable para el directorio de usuario deberá ser
la ubicación de un directorio en su sistema de archivos, pero
las referencias a URLs deben ser de la forma "http://your.domain/directory".
Las siguientes variables en Common.pm deben ser cambiadas
para reflejar su ambiente :
$dir_URL --- Indica el URL donde están ubicados los
scripts de Perl (directorio program en la distribución)
$db_path --- Indica el directorio donde se encuentran
los archivos de usuario
$img_URL --- Indica el URL donde están ubicadas las
imágenes (directorio images en la distribución)
$man_URL --- Indica el URL donde están ubicado el
manual del usuario (directorio doc en la distribución)
$skin_URL --- Indica el URL donde están ubicadas las
pieles (directorio skins en la distribución)
$skin --- Indica la piel a usar (es el nombre de uno de
los directorios existentes en $skin_URL)
$lang --- Idioma favorito (en este momento sólo están
disponibles Inglés y Español)
@reserved_files --- Una lista de archivos que no deben
ser mostrados cuando se muestra el directorio correspondiente al
area de subida de archivos. Están colocados los elmentos "." y "..",
pero si está usando una plataforma que no los utiliza (por ejemplo
Mac OS) deben hacerse los cambio necesarios para que reflejen su
plataforma.
o Desconexión automática
El número de segundos para que una sesión expire puede ser
controlada con la variable $time_til_expire.
o Hora del server
$time_off_from_NY debe ser ajustada al número de segundos
por delante de la hora de New York. Cada usuario puede ajustar
su franja horaria en la sección de información al usuario.
Actualmente pueden manejarse franjas horarias de Estados Unidos
de América. Estamos trabajando para que esto sea ajustable a
cualquier franja horaria.
Nota para usuarios internacionales: Este programa está escrito, principalmente, para usuarios de Estados Unidos de América. Por esta razón se preguntan sólo 4 zonas horarias. En tanto no haya sido convertido a formato internacional, colocar la variable $time_off_from_NY en 0 y franja horaria Este.
Una vez que el usuario tiene una cuenta, el usuario puede
acceder a través de la página de login. Una vez en el programa,
el usuario debe agregar la información necesaria para recibir y
enviar e-mails. Esta información es agregada accediendo a uno de
los botones disponibles en la parte superior. Si todo fucniona
correctamente el usuario debe poder acceder a sus e-mails.
La configuración default de TRex hace que se lea el archivo de configuración según se indica en $logConfigFile (el valor por default es /etc/TRex/log4perl.conf), que a su tiene almacenada la siguiente configuración :
log4perl.rootLogger=INFO, ErrorLog, AccessLog, DebugLog log4perl.TRex.Storage.EMail =DEBUG, ErrorLog, AccessLog, DebugLog log4perl.appender.DebugLog=Log::Dispatch::File log4perl.appender.DebugLog.filename=/var/log/TRex/debug.log log4perl.appender.DebugLog.mode=append log4perl.appender.DebugLog.min_level=debug log4perl.appender.DebugLog.max_level=debug log4perl.appender.DebugLog.layout=PatternLayout log4perl.appender.DebugLog.layout.ConversionPattern=[%d] %L %c - %m (%M)%n log4perl.appender.AccessLog=Log::Dispatch::File log4perl.appender.AccessLog.filename=/var/log/TRex/access.log log4perl.appender.AccessLog.mode=append log4perl.appender.AccessLog.min_level=info log4perl.appender.AccessLog.max_level=notice log4perl.appender.AccessLog.layout=PatternLayout log4perl.appender.AccessLog.layout.ConversionPattern=[%d] %m (%M)%n log4perl.appender.ErrorLog=Log::Dispatch::File log4perl.appender.ErrorLog.filename=/var/log/TRex/error.log log4perl.appender.ErrorLog.mode=append log4perl.appender.ErrorLog.min_level=warning log4perl.appender.ErrorLog.layout=PatternLayout log4perl.appender.ErrorLog.layout.ConversionPattern=[%d] %m (%M)%nEsta, a su vez, divide el area de logging en tres logs distintos :
Esta configuración por default puede cambiarse para ajustarse a la instalación
en la que debe ejecutarse.
Página principal
Componer un mensaje
Libreta de direcciones
Carpetas
Espacio personal de archivos
Búsqueda
Esta es la pantalla principal de
acceso a TRex.
La parte superior es la tabla de contenidos o TOC.
La parte naranja a la izquierda es el scritp de funciones,
donde se ubican los botones para cambiar de carpeta, mover y
borrar e-mails. Estas funciones operan sobre la ventana de la
derecha , si uno o más mensajes están seleccionados, o sobre
la ventana inferior.
La ventana debajo de la tabla de contenidos contiene un resúmen
de la información de cada mensaje de la carpeta que está siendo
mostrada.
La parte inferior se utiliza para leer mensajes.
Pantalla usada para componer un mensaje. Los adjuntos se agregan utilizando el formulario al final de la página. El link a la libreta de direcciones nos permite agregar destinatarios desde la libreta de direcciones.
Esta es la libreta de direcciones. Los contactos se muestran en la parte superior, los grupos en la parte inferior.
Esta página muestra la información
de cada uno de las carpetas de e-mail del usuario.
Esta página muestra los archivos que fueron almacenados en el servidor.
TRex versión 2.1.2Guía del usuario - Introspección |