Espacios cedidos


Instrucciones

Los departamentos, centros, institutos, grupos de investigación y otras entidades vinculadas pueden solicitar un espacio cedido a los servidores centrales de la Universidad Jaume I para albergar sus páginas web. Puedes consultar los Criterios de cesión de espacios web y protocolos de actuación frente a incidencias en los Espacios Cedidos de la UJI, y después seguir estas instrucciones.

AVISOS importantes:

  1. Cualquier petición que comporte la modificación de funcionalidades o características así como peticiones de entrega de las credenciales (login/password) de un espacio cedido, la debe solicitar el responsable que realizó el alta del site mediante el CAU y que consta en el registro de espacios cedidos. En caso contrario, la petición se desestimará y no se llevará a efecto.

  2. El Servicio de Informática se reserva el derecho de cerrar el espacio cedido en caso de superar la cuota o usarlo para otros fines no autorizados.

  3. Cada espacio dispondrá de 2GB inicialmente, aunque se podrá solicitar más espacio solicitar más espacio (ver el apartado "Petición de" y elegir la opción "aumentar la cuota de almacenamiento"). También se recuerda que este servidor está dimensionado para alojar contenido relacionado con la publicación web estríctamente (páginas web, bases de datos, etc.) con lo cual, no se puede utilizar para almacenamiento de otros contenidos NO destinados a esta finalidad (copias, aplicaciones, etc).

  4. El Servicio de Informática NO da soporte a scripts (CGI) desarrollados por los propietarios del espacio cedido o por terceros.

  5. Los espacios cedidos no son páginas personales. Para albergar páginas personales dispones de la herramienta Google Sites (sites.google.com) que ofrece de forma fácil y sencilla, múltiples plantillas prediseñadas para realizar tu web personal.

  6. Se tendrá que cumplir con los acuerdos de los Criterios de Cesión de los Espacios Web y las Normas de la Red Informática de la Universitat Jaume I.

  7. Para modificar la clave de acceso accede aquí.

Desde el Servicio de Informática se ha puesto en funcionamiento de un servicio de hosting para albergar los espacios cedidos correspondientes a grupos de investigación, departamentos, servicios y otras entidades vinculadas que necesitan publicar información en la web con carácter propio e independiente de aquella información que aparece en el Portal de la UJI. 

Introducción

Las ventajas principales de usar este servicio son:

  • Acceso interactivo SSH (opcional, por defecto no está activo).

  • Copia automática (backup).

  • Varias herramientas al alcance de todos los espacios (sistema de prevención de ataques, acceso interactivo, base de datos, plantillas, estadísticas, blogs y soporte de diferentes versiones de PHP), librerías y módulos de autentificación de usuarios de la Universidad Jaume I, certificados para servidores web seguros, etc. (Existe la posibilidad de pedir otras herramientas adicionales a éstas, y, en caso de ser factible su instalación, se pondrá al alcance de todos los espacios).

  • Opcionalmente cada espacio cedido puede disponer de un bloque basado en el software WordPress

  • Utilidad para cambiar la clave de acceso del usuario. En el mismo enlace tenemos la posibilidad de cambiar la clave de acceso sin recordar la antigua.

  • Política de las claves de acceso:

    • No reutilización de 3 claves anteriores

    • Longitud mínima de 8 caracteres, mínimo 1 minúscula, mínimo 1 mayuscula, mínimo 1 numero, mínimo 1 carácter especial (!@#$%^&*-)

    • Tiempo mínimo entre cambios: 10 mins.

    • Comprobación de contraseña no comprometida en Pwned Passwords

    • Comprobación de similitud con nombre de usuario/host/etc.

  • Opcionalmente un espacio cedido puede disponer de certificado digital para servir el contenido de forma segura entre el espacio cedido y el usuario. Para solicitar esta característica se deberá tramitar mediante un CAU.

Acceso al servidor

Cada espacio cedido dispone de acceso interactivo y transmissión del contenido web (hojas estáticas y programación) mediante SSH.

  • Si se solicita acceso interactivo SSH se recomienda el uso del programa putty.

  • Para transmitir el contenido de vuestra web se recomienda fileZilla [manual de uso] y el protocolo seguro SFTP.

  • El nombre del servidor a utilizar es mewtoo.uji.es o el nombre del espacio cedido.uji.es (sin http:// o https://).

  • Usad el nombre de usuario y clave de acceso proporcionadas en el momento de concesión del espacio cedido.

Estructura de directorios

La estructura de directorios de un espacio cedido es la siguiente. Fuera de estos directorios no se permite la creación, eliminación o modificación de contenido.

  • htdocs: directorio con el contenido accesible desde un navegador web.

  • logs: directorio donde se almacenan los mensajes de error de php (php_error.log)

  • tmp: directorio donde el usuario puede almacenar contenido que no sea accesible desde un navegador web.

Ejecución del software

Sólo se permite la ejecución de scripts en PHP (v8.2), no se podrán ejecutar scripts en perl, python y/o shell script. Aquí hay unos ejemplos en este tipo de lenguaje de programación: 

PHP ( http://www.php.net )

Cuando se programe una aplicación web es muy recomendable seguir estas normas. Se trata de recomendaciones para PHP pero son aplicables a cualquier otro lenguaje de programación.

Inicialización de variables

Es imprescindible inicializar cada variable que se utilice dentro del script, para que no sea iniciada por terceros invocando la URL del script con GET o POST. Es decir, alguien podría invocar el script enviándole un valor de la variable falso si conoce el nombre de la misma. Considere este fragmento que no inicializa la variable super usuario:

<?php if (comprueba_privilegios()){ $superusuario = true; } ... ?>
  • Si alguien conoce esta variable podría llamar el script así: http://www..uji.es/example.php?superusuario=true y convertirse en super usuario. Este fragmento soluciona el fallo de seguridad:

    <?php $superusuario = false; if (comprueba_privilegios()){ $superusuario = true; } ... ?>

Recogida de valores

Las variables que llegan por el método GET, POST o COOKIE, normalmente son registradas como variables globales, de forma que invocandolas directamente ya tenemos acceso a su valor. Esta es una forma de trabajar no recomendable, ya que podemos caer otra vez en un fallo similar al de antes, con lo cual, tendríamos que recurrir a otros métodos para recoger las variables, tales como $ _GET [ 'super usuario' ] si nos llega por GET, $ _POST [ 'super usuario'] si nos llega por POST, $ _COOKIE [ 'super usuario'] si nos llega en forma de cookie, o $ _REQUEST [ 'super usuario'], que es la forma universal de acceder, cualquiera que sea el método.

Acceso a archivos

Imaginemos que tenemos una variable $nombre_usuario que contiene el nombre del usuario después de autenticarse en alguna parte, y que queremos cargar un saludo según quien sea de la siguiente forma

<?php include ("/usr/local/lib/salutacions/$nom_usuari"); ?>

Alguna mala persona podría pasar con el  $nombre_usuario el valor ../../../../etc/passwd o ../../algun/arxiu/secret/important.txt y acceder al contenido con datos sensibles. Este caso se puede corregir usando la función realpath ($ nombre_usuario) lo cual elimina los .. indeseables. Otro caso podría ser el del siguiente script que hace a la vez pero está codificado así:

La misma mala persona podría pasarle al script como valor de $nombre_usuario una URL con código PHP, por ejemplo:

http://www.elmalo.com/codigo_malicioso.php 
(http://www..uji.es/example.php nombre_usuario=http://www.elmalo.com/codigo_malicioso.php), resultando que nuestro script incluye el contenido del script remoto y ejecutando las sentencias malignas. La solución pasa por utilizar las funciones realpath () o basename ().

Otros

No usar datos proporcionados por el usuario, normalmente de formularios, como parámetros de funciones como eval(), preg_replace() con la opción /e, o comandos de sistema tales como exec(), system(), popen() , passthru() o el operador `, ya que podría terminar ejecutando órdenes no deseadas en el sistema.

También es especialmente peligroso recoger datos proporcionados por el usuario para confeccionar una sentencia SQL o query. Al repecto deberemos usar las funciones mysql_real_escape_string (), addslashes () y stripslashes (), para eliminar caracteres sensibles que podrían facilitar al desgaste alterar la query.

Más información

Libro "Programming PHP", Editorial O'Reilly, Rasmus Lerdorf & Kevin Tatroe, y una documentación completa de las funciones disponibles en este lenguaje de programación, a las siguientes páginas web:

Estadísticas semanales

Todos los espacios cedidos disponen de una página donde se pueden consultar las estadísticas semanales de accesos al espacio cedido. La dirección de acceso a estas estadísticas es la siguiente:

  • http://<nombre_del_espacio_cedido>.uji.es/stats/

Estas estadísticas nos muestran una relación de accesos web en nuestro espacio, con las siguientes características:

  •      Resumen de accesos (número de visitantes, visitas, hojas, sol.licitud tráfico). Accesibles por día, semana, mes y año.

  •      Detalles de que accede (Piuma; ses, servidores y robots).

  •      Detalles de navegación (duración de visitas, hojas de entrada y de salida, tipos de archivos servidos, URLs u hojas accedidas, sistemas operativos y navegadores).

  •      Enlaces (enlaces externos, desde buscadores y palabras que se buscan en búsquedas).

  •      Otros (añadido a favoritos, códigos de error HTTP para hojas no encontradas, detalles de acceso desde la red de la UJI).

Se puede observar que hay gran cantidad de parámetros, aunque en la mayoría de los casos sólo nos interesarán los siguientes:

  • Número de visitas: cada visita se corresponde en un conjunto de accesos de una misma persona durante un periodo de tiempo (1 hora).

  • Hojas: número de accesos a páginas HTML.

  • Solicitudes: hace referencia al número de hits, donde cada noche es un acceso a cada elemento de una URL o cuchilla (imágenes, elementos multimedia, etc). Puede ver un ejemplo de esta información accediendo a la URL mencionada antes, donde podrá encontrar ayuda contextual.

También se dispone de la opción de recibir estas estadísticas por correo electrónico. En este caso, debe comunicárnoslo haciendo un comunicado CAU

Base de datos

Se puede hacer uso de una base de datos Mysql (http://www.mysql.com) dentro del espacio cedido. Se puede consultar, insertar, modificar y eliminar la información almacenada en esta base de datos mediante cualquier lenguaje de script de aquellos que hemos comentado antes. Un ejemplo de acceso a la base de datos hecho con PHP podría ser el siguiente:

Este ejemplo hace una conexión a la base de datos mysql, hace una consulta SQL, y muestra el resultado de la consulta en una tabla HTML. Puede encontrar más información de las funciones de acceso a bases de datos Mysql PHP en esta dirección: http://www.php.net/manual/en/ref.mysql.php

Para gestionar la estructura e información de esta base de datos, también se ofrece un entorno visual de gestión de Bases de Datos MySQL. La URL de acceso a este entorno es la siguiente:

  • http://<nombre_espacio_cedido>.uji.es/phpmyadmin

Para acceder a la gestión hay que autenticarse con el usuario y la clave de acceso del sistema.
Para hacer uso de esta base de datos y sus herramientas, debe solicitar el servicio haciendo uso del  CAU.

Autenticación de usuarios de la Universidad Jaume I

Se pone a disposición de cualquier espacio cedido una librería de autenticación para los usuarios de la Universidad (aquellos que tengan cuenta en la misma, no se pueden validar cuentas locales a los espacios cedidos) que nos permite validar el acceso y mantener sesión tanto en el espacio cedido como en el SSO, permitiendo además que el usuario autenticado pueda acceder a otras herramientas integradas (pe e-ujier, aulavirtual, etc). Para hacer uso de la librería, es necesario utilizar el lenguaje de programación PHP y haberlo solicitado:

  1. En el momento de solicitar un nuevo espacio cedido.

  2. Si el espacio ya está creado, se debe realizar un CAU solicitando esta integración.

  3. Hacer uso de HTTPS.

Ejemplo:

Servicio de Blog

Este software se basa en el gestor de blogs llamado WordPress, muy conocido y que podrá encontrar en múltiples lugares. Además, la documentación es muy completa.

La dirección para acceder a la administración de su blog es la misma que la del espacio que habéis pedido, añadiendo al final "/ blog / wp-admin /", por ejemplo:

  • http: // <nombre_del_espacio_cedido> .uji.es / blog / wp-admin /

Las credenciales que ha de usar son las mismas que usará para acceder vía sftp. Para ver las entradas de nuestra bitácora simplemente añadimos "/ blog /" al final de la dirección de nuestro espacio. Por ejemplo:

  • http: // <nombre_del_espacio_cedido> .uji.es / blog

Envíos de correos

Es necesario para el correcto envío de correos desde la máquina de espacios cedidos que el remitente sea con el dominio @uji.es como por ejemplo no-reply@uji.es. En caso de desear que la dirección de respuesta por parte del destinatario sea diferente a la empleada como remitente puede hacer uso de la cabecera Reply-To.

El envío de correo a través del servidor de correo que tenemos habilidad en la máquina de espacios cedidos se debe hacer de forma autenticada (usuario y contraseña sftp/ssh asociado al espacio cedido) para evitar riesgos de propagación de virus y spam ante un acceso no autorizado a una de las cuentas de los espacios cedidos. El siguiente código fuente expone una función de ejemplo para enviar correo autenticado (usando las credenciales del usuario del espacio cedido):

WordPress

Si has instalado tu la versión de WordPress necesitarás instalar el siguiente plugin pulsando en este enlace, WP Mail SMTP: wordpress.org/extend/plugins/wp-mail-smtp

  • Configuración para enviar correos utilizando WP Mail SMTP

En la opción "Ajustes", seleccionar "Email". A continuación hay que configurar los datos del servidor SMTP que necesitamos usar. Para poder realizar envíos de correos desde el WordPress utilizando el SMTP de la Universidad Jaume I deberás indicar los siguientes datos de configuración del servidor.

PHPMailer

Joomla

PHPBB3 (3.2.2.2. Email settings)

Mahara

  • You need to set this in config.php ? look for and edit the following:
    // mail handling
    // if you want mahara to use smtp servers to send mail, enter one or more here
    // blank means mahara will use the default PHP method.
    //$cfg->smtphosts = ?xxx.xxx.xxx.xxx?;
    // If you have specified an smtp server above, and the server requires
    authentication,
    // enter them here
    // $cfg->smtpuser = ?;
    // $cfg->smtppass = ?;

Moodle

SWIFT

SMF

Drupal