Administration du module AmonEcole

Administration
Administration
  • La phase d'administration correspond à l'exploitation du serveur.

    Chaque module possède des fonctionnalités propres, souvent complémentaires.

    Diverses interfaces permettent la mise en œuvre de ces fonctionnalités et en facilitent l'usage.

Administration généralités

La dernière des quatre phases

Administration
Administration
  • La phase d'administration correspond à l'exploitation du serveur.

    Chaque module possède des fonctionnalités propres, souvent complémentaires.

    Diverses interfaces permettent la mise en œuvre de ces fonctionnalités et en facilitent l'usage.

Principes de l'administration

L'administration d'un module est facilitée par plusieurs outils mis à disposition :

  • l'interface d'administration web : EAD ;

  • l'interface d'administration semi-graphique : manage-eole ;

  • l'interface d'administration du module Zéphir : Zéphir-Web ;

  • des outils spécifiques à certains modules : ARV, frontend_horus, ...

  • des interfaces fournies par les logiciels utilisés : Cups, Sympa, ...

  • la procédure de mise à jour ;

  • les sauvegardes.

Il est également possible d'utiliser la ligne de commande.

Le choix de l'outil à utiliser s'effectue en fonction du type de module, de l'emplacement de ce module dans l'architecture (serveur en établissement ou serveur académique) et du profil de l'administrateur (administrateur académique, relai académique, personne ressource en établissement...).

Découverte de GNU/Linux

Les Bases

Descriptif sommaire

Une distribution

  • des outils périphériques = GNU [2]

  • un environnement console ou graphique

  • un système de fichiers éprouvé, hérité d'UNIX

L'arborescence GNU/Linux
L'arborescence GNU/Linux

Pour l'utilisateur, un système de fichiers est vu comme une arborescence : les fichiers sont regroupés dans des répertoires (concept utilisé par la plupart des systèmes d'exploitation). Ces répertoires contiennent soit des fichiers, soit récursivement d'autres répertoires. Il y a donc un répertoire racine et des sous-répertoires. Une telle organisation génère une hiérarchie de répertoires et de fichiers organisés en arbre.

Racine de l'arbre

/ (appelé slash ou root) : racine de l'arborescence sur laquelle sont raccrochés tous les sous-répertoires et fichiers.

Arborescence 1er niveau

  • bin/ : commandes liées au système, exécutables par tous ;

  • boot/ : noyau et initrd nécessaires au démarrage (ou boot) du système ;

  • dev/ : fichiers spéciaux effectuant le lien noyau / périphériques ;

  • etc/ : fichiers de configuration ;

  • home/ : répertoires de connexion (ou home directory) des utilisateurs ;

  • lib/ : librairies essentielles au démarrage et modules du noyau ;

  • mnt/ : contient les sous-répertoires de montage des partitions des autres périphériques ;

  • opt/ : installation des applications autres ;

  • proc/ : pseudo système de fichier représentant le noyau à un instant T ;

  • root/ : répertoire de connexion de root ;

  • sbin/ : commandes réservées à root et utilisées dans les niveaux de démarrage bas ;

  • sys/ : pseudo système de fichier représentant les processus ;

  • tmp/ : répertoire temporaire accessible à tous ;

  • usr/ : commandes utilisées par les utilisateurs (bin), l'administrateur (sbin), mais aussi ensemble du système graphique ;

  • var/ : ensemble des données variables du système (spools, logs, web, bases de données, ...).

Filesystem Hierarchy Standard (« norme de la hiérarchie des systèmes de fichiers », abrégé en FHS) définit l'arborescence et le contenu des principaux répertoires des systèmes de fichiers des systèmes d'exploitation GNU/Linux et de la plupart des systèmes Unix.

Fichiers et répertoires
Sous Unix, tout est fichier

Les différents types :

  • fichiers ordinaires : fichiers éditables

  • fichiers programmes : fichiers contenant des données compilées

  • répertoires : fichier contenant les infos sur les fichiers et sous-répertoires contenus (index)

  • fichiers spéciaux : fichier associé à un périphérique. Ne contient qu'une description relative au driver et type d'interface.

Adresse absolue / adresse relative

Un fichier ou un répertoire peut être défini :

  • soit par un chemin relatif à l'endroit où vous vous positionnez au moment T.

  • soit par un chemin absolu à partir de la racine de l'arborescence.

La gestion des droits
Droits de base UNIX

Les droits détaillés ci-après s'appliquent à l'ensemble des composantes de l'arborescence GNU/Linux, à savoir les fichiers et les répertoires.

Droits essentiels :

  • lecture

  • écriture

  • exécution

Autres droits :

  • sticky bit

  • setuid et setgid bits

Description d'un fichier
  1. numéro d'inode

  2. type & droits sur le fichier (ou répertoire)

  3. compteur de liens physiques

  4. propriétaire

  5. groupe

  6. taille

  7. date de dernière modification

  8. nom du fichier (répertoire)

Représentation du type et des droits des fichiers

Le schéma précédent montre, dans le second bloc, comment sont affichés les droits associés à un fichier (ou répertoire).

Ce bloc se décompose en 4 sous-parties :

  • La première, codée sur un caractère, représente le type du fichier

  • On trouve ensuite 3 groupes de 3 caractères indiquant les droits de lecture/écriture/exécution.

Le type du fichier peut être un des éléments suivants :

  • d : répertoire

  • l : lien symbolique

  • c : périphérique de type caractère

  • b : périphérique de type bloc

  • p : pile fifo

  • s : socket

  • - : fichier classique

Exemple
  • Fichiers de périphériques :

    • brw-rw---- 1 root disk 8, 0 nov 12 08:17 /dev/sda

    • brw-rw---- 1 root cdrom 3, 0 nov 12 08:17 /dev/hda

    • crw-r----- 1 root kmem 1, 1 nov 12 08:17 mem

    • crw-rw---- 1 root root 4, 0 nov 12 08:17 tty0

  • Répertoires :

    • drwxr-xr-x 13 root root 4096 oct 20 10:22 /usr

    • drwxr-xr-x 17 user1 group1 4096 oct 31 09:18 /home/user1

  • Fichiers standards :

    • -rw-r--r-- 1 root root 2008 oct 17 19:36 /etc/inittab

    • -rw-r--r-- 1 root root 724 déc 20 2006 /etc/crontab

    • -rwxr-x--1 root root 1024 oct 29 /home/user1/monScript

  • Lien symbolique :

    • lrwxrwxrwx 1 root root 31 oct 27 15:00 /var/lib/postgresql/8.3/main/root.crt -> /etc/postgresql-common/root.crt

  • Socket :

    • srw-rw-rw- 1 root root 0 nov 12 08:18 /var/run/gdm_socket

Détail des droits standards

Comme énoncé précédemment, les droits sont codés sur 3 jeux de 3 droits.

Cet ensemble de 3 droits sur 3 entités se représente généralement de la façon suivante : on écrit côte à côte les droits r (Read/lecture), w (Write/écriture) puis x (eXecute/exécution) respectivement pour le propriétaire (u), le groupe (g) et les autres utilisateurs (o). Les codes u, g et o (u comme user, g comme group et o comme others) sont utilisés par les commandes UNIX qui permettent d'attribuer les droits et l'appartenance des fichiers.

Lorsqu'un droit est attribué à une entité, on écrit ce droit (r, w ou x), et lorsqu'il n'est pas attribué, on écrit un '-'. Par exemple : rwxr-xr--

Droits Spécifiques
SUID Bit

Ce droit s'applique aux fichiers exécutables, il permet d'allouer temporairement à un utilisateur les droits du propriétaire du fichier, durant son exécution.

En effet, lorsqu'un programme est exécuté par un utilisateur, les tâches qu'il accomplira seront restreintes par ses propres droits, qui s'appliquent donc au programme.

Lorsque le droit SUID est appliqué à un exécutable et qu'un utilisateur quelconque l'exécute, le programme détiendra alors les droits du propriétaire du fichier durant son exécution.

Bien sûr, un utilisateur ne peut jouir du droit SUID que s'il détient par ailleurs les droits d'exécution du programme. Ce droit est utilisé lorsqu'une tâche, bien que légitime pour un utilisateur classique, nécessite des droits supplémentaires (généralement ceux de root). Il est donc à utiliser avec précaution.

  • -r-s--x--x 1 root root 15540 jun 20 2004 /usr/bin/passwd

C'est un s si le droit d'exécution du propriétaire est présent, ou un S sinon. Il se place donc comme ceci : ---s------ ou ---S------

SGUID Bit

Ce droit fonctionne comme le droit SUID, mais appliqué aux groupes. Il donne à un utilisateur les droits du groupe auquel appartient le propriétaire de l'exécutable et non plus les droits du propriétaire.

De plus, ce droit a une tout autre utilisation s'il est appliqué à un répertoire. Normalement, lorsqu'un fichier est créé par un utilisateur, il en est propriétaire, et un groupe par défaut lui est appliqué (généralement users si le fichier a été créé par un utilisateur, et root s'il a été créé par root). Cependant, lorsqu'un fichier est créé dans un répertoire portant le droit SGID, alors ce fichier se verra attribuer par défaut le groupe du répertoire. De plus, si c'est un autre répertoire qui est créé dans le répertoire portant le droit SGID, ce sous-répertoire portera également ce droit.

  • -rwxr-sr-x 1 root utmp 319344 avr 21 2008 /usr/bin/xterm

C'est un s si le droit d'exécution du propriétaire est présent, ou un S sinon. Il se place donc comme ceci : ---s------ ou ---S------

Sticky Bit

Lorsque ce droit est positionné sur un répertoire, il interdit la suppression des fichiers qu'il contient à tout utilisateur autre que le propriétaire. Néanmoins, il est toujours possible pour un utilisateur possédant les droits d'écriture sur ce fichier de le modifier (par exemple de le transformer en un fichier vide).

Notation : il est représenté par la lettre t ou T, qui vient remplacer le droit d'exécution x des autres utilisateurs que le propriétaire et ceux appartenant au groupe du fichier, de la même façon que les droits SUID et SGID. La majuscule fonctionne aussi de la même façon, elle est présente si le droit d'exécution x caché n'est pas présent : ---------t ou ---------T

Exemple : le répertoire /tmp

  • drwxrwxrwt 23 root root 4096 oct 20 14:27 /tmp/

Listes de contrôle d'accès

Une liste de contrôle d'accès ou ACL, permet de définir une liste de permission sur un fichier ou répertoire.

Aux habituels utilisateur, groupe et autre, il est possible d'étendre le nombre d'utilisateurs et de groupes ayant des droits sur un même fichier

Les ACLs s'ajoutent aux droits standards. Lorsqu'on liste les droits d'un fichier, les ACLs sont symbolisées par un "+".

-rwxrwx---+ 1 root professeurs 26 2009-05-27 16:37 fic

Les droits étendus apparaissent de la façon suivante :

user::rwx

user:p.nom:rwx

group::---

mask::rwx

other::---

Les ACLs d'un dossier père ne sont pas automatiquement repris pour le fichier fils.

Il est possible de modifier ce comportement, à associant des droits par défaut (grâce à l'attribut default).

Par exemple :

user::rwx

user:p.nom:rwx

group::rwx

mask::rwx

other::--x

default:user::rwx

default:user:p.nom:rwx

default:group::---

default:mask::rwx

default:other::---

La gestion des processus
Définition d'un processus

Un processus est un programme qui s'exécute en mémoire.

Tout processus lancé :

  • se voit attribuer un numéro appelé PID (Process Identifier).

  • est fils du processus qui l'a lancé. Le fils connaît le PID de son père, et en garde une trace sous la forme d'un numéro appelé PPID (Parent Process Identifier).

  • appartient à un propriétaire (UID - celui qui a lancé le programme et qui pourra interagir avec ce processus)

  • détermine son activité par un état : Actif, Exécutable, Endormi, Zombi.

Si un processus disparaît, tous les processus fils disparaissent également, sauf quand un processus est raccroché à init. Ainsi donc, à l'instar des fichiers, les processus sont organisés en arbre.

Enfin GNU/Linux est un système multi-tâche, c'est à dire que plusieurs processus peuvent être exécutés en même temps, en réalité, un seul utilise le processeur à la fois, ce dernier ne sachant effectuer qu'une seule instruction à la fois.

Etat d'un processus

Comme évoqué précédemment, un processus peut avoir un état : Actif, Exécutable, Endormi, Zombi.

  • Actif : le processus utilise le processeur, et est donc en train de réaliser des actions pour lequel il a été conçu.

  • Exécutable : le processus est en exécution mais il est en attente de libération du processus qui est utilisé par un processus actif. Pour l'utilisateur, ceci est invisible car l'opération est très rapide.

  • Endormi : comme son nom l'indique, le processus est endormi, il ne fait rien. Par exemple, un processus peut attendre un événement pour redevenir Actif, comme par exemple, que l'on appuie sur une touche lors de l'affichage d'un message.

  • Zombie : un processus zombie est un processus terminé, mais le système ou le processus parent n'en a pas été informé. L'état d'un processus peut être modifié par un autre processus, par lui même ou par l'utilisateur.

Quelques Commandes

Actions sur les fichiers et répertoires

Se déplacer dans l'arborescence :

  • savoir où je me situe : pwd ;

  • aller vers : cd [répertoire].

Lister les fichiers et les droits : ls [-la] [fichier...] [répertoire...].

Lister les ACLs : getfacl [fichier...] [répertoire...].

Créer/supprimer un répertoire :

  • créer un répertoire : mkdir [-p] <répertoire...>  ;

  • supprimer un répertoire (déjà vide) : rmdir <répertoire...>.

Copier, renommer, déplacer :

  • copier : cp [-fr] <source1>... <destination> ;

  • renommer : mv <source> <destination> ;

  • déplacer : mv <source1>... <destination>.

Liens physiques, liens symboliques : ln [-s] <origine> <destination>.

Manipuler les droits & les propriétaires :

changer les droits : chmod [-R] [MODE|MODE-OCTAL] <fichier...> <répertoire...> ;

changer le propriétaire : chown [-R] <user>[.<group>] <fichier...> < répertoire...> ;

changer le groupe : chgrp [-R] <group> <fichier...> < répertoire...> ;

changer les ACLs : setfacl [-R] -m <u|g|o>:<utilisateur|group>:<droit> < répertoire...>.

Gestion des processus

Voir l'état des processus :

  • à un instant T : ps [auxef...] ;

  • visualisation dynamique : top.

Arrêt d'un processus : kill [-Num_Sig] <PID...>.

Autres commandes diverses

passwd : permet de changer le mot de passe d'un utilisateur système (il ne permet pas de changer les mots de passe des utilisateurs dans un annuaire LDAP)

passwd sans option modifie le mot de passe de l'utilisateur courant.

passwd nom_d_utilisateur permet de changer le mot de passe d'un autre utilisateur.

Si la commande est exécuté par un utilisateur autre que "root" le mot de passe actuel sera demandé.

sort : trier des lignes en fonction d'une ou plusieurs clés : sort [-ndtX] [-k num_champs] fichier....

grep : rechercher des chaînes de caractère dans un ou plusieurs fichiers : grep [-vni] chaîne fichier....

cut : extraire des colonnes d'un ou plusieurs fichiers : cut -f <nombre> [options] fichier....

wc : déterminer le nombre de lignes, mots ou caractères dans un ou plusieurs fichiers : wc [-lwc] fichier....

tail et head : visualiser les dernières ou les premières lignes d'un fichier :

  • tail [-n] fichier ;

  • head [-n] fichier.

screen : multiplexeur de terminaux en mode texte. Il permet de détacher un terminal et de le récupérer en cas de déconnexion. Ce logiciel est particulièrement adapté aux travaux à distance, en cas de coupure réseau il est possible de reprendre la main dessus le serveur. Voici le fonctionnement de base :

  • lancer un nouveau terminal : screen ;

  • détacher ce terminal : ctrl a d ;

  • re-attacher le terminal : screen -rd.

Les conteneurs

Pour gérer les conteneurs, différentes commandes sont disponibles :

  • installation d'un paquet dans un conteneur : apt-eole install-conteneur (nom_du_conteneur) paquet
  • statut de tous les conteneurs : lxc-status ;
  • arrêt de tous les conteneurs : service lxc stop  ;
  • démarrage de tous les conteneurs : service lxc start ;
  • arrêt d'un conteneur : lxc-halt -n (nom_du_conteneur);
  • forcer l'arrêt d'un conteneur : lxc-stop -n (nom_du_conteneur) ;
  • démarrage d'un conteneur : lxc-start -n (nom_du_conteneur) -d
  • entrer dans un conteneur : ssh (nom_du_conteneur).

Les conteneurs seront installés dans le répertoire /opt/lxc/, mais, normalement, il n'est pas nécessaire de modifier les fichiers directement dans ce répertoire.

La gestion des onduleurs

Quelques commandes utiles :

  • test d'une installation sans démarrer le service upsd : upsdrvctl start ;
  • test de l'arrêt du serveur sans avoir à attendre que la batterie soit vide : upsmon -c fsd ;
  • lister la configuration : upsc eoleups@localhost (où "eoleups" est un nom choisi arbitrairement pour la configuration de l'onduleur) ;
  • modifier la configuration : upsrw eoleups@localhost (où "eoleups" est un nom choisi arbitrairement pour la configuration de l'onduleur).

Les manuels

L'organisation du man

L'ensemble du man est organisé en sections numérotées de 1 à 9 pour les plus courantes :

  1. commandes utilisateurs pouvant être exécutées quelque soit l'utilisateur

  2. appels systèmes, c'est-à-dire les fonctions fournies par le noyau

  3. fonctions des bibliothèques

  4. périphériques, c'est-à-dire les fichiers spéciaux que l'on trouve dans le répertoire /dev

  5. descriptions des formats de fichiers de configuration (comme par exemple /etc/passwd)

  6. jeux

  7. divers (macros, conventions particulières, ...)

  8. outils d'administration exécutables uniquement par le super utilisateur (root)

  9. autre section (spécifique à GNU/Linux) destinée à la documentation des services offerts par le noyau

Lorsque la documentation est interrogée à propos d'un terme présent dans plusieurs sections (ex : passwd, à la fois commande et fichier de configuration), si le numéro de section n'est pas précisé, c'est toujours la section de numérotation la moins élevée qui sera affichée.

Contenu d'une page

Chaque page de man est structurée en paragraphes contenant des éléments particuliers.

Intitulé de la commande ou du fichier et section du manuel

Vérifier qu'il s'agit de la documentation attendue.

Exemple :

  • CP(1)      Manuel de l'utilisateur Linux      CP(1)

documentation pour la commande cp, section 1

  • PASSWD(5)      Manuel de l'administrateur Linux      PASSWD(5)

documentation pour le fichier passwd, section 5

Nom

comme son nom l'indique, il s'agit du nom de la commande ou du fichier ainsi que d'une description synthétique.

Exemple :

  • NOM

          cp - Copier des fichiers.

Synopsis

Dans ce paragraphe, on retrouve la syntaxe d'une commande, c'est-à-dire l'ensemble des options et arguments disponibles.

Quelques précisions pour bien lire cette syntaxe : si à première vue elle peut paraître rébarbative, elle dit tout au sujet de la manipulation d'une commande.

Exemple :

  • cp [options] fichier chemin

     Options GNU (forme courte) : [-abdfilprsuvxPR]

la commande cp accepte des options (introduites par un "-") et des arguments (sans "-").

Les éléments spécifiés entre crochets sont facultatifs pour le fonctionnement de la commande.

Au contraire, les éléments indiqués sans crochets sont obligatoires et, s'ils sont omis, provoqueront une erreur.

Lorsque les options sont indiquées dans les mêmes crochets, elles peuvent être combinées. Dans le cas contraire, elles sont incompatibles et devront être utilisées séparément.

Enfin les options peuvent être abrégées (ex : -f) ou complètes (ex : --force), la signification est la même et elle est développée dans le paragraphe description.

Description

Cette section du man détaille la totalité des options et arguments d'une commande, ou les éléments d'un fichiers de configuration.

Fichiers

Dans ce paragraphe, vous trouverez une liste de fichiers intéressants à consulter, en complément d'information pour une commande ou un fichier de configuration.

Voir aussi

(ou "See also")

Comme son nom l'indique, il s'agit d'une liste de commandes, fichiers, appels système... auquel on renvoie le lecteur pour compléter son information

Exemple :

  • VOIR AUSSI

          passwd(1), login(1), group(5), shadow(5).

Cette page propose ici de consulter les commandes passwd et login dans la section 1 et les fichiers group et shadow dans la section 5 de la documentation.

Environnement

ici sont spécifiées les variables d'environnement qu'il est possible de configurer pour le fonctionnement de la commande ou du fichier.

L'éditeur de texte Vim

Qu'est ce que Vim ?

Vim est un éditeur de texte libre. Il est à la fois simple est puissant.

Il est néanmoins nécessaire de passer par un temps d'apprentissage pour maîtriser l'outil.

Pourquoi Vim ?

L'éditeur est généralement installé de base sur la plupart des distributions. C'est un logiciel stable et éprouvé.

L'éditeur peut être lancé directement sans interface graphique. Il est ainsi possible d'exécuter depuis le serveur.

De plus, Vim est pré-configuré par l'équipe EOLE. Il n'y aura pas de problème de balise de fin de ligne, de nombre d'espace lors de l'indentation, ... Problème qu'il est possible de rencontrer avec d'autres éditeurs.

Les modes Vim
Introduction

Vim utilise un système de "modes". Ce concept de base est indispensable pour comprendre le fonctionnement du logiciel.

Vim est un éditeur entièrement accessible au clavier. Un ensemble de commande permet d'accéder à un ensemble de fonctionnalité. Pour que l'éditeur distingue la saisie de commande (le mode "normal") et la saisie de texte (le mode "insertion"), différents modes sont utilisés.

Il existe également le mode "visuel" permettant de sélectionner une zone de texte où sera appliquée un ensemble de commande.

Cette distinction n'existe pas, généralement, dans les autres éditeurs. Ils utilisent alors des entrées dans un menu graphique ou des raccourcis clavier à la place du mode "normal".

Comparé au mode graphique, le mode commande ne nécessite pas l'usage de la souris pour rechercher le bon menu. Par rapport aux raccourcis clavier, le mode commande est souvent plus facile à se rappeler (write pour écrire).

Passage d'un mode à l'autre

Pour passe au mode "normal", il suffit de taper la touche Echap ou Esc.

Pour passer au mode "insertion" (depuis le mode "normal") :

  • insérer avant le curseur : i (ou la touche Inser du clavier)  ;
  • insérer après le curseur : a ;
  • insérer en début de ligne : I ;
  • insérer en fin de ligne : A ;
  • insérer une ligne après : o ;
  • insérer une ligne avant : O ;
  • supprime pour remplacer un (et un seul) caractère : s ;
  • supprime pour remplacer la ligne complète : S ;
  • remplacer un caractère : r ;
  • remplacer plusieurs caractères : R ;

Pour passer au mode "visuel" (depuis le mode "normal") :

  • sélection caractère par caractère  : v;
  • sélection ligne par ligne : V ;
  • sélection colonne par colonne : ctrl v.
Première prise en main
Exécuter Vim

Pour exécuter Vim, il suffit de taper vim dans l'interpréteur de commande. Il est aussi possible d'ouvrir directement un fichier en faisant vim fichier.txt.

Ouvrir un fichier

En mode normal, taper : :edit fichier.txt (ou :e fichier.txt).

Insérer du texte

Passer en mode insertion : i et taper votre texte.

Enregistrer le texte

Quitter le mode insertion : esc.

Enregistrer le texte : :write (ou :w).

Quitter l'éditeur

Pour quitter l'éditeur : :quit (ou :q).

Remarque

Vim créé un "buffer" lorsque l'on édite un fichier. Cela signifie que l'on ne modifie pas directement le fichier. Il faut sauvegarder les changements sous peine de perdre les modifications.

Le buffer est sauvegardé de façon fréquente dans un fichier "swap" (généralement .fichier.txt.swp). Ce fichier est supprimé lorsqu'on enregistre ou ferme le document.

Les déplacements
  • se déplacer d'un caractère vers la gauche : h ;
  • se déplacer de 20 caractères vers la gauche : 20h ;
  • se déplacer d'une ligne vers le bas : j ;
  • se déplacer de 20 lignes vers le bas : 20j ;
  • se déplacer d'une ligne vers le haut : k ;
  • se déplacer d'un caractère vers la droite  : l ;
  • se déplacer au début du prochaine mot : w ;
  • se déplacer au début de deux mots : 2w ;
  • revenir au début du mot précédent : b ;
  • se déplacer à la fin du prochain mot : e ;
  • se déplacer à la prochaine phrase : );
  • revenir à la phrase précédente : (;
  • se déplacer au prochain paragraphe : } ;
  • revenir au paragraphe précédent: { ;
  • revenir au début de la ligne : ^ ;
  • aller à la fin de la ligne : $ ;
  • remonter d'un écran : pgup ;
  • descendre d'un écran : pgdown ;
  • descendre à la fin du fichier : G ;
  • aller à la ligne 20 : 20G ;
  • aller au début de la page courante : H ;
  • aller au milieu de la page courante : M ;
  • aller à la fin de la page courante : L ;
  • revenir à l'emplacement précédent : ctrl o ;
  • aller à l'emplacement suivant : ctrl i ;
  • la troisième occurrence de la lettre "e" : 3fe ;

Il est possible de "marquer" des positions dans le texte. Cela permet de revenir très facilement à cet emplacement plus tard.

Pour cela, il faut utiliser la commande m suivi du nom de la marque (c'est à dire une lettre). Par exemple : ma. Pour revenir à la marque, il suffira de taper : 'a.

Recherche et remplacement de texte
Rechercher
  • chercher les occurrences EOLE  : /EOLE ;
  • chercher les mots EOLE : /\<EOLE\> ;
  • chercher l'occurrence suivante  : n ;
  • chercher l'occurrence précédente  : N ;
  • chercher les autres occurrences du mot sous le curseur : *;
  • chercher en arrière les autres occurrences du mot sous le curseur : ctrl # ;
Remplacement
  • remplacer le mot EOLE par Scribe : :%s/EOLE/Scribe/g
  • remplacer le mot EOLE par Scribe en demande confirmation : :%s/EOLE/Scribe/gc
  • remplacer le mot EOLE par Scribe sur les 20 première ligne d'un fichier : :0,20s/EOLE/Scribe/g
Couper, copier et coller
  • couper un texte sélectionné : d ;
  • couper le caractère sélectionné : x ;
  • couper les deux caractères suivants : d2l ;
  • couper un mot : dw ;
  • couper la ligne courante : dd ;
  • couper 2 lignes : d2 ;
  • couper le paragraphe : d} ;
  • copier un texte sélectionné : y ;
  • coller le texte après  : p.
  • coller le texte avant : P ;
Le mode fenêtre
Ouvrir plusieurs fenêtres

Il est possible d'ouvrir plusieurs fichiers en même temps.

Pour cela, il suffit de lancer plusieurs fois la commande :e nomdufichier.

Pour passer d'un buffer à un autre, il suffit de taper :bn (n étant le numéro du buffer).

Ouvrir plusieurs tabulations

Pour ouvrir le fichier dans une nouvelle tabulation  : :tabedit fichier.txt.

Pour se déplacer de tabulation en tabulation, il suffit d'utiliser ctrl alt pgup et ctrl alt pgdown.

Voir plusieurs fichiers

Il est possible de voir plusieurs fichiers dans la même interface.

Pour cela, il faut créer un nouveau buffer en tapant :new et ensuite ouvrir le nouveau fichier : :e fichier.txt.

Pour se déplacer dans les buffers, il faut utiliser le raccourci ctrl w et les touches de déplacement hjkl.

Pour se déplacer de buffer en buffer, il est possible également de taper deux fois ctrl w.

Il est ensuite possible de déplacer les fenêtres horizontalement et verticalement avec ctrl w et les touches de déplacement en majuscule HJKL.

Pour fermer une fenêtre, il suffit de faire :q.

Voir plusieurs fois le même fichier

Il est possible d'ouvrir plusieurs fois le même buffer en faisant ctrl w s. Cela permet de voir simultanément plusieurs parties du même texte.

Attention

Dans ce cas, il s'agit du même buffer. Une modification dans une vue sera automatiquement reporter dans les autres vues.

Système de fichiers

Il est possible d'ouvrir une fenêtre de système de fichiers en faisant : :Sex ou :Vex.

Autres
Complétion automatique

La complétion permet de compléter un mot automatiquement à partir d'une liste de mot présent dans le texte en court d'écriture. Il est souvent utile pour ne pas faire d'erreur dans le nom des fonctions.

Pour l'utiliser, il suffit de commencer a écrire le début du mot et faire ctrl n ou ctrl p.

Annuler et refaire

Pour annuler la dernière action : u ;

Pour revenir sur l'annulation  : ctrl r.

Passer un texte en majuscule

Pour passer un texte en majuscule, il suffit de taper ~ ou maj u.

Voir la différence entre les fichiers

Vim permet également de voir la différence entre deux textes. Pour cela, il suffit de lancer en ligne de commande :

vimdiff nomdufichieroriginal.txt nomdufichiermodifier.txt

Les commandes à distance avec SSH

Le protocole SSH

SSH[3] (Secure Shell) et un protocole de communication sécurisé. Il permet différentes actions comme l'authentification à distance, l'exécution de commande à distance ou le transfert de fichier.

Le protocole est chiffré par un mécanisme d'échange de clés de chiffrement effectué au début de la connexion.

Le transfert de fichier d'une machine à une autre se fait par un protocole proche de FTP[4]. La différence étant que les transferts du client et du serveur se font par un tunnel chiffré.

SSH sous GNU/Linux
Connexion à distance

Le client SSH est installé par défaut sur la plupart des distributions. Si ce n'est pas le cas, il faut installer un paquet dont le nom est généralement "openssh-client".

Une fois installé, il est possible d'ouvrir une session à distance de la manière suivante :

ssh utilisateur@ip_serveur

Si vous ne spécifiez pas de nom d'utilisateur, c'est l'utilisateur courant de votre session GNU/Linux qui sera utilisé.

Pour lancer des applications graphiques, il faudra le préciser dans la commande ssh en rajoutant l'option -X :

ssh -X utilisateur@ip_serveur.

A la première connexion, le message suivant apparaît :

Warning: Permanently added 'xxxxx' (RSA) to the list of known hosts.

Cela signifie qu'on ne s'est jamais connecté sur cette station et qu'un identifiant est ajouté à la liste des hôtes connus.

Il peut arriver que le certificat du serveur change (par exemple en cas de réinstallation).

Le message suivant apparaîtra :

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that the RSA host key has just been changed.

The fingerprint for the RSA key sent by the remote host is

65:6d:9d:c0:78:f7:60:bf:13:86:59:16:53:07:3b:a4.

Please contact your system administrator.

Add correct host key in /home/xxx/.ssh/known_hosts to get rid of this message.

Offending key in /home/xxx/.ssh/known_hosts:12

Password authentication is disabled to avoid man-in-the-middle attacks.

Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks.

X11 forwarding is disabled to avoid man-in-the-middle attacks. Permission denied (publickey,password).

Ce message nous apprend plusieurs choses :

  • le serveur ssh a une clef différente de celle de notre dernier passage ;
  • le fichier comprenant les hôtes connus est /home/xxx/.ssh/known_hosts ;
  • l'identifiant de l'hôte est spécifié à la ligne 12 (Offending key in /home/xxx/.ssh/known_hosts:12).

Si vous êtes sûr que l'hôte est le bon, il vous suffira de supprimer la ligne 12 du fichier known_hosts et de relancer une connexion.

Il faudra spécifier le mot de passe de l'utilisateur pour se connecter.

Ssh propose également la connexion par échange de clef. Cela permet de se connecter à distance sans connaître le mot de passe de l'utilisateur.

L'échange de clef peut être réalisé par l'intermédiaire d'un serveur Zéphir. Pour plus d'informations, consulter la documentation spécifique à ce module.

Exécution de commande à distance

Une fois connecté à distance, vous pouvez lancer n'importe quelle action comme si vous étiez en local.

Transfert de fichier à distance

Pour envoyer un fichier sur un serveur, il faut faire :

scp nom_du_fichier utilisateur@ip_serveur:/repertoire/de/destination/

Pour récupérer un fichier d'un serveur :

scp utilisateur@ip_serveur:/repertoire/source/nom_du_fichier /repertoire/de/destination/

Pour récupérer un répertoire d'un serveur :

scp -r utilisateur@ip_serveur:/repertoire/ /repertoire/de/destination/

Enfin, il est possible d'avoir un shell proche de la commande FTP en faisant :

sftp utilisateur@ip_serveur

Truc & astuce

Sur la plupart des gestionnaires de fichier disponibles sous GNU/Linux, il est possible de faire des transferts de fichier avec SSH graphiquement (logiciel Filezilla par exemple).

SSH sous Windows
Exécution de commande à distance

Putty est un logiciel libre implémentant un client Telnet[5] et SSH[3] pour Unix et Windows.

http://www.chiark.greenend.org.uk/~sgtatham/putty/

Dans l'environnement EOLE, il permet de se connecter à un serveur à distance depuis un poste Windows et, ainsi, pouvoir exécuter des commandes.

La connexion avec Putty au serveur se fait en utilisant le protocole SSH.

Remarque

Sur le module Scribe, Putty est pré-installé dans le répertoire personnel d'admin (U:\client\putty.exe).

Configuration pour les serveurs EOLE

Pour obtenir un meilleur environnement de travail, la configuration par défaut de Putty doit être modifiée.

Fenêtre principale
Fenêtre principale
Permettre au pavé numérique de fonctionner correctement (dans "vim" par ex.)
Permettre au pavé numérique de fonctionner correctement (dans "vim" par ex.)
Permettre aux accents de s'afficher normalement
Permettre aux accents de s'afficher normalement
Pouvoir lancer des applications graphique du serveur depuis la station (Ex. "gen_config")
Pouvoir lancer des applications graphique du serveur depuis la station (Ex. "gen_config")

La dernière capture montre comment autoriser la redirection des applications graphiques vers votre poste.

Cependant vous devrez utiliser Xming.

C'est un logiciel libre permettant d'émuler un serveur X vers lequel sera redirigé l'application graphique lancée à travers ssh sur le serveur EOLE.

Lancement de "gen_config" sur un poste Windows
Lancement de "gen_config" sur un poste Windows
Transfert de fichier à distance

Il existe une interface graphique de transfert de fichier à distance. Il s'agit de WinSCP.

On utilise le logiciel comme un client FTP normal.

Quelques références

Reconfiguration

Suite à un diagnostic, à une modification de la configuration ou à une mise à jour, il est nécessaire de reconfigurer le serveur.

On réalise cette opération avec la commande reconfigure, plutôt qu'avec la commande instance.

Les différentes valeurs attribuées aux variables sont enregistrées dans un fichier config.eol au format JSON[6] dans le répertoire /etc/eole/.

Il convient donc de réaliser les modifications sur ce fichier en utilisant l'interface de configuration du module.

Truc & astuce

Un fichier config.eol.bak est sauvegardé dans le répertoire /etc/eole/ à la fin de l'instanciation et à la fin de la reconfiguration du serveur.

Cela permet de conserver la dernière configuration fonctionnelle du serveur.

À chaque reconfiguration du serveur un fichier config.eol.bak.1 est généré. Celui-ci est une copie de la configuration fonctionnelle de l'état précédant.

S'il existe une différence entre config.eol et config.eol.bak c'est que la configuration du serveur a été modifiée mais qu'elle n'a pas encore été appliquée.

Reconfigure

Cette commande reconfigure sert à appliquer un changement de configuration (par exemple, le changement d'adressage IP) ou à appliquer des changements apportés par la mise à jour d'un ou de plusieurs paquets.

Avec Maj-Auto, un message indique s'il est nécessaire de lancer reconfigure.

Cette commande :

  • ré-applique le SID[7] trouvé dans l'annuaire sur les modules Horus et Scribe ;

  • supprime des paquets (utilisé pour les noyaux notamment) ;

  • exécute les scripts pre et postreconf ;

  • met à jour les valeurs par défaut des dictionnaires ;

  • recréé le compte admin s'il n'a pas été trouvé (modules Scribe et Horus) ;

  • copie, patch[8] et renseigne les templates ;

  • contrôle la version du noyau en fonctionnement et demande un redémarrage si ce n'est pas la dernière version (redémarrage automatique si mise à jour par EAD) ;

  • relance les services.

Lors d'une mise à jour via l'EAD[9], reconfigure est lancé automatiquement. Si la mise à jour a été effectuée sur la console ou via SSH avec la commande Maj-Auto un message indique s'il est nécessaire de lancer reconfigure.

reconfigure is not instance : pourquoi reconfigure au lieu d'instance

La commande instance est exécutée à l'installation d'un nouveau serveur.

Cette commande :

  • initialise les mots de passe des comptes root, eole et admin ;

  • propose de créer des comptes d'administration supplémentaires ;

  • génère un nouveau SID ;

  • génère l'annuaire et les bases MySQL si inexistants ;

  • lance des commandes spécifiques à l'instanciation ;

  • copie, patch et renseigne les templates ;

  • (re)lance les services ;

  • contrôle la version du noyau en fonctionnement et demande un redémarrage si ce n'est pas la dernière version (reboot automatique si mise à jour par EAD).

Attention

Il existe plusieurs contre-indications à l'utilisation de la commande instance sur un serveur déjà instancié :

  • les commandes exécutées peuvent être différentes ;

  • la commande instance demande une interaction tandis que reconfigure est automatique, il ne pose pas de question et est donc plus rapide ;

  • l'interaction est source d'erreur (possibilité d'écrasement de l'annuaire ou des bases de données). Sur les modules Scribe et Horus si l'utilisateur répond oui à la question concernant la re-génération de l'annuaire, tous les comptes utilisateurs et les stations intégrés au domaine sont effacés.

Remarque

Des comptes d’administration supplémentaires peuvent être ajoutés en dehors de la procédure d’instance grâce à la commande add_restricted_admin.

L'interface d'administration EAD

EOLE offre une interface simplifiée de gestion du serveur : l'interface d'administration EAD.

Accueil EAD outil d'administration
Accueil EAD outil d'administration

Cette interface propose un ensemble d'actions utilisables par une personne peu habituée au système Unix.

Principe général

L'EAD (Eole ADmin) est l'interface d'administration des modules EOLE. Il s'agit d'une interface web, accessible avec un navigateur à l'adresse https://<adresse_module>:4200.

Attention

Depuis la version EOLE 2.6, il n'est plus possible d'accéder à l'EAD à l'aide de l'adresse IP du serveur, il faut impérativement utiliser un nom de domaine et que celui-ci soit présent dans le certificat SSL.

Cette restriction est notamment due au durcissement du support du protocole HTTPS[10] par les navigateurs.

L'EAD est composé de deux parties :

  • un serveur de commandes (ead-server), présent et actif sur tous les modules ;

  • une interface (ead-web), désactivable depuis l'interface de configuration du module dans l'onglet Services en passant Activer l'interface web de l'EAD à non.

Chaque module dispose d'une interface utilisateur EAD. Certains modules (Zéphir, Sphynx, Seth, ...) ne disposent que de la version de base qui permet d'effectuer les tâches de maintenance (mise à jour du serveur, diagnostic, arrêt du serveur, ...).

Une version plus complète existe pour les autres modules (Horus, Scribe, Amon, ...) incluant des fonctionnalités supplémentaires.

Accueil EAD outil d'administration
Accueil EAD outil d'administration
ConseilAide

Un point d'interrogation est accessible en bas à droite de certaines pages, il permet d'afficher une aide associée.

Certificats SSL

Pour avoir accès à l'EAD, il faut impérativement que le nom de domaine soit présent dans le certificat SSL.

Il est notamment impossible de se connecter à l'EAD avec une simple adresse IP.

Il existe plusieurs méthodes pour connaître les noms de domaine présents dans le certificat SSL, par exemple il est possible d'utiliser un navigateur Internet.

ExempleExemple avec Firefox
  • Cliquer sur le cadenas à côté de l'URL

  • Cliquer sur la flèche dirigée vers la droite pour afficher les détails de la connexion

  • Cliquer sur le bouton Plus d'informations, le nom de domaine principal du certificat apparaît alors dans la partie Identité du site web et Site web

  • Il est possible que des noms alternatifs soient renseignés dans le certificat. Pour les retrouver, cliquer sur le bouton Afficher le certificat, puis sur l'onglet Détails et sélectionner la ligne Nom alternatif du sujet de certificat, les noms alternatifs sont affichés dans la boîte Valeur du champ.

Attention

Attention, même si la bonne adresse IP apparaît dans le certificat, elle ne sera pas prise en compte.

Truc & astuce

Si le nom de domaine n’apparaît pas et que le certificat est de type autosigné, il faut le rajouter dans l'onglet Certificats ssl de l'interface de configuration du module en mode expert.

Truc & astuce

La modification, dans l'interface de configuration du module, de l'un des paramètres constituant un certificat (nom d’établissement, numéro RNE, etc...) suivie d'une reconfiguration du module ne régénère pas les certificats. Un message explicite le signale lors de l'étape de reconfiguration.

Après changement des paramètres il est nécessaire de supprimer le certificat puis d'exécuter la reconfiguration du module :

1
rm -f /etc/ssl/certs/eole.crt
2
reconfigure

Premier pas dans l'administration d'un serveur

Lorsque vous vous êtes connecté sur un serveur de commandes, vous avez quatre éléments :

Page d'accueil lors de la connexion à un serveur
Page d'accueil lors de la connexion à un serveur
  1. la gondole d'administration  ;

  2. le menu d'action (propose les actions auxquelles vous avez accès) ;

  3. les onglets (les serveurs enregistrés sur l'interface) ;

  4. la partie centrale ou espace de travail (il s'agit de la partie venant du serveur de commandes).

1 - La gondole d'administration

Elle permet d'accéder aux actions de base de l'interface (ajout/suppression de serveur, déconnexion, retour vers l'accueil, choix de la feuille de style CSS, connexion locale).

2 - Le menu d'action

Il permet d'accéder aux actions disponibles sur le serveur de commandes.

3 - Les onglets (les serveurs enregistrés sur l'interface)

Ils permettent d'accéder aux divers serveurs EOLE enregistrés sur l'interface.

4 - La partie centrale ou espace de travail

Les éléments affichés dans cette partie viennent du serveur de commandes.

C'est un conteneur pour les actions (sous forme de rapport, formulaire ...).

La page d'accueil d'un serveur de commandes affiche les rapports de :

  • mise à jour (sur tous les modules) ;
  • mise à jour de listes de sites interdits sur le module Amon ;
  • sauvegarde Bareos sur les modules Horus et Scribe ;
  • importation sur le module Scribe.

Elle affiche également les diodes d'état du serveur (agents Zéphir).

Truc & astuce

Les agents Zéphir peuvent être consultés directement en utilisant l'adresse :

http://<adresse_module>:8090

Accéder directement à l'EAD d'un serveur Scribe depuis l'extérieur

Le serveur Scribe étant derrière un serveur Amon, la configuration des deux modules permet de faire écouter l'EAD du serveur Scribe sur le port 4203 et donc d'y accéder depuis l'extérieur grâce à une redirection Nginx.

Avantages

Cette configuration présente plusieurs avantages par rapport à la méthode consistant à ajouter le serveurs de commandes du module Scribe dans l'interface EAD du serveur Amon :

  • elle ne nécessite pas de déclarer le serveur SSO du serveur Scribe comme source d'authentification de l'EAD du serveur Amon ;
  • il n'y a pas de problème d'incompatibilité (templates, protocoles obsolètes, ...) dans le cas où les versions des EAD des deux modules sont différentes ;
  • elle simplifie la gestion des certificats.
Configuration côté Scribe

Dans l'interface de configuration du module Scribe, en mode expert, aller dans l'onglet Ead-web et passer la variable Activer l'interface web de l'EAD sur un second port à oui et vérifier que le port personnalisé est bien le 4203.

Une fois le module paramétré de cette manière, une reconfiguration du serveur à l'aide de la commande reconfigure est nécessaire afin que l'EAD écoute sur le port 4203.

Configuration côté Amon

Dans l'interface de configuration du module Amon, aller dans l'onglet Reverse proxy, passer la variable Activer la redirection de l'EAD d'un Scribe à oui puis renseigner l'adresse IP du module Scribe et vérifier que le port renseigné est le 4203.

Une fois le module paramétré de cette manière, une reconfiguration du serveur à l'aide de la commande reconfigure est nécessaire afin que la redirection soit appliquée.

Truc & astuce

L'autorisation d'accès au port configuré est gérée par ERA via la directive optionnelle cachée[11] : ead_scribe.

Ajout/suppression de serveurs

Il est possible de connecter plusieurs serveurs de commandes à une même interface.

Une seule interface sert alors à administrer l'ensemble des serveurs EOLE d'un établissement.

Attention

Depuis la version EOLE 2.6, il n'est plus possible d'accéder à l'EAD à l'aide de l'adresse IP du serveur, il faut impérativement utiliser un nom de domaine et que celui-ci soit présent dans le certificat SSL.

Cette restriction est notamment due au durcissement du support du protocole HTTPS[10] par les navigateurs.

Ajout/suppression de serveurs de commandes dans l'interface

L'interface de l'EAD est une coquille vide.

Elle permet de se connecter à des serveurs de commandes qui proposent des actions.

Lors de l'instanciation du serveur, le serveur de commandes du serveur est enregistré auprès de son interface.

La coquille n'est pas laissée vide.

Il est possible d'enregistrer plusieurs serveurs EOLE sur l'interface.

On obtient ainsi un point d'entrée unique pour administrer l'ensemble des serveurs d'un établissement.

Une seule interface web dans laquelle chaque onglet représente un des serveurs.

Il est ensuite possible de gérer les accès ainsi que les actions autorisées par utilisateur ou par groupe.

Ajout de serveur

Pour permettre à un frontend EAD de se connecter à un serveur de commandes EAD distant, il faut, sur le module distant, l'autoriser explicitement pour chaque interface. Cela peut s'effectuer en mode expert dans l'interface de configuration du module, dans l'onglet Interface-n.

Dans la gondole d'administration de l'EAD, cliquer sur Ajouter serveur et renseigner :

  • le nom DNS du serveur ;
  • le port du serveur de commandes (4201)  ;
  • le nom à afficher dans l'onglet ;
  • le nom de l'utilisateur eole du serveur de commandes à enregistrer ;
  • le mot de passe correspondant (sur le serveur à enregistrer).
Attention

Depuis la version EOLE 2.6, si le certificat du serveur à ajouter n'est pas signé par une autorité de certification[12] connue du serveur hébergeant le frontend EAD, il sera nécessaire de copier sa CA sur ce dernier.

L'exemple suivant décrit la copie et l'intégration de la CA d'un module Scribe sur un module Amon :

1
root@amon:~# scp root@scribe:/etc/ssl/certs/ca_local.crt /usr/local/share/ca-certificates/
2
root@amon:~# update-ca-certificates
Truc & astuce

Le compte root peut être utilisé à la place du compte eole pour toutes les manipulations présentées ici.

Suppression de serveur
Suppression normale

C'est le mécanisme de suppression classique. L'onglet du module est vert et on souhaite le retirer.

Dans la gondole d'administration, cliquer sur Supprimer Serveur :

  • choisir le serveur à supprimer ;
  • entrer le login eole du serveur de commandes à désinscrire ;
  • entrer le mot de passe ;
  • valider.
Suppression d'un serveur
Suppression d'un serveur

La référence sera supprimée côté interface et côté serveur de commandes.

Suppression forcée

Il ne faut utiliser la suppression forcée du serveur que si l'onglet est rouge ou que le mot de passe du serveur de commandes à supprimer est inconnu.

Attention

Il est préférable d'utiliser la suppression normale d'un serveur.

Dans la gondole d'administration, cliquez sur Supprimer Serveur :

  • choisir le serveur à supprimer ;
  • entrer le login (utilisez le compte eole du serveur de l'interface et non celui du serveur de commandes à désinscrire) ;
  • entrer le mot de passe ;
  • cocher la case Forcer la désinscription ;
  • valider.
Suppression forcée d'un serveur
Suppression forcée d'un serveur

La référence ne sera supprimée que du côté de l'interface.

Truc & astuceDésinscription forcée suite à un changement d'adresse IP

Si vous avez modifié l'adresse IP d'un serveur, il est possible que son onglet devienne rouge dans l'EAD.

Il faut alors utiliser la suppression forcée et ré-enregistrer le serveur.

Complément technique

Les interfaces associées au serveur de commandes local sont enregistrées dans le fichier /usr/share/ead2/backend/config/frontend_keys.ini

Exemple

[keys]

127.0.0.1 = 157b551f55359d92d20e412e83f87f9ea2e47ab3

Les serveurs de commandes associés à l'interface EAD locale sont enregistrés dans le fichier /usr/share/ead2/frontend/config/servers.ini

Exemple

[1]

url = https://127.0.0.1

port = 4201

comment = amon

key = 157b551f55359d92d20e412e83f87f9ea2e47ab3

Si nécessaire, il est possible de réinitialiser ces fichiers à l'aide des commandes suivantes :

1
echo '[keys]' > /usr/share/ead2/backend/config/frontend_keys.ini 
2
echo '' > /usr/share/ead2/frontend/config/servers.ini
3
reconfigure

Surveillance de l'état du serveur

La page d'accueil d'un serveur de commandes affiche les rapports de :

  • mise à jour ;
  • mise à jour de listes de sites interdits sur le module Amon ;
  • sauvegarde Bareos sur les modules Horus et Scribe ;
  • importation sur le module Scribe.

Elle affiche également les diodes d'état du serveur (agents Zéphir).

Les remontés des agents Zéphir sont classées dans 3 catégories : Système, Services et Utilisation.

Système

Quelques agents sont fournis de base et sont commun à tous les modules :

  • Informations systèmes

  • Occupations des disques

  • Statistiques réseau

  • État des sommes MD5 de paquets

D'autres agents sont disponibles suite à l'activation du service sur le serveur par l'intermédiaire de l'interface de configuration du module :

  • Onduleur

Surveillance de l'état des sommes MD5 des paquets

L'outil eole-debsums permet de surveiller les modifications apportées aux fichiers présents sur les modules EOLE grâce à la vérification des sommes de contrôle MD5[13] des paquets installés.

Truc & astuce

Les fichiers de configuration (en général ceux situés dans /etc) ne sont pas concernés par cette vérification.

La vérification des sommes de contrôle est exécutée toutes les nuits via une commande cron[14].

La commande suivante permet de forcer la vérification des MD5 (compter entre 1 et 2 minutes) :

/usr/share/eole/debsums/eole-debsums.sh

Rapport et suivi des modifications

La commande suivante affiche un rapport d'exécution :

1
root@amon:~# /usr/share/eole/debsums/show-reports.py
2
Container: root
3
===============
4
5
Filename: /var/log/eole-debsums/report.log
6
Last update: 2018-02-22 11:09:15
7
8
eole-amon:
9
    /usr/share/eole/creole/dicos/30_amon.xml
10
11
Ignored by eole
12
---------------
13

Un agent[15] de surveillance Zéphir permet de surveiller les sommes MD5 des paquets.

Il permet également de consulter la liste des fichiers signalés comme modifiés.

Exceptions

Il est possible d'ajouter des listes de fichiers à ignorer dans le résultat debsums en les plaçant dans le répertoire : /etc/eole/debsums-ignore.d (exemple : /etc/eole/debsums-ignore.d/academie.conf).

Complément

Les fichiers modifiés par EOLE sont listés dans /usr/share/eole/debsums/eole-ignores.

Services

Quelques agents sont fournis de base et sont commun à tous les modules :

  • État des interfaces réseau

  • Services distants

  • État des services

D'autres agents sont disponibles suite à l'activation du service sur le serveur par l'intermédiaire de l'interface de configuration du module :

  • État des démons bacula

Enfin d'autres agents sont propres à un module en particulier :

  • État des tunnels

Utilisation

Quelques agents sont fournis de base et sont commun à tous les modules :

  • Mise à jour

  • Validité des certificats

D'autres agents sont disponibles suite à l'activation du service sur le serveur par l'intermédiaire de l'interface de configuration du module :

  • Sauvegarde

Enfin d'autres agents sont propres à un module en particulier :

  • Statistiques Squid

  • Statistiques courrier

  • Application des règles bastion

  • Instance Dansguardian

  • Mise à jour antivirus Clam

Validité des certificats

L'agent localcert permet de surveiller la validé des certificats locaux utilisés par les différents services du module EOLE.

Authentification locale et SSO

Dans l'EAD, il existe deux systèmes d'authentification :

  • l'authentification unique (SSO[16]) ;

  • l'authentification locale (PAM).

Dans le cas de l'authentification SSO, le serveur de commandes et l'interface se connectent à un même serveur d'authentification.

Pour se connecter en tant qu'administrateur :

  • authentification SSO : l'utilisateur admin de l'annuaire associé au serveur sera utilisé ;

  • authentification locale : les utilisateurs root et eole peuvent être utilisés.

Authentification locale

L'authentification locale est un mécanisme plus simple mais moins souple que l'authentification SSO. Il utilise les comptes système de la machine hébergeant le serveur de commandes. Le nombre d'utilisateurs et leur gestion est donc plus limitée.

L'authentification locale est systématiquement activée et peut être utilisé conjointement avec l'authentification SSO.

Pour vous authentifier localement, dans la gondole d'administration :

  • cliquer sur authentification locale  ;
  • cliquer sur le nom de votre serveur.

Vous accédez alors au formulaire d'authentification locale.

Si le serveur SSO n'est pas activé, vous arriverez sur ce même formulaire en cliquant sur l'onglet.

Formulaire d'authentification locale
Formulaire d'authentification locale
Remarque

Il est possible d'utiliser la gestion des rôles pour déléguer une partie de l'administration à d'autres comptes systèmes.

L'authentification SSO
Connexion

Entrer l'adresse https://<adresse_serveur>:4200 dans le navigateur et cliquer sur l'onglet du serveur à administrer.

Une re-direction vers le serveur SSO (https://<adresse_serveur>:8443/) est effectuée et le formulaire d'authentification apparaît :

Formulaire d'authentification SSO
Formulaire d'authentification SSO

L'utilisation d'un serveur SSO permet de centraliser l'authentification. En s'authentifiant une seule fois vous pouvez vous connecter aux différents serveurs de commandes enregistrés dans l'interface (naviguer d'un onglet à l'autre).

Les rôles permettent d'utiliser d'autres comptes pour se connecter (ex : sur Scribe, les professeurs ont un rôle prédéfini).

Remarque

Pour utiliser l'authentification SSO, il est indispensable que le serveur SSO utilisé par l'interface et par les serveurs de commandes qui y sont inscrits soit identique.

Redémarrer, arrêter et reconfigurer

Il est possible de redémarrer, arrêter ou reconfigurer un module EOLE directement depuis l'interface d'administration EAD.

Ces actions sont accessibles depuis Système/Serveur.

Remarque

Ces trois actions vous déconnectent de l'EAD.

Redémarrer un serveur
Action de redémarrage d'un serveur
Action de redémarrage d'un serveur
Reconfigurer un serveur
Action de reconfiguration d'un serveur
Action de reconfiguration d'un serveur
Arrêter un serveur
Action d'arrêt d'un serveur
Action d'arrêt d'un serveur

Mise à jour depuis l'EAD

Dans Système / Mise à jour, l'EAD propose une interface de mise à jour du serveur, il est possible de :

  • de lister les paquets disponibles pour la mise à jour ;

  • de programmer une mise à jour différée (dans 3 heures par exemple, ou dans 0 heure pour le faire tout de suite) ;

  • d'activer / désactiver les mises à jour hebdomadaires (le jour et l'heure de la mise à jour automatique sont déterminés aléatoirement).

L'heure est définie aléatoirement entre 01h00 et 05h59 un des sept jours de la semaine.

Attention

Si la fréquence des tâches Schedule est personnalisée dans l'interface de configuration du module, c'est cette dernière qui prévaut et l'activation/désactivation de la mise à jour hebdomadaire via l'EAD ou la commande manage_schedule n'est plus possible.

Truc & astuceRapport de mise à jour

Penser à consulter le rapport de mise à jour et l'état des services sur la page d'accueil.

RemarqueReconfiguration et redémarrage automatique

Une mise à jour lancée depuis l'EAD exécute automatiquement une reconfiguration du serveur avec la commande reconfigure, il n'est donc pas nécessaire d'en lancer un par la suite comme c'est le cas depuis la console.

Si un redémarrage est nécessaire, celui-ci est effectué automatiquement dès la fin de la reconfiguration.

Arrêt et redémarrage de services

Dans l'EAD, il existe deux manières d'arrêt ou de redémarrage des services :

  • le mode normal ;

  • le mode expert.

Redémarrer ou arrêter des services (mode normal)

Pour utiliser la fonctionnalité en mode normal il faut dans un premier temps créer des groupes de services.

Création de groupes de services

Le nom des services, au sens système, n'est pas souvent parlant. Par exemple, il faut savoir que le service apache2 est le nom du serveur web.

Les groupes de services permettent de regrouper un ou plusieurs services sous une dénomination plus claire. Cela permet de regrouper et donc de faciliter le redémarrage/arrêt de services.

Exemple

Création un groupe de services nommé web :

Pour créer un groupe, cliquer sur le bouton créer groupe dans Système/Editeur de services :

  1. entrer le nom du groupe ;

  2. choisir les services du groupe (cocher les cases) ;

  3. cliquer sur la flèche verte  ;

  4. valider avec le bouton Créer.

Création d'un groupe de services (1)
Création d'un groupe de services (1)
Création d'un groupe de services (2)
Création d'un groupe de services (2)

Une fois créé le groupe de services apparaît sous l'icône CRÉER GROUPE à gauche de l'écran.

Création d'un groupe de services (2)
Création d'un groupe de services (2)
Remarque

Un groupe de services peut être modifié en cliquant sur son nom dans la liste de gauche sous l'icône CRÉER GROUPE.

Un groupe de services peut être supprimé en cliquant sur la croix rouge sous son descriptif dans la liste de gauche sous l'icône CRÉER GROUPE.

Redémarrer ou arrêter un groupe de services

Une fois créé, un groupe apparaît dans l'onglet Système/Services (mode normal), il est alors possible de redémarrer ou d'arrêter le groupe de services.

Redémarrage d'un groupe de services
Redémarrage d'un groupe de services
Remarque

La gestion des rôles permet de déléguer l'accès à des actions, on peut ainsi permettre à la documentaliste de l'établissement de redémarrer le logiciel BCDI.

Tous les groupes de services lui seront néanmoins accessibles.

Complément technique

Les groupes de services déclarés dans l'EAD sont enregistrés dans le fichier /usr/share/ead2/backend/config/simple_services.ini

Exemple

[amon]

web = squid3#internet,networking#root,eole-guardian#internet,bastion#root

Redémarrer ou arrêter des services (mode expert)

Dans Système/Services (mode expert), cliquer sur le bouton Arrêter ou Redémarrer du service voulu.

Actions sur les services (mode expert)
Actions sur les services (mode expert)
Remarque

Les services liés au fonctionnement de l'EAD ne sont disponibles qu'en redémarrage. Sinon, vous perdrez tout accès à l'interface.

Pour relancer l'ensemble des services (sauf l'EAD et le serveur SSO) choisir le bouton : Redémarrer tous les services (hors EAD et SSO).

Truc & astuce

Sur un serveur en mode conteneur[17], certains services peuvent être listés plusieurs fois en fonction de leur emplacement.

Rôles et association de rôles

L'EAD est composé, d'actions. Chaque action ayant un but bien précis.

L'EAD dispose d'un mécanisme de délégation d'actions à des utilisateurs déterminés.

Pour affecter certaines actions à un utilisateur, l'EAD utilise une mécanisme interne : les rôles.

Exemple

Par défaut sur les modules EOLE, l'utilisateur admin est associé au rôle administrateur.

Plusieurs rôles sont prédéfinis sur les différents modules EOLE et certains sont propres à certains d'entre eux :

  • administrateur ;

  • professeur (utilisé sur le module Scribe) ;

  • élève (utilisé sur le module Scribe) ;

  • administrateur de classe (utilisé sur le module Scribe) ;

  • administratif dans Scribe (utilisé sur le module Scribe) ;

  • administrateur du réseau pédagogique (utilisé sur le module Amon) ;

  • administrateur du Scribe (utilisé sur le module AmonEcole) ;

  • administrateur de l'Amon (utilisé sur le module AmonEcole).

Déclaration des actions

Les actions de l'EAD sont déclarées dans les fichiers : /usr/share/ead2/backend/config/actions/actions_*.cfg

Ces fichiers au format texte permettent de déclarer les fichiers python déclarant eux-mêmes des actions EAD à charger.

Ces fichiers sont situés dans /usr/share/ead2/backend/actions et ses sous-répertoires.

Fichiers pris en compte

Sur un module EOLE, les fichiers suivants sont pris en compte :

  • /usr/share/ead2/backend/config/actions.cfg : fichiers des actions de base ;
  • ainsi que tout les fichiers actions_*.cfg présents dans le répertoire /usr/share/ead2/backend/config/actions.
Syntaxe des fichiers

Les fichiers d'action sont déclarés avec leur chemin court depuis /usr/share/ead2/backend/actions et sans l'extension ".py".

Exemple

La déclaration des fichiers d'action suivants :

  • /usr/share/ead2/backend/actions/mes_actions.py
  • /usr/share/ead2/backend/actions/repertoire/autres_actions.py

prend la forme suivante dans le fichier actions_perso.cfg :

$ cat /usr/share/ead2/backend/actions/actions_perso.cfg

mes_actions

repertoire/autres_actions

Gestion des rôles

Les rôles de l'EAD sont déclarés dans les fichiers : /usr/share/ead2/backend/config/perms/perm_*.ini

Ces fichiers au format ini permettent d'associer des actions (permissions) à un ou plusieurs rôles.

Fichiers pris en compte

Sur un module EOLE, les fichiers suivants sont pris en compte :

  • /usr/share/ead2/backend/config/perm.ini : rôles de base ;
  • /usr/share/ead2/backend/config/perm_local.ini : rôles déclarés localement (édition manuelle ou via l'EAD) ;
  • /usr/share/ead2/backend/config/perm_acad.ini : rôles déclarés au niveau académique (via Zéphir) ;
  • ainsi que tout les fichiers perm_*.ini présents dans le répertoire /usr/share/ead2/backend/config/perms.
Syntaxe des fichiers

Les permissions associent un rôle à une ou plusieurs actions.

Les fichiers perm*.ini doivent posséder une section [role] et une section [permissions].

Exemple

[role]

nom_du_role = libelle du role

[permissions]

action1 = nom_du_role

action2 = nom_du_role

Création de rôle via l'EAD

L'interface EAD permet de créer des rôles personnalisés.

Ces rôles ne sont, en fait, qu'une liste d'actions regroupées sous un intitulé et un libellé unique.

Il est possible, dans un deuxième temps d'associer ces rôles à des utilisateurs.

La fenêtre d'édition des rôles
La fenêtre d'édition des rôles

Pour créer un nouveau rôle cliquer sur :

  • Édition de rôles/Création de rôles

puis

  • Créer rôle

  • entrer l'intitulé (le nom) du rôle (sans caractère spécial, sans accent et sans espace) ;

  • entrer un libellé (courte description) du rôle ;

  • cocher les actions à autoriser ;

  • ajouter ;

  • créer.

Création d'un rôle
Création d'un rôle
Actions obligatoires

Certaines actions doivent être obligatoirement permises pour tous les utilisateurs :

  • help : utilisé notamment pour l'affichage d'aide  ;

  • main_status : page d'accueil appelée par défaut, elle gère un rôle prof (n'affiche pas les états de services) et un rôle admin ;

  • update_ead : outil de téléchargement des javascripts, CSS, images spécifiques au module.

Actions communes aux différents modules
  • lshw : listing matériel ;

  • maj : action de mise à jour ;

  • daemon : relancer des services (mode expert) ;

  • simple_services_editor : éditer des groupes de services pour le mode simplifié ;

  • simple_services : redémarrer/arrêter les services (mode simplifié) ;

  • server-configure/server-reboot/server-stop : redémarrer/arrêter/reconfigurer le serveur ;

  • role_editor : création de rôles ;

  • role_manager : association de rôle (appelée par d'autres actions).

Actions spécifiques au module Amon

La modification du système de filtrage sur le module Amon apporte de profondes modifications sur ce module.

Selon les choix effectués lors de la phase de configuration avec l'interface de configuration du module, vous pouvez choisir d'utiliser une ou deux zones de configuration pour le filtrage et les options du pare-feu.

La zone 1 correspond à la réseau admin et la zone 2 correspond au réseau pedago.

  • Gestion des postes

    • navigation_poste_admin (ou pedago) : action de gestion des postes à interdire ;
    • navigation_destination_admin (ou pedago) : interdire des destinations.
  • Gestion des groupes de machine

    • groupe_machine_admin (ou pedago) : action d'entrée pour la gestion des groupes de machine (gère des restrictions pour le rôle prof) ;
    • groupe_machine_create_admin (ou pedago) : action de création de groupe de machine (nécessite groupe_machine) ;
    • groupe_machine_horaire_admin (ou pedago) : action de gestion des horaires pour les groupes de machine.
  • Gestion des utilisateurs

    • navigation_banned_user_admin (ou pedago) : action de gestion des utilisateurs à interdire ;
    • navigation_moderateur_admin (ou pedago) : action de gestion des modérateurs ;
    • navigation_whitelist_admin (ou pedago) : action de gestion des utilisateurs en liste blanche ;
    • navigation_whitesitelist_admin (ou pedago) : action de gestion des sites en liste blanche.
  • Gestion des sites

    • opt_filters_admin (ou pedago) : gestion des filtres optionnels pour la zone de configuration 1 (ou 2) ;
    • filtrage_admin (ou pedago) : gestion du mode de filtrage syntaxique pour la zone de configuration 1 (ou 2) ;
    • sites_interdits_admin (ou pedago) : gestion des sites interdits pour la zone de configuration 1 (ou 2) ;
    • sites_autorises_admin (ou pedago) : gestion des sites autorisés pour la zone de configuration 1 (ou 2) ;
    • extensions_admin (ou pedago) : gestion des extensions interdites pour la zone de configuration 1 (ou 2) ;
    • mime_admin (ou pedago) : gestion des types mime interdits pour la zone de configuration 1 (ou 2).
  • Gestion des règles du pare-feu

    • regles : mode de fonctionnement du pare-feu ;
    • peertopeer : autorisation/interdiction du peer to peer ;
    • horaire : horaire de fonctionnement du pare-feu.
  • Autres actions

    • navigation_visit : action de consultation des logs ;
    • filtrage_bayes : action d'évaluation d'URL à l'aide du filtrage bayésien ;
    • bande_passante : outil de test de bande passante.
Actions spécifiques au module Scribe
  • Gestion des utilisateurs

    • scribe_user_create : action de création ;
    • scribe_user_list : renvoie le formulaire de recherche par critères qui appelle scribe_user_table pour la validation ;
    • scribe_user_table : action de listing d'utilisateur (gère les rôles prof_admin et admin) appelle scribe_user_modify, scribe_user_delete, scribe_user_modpassword ;
    • scribe_user_modify : action de modification d'utilisateur (utilisée par scribe_user_table gère les rôles prof_admin et admin) ;
    • scribe_user_delete : action de suppression d'utilisateur (gère les rôles prof_admin et admin) ;
    • scribe_user_modpassword : action de modification d'un mot de passe (gère les rôles prof_admin et admin).
  • Actions restreintes (créées pour les professeurs, les personnels administratifs et les professeurs admins, gère le rôle de prof et prof_admin)

    • scribe_prof_preference : préférences du professeur connecté (mot de passe, inscription aux groupes, mail) ;
    • scribe_prof_mod_mail : modifie le mail d'un professeur (nécessite scribe_prof_preference) ;
    • scribe_user_password : action de modification de son propre mot de passe (nécessite scribe_prof_preference) ;
    • scribe_prof_mod_groupe : Inscription du prof connecté aux groupes ;
    • scribe_prof_user : action d'entrée pour la gestion des utilisateurs par les profs lien vers scribe_prof_user_create et scribe_prof_user_modify ;
    • scribe_prof_user_create : action de création d'utilisateur (nécessite scribe_prof_user) ;
    • scribe_prof_user_modify : action d'entrée pour la modification des utilisateurs (nécessite scribe_prof_user) ;
    • scribe_grouped_edition : action d'entrée pour l'édition groupée d'utilisateur (appelle scribe_user_table).
  • Gestion des groupes

    • scribe_group_create : création de groupes, niveau, classe..., appelle scribe_group_list ;
    • scribe_group_list : liste les groupes, appelle scribe_group_delete, appelle scribe_group_create ;
    • scribe_group_modify : modification de groupe ;
    • scribe_group_delete : suppression de groupe ;
    • scribe_prof_group : entrée pour la gestion des groupes par un prof_admin ou un prof, appelle scribe_prof_user_modify et scribe_prof_group_create ;
    • scribe_prof_group_create : action de création de groupe par un prof_admin.
  • Gestion des partages

    • scribe_share : attribution de lettre de lecteur à un partage.
  • Gestion des stations et connexions

    • scribe_station : action de suppression forcée de station du domaine ;
    • scribe_extraction : action d'extraction sconet ;
    • scribe_connexion_index : page d'accueil des observations des connexions ;
    • scribe_connexion_machine : page d'affichage des machines connectées ;
    • scribe_connexion_quota : observation des quotas ;
    • scribe_connexion_virus : affiche la liste les virus repérés ;
    • scribe_connexion_history : affiche l'historique des connexions.
  • Autres actions

    • scribe_devoir_distribuer / scribe_devoir_ramasser / scribe_devoir_rendre / scribe_devoir_supprimer : gestion des devoirs ;
    • bareos : action de programmation de sauvegarde ;
    • bareos_config : action de configuration de sauvegarde ;
    • scribe_sympa : action renvoyant des liens pour l'interface de gestion de listes de diffusion ;
    • printers : action de gestion simplifiée des imprimantes.
Actions spécifiques au module Horus
  • Gestion des connexions

    • isis : action d'entrée pour l'interface d'observation des connexions, appelle les actions isis ;
    • isis_stop : action d'arrêt de toutes les connexions ;
    • isis_disconnect : action de déconnexion d'utilisateur connectés au domaine ;
    • isis_sendmsg : action d'envoi de message à des utilisateurs connectés ;
    • isis_machine : action de listing des machines connectées au domaine (client, maîtres explorateurs...) ;
    • isis_login : action d'autorisation des utilisateurs par login ;
    • isis_quota : action d'affichage des quotas ;
    • gestion_index : action d'entrée vers les gestions d'utilisateur, groupe, partage, appelle les actions gestion.
  • Gestion des utilisateurs

    • gestion_user_modify : action de modification d'utilisateur ;
    • gestion_user_create : action de création d'utilisateur ;
    • gestion_user_suppr : action de suppression d'utilisateur.
  • Gestion des partages

    • gestion_share_create : action de création de partage ;
    • gestion_share_modify : action de modification de partage ;
    • gestion_share_suppr : action de suppression de partage.
  • Gestion des groupes

    • gestion_group_create : action de création de groupe ;
    • gestion_group_modify : action de modification de groupe ;
    • gestion_group_suppr : action de suppression de groupe.
  • Autres actions

    • gestion_account_suppr : action de suppression forcée de compte ;
    • extraction_aaf : action pour l'extraction AAF ;
    • bareos : action programmation de sauvegarde ;
    • bareos_config : action de configuration de Bareos pour la sauvegarde ;
    • scripts_admin : action pour l'exécution de scripts d'administration ;
    • printers : action de gestion des imprimantes.
Actions spécifiques au module Seshat
  • Menu Messagerie

    • routes : gestion du routage des messages vers les établissements de l'Académie.
Modification et suppression de rôle via l'EAD
  • Pour modifier un rôle, il suffit de cliquer sur le nom voulu ;

  • pour le supprimer, cliquer sur la croix rouge associée.

Modification/suppression d'un rôle
Modification/suppression d'un rôle
Association des rôles

Les associations de rôle de l'EAD sont déclarées dans les fichiers : /usr/share/ead2/backend/config/roles/roles_*.ini

Ces fichiers au format INI[18] permettent d'associer des rôles à un ou plusieurs utilisateurs.

Fichiers pris en compte

Sur un module EOLE, seuls les fichiers suivants sont pris en compte :

  • /usr/share/ead2/backend/config/roles.ini : associations de base (admin, eleve, prof, ...) ;
  • /usr/share/ead2/backend/config/roles_<module>.ini : associations spécifiques au module installé (ex : roles_scribe.ini) ;
  • /usr/share/ead2/backend/config/roles_local.ini : associations déclarés localement (édition manuelle ou via l'EAD) ;
  • /usr/share/ead2/backend/config/roles_acad.ini : associations déclarés au niveau académique (via Zéphir).
Syntaxe des fichiers

L'association d'un rôle se fait à partir du login d'un utilisateur système (section [pam]) ou de la valeur associée à un attribut ldap (section [nom_attribut]) de l'annuaire utilisé pour l'authentification SSO sur l'EAD du module.

Exemple

[pam]

scribe2=admin

[uid]

jean.dupont=prof_admin

[user_groups]

minedu=admin_horus

Remarque

La clé spéciale [user_groups] permet d'attribuer un rôle à tous les membres d'un groupe déclaré dans l'annuaire LDAP.

Création d'association via l'EAD

Quand un utilisateur se connecte sur l'EAD, en local ou en SSO, le système d'authentification renvoie des informations le concernant.

Certaines de ces informations sont utilisées pour lui attribuer des rôles et ainsi lui donner accès à certaines actions.

Pour associer un rôle à des utilisateurs:

  • dans Édition des rôles/Association de rôle ;
  • cliquer sur Associer Rôle.
La fenêtre d'association de rôles
La fenêtre d'association de rôles
  • choisir la clef (attribut de l'utilisateur) ;

  • renseigner la valeur recherchée pour cet attribut (dans le cas d'une authentification locale on mettra le login de l'utilisateur) ;

  • choisir le rôle à associer ;

  • valider.

Association d'un rôle
Association d'un rôle

L'intitulé de la clef dépend du système d'authentification utilisé pour se connecter :

Authentification locale :

  • le login de l'utilisateur.

Authentification SSO :

  • l'élève fait partie de la classe ;

  • la valeur de la clé LDAP typeadmin :

    • 0 → enseignant
    • 1 → administrateur
    • 2 → enseignant responsable de classe
    • 3 → personnel administratif
  • le login de l'utilisateur ;

  • le ou les groupes de l'utilisateur.

Remarque

Il est indispensable de redémarrer le service ead-server dans Système->Services (mode expert) pour que les modifications soient prises en compte.

Suppression d'une association via l'EAD

Une association de rôle peut par la suite être supprimée en cliquant sur la croix rouge.

Modification/suppression d'un rôle
Modification/suppression d'un rôle
Les rôles sur le module Scribe

L'EAD est accessible :

  • en authentification locale aux utilisateurs root et eole ;
  • en authentification SSO au compte admin ainsi qu'à tous les personnels enseignant et administratif.

En fonction de l'utilisateur un rôle différent peut être appliqué. À chaque rôle est affecté différentes actions.

Dans le cadre du module Scribe, les rôles importants sont les suivants :

  • administrateur : accès à toutes les actions comme par exemples : redémarrage des services, mise à jour du serveur, création et affectation des rôle aux autres utilisateurs, etc (valeur de l'attribut LDAP uid → admin et comptes locaux root et eole);

  • professeur : modification des préférences personnelles, distribution de devoirs et gestion des files d'impression CUPS (valeur de l'attribut LDAP typeadmin → 0) ;

  • responsable de classe : en plus des actions "professeur", il peut ré-initialiser le mot de passe des élèves des classes dont il est responsable (valeur de l'attribut LDAP typeadmin → 2). Attention, le responsable de classe n'est pas membre du groupe et n'a pas accès aux partages des classes dont il est responsable (pour cela il doit être ajouté à l'équipe pédagogique) ;

  • personnel administratif : modification des préférences personnelles, gestion des files d'impression CUPS (membres du groupe administratifs).

Truc & astuce

Il est possible de créer davantage de rôles ayant accès à diverses actions afin, par exemple, de donner le droit à un professeur de pouvoir redémarrer un groupe de services en plus de ses autorisations de base.

Accès "Administrateur"

Par défaut, les utilisateurs admin, root et eole ont accès à toutes les fonctions.

L'accès avec les utilisateurs root et eole s'effectue en utilisant l'authentification locale.

ComplémentFonctionnalités Scribe

L'EAD du module Scribe, dans son mode le plus complet, présente les fonctionnalités suivantes :

  • distribution de devoirs et de documents ;

  • création/gestion des utilisateurs, des groupes et des partages ;

  • configuration et gestion des imprimantes (CUPS) ;

  • importation CSV/SIECLE/AAF/ONDES ;

  • gestion des ACL ;

  • gestion des quotas disque ;

  • gestion des listes de diffusion ;

  • test de la bande passante du serveur ;

  • modification du mode de visualisation des postes élèves ;

  • consultation de l'historique des connexions ;

  • envoi d'un message aux utilisateurs connectés ;

  • extinction/redémarrage/fermeture de session sur les postes clients ;

  • gestion des comptes de machine ;

  • paramétrage et programmation des sauvegardes du serveur ;

  • redémarrage des services ;

  • mise à jour ;

  • arrêt/redémarrage du serveur ;

  • gestion des rôles EAD.

Accès "Professeur"

Un enseignant dispose d'actions lui permettant de :

  • configurer ses préférences personnelles ;
  • distribuer des documents ;
  • gérer les imprimantes.
l'EAD pour un professeur
l'EAD pour un professeur

L'item Préférences permet à un utilisateur de :

  • modifier son mot de passe ;

    EAD vue enseignant avec thème Envole, changement de mot de passe
    EAD vue enseignant avec thème Envole, changement de mot de passe
  • s'inscrire/se désinscrire d'un groupe ;

    EAD vue enseignant avec thème Envole, gestion des groupes
    EAD vue enseignant avec thème Envole, gestion des groupes
  • renseigner/modifier son adresse mail.

    EAD vue enseignant avec thème Envole, changement d'adresse électronique
    EAD vue enseignant avec thème Envole, changement d'adresse électronique

    L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.

Accès "responsable de classe"

Un professeur peut être défini responsable de classe par l'administrateur. Il obtient alors quelques actions lui permettant d'administrer les classes dont il est responsable. Cela permet à l'administrateur de déléguer certaines actions comme :

  • la ré-initialisation du mot de passe d'un élève ;

  • l'appartenance d'un élève à un groupe ;

  • la création d'un groupe ;

  • etc.

ComplémentLes fonctions disponibles :
  • préférences personnelles ;

  • distribution de devoirs ;

  • gestion des imprimantes (CUPS) ;

  • création de groupe ;

  • ajout/modification/suppression des élèves dans la/les classe(s) dont il est responsable ;

  • édition groupée sur les membres de la/les classe(s) dont il est responsable.

l'EAD pour un responsable de classe
l'EAD pour un responsable de classe
Remarque

Un professeur peut être responsable de plusieurs classes.

Une classe peut se voir affecter plusieurs responsables.

Attention

Le responsable de classe n'est pas membre du groupe et n'a pas accès aux partages des classes dont il est responsable, pour cela il doit être ajouté à l'équipe pédagogique.

Accès "Administratif du Scribe"

Les personnels administratifs possédant un compte sur le module ont accès à leurs préférences personnelles et à la gestion des imprimantes.

L'item Préférences permet à un utilisateur de :

  • modifier son mot de passe ;

    EAD vue enseignant avec thème Envole, changement de mot de passe
    EAD vue enseignant avec thème Envole, changement de mot de passe
  • s'inscrire/se désinscrire d'un groupe ;

    EAD vue enseignant avec thème Envole, gestion des groupes
    EAD vue enseignant avec thème Envole, gestion des groupes
  • renseigner/modifier son adresse mail.

    EAD vue enseignant avec thème Envole, changement d'adresse électronique
    EAD vue enseignant avec thème Envole, changement d'adresse électronique

    L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.

Les rôles sur le module Amon

L'EAD est accessible aux utilisateurs locaux root et eole.

Si l'authentification SSO est configurée, il est également accessible à l'utilisateur admin.

En fonction de l'utilisateur un rôle différent peut être appliqué. À chaque rôle est affecté différentes actions.

Dans le cadre du module Amon, les rôles importants sont les suivants :

  • administrateur : accès à toutes les actions (ex. redémarrage des services, mise à jour du serveur, création et affectation des rôle aux autres utilisateurs, etc.) ;

  • administrateur du réseau pédagogique (utilisé sur le module Amon).

Truc & astuce

Il est possible de créer davantage de rôles ayant accès à diverses actions afin, par exemple, de donner le droit à un professeur de pouvoir redémarrer un groupe de services en plus de ses autorisations de base.

Accès "Administrateur"

Par défaut, les utilisateurs admin, root et eole ont accès à toutes les fonctions.

L'accès avec les utilisateurs root et eole s'effectue en utilisant l'authentification locale.

ComplémentFonctionnalités Amon

L'EAD du module Amon, dans son mode le plus complet, présente les fonctionnalités suivantes :

  • activation/désactivation de règles de pare-feu (directives optionnelles) ;

  • gestion d'exceptions de cache et d'authentification proxy ;

  • gestion des options du filtrages web pour les différentes instances, politiques et groupes ;

  • test de la bande passante du serveur ;

  • consultation des statistiques du proxy ;

  • redémarrage des services ;

  • mise à jour ;

  • arrêt/redémarrage du serveur ;

  • gestion des rôles EAD.

Accès "Administrateur du réseau pédago"

Dans le cas où plusieurs filtres web (instances de e2guardian) sont configurés, ce rôle permet de déléguer la gestion des options de filtrage pour le filtre n°2, traditionnellement associé à la zone pédagogique.

Les rôles sur le module AmonEcole

L'EAD est accessible :

  • en authentification locale aux utilisateurs root et eole ;
  • en authentification SSO au compte admin ainsi qu'à tous les personnels enseignant et administratif.

En fonction de l'utilisateur un rôle différent peut être appliqué. À chaque rôle est affecté différentes actions.

Dans le cadre du module AmonEcole, les rôles importants sont les suivants :

  • administrateur : accès à toutes les actions (ex. redémarrage des services, mise à jour du serveur, création et affectation des rôle aux autres utilisateurs, etc.) ;

  • professeur : modification des préférences personnelles, distribution de devoirs et gestion des files d'impression CUPS ;

  • responsable de classe : en plus des actions "professeur", peut ré-initialiser le mot de passe des élèves des classes dont il est responsable ;

  • administratif dans Scribe ;

  • administrateur du Scribe ;

  • administrateur de l'Amon.

Truc & astuce

Il est possible de créer davantage de rôles ayant accès à diverses actions afin, par exemple, de donner le droit à un professeur de pouvoir redémarrer un groupe de services en plus de ses autorisations de base.

Accès "Administrateur"

Par défaut, les utilisateurs admin, root et eole ont accès à toutes les fonctions.

L'accès avec les utilisateurs root et eole s'effectue en utilisant l'authentification locale.

Accès "Professeur"

Un enseignant dispose d'actions lui permettant de :

  • configurer ses préférences personnelles ;
  • distribuer des documents ;
  • gérer les imprimantes.
l'EAD pour un professeur
l'EAD pour un professeur

L'item Préférences permet à un utilisateur de :

  • modifier son mot de passe ;

    EAD vue enseignant avec thème Envole, changement de mot de passe
    EAD vue enseignant avec thème Envole, changement de mot de passe
  • s'inscrire/se désinscrire d'un groupe ;

    EAD vue enseignant avec thème Envole, gestion des groupes
    EAD vue enseignant avec thème Envole, gestion des groupes
  • renseigner/modifier son adresse mail.

    EAD vue enseignant avec thème Envole, changement d'adresse électronique
    EAD vue enseignant avec thème Envole, changement d'adresse électronique

    L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.

Accès "responsable de classe"

Un professeur peut être défini responsable de classe par l'administrateur. Il obtient alors quelques actions lui permettant d'administrer les classes dont il est responsable. Cela permet à l'administrateur de déléguer certaines actions comme :

  • la ré-initialisation du mot de passe d'un élève ;

  • l'appartenance d'un élève à un groupe ;

  • la création d'un groupe ;

  • etc.

ComplémentLes fonctions disponibles :
  • préférences personnelles ;

  • distribution de devoirs ;

  • gestion des imprimantes (CUPS) ;

  • création de groupe ;

  • ajout/modification/suppression des élèves dans la/les classe(s) dont il est responsable ;

  • édition groupée sur les membres de la/les classe(s) dont il est responsable.

l'EAD pour un responsable de classe
l'EAD pour un responsable de classe
Remarque

Un professeur peut être responsable de plusieurs classes.

Une classe peut se voir affecter plusieurs responsables.

Attention

Le responsable de classe n'est pas membre du groupe et n'a pas accès aux partages des classes dont il est responsable, pour cela il doit être ajouté à l'équipe pédagogique.

Accès "Administratif du Scribe"

Les personnels administratifs possédant un compte sur le module ont accès à leurs préférences personnelles et à la gestion des imprimantes.

L'item Préférences permet à un utilisateur de :

  • modifier son mot de passe ;

    EAD vue enseignant avec thème Envole, changement de mot de passe
    EAD vue enseignant avec thème Envole, changement de mot de passe
  • s'inscrire/se désinscrire d'un groupe ;

    EAD vue enseignant avec thème Envole, gestion des groupes
    EAD vue enseignant avec thème Envole, gestion des groupes
  • renseigner/modifier son adresse mail.

    EAD vue enseignant avec thème Envole, changement d'adresse électronique
    EAD vue enseignant avec thème Envole, changement d'adresse électronique

    L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.

Accès "Administrateur du Scribe"

Sur un module AmonEcole, le rôle "Administrateur du Scribe" (admin_scribe) permet de déléguer à un utilisateur les fonctionnalités EAD propres au module Scribe.

ComplémentFonctionnalités Scribe

L'EAD du module Scribe, dans son mode le plus complet, présente les fonctionnalités suivantes :

  • distribution de devoirs et de documents ;

  • création/gestion des utilisateurs, des groupes et des partages ;

  • configuration et gestion des imprimantes (CUPS) ;

  • importation CSV/SIECLE/AAF/ONDES ;

  • gestion des ACL ;

  • gestion des quotas disque ;

  • gestion des listes de diffusion ;

  • test de la bande passante du serveur ;

  • modification du mode de visualisation des postes élèves ;

  • consultation de l'historique des connexions ;

  • envoi d'un message aux utilisateurs connectés ;

  • extinction/redémarrage/fermeture de session sur les postes clients ;

  • gestion des comptes de machine ;

  • paramétrage et programmation des sauvegardes du serveur ;

  • redémarrage des services ;

  • mise à jour ;

  • arrêt/redémarrage du serveur ;

  • gestion des rôles EAD.

Accès "Administrateur de l'Amon"

Sur un module AmonEcole, le rôle "Administrateur de l'Amon" (admin_amon) permet de déléguer à un utilisateur les fonctionnalités EAD propres au module Amon.

ComplémentFonctionnalités Amon

L'EAD du module Amon, dans son mode le plus complet, présente les fonctionnalités suivantes :

  • activation/désactivation de règles de pare-feu (directives optionnelles) ;

  • gestion d'exceptions de cache et d'authentification proxy ;

  • gestion des options du filtrages web pour les différentes instances, politiques et groupes ;

  • test de la bande passante du serveur ;

  • consultation des statistiques du proxy ;

  • redémarrage des services ;

  • mise à jour ;

  • arrêt/redémarrage du serveur ;

  • gestion des rôles EAD.

La console

Cette fonctionnalité permettra d'ajouter des actions et des scripts personnalisés directement dans l'EAD.

Remontée des données locales sur Zéphir par la console EAD
Remontée des données locales sur Zéphir par la console EAD

Seul le script Remonter les données locales sur Zéphir est fourni par défaut.

Attention

Cette fonctionnalité n'est pas stabilisée. De plus, les actions et scripts personnalisés seront supprimés à la prochaine mise à jour.

Remonter les données locales sur Zéphir

Cette action permet de déclencher la remontée des données sur le Zéphir (appel de la commande : zephir_client save_files 3).

Remontée des données locales sur Zéphir par la console EAD
Remontée des données locales sur Zéphir par la console EAD
Écrire des scripts personnalisés

Copier avec un nouveau nom le script existant :

# cp /usr/share/ead2/backend/actions/cmd_update_zephir.py /usr/share/ead2/backend/actions/cmd_df.py

Éditer le script et renommer la classe, le nom du script, la commande à exécuter et le libellé de la commande :

# vim /usr/share/ead2/backend/actions/cmd_df.py

1
# -*- coding: UTF-8 -*-
2
from ead2.backend.actions.lib.main import Cmd
3
4
class Cmd_Df(Cmd): # renommer la classe
5
    """
6
    Action du mode commande
7
    """
8
    name = "cmd_df" # nom du script
9
    # propriété de la commande à exécuter
10
    cmd_template = "df -h"
11
    cmd_libelle = "Occupation disque" # libellé du script dans l'EAD

Ajouter le nom du nouveau script au fichier zstats.cmd :

# vim /usr/share/ead2/backend/config/cmds/zstats.cmd

ou

# echo "cmd_df" >> /usr/share/ead2/backend/config/cmds/zstats.cmd

Déclarer le nouveau script dans le fichier actions_zstats.cfg :

# vim /usr/share/ead2/backend/config/actions/actions_zstats.cfg

ou

# echo "cmd_df" >> /usr/share/ead2/backend/config/actions/actions_zstats.cfg

Ajouter les droits d'utilisation du script dans le fichier perm_zstats.ini :

# vim /usr/share/ead2/backend/config/perms/perm_zstats.ini

ou

# echo "cmd_df=admin" >> /usr/share/ead2/backend/config/perms/perm_zstats.ini

Relancer le service :

# service ead-server restart

L'action est accessible dans le menu de l'EAD. Lorsque la commande réussi un message s'affiche :

++ La commande : 'Occupation disque' a bien été exécutée.

Cliquer sur Afficher le contenu reçu permet d'afficher le résultat de la commande.

Listing matériel

Le listing matériel permet de visualiser les éléments matériels du serveur.

Il indique notamment l'occupation des disques, de la mémoire vive et de la partition swap.

Listing matériel (lshw)
Listing matériel (lshw)
AttentionLa mémoire physique (RAM)

Le noyau Linux[1] utilise un système de cache mémoire pour limiter les accès disque. Le chiffre "mémoire physique" comprend ce cache. Cela signifie qu'il n'est pas inquiétant de voir une valeur proche de 100%.

Le critère important étant l'occupation le swap (mémoire virtuelle). Une utilisation du swap indique que le serveur manque de RAM. Il faut alors envisager d'en augmenter la quantité ou chercher à alléger la charge de la machine.

Remarque

Sur EOLE 2.9, les interfaces VLAN ne sont plus affichées par l'outil lshw et n'apparaissent donc plus dans l'interface.

Bande passante

Le menu Outils/Bande passante permet de tester la bande passante dont dispose le serveur.

Testeur de bande passante
Testeur de bande passante

Résoudre des dysfonctionnements liés à l'EAD

Services et journaux

Les fichiers journaux associés aux services EAD sont les suivants :

  • /var/log/rsyslog/local/ead-server/ead-server.info.log 
  • /var/log/rsyslog/local/ead-web/ead-web.info.log

Si le service ead-server ne démarre plus ou si des actions EAD ne se chargent plus et que la consultation des fichiers journaux n'apportent pas d'informations pertinentes, le service peut être exécuté manuellement à l'aide des commandes suivantes :

1
service ead-server stop
2
cd /tmp
3
export PYTHONPATH=/usr/share
4
twistd3 -noy /usr/share/ead2/backend/eadserver.tac

La combinaison de touches ctrl+c permet d'arrêter le programme.

Si c'est le service ead-web qui est en erreur, le service peut être exécuté manuellement à l'aide des commandes suivantes :

1
service ead-web stop
2
cd /tmp
3
export PYTHONPATH=/usr/share
4
twistd3 -noy /usr/share/ead2/frontend/frontend.tac

La combinaison de touches ctrl+c permet d'arrêter le programme.

Certificats SSL

Pour avoir accès à l'EAD, il faut impérativement que le nom de domaine soit présent dans le certificat SSL.

Il est notamment impossible de se connecter à l'EAD avec une simple adresse IP.

Il existe plusieurs méthodes pour connaître les noms de domaine présents dans le certificat SSL, par exemple il est possible d'utiliser un navigateur Internet.

ExempleExemple avec Firefox
  • Cliquer sur le cadenas à côté de l'URL

  • Cliquer sur la flèche dirigée vers la droite pour afficher les détails de la connexion

  • Cliquer sur le bouton Plus d'informations, le nom de domaine principal du certificat apparaît alors dans la partie Identité du site web et Site web

  • Il est possible que des noms alternatifs soient renseignés dans le certificat. Pour les retrouver, cliquer sur le bouton Afficher le certificat, puis sur l'onglet Détails et sélectionner la ligne Nom alternatif du sujet de certificat, les noms alternatifs sont affichés dans la boîte Valeur du champ.

Attention

Attention, même si la bonne adresse IP apparaît dans le certificat, elle ne sera pas prise en compte.

Truc & astuce

Si le nom de domaine n’apparaît pas et que le certificat est de type autosigné, il faut le rajouter dans l'onglet Certificats ssl de l'interface de configuration du module en mode expert.

Truc & astuce

La modification, dans l'interface de configuration du module, de l'un des paramètres constituant un certificat (nom d’établissement, numéro RNE, etc...) suivie d'une reconfiguration du module ne régénère pas les certificats. Un message explicite le signale lors de l'étape de reconfiguration.

Après changement des paramètres il est nécessaire de supprimer le certificat puis d'exécuter la reconfiguration du module :

1
rm -f /etc/ssl/certs/eole.crt
2
reconfigure
Clés d'enregistrement

Les interfaces associées au serveur de commandes local sont enregistrées dans le fichier /usr/share/ead2/backend/config/frontend_keys.ini

Exemple

[keys]

127.0.0.1 = 157b551f55359d92d20e412e83f87f9ea2e47ab3

Les serveurs de commandes associés à l'interface EAD locale sont enregistrés dans le fichier /usr/share/ead2/frontend/config/servers.ini

Exemple

[1]

url = https://127.0.0.1

port = 4201

comment = amon

key = 157b551f55359d92d20e412e83f87f9ea2e47ab3

Si nécessaire, il est possible de réinitialiser ces fichiers à l'aide des commandes suivantes :

1
echo '[keys]' > /usr/share/ead2/backend/config/frontend_keys.ini 
2
echo '' > /usr/share/ead2/frontend/config/servers.ini
3
reconfigure

L'interface d'administration EAD 3

EOLE offre une nouvelle interface simplifiée de gestion du serveur : l'interface d'administration EAD 3.

Cette interface propose un ensemble d'actions utilisables par une personne peu habituée au système Unix.

L'EAD 3 est préinstallé sur les modules mais n'est pas activé.

Présentation

EOLE offre une nouvelle interface simplifiée de gestion du serveur : l'interface d'administration EAD 3.

Cette interface propose un ensemble d'actions utilisables par une personne peu habituée au système Unix.

L'EAD 3 est préinstallé sur les modules mais n'est pas activé.

Installation et configuration

Activation

L'EAD3 est préinstallé sur les modules mais n'est pas activé.

L'activation s'effectue dans l'onglet Services de l'interface de configuration du module en mode expert.

Pour que l'activation soit effective il faut reconfigurer le module.

Pour activer l'EAD3 en ligne de commande :

# CreoleSet activer_ead3 oui

Son activation nécessite la reconfiguration du serveur :

# reconfigure

Configuration

L'onglet Ead3 est uniquement disponible après avoir passé Activer l'interface d'administration du module (EAD3) à oui dans l'onglet Services.

Il permet de personnaliser la configuration Saltstack[19] de l'EAD3.

Le port d'écoute par défaut de l'API Saltstack est 8880.

Le choix du chemin de téléversement des fichiers EAD3 est par défaut /var/lib/eole/ead3files.

L'application web

Pour accéder à l'application EAD3 il faut utiliser l'URL suivante : https://<serveur>/ead/

Une mire d'authentification apparaît. Saisir le compte et la clé secrète associée.

Remarque

Pour le moment l'authentification est réalisée avec PAM[20], vous pouvez par exemple utiliser le compte eole et le mot de passe défini à l'instanciation du module ou créer un autre compte.

ÉcranDescription des éléments de la page principale
  • 1

    Compte connecté

  • 2

    Nom de machine du serveur que l'application administre.

  • 3

    Nom de domaine du serveur que l'application administre.

  • 4

    Catégories d'actions (exemple : sauvegarde, système…)

Cliquer sur une catégorie particulière permet d'afficher une vue propre à la catégorie.

ÉcranDescription de la vue par catégorie
  • 1

    La catégorie choisie est en surbrillance.

  • 2

    Chaque action appartient à une catégorie.

  • 3

    Les étiquettes ne sont pas liées à une catégorie, elles déterminent un ensemble d'actions.

Généralités sur les actions

Une action est une fonctionnalité de l'EAD3 permettant de réaliser un ou plusieurs traitements sur un ou plusieurs serveurs cibles.

Une action est construite à partir de deux éléments :

  • un fichier XML Creole[21] permettant de décrire l'action et de définir les variables et/ou les configurations nécessaires pour construire l'interface web ;
  • un fichier de recette SaltStack[19] (nommé States) permettant d'effectuer l'action demandée sur les serveurs cibles.

Ces fichiers sont stockés sur le serveur dans le répertoire /usr/share/eole/creole/extra/.

Un sous-répertoire correspond à une action et son nom est le nom de l'action.

Par exemple, l'action majreport est définie à la création du répertoire enfant /usr/share/eole/creole/extra/majreport/ qui contient le XML Creole, et éventuellement une recette SaltStack.

Si une recette SaltStack est associée à l'action, elle doit obligatoirement être placée dans le répertoire enfant sls/ de l'action.

Exemple
1
root@scribe:~# tree /usr/share/eole/creole/extra/backuponce
2
/usr/share/eole/creole/extra/backuponce
3
├── 00_action.xml
4
└── sls
5
    └── eole
6
        └── init.sls
7
8
2 directories, 2 files
9
root@scribe:~#

Dans les dossiers sls des actions déjà existantes, un sous-dossier eole est présent. Il contient les recettes SaltStack fournies par EOLE.

Truc & astuce

Plusieurs recettes SaltStack successives peuvent être appelées. Un fichier init.sls permet d'inclure toutes les recettes à appliquer dans un ordre spécifique.

Attention

Pour personnaliser le comportement d'une action existante il faut placer les recettes SaltStack directement dans le répertoire parent.

Par exemple pour surcharger le comportement des recettes EOLE de l'action majonce il faut placer les recettes personnalisées dans /usr/share/eole/creole/extra/majonce/sls/.

Les fichiers personnalisés des recettes SaltStack peuvent être templatisés avec Jinja2[22].

Dans ce cas, l'accès aux variables Creole se fait via les pillars[19].

Exemple

Si l'on souhaite accéder à la variable Creole hour de la famille mise_a_jour de l'action majonce, il faut écrire dans la recette : pillar['majonce.mise_a_jour.hour'].

Diagramme de fonctionnement
Diagramme de fonctionnement
Exemple
1
<creole>
2
    <family_action name="Catégorie contenant une ou plusieurs actions">
3
        <action type="reader"
4
            title="Nom appraissant dans l'interface web"
5
            description="Description de l'action apparaissant dans l'interface web"
6
            image="icons/edit-find.svg">
7
            <profile>ead_admin</profile>
8
            <ewtapp>ead</ewtapp>
9
            <tag>étiquette1</tag>
10
            <tag>étiquette2</tag>
11
        </action>
12
    </family_action>
13
14
    <variables>
15
        <family name="options">
16
            <variable name="filename" type="filename">
17
        </family>
18
    </variables>
19
</creole>
20

Balises et variables qui permettent de définir l'interface pour une action de type formulaire :

  • <family_action> : Cette balise est obligatoire, elle permet de définir la catégorie qui contient l'action (si on veut ranger l'action à créer dans une catégorie existante, il suffit de renseigner le nom de la catégorie, si on veut créer une nouvelle catégorie, il suffit de mettre un nouveau nom) ;

  • <action> : Cette balise est obligatoire, elle définit l'action d'une manière générique ;

    type : Le type de l'action, exemple reader pour une action d'affichage, form pour une action de type formulaire, custom pour une action personnalisée ;

    title : Intitulé de l'action ;

    descriptif : Courte description de l'action ;

    image : Les icônes disponibles sont dans le répertoire : /usr/share/ewt/static/images/icons/ ;

  • <family name="options"><variable name="filename" type="filename"> : Permettent de définir les variables Creole nécessaires au bon fonctionnement de l'action ;

  • <ewtapp> : Applications dans lesquelles l'action doit apparaître (une balise par application), ici seulement l'EAD ;

  • <profile> : L'action n'est accessible que pour le profil ead_admin ou un profil équivalent ou supérieur ;

  • <tag> : Permet de déclarer une ou plusieurs étiquettes dans l'interface EAD.

Truc & astuce

Il est possible, comme dans n'importe quel XML Creole, de mettre en place des contrôles et des conditions sur les variables déclarées.

Créer une nouvelle action

Pour créer une nouvelle action il est possible de prendre modèle sur une action existante :

# cp -R /usr/share/eole/creole/extra/majreport/00_action.xml /usr/share/eole/creole/extra/test/00_action.xml

ExempleÀ gauche la copie de l'action de droite
1
<creole>                                                                       |<creole>
2
    <family_action name="Test"                                                 |    <family_action name="Mise à jour"
3
                   description="Test"                                          |                   description="Gestion de la mise à jour"
4
                   color="#0000dd"                                             |                   color="#fca474"
5
                   image="icons/mail-attachment.svg">                          |                   image="icons/applications-internet.svg">
6
    <action type="reader"                                                      |    <action type="reader"
7
            title="Test de lecture"                                            |            title="Rapport de mise à jour"
8
            description="Afficher le contenu d'un fichier"                     |            description="Afficher le journal de la dernière mise à jour"
9
            image="icons/face-angel.svg">                                      |            image="icons/edit-find.svg">
10
            <profile>ead_admin</profile>                                       |            <profile>ead_admin</profile>
11
            <ewtapp>ead</ewtapp>                                               |            <ewtapp>ead</ewtapp>
12
            <tag>lecture</tag>                                                 |            <tag>log</tag>
13
            <tag>fichier</tag>                                                 |            <tag>maj</tag>
14
            <tag>test</tag>                                                    |            <tag>maj-auto</tag>
15
        </action>                                                              |            <tag>mise à jour</tag>
16
    </family_action>                                                           |        </action>
17
    <variables>                                                                |    </family_action>
18
        <family name="options"                                                 |    <variables>
19
                description="Contenu du fichier  ">                            |        <family name="options"
20
            <variable name="filename" type="filename">                         |                description="Dernière mise à jour">
21
                <value>/usr/share/eole/creole/extra/test/00_action.xml</value> |            <variable name="filename" type="filename">
22
            </variable>                                                        |                <value>/var/lib/eole/reports/rapport-maj.log</value>
23
            <variable name="language" type="string">                           |            </variable>
24
                <value>prolog</value>                                          |            <variable name="language" type="string">
25
            </variable>                                                        |                <value>prolog</value>
26
        </family>                                                              |            </variable>
27
    </variables>                                                               |        </family>
28
    <constraints>                                                              |    </variables>
29
    </constraints>                                                             |    <constraints>
30
    <help/>                                                                    |    </constraints>
31
</creole>                                                                      |    <help/>
32
                                                                               |</creole>
33

Pour que la nouvelle action soit prise en compte il faut reconfigurer le serveur à l'aide de la commande reconfigure ou appliquer les commandes suivantes :

# /usr/share/eole/postservice/00-actions reconfigure

# CreoleCat -t ext_auth.conf

# service salt-api restart

Conseil

Dans un cas comme dans l'autre il est préférable de se déconnecter et se reconnecter à l'EAD.

Pour supprimer une action :

# rm -r /usr/share/eole/creole/extra/test/

# reconfigure

Type d'actions

Les actions d'affichage
Exemple
1
<creole>
2
    <family_action name="Tâches planifiées">
3
        <action type="reader"
4
        title="Rapport de mise à jour"
5
        description="Visualisation du fichier de log de MajAuto"
6
        image="icons/edit-find.svg">
7
        <profile>ead_admin</profile>
8
        <ewtapp>ead</ewtapp>
9
        <tag>log</tag>
10
        <tag>maj</tag>
11
        <tag>maj-auto</tag>
12
        <tag>mise à jour</tag>
13
        </action>
14
    </family_action>
15
16
    <variables>
17
        <family name="options">
18
        <variable name="filename" type="filename">
19
        <value>/var/lib/eole/reports/rapport-maj.log</value>
20
        </variable>
21
        <variable name="language" type="string">
22
        <value>prolog</value>
23
        </variable>
24
        </family>
25
    </variables>
26
27
<constraints>
28
</constraints>
29
30
<help/>
31
32
</creole>
33

Balises et variables qui permettent de définir l'interface pour une action de type affichage :

  • <family_action> et <action> : permettent de définir l'action d'une manière générique ;

Des variables Creole sont définies dans la rubrique familly et sont utiles pour le fonctionnement de l'action :

  • la variable filename contient le nom long du fichier à afficher ;

  • la variable language est optionnelle, elle contient le mode de coloration syntaxique utilisé pour afficher le fichier en couleur.

Ces variables sont des variables Creole chargée en mémoire vives, si on veut qu'elles soient enregistrées il faut renseigner l'attribut save=True et elles leurs nouvelles valeurs seront stockées dans un config.eol (qui n'est pas le /etc/config.eol principal de Creole).

L'action d'affichage est de type filename et est préexistante. Elle ne nécessite aucune recette SaltStack particulière. Donc seul le fichier XML Creole est présent.

Exemple
L'action Rapport de mise à jour
L'action Rapport de mise à jour
 Rapport de mise à jour
Rapport de mise à jour
Les actions de type formulaire

Les actions de type formulaire sont des actions qui ont besoin de paramètres pour pouvoir être lancées.

Dans ce cas, il faut faire apparaître un formulaire pour renseigner les variables nécessaires au fonctionnement de l'action.

Ce formulaire est généré automatiquement à partir de la définition de variables dans le XML Creole.

Exemple
1
<variables>
2
    <family name='Mise à jour'>
3
    <variable description="Type de la mise à jour" type="string" name="typemaj">
4
    <value>Faire une mise à jour du serveur la nuit qui vient</value>
5
    </variable>
6
    <variable description="Choisir les options de mise à jour" type="string" name="majoption">
7
    <value>Mise à jour, reconfigure et redémarrage du serveur</value>
8
    </variable>
9
    <variable description="Heure" name='hour' type='number'/>
10
    <variable description="Minute" name='minute' type='number'/>
11
    <variable description="Jour" name='day' type='date'/>
12
    </family>
13
</variables>
14

La définition de variables de type string ou de type number va générer un formulaire dans l'espace réservé à afficher l'action (widget).

  • <input>Programmer</input>

    permet de définir un bouton de validation

  • <variable description="Type de la mise à jour" type="string" name="typemaj">

    <value>Faire une mise à jour du serveur la nuit qui vient</value>

    </variable>

    fait apparaître une liste déroulante avec un item

Exemple

Compléments techniques

Relancer l'EAD3
1
root@scribe:~# service salt-api status
2
● salt-api.service - The Salt API
3
   Loaded: loaded (/lib/systemd/system/salt-api.service; enabled; vendor preset: enabled)
4
   Active: active (running) since mer. 2017-03-01 11:31:49 CET; 4min 22s ago
5
 Main PID: 9193 (salt-api)
6
   CGroup: /system.slice/salt-api.service
7
           ├─9193 /usr/bin/python /usr/bin/salt-api
8
           └─9614 /usr/bin/python /usr/bin/salt-api
9
10
mars 01 11:31:48 scribe systemd[1]: Starting The Salt API...
11
mars 01 11:31:49 scribe systemd[1]: Started The Salt API.
12
root@scribe:~# 

L'interface d'administration semi-graphique

En plus de l'EAD, une interface semi-graphique est disponible.

Cette interface (manage-eole) permet d'exécuter quelques tâches simples d'administration du serveur : diagnostique, mise à jour, liste des paquets en mise à jour, etc.

L'interface semi-graphique : manage-eole
L'interface semi-graphique : manage-eole

Par défaut, elle est proposée à la connexion pour les utilisateurs eole, eole2, ... créés à l’instance, et pour les administrateurs à droits restreints qui peuvent être créés avec la commande add_restricted_admin en dehors de la procédure d’instance.

Les mises à jour

Avec GNU/Linux, comme avec d'autres systèmes d'exploitation, les logiciels doivent être compilés avant de pouvoir être utilisés.

Au début du projet Debian (sur lequel est basé Ubuntu), les auteurs jugèrent nécessaire de disposer d'un système d'installation et de désinstallation de logiciels et bibliothèques efficace et simple. Ce système fut nommé dpkg et utilise des paquets portant l'extension .deb.

Les paquets

Un paquet contient un logiciel ou une bibliothèque déjà compilé et qui s'installe de façon automatique au travers du gestionnaire de paquets. Le format natif des paquets pour Ubuntu et donc pour EOLE est le paquet Debian.

Pour limiter la taille des paquets et pour rendre plus efficace l'utilisation de votre ordinateur, le paquet ne contient que le logiciel ou la bibliothèque. Si ce logiciel a besoin d'un autre logiciel ou d'une bibliothèque particulière pour fonctionner, le paquet indique quelles sont ces exigences à satisfaire. On les appelle les dépendances.

La dépendance permet une réutilisation d'une même composante par plusieurs logiciels. Par exemple, si un logiciel nécessite une bibliothèque particulière et qu'un autre logiciel nécessite aussi cette bibliothèque, une ne sera installée qu'une seule fois pour les deux programmes. Cette dépendance apporte plusieurs avantages: lors d'une mise à jour, un paquet est mis à jour pour tous les logiciels, il y a alors une économie de bande passante et d'espace utilisé sur les disques durs.

Le gestionnaire de paquets

Le fait qu'un paquet puisse dépendre d'autres paquets serait infernal à gérer de façon manuelle.

Advanced Packaging Tool (APT) est un système complet et avancé de gestion de paquets, permettant une recherche facile et efficace, une installation simple et une désinstallation propre de logiciels et utilitaires. Il gère les dépendances automatiquement et paramètre les fichiers de configuration durant l'installation et les mises à jour.

Les mises à jour sont continuelles et incrémentales. Le système offre une méthode de mise à jour cohérente et un processus de mise à jour sûr.

APT est un ensemble d'utilitaires utilisables en ligne de commande.

Il facilite la mise à jour d'une distribution Debian et Ubuntu.

EOLE utilise également ce système et fournit un ensemble de facilité :

  • mise à jour hebdomadaire est configurée automatiquement ;

  • mise à jour au travers de l'EAD et de Zéphir ;

  • commandes Maj-Auto, Query-Auto et apt-eole.

AttentionProxy et mise à jour

Les modifications apportées au proxy transparent à partir de la version 2.6.1 provoquent le blocage de certaines mises à jour aussi, la déclaration du proxy est nécessaire pour effectuer les mises à jour d'un module EOLE qui serait protégé par un module Amon. La déclaration du proxy s'effectue dans l'onglet Général de l'interface de configuration du module, passer Utiliser un serveur mandataire (proxy) pour accéder à Internet à oui et paramétrer l'adresse du proxy dans le champ Nom ou adresse IP du serveur proxy.

Les différents types de mises à jour

Les mises à jour pour une version donnée permettent de corriger les problèmes bloquants, de sécurité et/ou ne permettant pas un fonctionnement normal du module.

Par défaut une mise à jour hebdomadaire est configurée automatiquement à la fin de l'instanciation du module. Ce comportement est paramétrable et désactivable.

Depuis EOLE 2.6, il n'existe qu'un seul niveau de mise à jour. Le concept de mise à jour minimale et complète a été supprimé. L'ajout de nouvelles fonctionnalités entraîne une nouvelle version d'EOLE (2.6.x). Le passage d'une version à une autre est manuel.

Les mises à jour fonctionnelles et les corrections sont proposées sur le dépôt de développement (Unstable), puis proposées en Release candidate (RC)[23] lorsque les paquets sont stabilisés et testés. Plusieurs RC successives ont lieu avant la publication de la totalité des RC en stable. Cela donne lieu à une nouvelle version d'EOLE (2.6.x). Chaque version d'EOLE bénéficie des dépôts :

  • Security : paquets fixant un problème de sécurité ;

  • Updates : paquets fixant des dysfonctionnement bloquants ou suffisamment importants et ne pouvant pas attendre la sortie d'une nouvelle version d'EOLE (durée de rétention en RC et publication en stable).

  • Proposed-updates : paquets candidats pour la version d'EOLE utilisée.

Mise à jour corrective

La dénomination "mise à jour corrective" concerne les paquets qui sont diffusés en version stable sur une version mineure d'EOLE.

Il s'agit généralement des paquets proposés dans la "mise à jour candidate annoncée" sur lesquels des correctifs additionnels mineurs ont pu être apportés.

La publication des paquets fait l'objet d'annonces officielles :

Le détail des paquets disponibles est indiqué dans les journaux des versions mineures concernées (exemple : https://dev-eole.ac-dijon.fr/projects/modules-eole/wiki/Journaux290 pour EOLE 2.9.0).

Les paquets diffusés en version stable sont disponibles dans les dépôts stables du site de référence.

Ils s'installent à l'aide de la commande : Maj-Auto et sont également installés automatiquement par la mise à jour hebdomadaire.

Mise à jour candidate annoncée

La dénomination "mise à jour candidate annoncée" concerne les paquets prêts à être diffusés en version stable sur une version mineure d'EOLE.

Il s'agit généralement des paquets proposés dans la "mise à jour candidate en préparation" qui ont été validés par l'équipe.

La publication des paquets fait l'objet d'annonces officielles :

Le détail des paquets disponibles est indiqué dans les journaux des versions mineures concernées (exemple : https://dev-eole.ac-dijon.fr/projects/modules-eole/wiki/Journaux290 pour EOLE 2.9.0).

Obtenir manuellement les paquets candidats

Les paquets en version candidate annoncés sont disponibles pendant la période de transition dans les dépôts candidats des dépôts du site de référence.

Ils s'installent manuellement à l'aide de la commande : Maj-Auto -C.

Obtenir automatiquement les paquets candidats

Les paquets candidats en préparation et non annoncés peuvent être obtenus automatiquement et à tout moment en déclarant les serveurs de test en tant que Serveur de mise à jour.

Ils s'installent à l'aide de la commande Maj-Auto -S test-eole.ac-dijon.fr.

Remarque

Les mises à jour candidates sont testées par l'équipe EOLE, durant la période de transition et leur passage en stable, elles peuvent être installées et des remontées positives ou négatives peuvent être formulées sur la forge ou sur les listes de discussion.

Mise à jour candidate en préparation

La dénomination "mise à jour candidate en préparation" concerne les paquets prêts à être diffusés en version candidate sur une version mineure d'EOLE mais qui n'ont pas encore été annoncés officiellement.

Le détail des paquets disponibles est généralement indiqué dans les journaux des versions mineures concernées (exemple : https://dev-eole.ac-dijon.fr/projects/modules-eole/wiki/Journaux280 pour EOLE 2.8.0).

Les paquets en version candidate non annoncés sont disponibles à tout moment uniquement dans les dépôts de test.

Ils s'installent à l'aide de la commande : Maj-Auto -C -S test-eole.ac-dijon.fr

Remarque

Les mises à jour candidates sont testées par l'équipe EOLE, durant la période de transition et leur passage en stable, elles peuvent être installées et des remontées positives ou négatives peuvent être formulées sur la forge ou sur les listes de discussion.

Mise à jour de développement

Les paquets mis à disposition en version de développement sont généralement ceux de la prochaine version mineure d'EOLE qui est en cours d'élaboration.

Comme son nom l'indique, ce type de mise à jour s'adresse principalement aux développeurs et aux contributeurs qui souhaitent tester les dernières évolutions de la distribution EOLE.

Les paquets en version de développement s'installent à l'aide de la commande : Maj-Auto -D.

Attention

Les mises à jour de développement sont susceptibles de rendre le serveur instable.

Il est fortement déconseillé de les utiliser sur un serveur en production.

Attention

Les dépôts de développement (eole-2.8-unstable pour EOLE 2.8) ne sont pas versionnés.

Leur utilisation sur une version mineure d'EOLE précédente entraînera un changement de version du serveur.

Les procédures de mise à jour

Les procédures manuelles de mise à jour des modules EOLE sont accessible de quatre manières :

  • EAD[9] ;

  • interface semi-graphique ;

  • Zéphir ;

  • ligne de commande.

De plus, à la fin de l'instanciation, une mise à jour hebdomadaire est configurée automatiquement.

AttentionIntégrité de la mise à jour

Une mise à jour EOLE représente un ensemble de paquets.

L'installation manuelle de seulement l'un d'entre eux peut rendre votre système instable.

L'utilisation des méthodes listées ci-dessus permet de garantir l'intégrité du serveur.

AttentionProxy et mise à jour

Les modifications apportées au proxy transparent à partir de la version 2.6.1 provoquent le blocage de certaines mises à jour aussi, la déclaration du proxy est nécessaire pour effectuer les mises à jour d'un module EOLE qui serait protégé par un module Amon. La déclaration du proxy s'effectue dans l'onglet Général de l'interface de configuration du module, passer Utiliser un serveur mandataire (proxy) pour accéder à Internet à oui et paramétrer l'adresse du proxy dans le champ Nom ou adresse IP du serveur proxy.

Mise à jour depuis l'EAD

Dans Système / Mise à jour, l'EAD propose une interface de mise à jour du serveur, il est possible de :

  • de lister les paquets disponibles pour la mise à jour ;

  • de programmer une mise à jour différée (dans 3 heures par exemple, ou dans 0 heure pour le faire tout de suite) ;

  • d'activer / désactiver les mises à jour hebdomadaires (le jour et l'heure de la mise à jour automatique sont déterminés aléatoirement).

L'heure est définie aléatoirement entre 01h00 et 05h59 un des sept jours de la semaine.

Attention

Si la fréquence des tâches Schedule est personnalisée dans l'interface de configuration du module, c'est cette dernière qui prévaut et l'activation/désactivation de la mise à jour hebdomadaire via l'EAD ou la commande manage_schedule n'est plus possible.

Truc & astuceRapport de mise à jour

Penser à consulter le rapport de mise à jour et l'état des services sur la page d'accueil.

RemarqueReconfiguration et redémarrage automatique

Une mise à jour lancée depuis l'EAD exécute automatiquement une reconfiguration du serveur avec la commande reconfigure, il n'est donc pas nécessaire d'en lancer un par la suite comme c'est le cas depuis la console.

Si un redémarrage est nécessaire, celui-ci est effectué automatiquement dès la fin de la reconfiguration.

L'interface d'administration semi-graphique

En plus de l'EAD, une interface semi-graphique est disponible.

Cette interface (manage-eole) permet d'exécuter quelques tâches simples d'administration du serveur : diagnostique, mise à jour, liste des paquets en mise à jour, etc.

L'interface semi-graphique : manage-eole
L'interface semi-graphique : manage-eole

Par défaut, elle est proposée à la connexion pour les utilisateurs eole, eole2, ... créés à l’instance, et pour les administrateurs à droits restreints qui peuvent être créés avec la commande add_restricted_admin en dehors de la procédure d’instance.

Mise à jour

À la fin de la phase d'instanciation, la mise à jour automatique hebdomadaire est activée.

L'heure est définie aléatoirement entre 01h00 et 05h59 un des sept jours de la semaine.

Attention

Si la fréquence des tâches Schedule est personnalisée dans l'interface de configuration du module, c'est cette dernière qui prévaut et l'activation/désactivation de la mise à jour hebdomadaire via l'EAD ou la commande manage_schedule n'est plus possible.

La mise à jour permet de maintenir votre serveur avec le niveau de fonctionnalité le plus récent et surtout de bénéficier des dernières corrections. Certaines corrections peuvent combler des failles de sécurité importantes, il est donc important de les appliquer aussitôt qu'elles sont publiées.

Il est conseillé d'effectuer la mise à jour immédiatement, comme proposé à la fin de l'instance.

Une mise à jour est recommandée

Voulez-vous effectuer une mise à jour via le réseau maintenant ? [oui/non]

Les mises à jour en ligne de commande

Il est important de tenir son système à jour. Pour cela, il est possible de lancer manuellement une mise à jour.

Les commandes Maj-Auto et Query-Auto

Ces scripts sont à utiliser pour mettre à jour un module au travers d'un accès internet :

  • Maj-Auto : télécharge et installe les paquets à mettre à jour depuis le réseau ;

  • Query-Auto : télécharge et affiche la liste des paquets à mettre à jour depuis le réseau.

Sans préciser d'option, ces deux commandes affichent, téléchargent et installent des paquets stables, ils permettent également de tester (sur une machine dédiée aux tests) :

  • les paquets candidats lors de la sortie d'une version candidates avec l'option -C ;

  • les paquets de développements au fil de l'eau avec l'option -D.

Il est également possible de simuler l'installation avec l'option -n ou de seulement télécharger en cache les paquets --download.

AttentionReconfiguration

À la fin de l'exécution de la commande Maj-Auto, si des paquets ont été mis à jour, un message vous invite à reconfigurer votre serveur avec la commande reconfigure.

La reconfiguration est nécessaire car les paquets mis à jour ont copié leurs propres fichiers de configuration, le serveur est donc dans un état intermédiaire qui pourrait s'avérer instable.

Reconfigurer applique les changements venants des mises à jour tout en tenant compte de la configuration telle que définie lors de la configuration du serveur.

Remarque

La version candidate (nommée aussi RC pour Release Candidate) est une version d'EOLE qui correspond, du côté pratique, à la version stable. Elle est mise à disposition à des fins de tests de dernière minute visant à déceler les toutes dernières erreurs subsistant avant la sortie définitive de la version.

Tester les paquets candidats permet :

  • de contribuer et de participer à l'amélioration du projet ;

  • une validation par les utilisateurs des comportements attendus ;

  • de faire remonter des dysfonctionnements avant la publication définitive.

AttentionSuppression des commandes Maj-Cd et Query-Cd

Le mode d’installation des modules a évolué pour adopter la procédure d’Ubuntu.

Le CD-ROM d'installation ne contient plus les paquets spécifiques aux modules EOLE et ne peut plus servir de medium pour l'installation et la mise à jour.

Il n'est, par ailleurs, pas prévu de fournir des CD-ROM contenant les paquets d'une version donnée.

Les commandes Maj-Cd et Query-Cd ne sont donc plus proposées.

Options de mise à jour
Options communes aux scripts de mise à jour
  • -f : passer outre les autorisations Zéphir ;
  • -h : affiche l'aide ;
  • -d : mode debug ;
  • -W : génère une sortie formatée pour l'EAD[9].
Options spécifiques aux scripts Maj-Auto et Query-Auto
  • -C : force la mise à jour en version candidate pour tous les dépôts par défaut ou pour le (ex : -C envole) ou les dépôts spécifiés (ex : -C eole envole) ;
  • -D : force la mise à jour des paquets en développement pour tous les dépôts par défaut ou pour le (ex : -D envole) ou les dépôts spécifiés (ex : -D eole envole) ;
  • -S : force le site de mise à jour EOLE (ex : -S test-eole.ac-dijon.fr) ;
  • -U : force le site de mise à jour Ubuntu (ex : -U fr.archive.ubuntu.com) ;
  • -V : force le site de mise à jour Envole (ex : -V test-eole.ac-dijon.fr).
Options spécifiques au script Maj-Auto
  • -n : exécuter en mode simulation (dry run) équivaut à utiliser les commandes Query-Auto.
  • -r : exécuter reconfigure après une mise à jour réussie ;
  • -R : exécuter reconfigure après une mise à jour réussie et redémarrer si nécessaire.
Options spécifiques au script Maj-Auto
  • --download : procéder uniquement au téléchargement des paquets en cache.
Remarque

L'utilisation des options -C ou -D entraîne un avertissement et une demande de confirmation.

Toutes les options sont documentées dans les pages de manuel de chaque commande :

# man Maj-Auto

Dépôts additionnels

Il est possible de spécifier un dépôt particulier via l'onglet Dépôt tiers de l'interface de configuration du module en mode expert.

Ce dépôt sera pris en compte à chaque exécution de la commande Maj-Auto et lors des mises à jour automatiques du serveur.

Ajout de dépôts supplémentaires

Les outils Query-Auto et Maj-Auto réinitialisent systématiquement la liste des dépôts à utiliser pour les mises à jour et donc les fichiers /etc/apt/sources.list.

Pour déclarer des dépôts supplémentaires, il est possible d'ajouter des fichiers possédant l'extension .list dans le répertoire /etc/apt/sources.list.d.

En mode conteneur, chacun des conteneurs utilise son propre répertoire. Il est donc possible de mettre en place des sources différentes en fonction du conteneur.

Truc & astuce

Pour tester les dépôts ajoutés, il est possible de lancer manuellement la mise à jour des sources avec la commande :

# apt-get update

Remarque

L'ajout de dépôts supplémentaires est proposé dans l'interface de configuration du module, en mode expert, dans l'onglet Dépôt tiers.

Désactivation temporaire des mises à jour

Attention

Désactiver les mises à jour met en danger votre système. Il n'est pas recommandé de désactiver les mises à jour sauf dans certains cas et ce de manière temporaire.

Malgré les nombreux tests et la période d'incubation des paquets, il arrive parfois qu'un paquet ait un comportement inattendu, il est alors possible et souhaitable de ne pas déstabiliser l'ensemble du parc de machines. Reporter temporairement les mises à jour est l'une des solutions.

La désactivation des mises à jour peut s'effectuer de plusieurs façon :

  • désactiver la mise à jour hebdomadaire dans l'EAD ;

  • désactiver la mise à jour hebdomadaire avec Creole et eole-schedule ;

  • personnaliser la fréquence de la mise à jour dans l'interface de configuration du module, onglet Schedule ;

  • interdire les mises à jour du serveur dans le serveur Zéphir.

Installation manuelle de paquets

Il est possible d'installer manuellement des paquets :

  • pour installer des fonctionnalités additionnelles au module ;

  • pour éventuellement installer de manière sélective des mises à jour en vue de les tester.

Avant de procéder à l'installation d'un paquet, il faut s'assurer que les sources APT[24] sont configurées sur le bon type de mises à jour (stable, candidate, développement) et que la liste des paquets est à jour. Cela s'effectue avec la commande Query-Auto :

  • mises à jour stables : Query-Auto  ;

  • mises à jour candidates : Query-Auto -C  ;

  • mises à jour de développement : Query-Auto -D  ;

Ensuite il faut utiliser la commande apt-eole qui procède au téléchargement et à l'installation.

Au même titre que la commande apt-get, la commande apt-eole utilise APT[24] et permet de gérer les paquets et leurs mises à jour.

L'usage de la commande apt-eole en lieu et place de la commande apt-get est recommandée pour l'installation des paquets EOLE.

La commande apt-eole s'utilise comme apt-get :

# apt-eole install nomDuPaquet

Pour installer un paquet dans un conteneur, il faut utiliser l'option --container :

# apt-eole --container <conteneur> install nomDuPaquet

Exemple

Pour installer le paquet eole-bareos :

# apt-eole install eole-bareos

Remarque

La commande apt-eole appelle la commande apt-get avec les options adéquat (notamment les opérations install et remove) pour répondre aux besoins d'administration des modules EOLE :

  • elle n'est pas interactive pour fluidifier l'installation, le paramétrage sera de toute façon écrasé (le paramétrage demandé par le mode interactif est fait par la mécanique EOLE selon le contexte et selon les paramètres saisis dans l'interface de configuration du module) ;

  • elle permet de pouvoir gérer les paquets et les mises à jour à l'intérieur des conteneurs[17] proposés par EOLE.

Les administrateurs locaux à droits restreints

À l’instance, au moins un compte local d’administrateur à droits restreints est créés.

Ce type de compte est notamment utilisé pour accéder à l’interface d’administration EAD3.

Trois commandes sont proposées pour gérer ces comptes locaux.

list_restricted_admins

La commande list_restricted_admins retourne tous les comptes locaux appartenant au groupe adm et disposant de l’interface semi-graphique comme shell de connexion.

add_restricted_admin

La commande add_restricted_admin permet de créer un compte local appartenant aux groupes adm et mail et disposant de l’interface semi-graphique comme shell de connexion.

Remarque

À la différence de la procédure de création de comptes locaux supplémentaires à l’instance, le nom n’est pas contraint à eole suffixé d’un numéro.

del_restricted_admin

La commande del_restricted_admin permet de supprimer un compte local appartenant au groupe adm et disposant de l’interface semi-graphique comme shell de connexion.

Passage d'une version d'EOLE à une autre

Maj-Release

Le passage d'une version mineure à une autre (exemple de 2.8.0 à 2.8.1) est manuel et volontaire.

Il s'effectue par l'intermédiaire de la commande Maj-Release.

Il s'apparente à une grosse mise à jour car il n'implique pas de changement de la version d'Ubuntu utilisée en tant que base du module EOLE.

Remarque

Consulter le manuel de la commande pour voir toutes les options :

# man Maj-Release

Upgrade-Auto

Le passage d'une version majeure à la suivante (exemple de 2.8.1 à 2.9.0) est manuel et volontaire.

Il s'effectue par l'intermédiaire de la commande Upgrade-Auto.

Remarque

Consulter le manuel de la commande pour voir toutes les options :

# man Upgrade-Auto

Passage d'une version RC à une version stable

Avant d'être publiée en version RC, la distribution Linux EOLE subit de nombreux tests.

Aussi, elle ne contient plus aucun changement qui ne peuvent être résolus par mise à jour.

Il est donc possible d'installer une version EOLE RC, de la tester, de l'utiliser et de la mettre à jour pour être au même niveau de mise à jour que la version stable une fois que cette dernière version est publiée.

La mise à jour s'effectue avec la commande Maj-Auto.

Remarque

Les versions RC portent un numéro, il signifie uniquement qu'une image ISO a été re-générée, un nombre conséquent de paquets ont été recompilés et cela évite une trop grosse mise à jour.

Les rôles sur le module AmonEcole

L'EAD est accessible :

  • en authentification locale aux utilisateurs root et eole ;
  • en authentification SSO au compte admin ainsi qu'à tous les personnels enseignant et administratif.

En fonction de l'utilisateur un rôle différent peut être appliqué. À chaque rôle est affecté différentes actions.

Dans le cadre du module AmonEcole, les rôles importants sont les suivants :

  • administrateur : accès à toutes les actions (ex. redémarrage des services, mise à jour du serveur, création et affectation des rôle aux autres utilisateurs, etc.) ;

  • professeur : modification des préférences personnelles, distribution de devoirs et gestion des files d'impression CUPS ;

  • responsable de classe : en plus des actions "professeur", peut ré-initialiser le mot de passe des élèves des classes dont il est responsable ;

  • administratif dans Scribe ;

  • administrateur du Scribe ;

  • administrateur de l'Amon.

Truc & astuce

Il est possible de créer davantage de rôles ayant accès à diverses actions afin, par exemple, de donner le droit à un professeur de pouvoir redémarrer un groupe de services en plus de ses autorisations de base.

Accès "Administrateur"

Par défaut, les utilisateurs admin, root et eole ont accès à toutes les fonctions.

L'accès avec les utilisateurs root et eole s'effectue en utilisant l'authentification locale.

Accès "Professeur"

Un enseignant dispose d'actions lui permettant de :

  • configurer ses préférences personnelles ;
  • distribuer des documents ;
  • gérer les imprimantes.
l'EAD pour un professeur
l'EAD pour un professeur

L'item Préférences permet à un utilisateur de :

  • modifier son mot de passe ;

    EAD vue enseignant avec thème Envole, changement de mot de passe
    EAD vue enseignant avec thème Envole, changement de mot de passe
  • s'inscrire/se désinscrire d'un groupe ;

    EAD vue enseignant avec thème Envole, gestion des groupes
    EAD vue enseignant avec thème Envole, gestion des groupes
  • renseigner/modifier son adresse mail.

    EAD vue enseignant avec thème Envole, changement d'adresse électronique
    EAD vue enseignant avec thème Envole, changement d'adresse électronique

    L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.

Accès "responsable de classe"

Un professeur peut être défini responsable de classe par l'administrateur. Il obtient alors quelques actions lui permettant d'administrer les classes dont il est responsable. Cela permet à l'administrateur de déléguer certaines actions comme :

  • la ré-initialisation du mot de passe d'un élève ;

  • l'appartenance d'un élève à un groupe ;

  • la création d'un groupe ;

  • etc.

ComplémentLes fonctions disponibles :

  • préférences personnelles ;

  • distribution de devoirs ;

  • gestion des imprimantes (CUPS) ;

  • création de groupe ;

  • ajout/modification/suppression des élèves dans la/les classe(s) dont il est responsable ;

  • édition groupée sur les membres de la/les classe(s) dont il est responsable.

l'EAD pour un responsable de classe
l'EAD pour un responsable de classe

Remarque

Un professeur peut être responsable de plusieurs classes.

Une classe peut se voir affecter plusieurs responsables.

Attention

Le responsable de classe n'est pas membre du groupe et n'a pas accès aux partages des classes dont il est responsable, pour cela il doit être ajouté à l'équipe pédagogique.

Accès "Administratif du Scribe"

Les personnels administratifs possédant un compte sur le module ont accès à leurs préférences personnelles et à la gestion des imprimantes.

L'item Préférences permet à un utilisateur de :

  • modifier son mot de passe ;

    EAD vue enseignant avec thème Envole, changement de mot de passe
    EAD vue enseignant avec thème Envole, changement de mot de passe
  • s'inscrire/se désinscrire d'un groupe ;

    EAD vue enseignant avec thème Envole, gestion des groupes
    EAD vue enseignant avec thème Envole, gestion des groupes
  • renseigner/modifier son adresse mail.

    EAD vue enseignant avec thème Envole, changement d'adresse électronique
    EAD vue enseignant avec thème Envole, changement d'adresse électronique

    L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.

Accès "Administrateur du Scribe"

Sur un module AmonEcole, le rôle "Administrateur du Scribe" (admin_scribe) permet de déléguer à un utilisateur les fonctionnalités EAD propres au module Scribe.

ComplémentFonctionnalités Scribe

L'EAD du module Scribe, dans son mode le plus complet, présente les fonctionnalités suivantes :

  • distribution de devoirs et de documents ;

  • création/gestion des utilisateurs, des groupes et des partages ;

  • configuration et gestion des imprimantes (CUPS) ;

  • importation CSV/SIECLE/AAF/ONDES ;

  • gestion des ACL ;

  • gestion des quotas disque ;

  • gestion des listes de diffusion ;

  • test de la bande passante du serveur ;

  • modification du mode de visualisation des postes élèves ;

  • consultation de l'historique des connexions ;

  • envoi d'un message aux utilisateurs connectés ;

  • extinction/redémarrage/fermeture de session sur les postes clients ;

  • gestion des comptes de machine ;

  • paramétrage et programmation des sauvegardes du serveur ;

  • redémarrage des services ;

  • mise à jour ;

  • arrêt/redémarrage du serveur ;

  • gestion des rôles EAD.

Accès "Administrateur de l'Amon"

Sur un module AmonEcole, le rôle "Administrateur de l'Amon" (admin_amon) permet de déléguer à un utilisateur les fonctionnalités EAD propres au module Amon.

ComplémentFonctionnalités Amon

L'EAD du module Amon, dans son mode le plus complet, présente les fonctionnalités suivantes :

  • activation/désactivation de règles de pare-feu (directives optionnelles) ;

  • gestion d'exceptions de cache et d'authentification proxy ;

  • gestion des options du filtrages web pour les différentes instances, politiques et groupes ;

  • test de la bande passante du serveur ;

  • consultation des statistiques du proxy ;

  • redémarrage des services ;

  • mise à jour ;

  • arrêt/redémarrage du serveur ;

  • gestion des rôles EAD.

Fonctionnalités de l'EAD propres au module AmonEcole

Les rôles sur le module AmonEcole

L'EAD est accessible :

  • en authentification locale aux utilisateurs root et eole ;
  • en authentification SSO au compte admin ainsi qu'à tous les personnels enseignant et administratif.

En fonction de l'utilisateur un rôle différent peut être appliqué. À chaque rôle est affecté différentes actions.

Dans le cadre du module AmonEcole, les rôles importants sont les suivants :

  • administrateur : accès à toutes les actions (ex. redémarrage des services, mise à jour du serveur, création et affectation des rôle aux autres utilisateurs, etc.) ;

  • professeur : modification des préférences personnelles, distribution de devoirs et gestion des files d'impression CUPS ;

  • responsable de classe : en plus des actions "professeur", peut ré-initialiser le mot de passe des élèves des classes dont il est responsable ;

  • administratif dans Scribe ;

  • administrateur du Scribe ;

  • administrateur de l'Amon.

Truc & astuce

Il est possible de créer davantage de rôles ayant accès à diverses actions afin, par exemple, de donner le droit à un professeur de pouvoir redémarrer un groupe de services en plus de ses autorisations de base.

Accès "Administrateur"

Par défaut, les utilisateurs admin, root et eole ont accès à toutes les fonctions.

L'accès avec les utilisateurs root et eole s'effectue en utilisant l'authentification locale.

Accès "Professeur"

Un enseignant dispose d'actions lui permettant de :

  • configurer ses préférences personnelles ;
  • distribuer des documents ;
  • gérer les imprimantes.
l'EAD pour un professeur
l'EAD pour un professeur

L'item Préférences permet à un utilisateur de :

  • modifier son mot de passe ;

    EAD vue enseignant avec thème Envole, changement de mot de passe
    EAD vue enseignant avec thème Envole, changement de mot de passe
  • s'inscrire/se désinscrire d'un groupe ;

    EAD vue enseignant avec thème Envole, gestion des groupes
    EAD vue enseignant avec thème Envole, gestion des groupes
  • renseigner/modifier son adresse mail.

    EAD vue enseignant avec thème Envole, changement d'adresse électronique
    EAD vue enseignant avec thème Envole, changement d'adresse électronique

    L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.

Accès "responsable de classe"

Un professeur peut être défini responsable de classe par l'administrateur. Il obtient alors quelques actions lui permettant d'administrer les classes dont il est responsable. Cela permet à l'administrateur de déléguer certaines actions comme :

  • la ré-initialisation du mot de passe d'un élève ;

  • l'appartenance d'un élève à un groupe ;

  • la création d'un groupe ;

  • etc.

ComplémentLes fonctions disponibles :
  • préférences personnelles ;

  • distribution de devoirs ;

  • gestion des imprimantes (CUPS) ;

  • création de groupe ;

  • ajout/modification/suppression des élèves dans la/les classe(s) dont il est responsable ;

  • édition groupée sur les membres de la/les classe(s) dont il est responsable.

l'EAD pour un responsable de classe
l'EAD pour un responsable de classe
Remarque

Un professeur peut être responsable de plusieurs classes.

Une classe peut se voir affecter plusieurs responsables.

Attention

Le responsable de classe n'est pas membre du groupe et n'a pas accès aux partages des classes dont il est responsable, pour cela il doit être ajouté à l'équipe pédagogique.

Accès "Administratif du Scribe"

Les personnels administratifs possédant un compte sur le module ont accès à leurs préférences personnelles et à la gestion des imprimantes.

L'item Préférences permet à un utilisateur de :

  • modifier son mot de passe ;

    EAD vue enseignant avec thème Envole, changement de mot de passe
    EAD vue enseignant avec thème Envole, changement de mot de passe
  • s'inscrire/se désinscrire d'un groupe ;

    EAD vue enseignant avec thème Envole, gestion des groupes
    EAD vue enseignant avec thème Envole, gestion des groupes
  • renseigner/modifier son adresse mail.

    EAD vue enseignant avec thème Envole, changement d'adresse électronique
    EAD vue enseignant avec thème Envole, changement d'adresse électronique

    L'adresse de courrier électronique est renseignée dans l'annuaire, elle est utilisée, par exemple, par les listes de diffusion.

Accès "Administrateur du Scribe"

Sur un module AmonEcole, le rôle "Administrateur du Scribe" (admin_scribe) permet de déléguer à un utilisateur les fonctionnalités EAD propres au module Scribe.

ComplémentFonctionnalités Scribe

L'EAD du module Scribe, dans son mode le plus complet, présente les fonctionnalités suivantes :

  • distribution de devoirs et de documents ;

  • création/gestion des utilisateurs, des groupes et des partages ;

  • configuration et gestion des imprimantes (CUPS) ;

  • importation CSV/SIECLE/AAF/ONDES ;

  • gestion des ACL ;

  • gestion des quotas disque ;

  • gestion des listes de diffusion ;

  • test de la bande passante du serveur ;

  • modification du mode de visualisation des postes élèves ;

  • consultation de l'historique des connexions ;

  • envoi d'un message aux utilisateurs connectés ;

  • extinction/redémarrage/fermeture de session sur les postes clients ;

  • gestion des comptes de machine ;

  • paramétrage et programmation des sauvegardes du serveur ;

  • redémarrage des services ;

  • mise à jour ;

  • arrêt/redémarrage du serveur ;

  • gestion des rôles EAD.

Accès "Administrateur de l'Amon"

Sur un module AmonEcole, le rôle "Administrateur de l'Amon" (admin_amon) permet de déléguer à un utilisateur les fonctionnalités EAD propres au module Amon.

ComplémentFonctionnalités Amon

L'EAD du module Amon, dans son mode le plus complet, présente les fonctionnalités suivantes :

  • activation/désactivation de règles de pare-feu (directives optionnelles) ;

  • gestion d'exceptions de cache et d'authentification proxy ;

  • gestion des options du filtrages web pour les différentes instances, politiques et groupes ;

  • test de la bande passante du serveur ;

  • consultation des statistiques du proxy ;

  • redémarrage des services ;

  • mise à jour ;

  • arrêt/redémarrage du serveur ;

  • gestion des rôles EAD.

Groupes et utilisateurs

Groupes

Un groupe est un ensemble d'utilisateurs (professeurs, personnels administratif ou élèves) pouvant avoir accès à un partage, à des applications web et/ou à des listes de diffusion.

Types de groupe

Il existe six types de groupe :

  • niveau, regroupe les élèves d'un niveau (Exemple : 3eme) ;

  • classe, regroupe les élèves d'une classe (un groupe de type équipe pédagogique profs-<classe>  est automatiquement créé) ;

  • option, regroupe les élèves d'une option (un groupe de type équipe pédagogique profs-<option>  est automatiquement créé) ;

  • matière, regroupe les professeurs d'une même matière (Exemple : higeo) ;

  • service, regroupe les personnels administratifs d'un même service ;

  • groupe de travail, permet de créer tout autre groupe thématique d'élèves et/ou de professeurs et/ou de personnels administratif .

Remarque

Il existe un mode multi-établissement qui permet de n'avoir qu'un seul module Scribe pour gérer plusieurs établissements. Dans ce mode un type de groupe supplémentaire nommé Établissement existe et se gère comme un nouveau type de groupe.

Partages

Un partage est un espace disque accessible par plusieurs utilisateurs permettant de stocker des documents communs.

En général, les enseignants et les personnels administratifs ont les droits de lecture/écriture sur tous les partages auxquels ils ont accès.

Pour les élèves, il existe trois modèles de partage :

  • lecture seule ;

  • lecture/écriture ;

  • données/travail : c'est un partage (en lecture seule) avec un sous répertoires donnees (en lecture seule) et travail (en lecture/écriture).

Les droits peuvent ensuite être affinés grâce à la mise en place de droits appelés ACL[25].

Listes de publipostage

Une liste de publipostage est une méthode de diffusion de courrier électronique, dans laquelle les abonnés de la liste peuvent envoyer des messages qui seront diffusés à tous les membres.

Trois listes existent systématiquement sur le module :

  • liste professeurs (ex. professeurs@i-etabtest.ac-dijon.fr)

  • liste élèves (ex. eleves@i-etabtest.ac-dijon.fr)

  • liste personnels administratif : administratifs@i-etabtest.ac-dijon.fr)

Lorsqu'une importation de comptes est effectuée, des listes de publipostage associées aux groupes sont créées :

  • par classe (ex. 3e2@i-etabtest.ac-dijon.fr)

  • par niveau (ex. 3eme@i-etabtest.ac-dijon.fr)

  • par équipe pédagogique (ex. profs-3e2@i-etabtest.ac-dijon.fr)

  • par option (ex. 3all1g1@i-etabtest.ac-dijon.fr)

  • par matière (ex. histgeo@i-etabtest.ac-dijon.fr)

  • par service administratif (ex. compta@i-etabtest.ac-dijon.fr)

  • par responsables des élèves d'une classe (ex. resp-3e2@i-etabtest.ac-dijon.fr)

Lors de la création d'une nouvelle liste, il y a deux possibilités :

  • les listes restreintes ;
  • les listes internet.

Il est possible d'envoyer des mail à la liste de publipostage depuis l'extérieur dans le cas de la liste Internet mais pas dans le cas de la liste restreinte.

Attention

Cette restriction doit être configurée sur le relai mail académique.

Remarque

Il n'y a pas de lien entre le domaine restreint et les listes restreintes. Le choix du type des adresses mail n'influence en rien le type des listes.

Des listes statiques peuvent être créées à partir de l'interface web de Sympa indépendamment de celles générées automatiquement.

Dans l'EAD, les listes associées aux groupes sont des listes dynamiques.

Pour personnaliser les listes dynamiques, il est également nécessaire de passer par l'interface web de Sympa.

Création de groupes

Pour créer un groupe de type niveau, classe, option, matière, service ou un groupe de travail, il suffit d'aller dans le menu Gestion/Groupes/Création de groupe de l'EAD et de choisir le type désiré.

Création d'un niveau

Pour créer un niveau, il faut choisir son nom, son libellé (facultatif) et si on lui associe une liste de publipostage.

Puis cliquer sur valider .

Création d'un niveau dans l'EAD
Création d'un niveau dans l'EAD
Remarque

Lors de l'importation, les niveaux sont créés avec une liste de publipostage sur le domaine restreint.

En mode multi-établissement, il faut également choisir l'établissement auquel le niveau doit être rattaché.

Création d'une classe

Pour créer une classe, il faut choisir son nom, son libellé (facultatif), le niveau associé et son type de liste de publipostage.

Puis cliquer sur valider .

Création d'une classe dans l'EAD
Création d'une classe dans l'EAD

Les groupes de type classe sont créés obligatoirement avec un partage de type données/travail et une liste de publipostage dont on doit choisir le type.

Les classes sont obligatoirement associés à un niveau.

La création d'une classe crée automatiquement un groupe de type équipe pédagogique profs-<classe>.

Remarque

À la création d'une classe, le groupe équipe pédagogique associé, son partage et les listes de publipostage (classe, équipe pédagogique et responsables légaux de la classe) sont créés automatiquement.

Un professeur est associé à une ou plusieurs équipes pédagogiques alors qu'un élève ne pourra être associé qu'à une classe.

En mode multi-établissement, la classe est automatiquement associée à l'établissement auquel est rattaché son niveau.

Liste de publipostage

À la création d'une classe, les listes de publipostage lié à la classe sont créés automatiquement :

  • une liste pour la classe (xxxx@) ;
  • une liste pour les profs (prof-xxxx@) ;
  • une liste pour les responsables (resp-xxxx@).

Il est possible de choisir entre deux options :

  • domaine restreint (conseillé) qui va créer :

    • une liste en domaine restreint pour la classe (xxxx@i-domaine) ;
    • une liste en domaine restreint pour les profs (prof-xxxx@i-domaine) ;
    • une liste en domaine restreint pour les responsables (resp-xxxx@i-domaine) qui aura le même domaine que la liste de classe (contrairement à celle des profs).
  • internet qui va créer :

    • une liste internet pour la classe (xxxx@domaine) ;
    • une liste en domaine restreint pour les profs (prof-xxxx@i-domaine) ;
    • une liste internet pour les responsables (resp-xxxx@domaine).
Le partage de l'équipe pédagogique

Un partage "équipe pédagogique" contient les deux éléments suivants :

  • le sous-répertoire "classe" : correspond au partage classe accessible par les élèves ;
  • le sous-répertoire "eleves" : permet d'accéder à l'espace personnel de chaque élève de la classe, afin éventuellement de contrôler son travail. Le sous-répertoire "prive" n'est pas accessible aux professeurs. Il permet de garantir à l'élève un espace réellement personnel.

Les données spécifiques à l'équipe pédagogique doivent être placées à la racine du partage, mais il est tout à fait possible d'y créer un sous-répertoire, nommé par exemple "equipe", afin d'éviter toute confusion.

Partage d'une équipe pédagogique
Partage d'une équipe pédagogique
Création d'une option

Une option correspond à un sous-groupe d'élève suivant généralement un ou plusieurs cours ensemble.

Pour créer une option, il faut choisir son nom, son libellé (facultatif) et si on lui associe une liste de publipostage.

Puis cliquer sur valider .

Création d'une option dans l'EAD
Création d'une option dans l'EAD

La création d'une option crée automatiquement un groupe de type équipe pédagogique profs-<option>.

Remarque

Les groupes de type option sont créés obligatoirement avec un partage de type données/travail.

Lors d'une importation, les options correspondent à la notion de Groupe dans SIECLE.

En mode multi-établissement, il faut également choisir l'établissement auquel l'option doit être rattachée.

A la création d'une option, l'équipe pédagogique associée est créée automatiquement.

Un élève peut être associé à plusieurs options.

La liste de publipostage de l'équipe pédagogique n'est pas créée automatiquement mais elle peut être ajoutée ultérieurement.

Le partage "équipe pédagogique" d'une option fonctionne de la même manière que celui d'une classe.

Création d'un matière

Pour créer une matière, il faut choisir son nom, son libellé (facultatif) et si on lui associe un partage et/ou une liste de publipostage.

Puis cliquer sur valider .

Création d'une matière dans l'EAD
Création d'une matière dans l'EAD

Lors de l'importation, les matières sont créées avec un partage en lecture/écriture pour ses membres et une liste de publipostage sur le domaine restreint.

Un professeur a accès aux partages des matières qu'il enseigne.

A sa création, le partage est vide. Les professeurs peuvent donc l'organiser à leur guise.

Remarque

En mode multi-établissement, il faut également choisir l'établissement auquel la matière doit être rattachée.

Création d'un service administratif

Pour créer une service administratif, il faut choisir son nom, son libellé (facultatif) et si on lui associe un partage et/ou une liste de publipostage.

Puis cliquer sur valider .

Création d'un service administratif dans l'EAD
Création d'un service administratif dans l'EAD

Lors de l'importation, les services administratifs sont créés avec un partage en lecture/écriture pour ses membres et une liste de publipostage sur le domaine restreint.

Remarque

En mode multi-établissement, il faut également choisir l'établissement auquel le service doit être rattaché.

Création d'un groupe de travail

Pour créer un groupe de travail, il faut choisir son nom, son libellé (facultatif) et si on lui associe un partage et/ou une liste de publipostage.

Puis cliquer sur valider .

Création d'un groupe de travail dans l'EAD
Création d'un groupe de travail dans l'EAD
Remarque

En mode multi-établissement, il faut également choisir l'établissement auquel le groupe de travail doit être rattaché.

Création d'un établissement

En mode multi-établissement, les nouveaux établissements doivent être déclarés dans l'EAD.

Pour créer un établissement, il faut choisir son nom, son libellé (facultatif) et si on lui associe un partage et/ou une liste de publipostage.

Puis cliquer sur valider .

Création d'un établissement dans l'EAD
Création d'un établissement dans l'EAD
Attention

Il n'est pas possible de renommer un groupe.

Peuplement des groupes
Ajouter un utilisateur à un groupe

La gestion des groupes d'un utilisateur est disponible dans la fiche utilisateur.

Celle-ci apparaît lorsque l'on édite l'utilisateur via les menus Gestion / Utilisateurs / Recherche d'utilisateur puis cliquer sur Éditer.

La fiche utilisateur peut aussi être atteinte en passant par la recherche de groupes même si le cheminement est plus long : Gestion / Groupes / Recherche de groupe / Lister des groupes, choisir le type de groupe (niveau, matière, groupe…). Dans la liste de groupe affichée, cliquez sur Membres pour afficher les utilisateurs appartenant au groupe sélectionné puis cliquez sur Éditer.

L'ajout de l'utilisateur à un ou à plusieurs groupes s'effectue dans la partie Groupes de la fiche utilisateur. L'ajout est effectif après avoir cliqué sur Valider .

Remarque

Il n'est pas possible de supprimer un élève de sa classe mais il est possible de changer un élève de classe.

Cette manipulation se fait par la liste déroulante Classe, il faut choisir une autre classe et cliquer sur Valider.

Inscription groupée

L'inscription simultanée d'utilisateurs à un groupe de travail ou à une option se fait par le menu Gestion/Edition groupée.

Il faut rechercher les utilisateurs suivant différents critères.

Ensuite, il faut cliquer sur le bouton Inscrire ces utilisateurs à d'autres groupes, choisir le groupe et Valider.

L'inscription groupée
L'inscription groupée
Remarque

Seuls les élèves sont concernés par l'inscription à un groupe option.

Suppression de groupes et d'appartenance à un groupe
Supprimer l'appartenance d'un utilisateur à un groupe

La gestion des groupes d'un utilisateur est disponible dans la fiche utilisateur.

Celle-ci apparaît lorsque l'on édite l'utilisateur via les menus Gestion / Utilisateurs / Recherche d'utilisateur puis cliquer sur Éditer.

La fiche utilisateur peut aussi être atteinte en passant par la recherche de groupes même si le cheminement est plus long : Gestion / Groupes / Recherche de groupe / Lister des groupes, choisir le type de groupe (niveau, matière, groupe…). Dans la liste de groupe affichée, cliquez sur Membres pour afficher les utilisateurs appartenant au groupe sélectionné puis cliquez sur Éditer.

La suppression de l'utilisateur d'un ou de plusieurs groupes s'effectue dans la partie Groupes de la fiche utilisateur. La suppression n'est effectif qu'après avoir cliqué sur Valider .

Remarque

Il n'est pas possible de supprimer un élève de sa classe mais il est possible de changer un élève de classe.

Cette manipulation se fait par la liste déroulante Classe, il faut choisir une autre classe et cliquer sur Valider.

Suppression de groupes

Pour supprimer un groupe, il faut auparavant le sélectionner via le menu Gestion / Groupes / Recherche de groupe / Lister les groupes.

Il est possible de choisir le type de groupe (niveau, matière, groupe…) et/ou éventuellement d'autres critères (partie du nom, vide ou non) afin de limiter le nombre de résultats affichés.

Une fois que le groupe souhaité apparaît dans la liste des groupes affichés, il faut cliquer sur le lien Supprimer ce groupe qui lui est associé.

Lien vers la suppression d'un groupe
Lien vers la suppression d'un groupe

La suppression devra ensuite être confirmée en cliquant sur Valider .

Ecran de confirmation pour la suppression d'un groupe
Ecran de confirmation pour la suppression d'un groupe

La suppression des répertoires associés est pré-cochée.

Si vous choisissez de conserver les répertoires, les partages seront déplacés dans /home/recyclage/<année>/workgroups

Remarque

Une classe pourra être supprimée uniquement si elle ne contient plus d'élèves.

Un niveau pourra être supprimé uniquement si plus aucune classe ne lui est associée.

La suppression d'une classe ou d'une option entraîne la suppression de l'équipe pédagogique associée.

Un groupe de type groupe peut être supprimé même si des utilisateurs lui sont encore associés.

Attention

Le dossier /home/recyclage/ peut grossir assez vite.

Groupes spéciaux
Présentation
DomainAdmins

Les membres du groupe DomainAdmins sont des utilisateurs privilégiés sur le domaine.

Ils ont :

  • les droits d'administrateurs locaux des postes clients ;
  • la possibilité de joindre les postes Windows au domaine ;
  • un accès à l'ensemble des partages.
Attention

Il est fortement déconseillé d'inscrire l'ensemble des professeurs au groupe DomainAdmins .

Cela leur donnera un accès en lecture et en écriture sur tous les partages, y compris sur les répertoires personnels de tous les utilisateurs (admin inclus).

PrintOperators

Les membres du groupe PrintOperators sont des administrateurs pour les imprimantes.

Ils peuvent :

- installer les pilotes d'impression sur le serveur Samba ;

- installer et configurer les imprimantes dans CUPS.

Ajouter/supprimer un utilisateur à un groupe spécial

Seuls les professeurs et les personnels administratifs peuvent être ajoutés aux groupes spéciaux.

Il est possible de les ajouter ou de les supprimer à la création ou à la modification de l'utilisateur.

Gestion des groupes spéciaux d'un utilisateur
Gestion des groupes spéciaux d'un utilisateur

Utilisateurs

Il existe cinq types d'utilisateurs  : les élèves, les professeurs, les personnels administratifs, les responsables légaux et les invités.

Pour chaque type, les informations demandées et les options disponibles sont différentes.

On peut regrouper les utilisateurs en deux catégories principales : les utilisateurs locaux et les utilisateurs externes.

Utilisateurs locaux

Les utilisateurs locaux sont ceux ayant accès au domaine local (partage de fichiers) ce sont :

  • les élèves ;
  • les professeurs ;
  • les personnels administratifs.

Pour les utilisateurs locaux, il est possible de définir des quotas disque représentants la taille maximale de données que l'utilisateur peut créer sur le système de fichiers.

Pour les élèves et les professeurs, il est possible de définir une date d'expiration de compte.

Utilisateurs externes

Les utilisateurs externes sont ceux dont le compte ne donne accès qu'au portail et à une sélection d'applications web.

Ce sont :

  • les responsables légaux ;
  • les titulaires de comptes "invités".
Création de comptes utilisateurs
Création d'un compte élève

Avant de pouvoir créer un élève il est indispensable qu'au moins un niveau et une classe aient été préalablement créés.

Création d'un compte élève dans l'EAD
Création d'un compte élève dans l'EAD
Remarque

Depuis le remplacement de BE1D par ONDE, l'INE[26] est disponible dans les fichiers exportés ce qui permet de retrouver les élèves plus facilement.

Remarque

Depuis la version AAF-VE1803, l'INE[26] est présent dans les fichiers exportés depuis AAF. Il est pris en compte par la procédure d'importation à partir de la version 2.5.2 d'EOLE.

Domaine mail restreint et domaine mail Internet

Il est possible de choisir entre deux domaines de messagerie pour les élèves :

  • une adresse dans le domaine restreint : n'autorise l'envoi et la réception de courrier que depuis et vers une adresse située dans le même domaine académique que le domaine de la messagerie Scribe (voir Nom de domaine de la messagerie de l'établissement dans l'interface de configuration du module).

    Par exemple si votre domaine de messagerie Scribe est etab.ac-acad.fr, les utilisateurs ayant un compte mail dans le domaine restreint ne pourront envoyer ou recevoir que du courrier à destination ou en provenance d'adresses mail se terminant par ac-acad.fr (élèves et enseignant d'un même établissement ou de la même académie) ;

  • une adresse dans le domaine Internet : autorise l'envoi et la réception de courrier depuis et vers n'importe quelle adresse.

Mode multi-établissement

Il existe un mode multi-établissement qui permet de n'avoir qu'un seul module Scribe pour gérer plusieurs établissements. Dans ce mode l'élève est automatiquement rattaché à l'établissement associé à sa classe.

Création d'un compte professeur

Un professeur peut utiliser son adresse mail académique afin de communiquer avec les utilisateurs Scribe.

Cette adresse sera aussi utilisée dans les listes de diffusion auto-générées (équipe pédagogique, matière, niveau, etc.).

Le professeur peut se connecter à l'EAD avec son propre login pour modifier ses préférences.

Il peut notamment modifier son adresse mail.

Création d'un compte enseignant dans l'EAD
Création d'un compte enseignant dans l'EAD
Remarque

En mode multi-établissement, il faut également choisir l'établissement associé à l'utilisateur.

Création d'un compte personnel administratif

Tout comme les professeurs, les personnels administratifs peuvent soit renseigner une adresse mail externe, soit choisir une boite mail locale.

Création d'un compte personnel administratif dans l'EAD
Création d'un compte personnel administratif dans l'EAD
Remarque

En mode multi-établissement, il faut également choisir l'établissement associé à l'utilisateur.

Création d'un compte responsable légal

La création d'un compte responsable légal nécessite de connaître l'identifiant (login) d'au moins un des élèves dont il a la responsabilité.

Les responsables légaux peuvent obtenir une adresse mail locale s'ils en font la demande.

Le remplissage des renseignements personnels permettra par la suite de fournir ces informations à d'autres applications (logiciel de suivi scolaire...).

Le champ Adresse est multi-lignes à partir de la version 2.5.2 du module.

Création d'un compte responsable légal dans l'EAD
Création d'un compte responsable légal dans l'EAD
Remarque

En mode multi-établissement, les responsables légaux peuvent être associés à des élèves appartenant aux différents établissements déclarés.

Création d'un compte invité

Les comptes invités permettent d'offrir un accès à certaines applications et éventuellement une boite aux lettres à des personnes extérieures à l'établissement.

Création d'un compte invité dans l'EAD
Création d'un compte invité dans l'EAD
Remarque

En mode multi-établissement, les comptes invités sont obligatoirement rattachés à l'établissement principal.

Gestion des comptes utilisateurs

Pour sélectionner un compte utilisateur, il faut auparavant le sélectionner via le menu Gestion/Utilisateurs/Recherche d'utilisateur de l'EAD.

Il faut choisir judicieusement les critères de recherche afin de limiter le nombre de résultats affichés et cliquer sur Lister .

Les utilisateurs apparaissent alors

Résultat d'une recherche d'utilisateurs
Résultat d'une recherche d'utilisateurs
Modification du mot de passe d'un utilisateur

Pour accéder au formulaire de modification de mot de passe, il faut cliquer sur le lien Changer le mot de passe associé à l'utilisateur affiché dans la liste.

Le formulaire de modification de mot de passe
Le formulaire de modification de mot de passe
Attention

Avec le passage en mode Active Directory, les mots de passe faibles, tels que la date de naissance, ne sont plus acceptés. Il faut au minimum 8 caractères de 3 classes de caractères différentes.

Extraction des mots de passe provisoires des élèves

À partir de la version 2.8.1, un formulaire permet d'exporter les identifiants temporaires générés lors de l'importation automatisée des comptes.

Le formulaire permettant l’export des identifiants provisoires est accessible via un lien en tête du listing des élèves, obtenu comme décrit précédemment.

Ce lien active l’affichage du formulaire composé d’une unique liste déroulante laissant le choix de la destination d’extraction. L’opération d’export est déclenchée en cliquant sur Valider.

L’opération d’export se base sur la liste des élèves sélectionnés dont elle extrait ceux qui disposent encore du mot de passe provisoire défini lors de l’import automatisé. Ainsi, les identifiants provisoires exportés concernent uniquement les élèves dont le mot de passe n’a pas déjà été modifié, soit à la première connexion, soit par une autre procédure.

Une sélection d'élèves peut être répartie sur plusieurs classes.

Les identifiants provisoires exportés sont toujours regroupés par classe pour en faciliter la communication.

À la fin de l’opération d’export, une fenêtre modale s’affiche avec un résumé du résultat. Le résultat peut être un succès complet ou un échec plus ou moins partiel.

Trois choix sont possibles pour l’exportation :

  • Administrateurs de la classe : exportation dans des fichiers copiés dans un sous-répertoire des dossiers personnels des administrateurs des classes concernées ;
  • Soi-même : exportation dans des fichiers copiés dans un sous-répertoire du dossier personnel de l'administrateur effectuant l’export (connecté à l’EAD) ;
  • À l’écran : affichage à l’écran.

Dans le cas de l’export vers les dossiers des administrateurs des classes concernées (Administrateurs de la classe), les identifiants provisoires sont écrits dans un fichier par classe. Chaque fichier est copié dans un emplacement accessible aux administrateurs des classes pour leur permettre d’en communiquer le contenu aux élèves concernés.

Un rapport complet des opérations est également affiché à la suite du formulaire, une fois l'opération achevée et la fenêtre modale fermée.

Le résultat de l’opération, par classe, peut être un succès (un fichier par classe est créé dans le répertoire des administrateurs de classe concernés) ou un échec (la classe n’a pas d’administrateur déclaré).

Dans le cas de l’export vers le dossier de l’administrateur effectuant l’opération (Soi-même), les identifiants provisoires sont écrits dans un fichier par classe. Tous les fichiers créés sont copiés dans un emplacement accessible à l’administrateur qui à déclenché l ’export.

Un rapport complet des opérations est également affiché à la suite du formulaire, une fois l'opération achevée et la fenêtre modale fermée.Le résultat de l’opération, par classe, peut être un succès (un fichier par classe est créé dans le répertoire des administrateurs de classe concernés) ou un échec (l’emplacement de copie par défaut n’est pas accessible). Contrairement à la méthode précédente, les identifiants provisoires des élèves d’une classe sans administrateur déclaré sont bien exportés.

Dans le cas de l’affichage à l’écran (À l’écran), les identifiants provisoires sont affichés directement à l’écran une fois la fenêtre modale fermée. Les identifiants sont regroupés par classe.

Attention

L’export n’est opérant que si la sélection comporte des élèves mais n’est toutefois pas désactivé si ce n’est pas le cas.

Dans ce cas, la tentative d'accéder au formulaire d'export se traduit par une erreur.

Édition d'un compte utilisateur

Pour accéder à la fenêtre d'édition d'un utilisateur, il faut cliquer sur le lien Editer associé à l'utilisateur affiché dans la liste.

Edition d'un compte personnel administratif
Edition d'un compte personnel administratif
Suppression d'un compte utilisateur

Pour supprimer un compte utilisateur, il faut cliquer sur le lien Supprimer associé à l'utilisateur affiché dans la liste.

La suppression devra ensuite être confirmée.

Ecran de confirmation pour la suppression d'un utilisateur
Ecran de confirmation pour la suppression d'un utilisateur

Si la case associée à la suppression des données de l'utilisateur est décochée :

  • ses données (perso) seront déplacés dans /home/recyclage/<année>/<lettre>/<login>;
  • ses messages électroniques (mailDir) seront déplacés dans /home/recyclage/<année>/<mail>/<login>.

Sinon elles seront supprimées définitivement.

Remarque

Si tous les élèves d'un responsable ont été supprimés, celui-ci doit l'être également.

AttentionSuppression d'un compte unique

Les comptes utilisateurs AD ne sont pas supprimés par la synchronisation en temps réel qui se contente uniquement de les désinscrire de tous leurs groupes autres que Domain Users.

Seule une synchronisation complète permet le nettoyage des comptes supprimés.

La synchronisation complète est exécutée toutes les nuits.

Attention

Le dossier /home/recyclage/ peut grossir assez vite.

L'édition groupée

L'édition groupée, disponible par le menu Gestion/Edition groupée de l'EAD permet d'effectuer des modifications sur des sélections d'utilisateurs.

Un outil de recherche (semblable à celui de l'outil Recherche d'utilisateur) permet de réaliser une présélection des utilisateurs à modifier

La sélection peut ensuite être affinée par l'utilisation des cases à cocher et des boutons Tous et Aucun.

Actions disponibles dans l'édition groupée
Actions disponibles dans l'édition groupée

Les opérations disponibles sont les suivantes :

  • inscription des utilisateurs à une option (élèves uniquement) ou à un groupe de travail
  • attribution d'un quota disque aux utilisateurs (comptes locaux uniquement)
  • modification du domaine mail local des utilisateurs
  • modification du profil Windows des utilisateurs (comptes locaux uniquement)
  • réinitialisation du mot de passe des utilisateurs selon certains critères
  • activation/désactivation du shell des utilisateurs (comptes locaux uniquement)
  • association d'un rôle aux utilisateurs
L'outil de purge des comptes

L'outil de purge des comptes permet de faciliter la suppression des comptes des utilisateurs n'ayant plus de lien avec l'établissement.

Il est accessible par le menu Gestion/Utilisateurs/Purge des comptes de l'EAD.

Le principe de fonctionnement de l'outil de purge des comptes est d'afficher les comptes utilisateurs qui n'ont pas été modifiés/retrouvés depuis un nombre de jours défini.

L'outil permet également de mettre en valeur les comptes susceptibles d'être des doublons (Homonymes).

L'outil de purge des comptes
L'outil de purge des comptes

Les actions possibles sur les comptes sélectionnés sont :

  • supprimer (en conservant leurs données) : suppression des comptes et sauvegardes de leurs données dans /home/recyclage/<année>/ ;
  • supprimer totalement : suppression des comptes et de leurs données ;
  • mettre à jour (leur date de mise à jour sera mise à aujourd'hui) : les comptes n’apparaîtront plus dans la liste.
Remarque

Si une importation a été réalisée, le nombre de jours proposé est calculé en fonction de la date de la dernière importation.

Gestion fine des groupes et des utilisateurs : ACL

Des ACLs[25] sont utilisées sur le système de fichiers pour permettre un réglage fin des droits d'accès aux partages et à leur contenu.

Modification des ACLs sous Windows

Avec un utilisateur ayant les privilèges nécessaires, depuis un poste client Windows, clic droit sur le fichier/dossier => Propriétés => Sécurité ;

Modification des ACLs dans l'EAD

Le menu Outils/Gestion des Acls permet de modifier les ACLs[25] (droits étendus) sur les partages créés dans /home/workgroups.

Cette dernière méthode est la seule permettant de modifier les droits sur la racine d'un partage.

Il est possible de changer les droits sur des fichiers et des répertoires cachés.

Interface de gestion des ACLs
Interface de gestion des ACLs
Remarque

Dans la partie ACLS DU RÉPERTOIRE du formulaire :

  • l'étoile "*" indique que l'utilisateur ou le groupe en question est propriétaire du fichier ou du répertoire au niveau des droits Unix ;

  • la case à cocher Rec permet d'appliquer la modification de façon récursive ;

    Cette case est toujours décochée au chargement et rechargement du formulaire : elle n'indique pas un état mais sert à utiliser l'option -R dans les commandes setfacl sur le serveur. Il faut donc la cocher à chaque fois qu'on désire appliquer un changement récursivement.

  • la ligne acl par défaut seront les ACLs appliquées par défaut lors de la création d'un fichier ou d'un répertoire.

Attention

La levé d'une autorisation (suppression d'un droit  : lecture, écriture, exécution ) est toujours récursive.

Visualisation des quotas disque dans l'EAD

Fonctionnement des quotas disque

Il est possible, pour chaque utilisateur, de limiter la quantité de données qu'il peut stocker sur le serveur en lui imposant un quota disque maximum.

Les quotas sont composés d'une limite douce (soft) et d'une limite dure (hard).

À partir d'EOLE 2.8.1, le calcul de la limite dure est réglable via l'interface de configuration du module. Par défaut il vaut le double (200%) de la limite douce.

Dans l'interface EAD, c'est la limite douce qui est indiquée.

Remarque

Les règles suivantes s'appliquent à l'utilisateur :

  • il ne peut pas dépasser la limite dure ;

  • il peut dépasser la limite douce pendant 7 jours ;

  • passé ce délai, seule la limite douce est prise en compte et il est obligé de supprimer des données afin de repasser en dessous de celle-ci ;

  • à partir de là, le processus de la limite douce/dure reprend et l'utilisateur peut à nouveau dépasser la limite douce pour une durée maximale de 7 jours.

AttentionAttribution des limites liées aux quotas

Les limites de quotas s'appliquent à la création des utilisateurs, leur modification ultérieure ne s'applique donc pas automatiquement aux les utilisateurs déjà créés.

Les quotas sur le module Scribe

Pour consulter les quotas, le menu Outils/Quotas disque de l'EAD permet d'afficher les quotas utilisateurs selon 3 filtres :

  • Quotas dépassés

  • Quotas à surveiller (quotas presque atteint)

  • Tous les quotas

    Affichage des quotas utilisateur dans l'EAD
    Affichage des quotas utilisateur dans l'EAD
Attention

Les quotas sont appliqués sur la partition /home. Les quotas concernent, ainsi, l'ensemble des fichiers créés par l'utilisateur sur le serveur (dossiers personnels, partages équipe pédagogique, classe, groupes, etc.).

Désynchronisation des quotas disque

Il peut arriver qu'il y ait une désynchronisation entre l'utilisation réelle du disque et le système de vérification des quotas.

Cela se traduit généralement par le fait que des utilisateurs sont considérés à tort comme dépassant leur quota disque.

La commande quotacheck permet de corriger le problème. Son utilisation demande quelques précautions.

Exemple

Exemple d'utilisation de quotacheck sur le module Scribe où /home est la partition utilisée pour les données et les quotas utilisateurs.

  1. arrêter les différents services susceptibles d'écrire sur la partition (samba, proftpd, exim4, ...) ;

  2. démonter les éventuels montages liés à cette partition (images ISO, ...) ;

  3. désactiver les quotas sur la partition : quotaoff /home  ;

  4. lancer la vérification des quotas : quotacheck -vug /home ;

  5. réactiver les quotas sur la partition : quotaon /home ;

  6. remonter les partitions  : mount -a ;

  7. démarrer les services précédemment arrêtés.

Truc & astuce

Cette procédure est également à appliquer dans le cas où la commande repquota -a ne rend plus la main.

Étendre les droits d'un personnel administratif avec les droits d'un enseignant

Cette fonctionnalité est utile pour permettre à un personnel administratif (chef d'établissement, adjoint, CPE, documentalistes, vie scolaire) d'accéder à des fonctionnalités attribuées d'office à un enseignant :

  • accéder au partage professeurs (montage P:) ;

  • distribuer des documents au travers de l'EAD ou d'EOP ;

  • avoir un accès en lecture au répertoire personnel des élèves d'une classe ;

  • changer le mot de passe des élèves d'une classe ;

  • être inscrit à la liste de diffusion professeurs.

Attention

Une fois ajoutée, cette extension des droits est irréversible.

Il n'est pas possible de réaliser cette opération à la création d'un compte administratif, il faut d'abord procéder à la création si le compte n'existe pas et ensuite procéder à son édition.

Pour étendre les droits d'un compte administratif il faut se rendre dans le menu Gestion → Utilisateurs → Recherche d'utilisateur, puis dans la page, choisir administratif dans la liste Type de l'utilisateur et cliquer sur Lister.

Un tableau récapitule la liste des utilisateurs de type administratif, cliquer sur le lien Editer de la ligne correspondant à l'utilisateur auquel il faut étendre les droits.

Dans le formulaire qui s'affiche, cocher la case Conférer les droits du profil professeur à cet utilisateur (action irréversible) et cliquer sur le bouton Valider.

Une fenêtre surgissante s'affiche avec un message expliquant que les modifications ont bien été effectuées.

Cliquer sur le bouton Valider de la fenêtre.

Toujours dans le formulaire d'édition du compte principal, attribuer à l'utilisateur la ou les classes désirées dans la partie ADMINISTRATION DE CLASSES, et attribuer la ou les équipes pédagogiques correspondantes dans la partie EQUIPES PEDAGOGIQUES, puis cliquer sur le bouton Valider.

Une fenêtre surgissante s'affiche avec un message expliquant que les modifications ont bien été effectuées.

Cliquer sur le bouton Valider de la fenêtre.

Importation de comptes

L'importation est le mécanisme permettant de créer des comptes utilisateurs et des groupes à partir de données extraites d'outils externes tels que SIECLE (ex Sconet), AAF ou ONDE (ex BE1D).

Elle peut se faire par l'EAD ou en mode console.

L'ordre d'importation recommandé est le suivant : d'abord les élèves puis les enseignants.

En effet, un enseignant est affecté à ses équipes pédagogiques uniquement si celles-ci existent et que la classe ou le groupe associé comporte des élèves. En important les enseignants en premier, il y a un risque pour que ceux-ci ne soient pas affectés aux équipes pédagogiques.

Cette situation peut se vérifier par la présence des lignes suivantes dans le fichier journal /var/log/eole/importation.log

DEBUG Option <option> non trouvée (sans élèves ?)

Attention

Il est recommandé d'effectuer une sauvegarde avant de lancer la procédure d'importation.

Préparation des fichiers nécessaires à l'importation

Avant une importation il faut préparer ou récupérer les fichiers requis.

Il est conseillé d'enregistrer ces fichiers et de les conserver après l'importation.

SIECLE/STS

Pour l'importation des comptes élèves et responsables, il faut récupérer quatre fichiers XML compressés parmi ceux proposés dans les "Exports XML génériques" de l'application SIECLE[27] (ex Sconet).

Ces fichiers sont traditionnellement nommés :

  • ExportXML_ElevesSansAdresses.zip
  • ExportXML_Nomenclature.zip
  • ExportXML_ResponsablesAvecAdresses.zip
  • ExportXML_Structures.zip

Pour l'importation des comptes professeurs et personnel administratifs, il faut télécharger un fichier XML depuis les "Exports"' de l'application STS-Web. Ce fichier possède un nom de la forme :

  • sts_emp_<rne_etablissement>_<année>.xml
AAF

Il faut exporter quatre fichiers XML AAF depuis l'application AAF[28] (Annuaire Académique Fédérateur).

Ces fichiers sont traditionnellement nommés :

  • ENT_<rne_etablissement>_Complet_<date>_Eleve_0000.xml
  • ENT_<rne_etablissement>_Complet_<date>_PersEducNat_0000.xml
  • ENT_<rne_etablissement>_Complet_<date>_EtabEducNat_0000.xml
  • ENT_<rne_etablissement>_Complet_<date>_PersRelEleve_0000.xml

Ces fichiers peuvent être obtenus auprès de votre rectorat.

Remarque

Les adresses électroniques des responsables ainsi que leurs numéros de téléphone mobile sont désormais disponibles dans les exports AAF. Les adresses postales sont également multi-lignes. Ces nouveautés sont prises en charge par la procédure d'importation AAF à partir de la version 2.5.2 d'EOLE.

Remarque

Depuis la version AAF-VE1803, l'INE[26] est présent dans les fichiers exportés depuis AAF. Il est pris en compte par la procédure d'importation à partir de la version 2.5.2 d'EOLE.

Attention

Depuis 2019, c'est le Pôle de Compétences IH2M - Identité basé à Orléans qui diffuse les éléments liés à l'Annuaire Académique Fédérateur.

http://pole.in.ac-orleans-tours.fr/index.php?id=542

ONDE/BE1D
Fichier élèves

Il faut exporter un fichier CSV[29] élèves depuis l'application ONDE[30] (ex BE1D).

Le fichier obtenu doit impérativement posséder les champs suivants :

  • Nom élève
  • Prénom élève
  • Date naissance
  • Sexe
  • INE
  • Niveau
  • Libellé classe
ComplémentAncien format BE1D

L'ancien format d'export de BE1D et toujours supporté. Les champs attendus dans ce cas sont les suivants :

  • Nom Élève
  • Prénom Élève
  • Date naissance
  • Sexe
  • Niveau
  • Classe
Remarque

Depuis le remplacement de BE1D par ONDE, l'INE[26] est disponible dans les fichiers exportés ce qui permet de retrouver les élèves plus facilement.

Fichier responsables

Il est également possible d'importer les responsables légaux des élèves.

Le fichier CSV décrivant les responsables légaux doit posséder les champs :

  • Nom responsable
  • Prénom responsable
  • Civilité Responsable
  • Adresse responsable
  • CP responsable
  • Commune responsable
  • Pays
  • Courriel
  • Téléphone domicile
  • Téléphone travail
  • Téléphone portable
  • Nom de famille enfant
  • Prénom enfant
  • Classes enfants
Texte

Cette fonctionnalité permet aux établissements n'utilisant pas l'une des applications précédemment citées (lycées agricoles, établissements situés à l'étranger, ...) d'importer facilement des utilisateurs à partir de fichiers CSV[29] simplifiés.

Elle peut également compléter une importation réalisée à partir des fichiers générés avec les outils précédemment cités.

Les fichiers peuvent être créés à la main ou extraits depuis une application tierce.

Les fichiers CSV doivent respecter les éléments suivants :

  • en-tête indiquant les champs fournis
  • séparateur le point-virgule (";")
  • pas de séparateur de texte
  • encodage en ISO-8859-1 ou en UTF-8
AttentionEn-tête du fichier CSV

Les fichiers d'entrée doivent impérativement posséder un champ d'en-tête comprenant au minimum chacun des mots clé associés aux champs obligatoires du type de compte importé.

L'en-tête permet une pré-validation les informations et permet de s'affranchir de l'ordre des champs.

Quelque soit le type d'utilisateur importé, les champs login et le mot de passe sont facultatifs.

Il servent uniquement dans le cas où l'on veut forcer leur valeur (exemple : récupération de comptes existants). Si ces champs sont absents ou à vide, le login sera généré automatiquement par l'application.

Si les notions de numéro élève, numéro professeur et/ou niveau n'existent pas dans l'établissement, il est possible de remplir ces champs avec une valeur identique pour tous.

AttentionMot de passe forcé

Si un mot de passe forcé ne respecte pas la politique de mot de passe appliquée sur le serveur, celui-ci sera arbitrairement remplacé par un mot de passe aléatoire "valide".

Champs élève
Champs obligatoires
  • numero : numéro de l'élève
  • nom : nom de famille
  • prenom : prénom
  • sexe : civilité (M ou F)
  • date : date de naissance au format jjmmaaaa ou jj/mm/aaaa
  • classe : classe
  • niveau : niveau
Champs facultatifs
  • login : login forcé
  • password : mot de passe forcé
  • options : options suivies par l'élève, séparées par le caractère "|"
ExempleExemple de fichier élèves
1
numero;nom;prenom;sexe;date;classe;niveau;options;
2
999;Martin;Jean;M;23/05/2010;3e2;3eme;opt1|opt2;
Champs enseignant
Champs obligatoires
  • numero : numéro de l'enseignant
  • nom : nom de famille
  • prenom : prénom
  • sexe : civilité (M ou F)
  • date : date de naissance au format jjmmaaaa ou jj/mm/aaaa
Champs facultatifs
  • login : login forcé
  • password : mot de passe forcé
  • classes : classes dans lesquelles intervient l'enseignant, séparées par le caractère "|"
  • options : options dans lesquelles intervient l'enseignant, séparées par le caractère "|"
ExempleExemple de fichier enseignants
1
numero;nom;prenom;sexe;date;classes;options;login;password;
2
333;Durand;Marc;M;01/01/1985;3e1|3e2;opt1;mdurand;P@ssW0rd;
Champs personnel administratif
Champs obligatoires
  • numero : numéro du personnel administratif
  • nom : nom de famille
  • prenom : prénom
  • sexe : civilité (M ou F)
  • date : date de naissance au format jjmmaaaa ou jj/mm/aaaa
Champs facultatifs
  • login : login forcé
  • password : mot de passe forcé
Champs compte invité
Champs obligatoires
  • nom : nom de famille
  • prenom : prénom
  • sexe : civilité (M ou F)
  • date : date de naissance au format jjmmaaaa ou jj/mm/aaaa
Champs facultatifs
  • login : login forcé
  • password : mot de passe forcé

Importation par l'EAD

L'outil d'importation est accessible par le menu Outils/Importation de l'EAD.

Types d'importation

La première chose à faire est de choisir son type d'importation :

  • Mise à jour des bases : ajoute les utilisateurs et groupes manquants sans modifier les groupes existants ;

  • Importation annuelle des bases : ajoute les utilisateurs et groupes manquants après avoir purgé les options (import des élèves) ou les équipes pédagogiques (import des professeurs).

Choix du type d'importation
Choix du type d'importation
Truc & astuce

Dans le cas où l'import initial doit être réalisé en plusieurs passes (cités scolaires...), l'option importation annuelle ne doit être utilisée qu'au premier tour.

Il est tout à fait possible de relancer des importations annuelles en cours d'année afin que la prise en compte des changements d'options et des modifications d'équipes pédagogiques soient complètes.

Par contre, cela peut venir en contradiction avec des modifications "manuelles" non répercutées dans les données utilisées pour mettre à jour les comptes.

Sources de données

La seconde étape de l'importation est le choix de la source de données à utiliser.

Ce choix dépend du format des fichiers préparés pour l'importation.

Choix de la source de données
Choix de la source de données
Données à importer

La troisième étape de l'importation est le choix des données (types de comptes) à importer.

Les choix proposés à cette étape dépendent de la source de données sélectionnée à l'étape précédente.

Le choix doit généralement être fait entre les élèves (avec ou sans responsables) et les enseignants (avec ou sans personnels administratifs).

Choix des données à importer
Choix des données à importer
Préférences pour la création des comptes

La quatrième étape de l'importation consiste à renseigner les options à utiliser pour créer les nouveaux comptes utilisateurs.

Les préférences se paramètrent par type d'utilisateur.

Le nombre de formulaires à valider dépendra donc des choix réalisés lors des 2 étapes précédentes.

Remarque

Les préférences sont conservées d'une importation à l'autre.

Attention

Avec le passage en mode Active Directory, les mots de passe faibles, tels que la date de naissance, ne sont plus acceptés. Il faut au minimum 8 caractères de 3 classes de caractères différentes.

ComplémentGénération des identifiants

Dans le cas où c'est le format prenom.nom qui a été choisi, si le login généré dépasse les 19 caractères, alors c'est le format p.nom qui est utilisé à la place.

Ceci s'explique par des raisons historiques : la fenêtre de login Windows 98 n'acceptait que 20 caractères, mais également pratiques : peu d'utilisateurs accepteraient d'entrer un login de plus de 20 caractères !

Préférences des comptes élèves

Les choix proposés sont les suivants :

  • Domaine de messagerie par défaut : les adresses mail des nouveaux élèves peuvent être générées soit dans le domaine restreint soit dans le domaine Internet (modifiable par la suite) ;

  • Quota disque : ce quota disque sera appliqué à tous les nouveaux élèves ; il pourra ensuite être personnalisé pour chaque classe, chaque utilisateur ;

  • Génération des identifiants : format de création des logins pour les nouveaux élèves ;

  • Changement du mot de passe à la première connexion : la fonctionnalité est désactivée, elle permettait d'obliger les nouveaux élèves à changer leur mot de passe lors de leur première connexion Samba ;

  • Activer le shell : permet d'attribuer un shell valide aux nouveaux élèves (modifiable par la suite) ;

  • Profil Windows : choix du profil Windows à appliquer aux nouveaux élèves (modifiable par la suite).

Préférences pour les élèves
Préférences pour les élèves
Remarque

Il existe un mode multi-établissement qui permet de n'avoir qu'un seul module Scribe pour gérer plusieurs établissements. Dans ce mode, deux options supplémentaires apparaissent :

  • le choix de l'établissement ;
  • le choix d'un préfixe à appliquer sur les noms des groupes rattachés à l'établissement.
Préférences supplémentaires élèves en mode multi-établissement
Préférences supplémentaires élèves en mode multi-établissement
Préférences des comptes responsables

Les choix proposés sont les suivants :

  • Génération des identifiants : format de création des logins pour les nouveaux responsables légaux ;

  • Adresse mail : façon dont est attribuée l'adresse mail aux nouveaux responsables (modifiable par la suite).

Préférences pour les responsables légaux
Préférences pour les responsables légaux
Préférences des comptes enseignants

Les choix proposés sont les suivants :

  • Quota disque : ce quota disque sera appliqué à tous les nouveaux enseignants ; il pourra ensuite être personnalisé pour chaque professeur si nécessaire ;

  • Génération des identifiants : format de création des logins pour les nouveaux enseignants ;

  • Changement du mot de passe à la première connexion : la fonctionnalité est désactivée, elle permettait d'obliger les nouveaux enseignants à changer leur mot de passe lors de leur première connexion Samba ;

  • Activer le shell : permet d'attribuer un shell valide aux nouveaux enseignants (modifiable par la suite) ;

  • Profil Windows : choix du profil Windows à appliquer aux nouveaux enseignants (modifiable par la suite) ;

  • Adresse mail : façon dont est attribuée l'adresse mail aux nouveaux enseignants (modifiable par la suite).

Préférences pour les enseignants
Préférences pour les enseignants
Remarque

En mode multi-établissement, deux options supplémentaires apparaissent :

  • le choix de l'établissement
  • le choix d'un préfixe à appliquer sur les noms des groupes rattachés à l'établissement
Préférences supplémentaires enseignants en mode multi-établissement
Préférences supplémentaires enseignants en mode multi-établissement
Préférences des comptes administratifs

Les choix proposés sont les suivants :

  • Quota disque : ce quota disque sera appliqué à tous les nouveaux personnels (modifiable par la suite) ;

  • Changement du mot de passe à la première connexion : la fonctionnalité est désactivée, elle permettait d'obliger les nouveaux personnels à changer leur mot de passe lors de leur première connexion Samba ;

  • Activer le shell : permet d'attribuer un shell valide aux nouveaux personnels (modifiable par la suite) ;

  • Profil Windows : choix du profil Windows à appliquer aux nouveaux personnels (modifiable par la suite) ;

  • Adresse mail : façon dont est attribuée l'adresse mail aux nouveaux personnels (modifiable par la suite).

Préférences pour les personnels administratifs
Préférences pour les personnels administratifs
Remarque

En mode multi-établissement, les personnels administratifs sont automatiquement rattachés à l'établissement choisi au niveau des préférences des enseignants.

Préférences des comptes invités

Les choix proposés sont les suivants :

  • Génération des identifiants : format de création des logins pour les nouveaux comptes invités ;

  • Adresse mail : façon dont est attribuée l'adresse mail aux nouveaux comptes invités (modifiable par la suite).

    Préférences pour les responsables légaux
    Préférences pour les responsables légaux
Téléchargement des fichiers

La cinquième étape de l'importation consiste à télécharger les fichiers contenant les données à importer.

Le nombre de fichiers à télécharger dépendra donc de la source et des données définies dans les étapes précédentes.

Téléchargement des fichiers
Téléchargement des fichiers
Lecture des fichiers

Les fichiers téléchargés doivent ensuite être traités.

Pour lancer le traitement, il faut cliquer sur le lien Lancer la lecture des fichiers.

La lecture s'effectue ensuite étape par étape.

Elle est terminée lorsque le mot FIN apparaît.

Lecture des fichiers
Lecture des fichiers
Remarque

Il est toujours possible d'annuler le processus d'importation tant que le traitement final n'a pas été lancé.

Importation des comptes

Une fois les fichiers lus, il n'y a plus qu'à créer effectivement les comptes utilisateurs et les groupes.

Pour lancer le traitement final, il faut cliquer sur le lien Lancer l'importation.

Le traitement s'effectue ensuite étape par étape.

Il est terminé lorsque la phrase FIN DE L'IMPORTATION DE COMPTES apparaît.

Importation des comptes
Importation des comptes
Rapport d'importation et liste des comptes

Une fois l'importation terminée, le rapport d'importation est disponible sur la page d'accueil de l'EAD.

Affichage du rapport d'importation sur la page d'accueil de l'EAD
Affichage du rapport d'importation sur la page d'accueil de l'EAD

Une copie horodatée de ce rapport est également disponible dans le dossier importation du répertoire personnel de l'utilisateur admin. Le nom exact de ce fichier (de la forme : rapport_<date>_<heure>.txt) est indiqué tout en bas du rapport visible par l'EAD.

Le dossier importation contient également la liste des comptes créés/retrouvés lors de l'importation est disponible au format CSV. Un fichier CSV horodaté est généré par type d'utilisateur créé (exemple : responsables_20091225_0001.csv).

Le nom exact de ces fichiers est indiqué dans le rapport visible par l'EAD.

Les mots de passe des utilisateurs retrouvés lors de l'importation ne sont pas modifiés.

Dans les fichiers de liste des comptes, il sont représentés par le mot clé : (déjà attribué).

Remarque

L’action de gestion des utilisateurs permet d’exporter les identifiants provisoires des élèves contenus dans les fichiers au format CSV générés dans le répertoire personnel du compte admin par les procédures automatisées d’importation.

Remarque

Dans le cas d'une délégation de droits, les rapports d'importations sont copiés dans le dossier importation du répertoire personnel de l'utilisateur qui a fait l'importation.

Les fichiers de liste des compte des importations précédentes sont toujours disponibles grâce à l'horodatage des fichiers.

Après plusieurs importations, il est tout de même conseillé de nettoyer le dossier importation .

En cas d'erreur durant l'importation, il peut également être utile de consulter le fichier : /var/log/rsyslog/local/ead-server/ead-server.info.log.

Truc & astuce

Après l'importation, il est conseillé d'utiliser l'outil de purge des compte pour supprimer facilement les compte des utilisateurs n'ayant plus de lien avec l'établissement

Attention

Lors d'une importation, les élèves sont retrouvés grâce aux nom, prénom, date de naissance et numéro élève.

Une différence, même minime, risque d'entraîner la création d'un doublon.

Importation en mode console

Il est également possible de réaliser une importation en mode console en utilisant le compte root.

Cette version de l'outil d'importation est plutôt réservée au développement et au débogage.

Elle se lance en utilisant la commande : importation_scribe

Elle s'utilise soit directement sur le serveur, soit via SSH (en activant, de préférence, le transfert X11).

Les fichiers utilisés pour l'importation doivent, bien sûr, être présents sur le serveur.

Importation en mode console
Importation en mode console

Déléguer l'importation

L'EAD permet la délégation de droits. Ainsi, il est possible de confier l'importation des comptes à un utilisateur non administrateur.

Pour mettre en place la délégation de droits, il faut se rendre dans le menu Édition des rôlesCréation de rôleCréer un rôle.

Après avoir choisi un intitulé et un libellé pour le rôle il faut sélectionner les 6 actions suivantes :

  • scribe_extraction ;

  • scribe_extraction_aaf ;

  • scribe_extraction_be1d ;

  • scribe_extraction_csv2 ;

  • scribe_extraction_preferences ;

  • scribe_extraction_sconet.

Cliquer sur l'icône Ajouter puis Valider.

Une fois le rôle créé il faut associer une clé LDAP avec le nouveau rôle.

Dans le menu Édition des rôlesAssociation de rôles choisir Login de l'utilisateur (Utilisateurs ldap) dans le menu déroulant. Ensuite dans le champ Valeur de la clé, saisir le login (uid) de l'utilisateur à qui déléguer le rôle. Enfin dans la liste Choix du rôle choisir le libellé du rôle créé à l'étape précédente.

Remarque

Après avoir procédé à l'importation, l'utilisateur peut accéder aux rapports qui sont stockés dans son répertoire personnel (dossier importation ).

Informations complémentaires

Rapport complet

Un rapport d'importation complet est disponible sous forme de fichier journal du système.

Ce fichier est disponible dans /var/log/eole/importation.log .

Il contient la trace détaillée de toutes les importations réalisées.

Affichage d'un extrait du fichier de log des importations
Affichage d'un extrait du fichier de log des importations
Ordre d'importation

L'ordre d'importation recommandé est le suivant : d'abord les élèves puis les enseignants.

En effet, un enseignant est affecté à ses équipes pédagogiques uniquement si celles-ci existent et que la classe ou le groupe associé comporte des élèves. En important les enseignants en premier, il y a un risque pour que ceux-ci ne soient pas affectés aux équipes pédagogiques.

Cette situation peut se vérifier par la présence des lignes suivantes dans le fichier journal /var/log/eole/importation.log

DEBUG Option <option> non trouvée (sans élèves ?)

Renommage de groupes

Dans certaines situations, il peut arriver que des groupes (principalement les classes) soient renommées par le mécanisme d'importation.

Ce renommage consiste en l'ajout d'un suffixe (la lettre c pour les classes) devant le nom original du groupe.

Les causes d'un renommage sont généralement les suivantes :

  • le nom du groupe est totalement numérique (ex : 301 pour 3eme1) ;
  • il existe une homonymie au niveau des groupes (ex : niveau et classe dénommés 6g).

Distribution de documents dans l'EAD

FIXME 2.7.1

L'EAD offre la possibilité aux enseignants de distribuer des documents et des travaux éducatifs (évaluation, bilan, contrôle ou devoir contrôlé).

Les fonctionnalités sont équivalentes à celles disponibles dans le logiciel Gestion-postes mais contrairement à celui-ci, qui n'est accessible que depuis les clients Windows de l'établissement, elles sont disponibles à travers le portail Envole et donc accessibles depuis l'extérieur de l'établissement.

Vue de la distribution de document dans l'EAD
Vue de la distribution de document dans l'EAD

La distribution de documents au travers de l'EAD permet de faire une distribution immédiate ou différée des documents. Dans le cas d'une distribution différée (voir Choix du répertoire de destination), les documents sont préparés avec l'EAD et leur accès sera activé au moment opportun avec Gestion-Postes.

La distribution peut être composée de deux éléments :

  • le ou les documents sous forme d'un ou plusieurs fichiers. Ils seront copiés dans chacun des dossiers personnels devoirs/ nom_de_l'enseignant / <nom_du_devoir> des utilisateurs du groupe sélectionné. Les utilisateurs auront un accès en lecture et en écriture à ces fichiers (modification/suppression) ;

  • les données jointes au(x) document(s) qui sont des fichiers supplémentaires dont la modification est impossible. Ils sont copiés une seule fois à un endroit spécifique du serveur. Des liens symbolique vers ces fichiers sont créés dans le sous-répertoire donnees du répertoire devoirs/ nom_de_l'enseignant / nom_devoir de chacun des utilisateurs.

Si la distribution de document est un travail éducatif, la distribution s'effectue en suivant les 4 étapes suivantes :

  • distribuer ;

  • ramasser ;

  • rendre : distribution des devoirs corrigés ;

  • supprimer : effacement des fichiers du devoir.

Distribuer des documents

Vue de l'étape 1 : Distribuer
Vue de l'étape 1 : Distribuer

Étape 1 : Choix du groupe et du nom du document

Il faut avant tout choisir, dans le menu déroulant Choix du groupe, la classe, la matière ou l'équipe à qui l'ont veut distribuer un ou plusieurs documents. Puis on choisit un nom Nom du document pour l'espace de travail. Il apparaîtra dans le répertoire personnel de chacun des utilisateurs sous la forme devoirs / nom_de_l'enseignant / <espace_de_travail> et contiendra les documents de travail et les données.

Le nom du document ne doit comporter ni espace ni caractère accentué.

La case Uniquement aux élèves du groupe est cochée par défaut. Décochée, elle permet d'envoyer les documents aux autres membres du groupe, comme par exemple aux enseignants.

Étape 2 : Télécharger les documents à distribuer

Le bouton Parcourir permet de choisir un document sur son ordinateur. Après avoir cliqué sur le bouton Charger, le document apparaît dans la liste de droite. Il est possible de répéter l'opération pour autant de fichiers que l'on souhaite distribuer.

Étape 3 : Télécharger les données à joindre au document

Le bouton Parcourir permet de choisir un document sur son ordinateur. Après avoir cliqué sur le bouton Charger, le document apparaît dans la liste de droite. Il est possible de répéter l'opération pour autant de fichiers que l'on souhaite distribuer. Cette étape n'est pas obligatoire.

Étape 4 : Choix du répertoire de destination

Par défaut, l'option Dans le dossier 'perso\devoirs' étant sélectionnée, les documents seront distribués dans le répertoire personnel des utilisateurs.

L'option Dans le partage 'devoirs' (non accessible par défaut) permet de préparer la distribution différée de documents. Ce travail de préparation peut donc se faire aussi bien à l'extérieur qu'à l'intérieur de l'établissement. La distribution ne sera effective qu'au travers du logiciel Gestion-postes.

Dernière étape : Distribuer

Valider le bouton Distribuer pour que la distribution soit effective.

Truc & astuce

Il est possible de distribuer les mêmes documents à plusieurs groupes :

Étape 1 : Choix du groupe et du nom du document

Il faut choisir un autre groupe dans le menu déroulant et obligatoirement changer le nom de l'espace de travail Nom du document.

Étape 2 : Télécharger les documents à distribuer

S'il n'y a qu'un document, son chemin est encore dans le champ parcourir. Il suffit alors de cliquer sur le bouton Charger. À défaut, il faut recharger les différents documents à distribuer.

Étape 3 : Télécharger les données à joindre au document

S'il n'y a qu'une donnée, son chemin est encore dans le champ parcourir, il suffit de cliquer sur le bouton Charger. À défaut, il faut recharger les différentes données à distribuer.

Ramasser des documents

Cette fonctionnalité permet de ramasser les travaux des utilisateurs.

Les documents ramassés se retrouvent dans l'arborescence du dossier personnel de l'utilisateur les ayant ramassés :

/ perso / devoirs / ramasses / Nom de l'espace de travail (Nom du document) / Identifiant des élèves /

Vue des documents ramassés dans Ajaxplorer
Vue des documents ramassés dans Ajaxplorer

Rendre des documents

Cette fonctionnalité permet de rendre le travail corrigé. Un document ne peut être rendu que s'il a été auparavant ramassé.

Supprimer les données

Lorsqu'un enseignant distribue des données en plus des documents, elles sont copiées dans U:\devoirs\.distribues et des liens vers ces fichiers sont ensuite créés dans le répertoire nom_du_devoir \ donnes de chacun des destinataires.

Il est possible de supprimer ces fichiers lorsqu'ils sont devenus inutiles.

Attention
  • La suppression des données entraînera également la suppression du dossier <nom_du_devoir> \ donnees dans le dossier des destinataires.

  • Cette fonctionnalité permet de supprimer les données liées à une distribution de document qui ne seraient plus utiles par la suite. Elle permet donc d'économiser de la place sur le serveur de stockage.

Gestion des machines clientes du domaine

Le menu Outils/Stations/Machines permet d'obtenir la liste des machines démarrées ayant le client EOLE installé et d'agir sur celles-ci.

Les postes de la liste peuvent être éteints ou redémarrés.

Attention

Ces actions sont forcées, si une session est ouverte, le travail de l'utilisateur NE sera PAS sauvegardé et la fermeture des applications forcée.

Remarque

Dans les versions précédentes d'EOLE, il était possible de connaître les utilisateurs connectés sur chacun des postes et de forcer la fermeture de sa session. Cette fonctionnalité sera rétablie dès que possible.

Gestion des connexions dans l'EAD

Gestion des utilisateurs connectés

Le menu Outils/Connexion permet de connaître les utilisateurs connectés et de connaître leurs fichiers ouverts.

En listant les connectés, il est possible de connaître également la liste des fichiers ouvert par l'utilisateur. Pour cela, cliquer sur le bouton "Afficher" dans la colonne "Fichiers"  :

Historique des connexions

L'historique des connexions affiche les dernières ouvertures de sessions sur le domaine Samba en commençant par la plus récente.

L'historique concerne uniquement la semaine courante.

Truc & astuce

Les connexions sont journalisées dans le fichier /var/log/rsyslog/local/smbd_audit/smbd_audit.notice.log .

Il est possible de retrouver des connexions plus anciennes en consultant les archives de ce fichier (ex. /var/log/rsyslog/local/smbd_audit/smbd_audit.notice.log.1.gz).

Il est possible d'afficher l'historique de connexion avec la commande journalctl -t smbd_audit .

Exemple

Voici comment retrouver l'historique des connexions d'un compte utilisateur :

root@scribe:~# journalctl -t smbd_audit | grep admin

2020/12/11 09:10:52|DOMSCRIBE\admin|scribe|admin|192.168.0.110|connect|ok|IPC$

2020/12/11 09:10:52|DOMSCRIBE\admin|scribe|admin|192.168.0.110|connect|ok|admin

2020/12/11 09:11:20|DOMSCRIBE\admin|scribe|admin|192.168.0.110|connect|ok|icones$

2020/12/11 09:11:21|DOMSCRIBE\admin|scribe|admin|192.168.0.110|connect|ok|groupes

2020/12/11 09:11:22|DOMSCRIBE\admin|scribe|admin|192.168.0.110|connect|ok|commun

2020/12/11 09:11:25|DOMSCRIBE\admin|scribe|admin|192.168.0.110|connect|ok|professeur

La sortie IPC$ représente une connexion à une machine du domaine.

La sortie <nom_utilisateur> représente le connexion du compte utilisateur au domaine

La sorte <répertoire> représente la connexion de l'utilisateur aux partages. 

Pour enregistrer cette liste de connexions du compte admin dans un fichier :

root@scribe:~# ( journalctl -t smbd_audit | grep admin) > /root/journauxDeConnexionsAdmin.log

Toutes sortes de tris peuvent être effectués en adaptant la commande grep. Cette commande est sensible à la casse sauf si l'option -i est ajoutée.

Réservation d'adresse IP dans l'EAD

Si le service DHCP est activé sur le module EOLE, il est possible de fixer les adresses de certaines machines via l'EAD.

L'action dhcp apparaît dans le menu Outils/DHCP statique de l'EAD.

Réservation d'adresse dans l'EAD
Réservation d'adresse dans l'EAD

Pour associer un nom et une adresse IP à une machine, il faut connaître son adresse MAC.

Pour faciliter les enregistrements, les informations sur les stations déjà connues du serveur DHCP sont directement réutilisables.

Pour cela, il suffit de sélectionner la machine souhaitée au niveau de la liste déroulante Baux en cours.

Attention

À partir de la version 2.7.1, les contraintes de réservation sont modifiées.

Une IP ne peut pas être réservée en dehors d’un sous-réseau déclaré dans l'interface de configuration du module (Adresse réseau de la plage DHCP / Masque de sous-réseau de la plage DHCP) et elle doit rester en dehors des plages déclarées pour ce sous-réseau (IP basse de la plage DHCP / IP haute de la plage DHCP).

Directives optionnelles ERA depuis l'EAD

Les modèles de pare-feu ERA peuvent contenir des directives optionnelles[11].

Une règle peut être :

  • générale, si elle concerne uniquement l'interface externe ;
  • spécifique à une zone de configuration, si elle concerne une interface interne de la zone, dans ce cas, elle apparaîtra dans les règles du filtre web auquel est rattaché l'interface source de la directive.

La configuration générale est accessible par le menu EAD : Configuration générale / Règles du pare-feu.

La configuration spécifique est accessible par le menu EAD : Filtre web X / Règles du pare-feu :

Pour valider une directive optionnelle :

  • choisir Actif ;
  • valider.
Activation des directives optionnelles dans l'EAD
Activation des directives optionnelles dans l'EAD

Truc & astuce

Les directives optionnelles activées/désactivées dans l'EAD sont enregistrées dans le fichier : /var/lib/eole/config/regles.csv

AttentionLien entre ERA et les directives optionnelles de l'EAD

Pour les règles optionnelles, l'EAD prime sur l'ERA : elles sont pilotées par l'EAD. Une directive peut être marquée comme étant active par défaut dans ERA et ne pas être active car désactivée dans l'interface EAD.

Exceptions sur la source ou la destination

Par défaut, tous les accès à des sites nécessitent une authentification (si elle est active) et toutes les machines du réseau doivent s'identifier. Mais certains systèmes ou logiciels doivent pouvoir se mettre à jour de façon transparente.

Par ailleurs, le proxy conserve une version des pages téléchargées en cache pour limiter la consommation réseau. Ce comportement n'est pas adapté à tous les sites.

Pour les sites comportant des données sensibles, il est nécessaire de s'assurer que des données relatives à la navigation sur ce domaine ne soient pas placées dans le cache du serveur.

Certaines machines peuvent également avoir besoin de naviguer avec des données provenant directement du site consulté.

Certains postes clients ou serveurs du réseau ont besoin d'effectuer des mises à jour automatiquement, les sites de mise à jour doivent être accessibles sans authentification.

Certaines machines peuvent également avoir besoin de naviguer sans être authentifiées.

Pour cela, il existe deux mécanismes :

  • ne pas utiliser de cache ou d'authentification pour certains sites (destination) ;
  • ne pas utiliser de cache ou d'authentification pour certaines machines locales (source).

Pour paramétrer les destinations et les sources qui n'utiliseront pas le cache ou l'authentification lors de la navigation il faut se rendre dans Configuration générale puis Cache et Authentification de l'interface EAD du module.

Cache et authentification de la destination

Dans Configuration générale / Cache et Authentification / Destinations :

  • entrer l'adresse IP ou le nom du domaine ;
  • cocher authentification et/ou cache ;
  • valider.
Ajout d'une destination à ne pas authentifier et/ou pour laquelle ne pas utiliser le cache
Ajout d'une destination à ne pas authentifier et/ou pour laquelle ne pas utiliser le cache

Pour supprimer une référence, cliquer sur la croix rouge correspondante :

Listes des destinations à ne pas authentifier et/ou pour lesquelles ne pas utiliser le cache
Listes des destinations à ne pas authentifier et/ou pour lesquelles ne pas utiliser le cache
Remarque

Les exceptions "destinations" sont écrites dans :

  • /etc/squid/domaines_nocache_user

  • /var/lib/eole/domaines_noauth_user : référence pour la génération des fichiers :

    • /etc/squid/domaines_noauth_user
    • /etc/guardian/common/domaines_noauth_user

Sur le module AmonEcole, ces fichiers sont dans le conteneur reseau.

Cache et authentification de la source

Dans Configuration Générale / Cache et Authentification / Sources :

  • entrer l'adresse IP ou réseau
  • cocher authentification et/ou cache ;
  • valider.
Ajout d'une source à ne pas authentifier et/ou pour laquelle ne pas utiliser le cache
Ajout d'une source à ne pas authentifier et/ou pour laquelle ne pas utiliser le cache

Pour supprimer une référence, cliquer sur la croix rouge correspondante :

Listes des sources à ne pas authentifier et/ou pour lesquelles ne pas utiliser le cache
Listes des sources à ne pas authentifier et/ou pour lesquelles ne pas utiliser le cache
Remarque

Les exceptions "sources" sont écrites dans :

  • /etc/squid/src_nocache_user
  • /etc/squid/src_noauth_user

Sur le module AmonEcole, ces fichiers sont dans le conteneur reseau.

Personnalisations académiques

Attention

À partir d'EOLE 2.8, les exceptions d'authentification pour les destinations doivent être déclarées à la fois dans Squid[31] et dans e2guardian[32].

Le format des adresses à fournir à e2guardian est différent de celui utilisé pour Squid (pas de "." devant un nom de domaine "global", interdiction de déclarer un sous-domaine d'un domaine déjà présent).

Des listes de sites et d'adresses académiques peuvent être gérées indépendamment de l'EAD par l'intermédiaire des fichiers suivants :

  • /etc/squid/domaines_nocache_acad : liste de destinations pour lesquelles ne pas utiliser le cache ;
  • /etc/squid/src_noauth_acad : liste de sources à ne pas authentifier ;
  • /etc/squid/src_nocache_acad : liste de sources pour lesquelles ne pas utiliser le cache ;
  • /etc/squid/domaines_nopeerproxy : liste de destinations pour lesquelles on n'utilise pas le proxy père ;

Listes pour e2guardian :

  • /etc/guardian/common/domaines_noauth ; Le fichier domaines_noauth contient les exceptions provenant de GenConfig et d'un template Creole ; Dans gen_config => Exceptions proxy => Liste des domaines de destination à ne pas authentifier (variables Creole :proxy_noauth)
  • /etc/guardian/common/domaines_noauth_acad ; Le fichier domaines_noauth_acad est par convention modifié/envoyé par Zéphir.
Attention

L'utilisation des fichiers /etc/squid/domaines_noauth_acad pour gérer la liste de destinations à ne pas authentifier est dépréciée depuis la version 2.5.2. Il faut utiliser la fonctionnalité de l'onglet Exceptions proxy de l'interface de configuration du module.

Filtrage web

Avec le filtrage web, il est possible :

  • de configurer la manière dont le filtrage s'effectue ;
  • d'associer une politique de filtrage (interdits, modérateurs, liste blanche...) à des utilisateurs (seulement si l'authentification est activée durant la phase de configuration) ;
  • d'associer une politique de filtrage (interdits, modérateurs, liste blanche...) à des machines.

Cette configuration s'effectue :

  • par zone : Filtre web 1 et Filtre web 2 ;
  • de manière plus fine, par politique de filtrage ;
  • de façon prioritaire sur les utilisateur puis sur les machines si l'authentification est désactivée sinon de façon prioritaires sur les machines puis sur les utilisateurs.

En fonction de la configuration du filtrage effectuée dans l'interface de configuration du module deux sections nommée filtre web peuvent être disponibles dans l'EAD : Filtre web 1 et Filtre web 2.

La section Filtre web 3 est visible si une deuxième instance de Squid a été activée dans l'interface de configuration du module.

Remarque

Certaines fonctionnalités n'ont pas d'intérêt dans le cadre du Filtre web 3 puisqu'elles sont est déjà couvertes par les 2 autres filtres qui se partagent la gestion de toutes les interfaces.

Groupe de machine : Filtrage par machine ou par groupe de machine

Présentation

Le module Amon propose de gérer des groupes de machine par plage d'adresse IP.

En ajoutant une référence à ce groupe, il est possible :

  • de lui interdire l'accès au réseau ;
  • de lui interdire la navigation web seulement ;
  • de lui autoriser la navigation web selon des horaires ;
  • de lui associer une politique de filtrage web spécifique
Complément

Les informations liées aux groupes de machine sont stockées dans :

/usr/share/ead2/backend/tmp/ipset_group<num_instance>.txt

Les éventuelles plages horaires associées sont dans :

/usr/share/ead2/backend/tmp/ipset_schedules<num_instance>.pickle

Créer un groupe de machine

Pour configurer un groupe de machine de la zone 1, aller dans Filtre web 1 / Groupe de machine.

Interface de gestion de groupe de machine
Interface de gestion de groupe de machine

Cliquer sur Nouveau groupe de machine et un formulaire de création apparaît.

Formulaire de création
Formulaire de création

Remplir :

  • nom pour le groupe de machine ( sans accents ni caractères spéciaux ) ;
  • donner l'adresse IP de début de plage ;
  • donner l'adresse IP de fin de plage ;
  • si plusieurs interfaces réseau sont associés à cette zone, il vous demandera le nom de l'interface ;
  • valider.

Le groupe de machine est dans la liste et peut être géré.

Le groupe de machine est ajouté
Le groupe de machine est ajouté
Remarque

S'il ne vous est pas possible de choisir l'interface de votre groupe lors de sa création, c'est qu'une seule interface du pare-feu est associée à cette zone.

À partir de la version 2.5.2 d'EOLE, il n'est plus obligatoire que la plage d'adresse du groupe soit de classe C.

Un trop grand nombre d'adresses dans un groupe peut entraîner une baisse de performance.

Limiter l'accès réseau

Dans la colonne Interdictions, il est possible de choisir parmi :

  • Jamais : permet de ne jamais interdire l'accès au web ;

  • Le web tout le temps : permet d'interdire la navigation web tout le temps.

    L'accès au proxy, sur le port 3128 et selon la configuration, sur les ports du second proxy (3129 par défaut) est bloqué pour les plages d'IP stockées dans des ipset.

    À partir de la version 2.6.1 d'EOLE, la navigation sans proxy ne subit pas de restrictions particulières, elle s'effectue donc avec les règles déjà en place sur le module (par défaut : affichage d'une page d'erreur indiquant que le proxy n'est pas configuré).

  • Le web selon des horaires : permet d'interdire la navigation web selon des horaires sont à définir au préalable (utilise les mêmes règles que Le web tout le temps mais avec des plages horaires) ;

  • Toute activité réseau : permet d'interdire toute activité réseau (toutes les requêtes issues des plages d'adresse IP stockées dans des ipset sont rejetées par des règles iptables).

Le filtrage et les restrictions basées sur des plages horaires sont appliquées par l'utilisation du module time du logiciel iptables.

iptables interprète les dates en UTC[33], il y a donc un décalage normal entre ce qui est saisi dans l'interface et les informations renvoyées par la commande iptables-save.

ExempleInterdire le groupe de navigation web

Dans la colonne Interdictions, choisir Le web tout le temps.

Si vous désirez faire une interdiction de navigation selon des horaires, il faut :

  • configurer des horaires ;
  • appliquer l'interdiction.
ExempleConfiguration des horaires

Dans la colonne Interdictions, choisir Le web selon horaires.

Cliquer sur l'horloge, la gestion des horaires apparaît.

Gestionnaire d'horaires pour les groupes de machine
Gestionnaire d'horaires pour les groupes de machine
  • choisir la plage horaire d'autorisation ;
  • choisir les jours d'applications ;
  • valider.
Remplir le formulaire
Remplir le formulaire

Les plages horaires définies s'affichent (la croix permet de supprimer la plage).

Affichage des plages horaires
Affichage des plages horaires
Remarque

Sans plage horaire définie, la navigation web est interdite tout le temps

La modification des plages horaires est dynamique.

Si le groupe de machine est interdit de navigation web selon horaires, il est possible de modifier les plages horaires.

Il est aussi possible de copier les horaires depuis un autre groupe de machine.

  • choisir le groupe dans la liste ;
  • valider.
ExempleInterdire l'accès au réseau

Pour interdire tout accès réseau à notre groupe de machine, dans la colonne Interdictions, choisir Toute activité réseau.

Spécifier une politique de filtrage

Il est possible d'associer une ou plusieurs politiques de filtrage à un groupe de machine. Elles proviennent du logiciel de filtrage e2guardian et sont associées aux plages d'adresses IP grâce à la fonctionnalité ipgroups du plugin d'authentification ip intégré à ce logiciel.

Pour associer une politique de filtrage, choisir la politique dans la colonne politique optionnelle.

Certaines politiques de filtrage sont fixes :

  • modérateur ;
  • interdits ;
  • mode liste blanche.

D'autres sont configurables :

  • Défaut ;
  • 1 ;
  • 2 ;
  • 3 ;
  • 4.
Attention

Le mode modérateur n'est pas compatible avec l'authentification NTLM : #19351.

ComplémentCorrespondance entre numéro de politique et mode de fonctionnement

Pour chaque instance de e2guardian, 8 politiques sont pré-définies par les fichiers guardianfX.conf :

  • politique n°1 : politique par défaut (politiquedefaut) ;
  • politique n°2 : utilisateur modérateur (groupmoderateurs) ;
  • politique n°3 : utilisateur interdit (groupinterdits) ;
  • politique n°4 : utilisateur en mode liste blanche (grouplisteblanche) ;
  • politique n°5 : politique de filtrage personnalisée n°1 (politique1) ;
  • politique n°6 : politique de filtrage personnalisée n°2 (politique2) ;
  • politique n°7 : politique de filtrage personnalisée n°3 (politique3) ;
  • politique n°8 : politique de filtrage personnalisée n°4 (politique4).
Supprimer un groupe de machine

Pour supprimer un groupe de machine, cliquez sur la croix en face de votre groupe de machine.

Ajouter des ipset personnalisés

À partir d'EOLE 2.7.0, la création d'un groupe de machine ou la génération des règles du bastion[34] supprime uniquement les ipset gérés par le module (ie : ceux qui sont préfixés par les mots clés : groupe- et bastion-).

Sources et destinations : Interdire l'accès à un sous-réseau depuis une interface

Dans l'EAD il est possible d'interdire l'accès à un sous-réseau depuis une interface.

Cette fonctionnalité se base sur des règles iptables standard et sur l'utilisation du module time d'iptables dans le cas des destinations interdites par plage horaire.

Vue d'ensemble pour l'ajout d'une destination à interdire
Vue d'ensemble pour l'ajout d'une destination à interdire

Dans le menu de l'EAD, choisir l'entrée portant le nom du filtre choisi dans l'interface de configuration du module, par défaut Filtre web 1. Puis sélectionner Sources et destinations et enfin Destinations interdites.

Pour interdire une destination il faut :

  • définir le sous-réseau (ou le poste) de destination ;
  • choisir l'interface source depuis laquelle interdire l'accès (n'apparaît que s'il existe plusieurs interfaces rattachées au filtre web sélectionné).
ExempleInterdire l'accès au sous-réseau 10.121.11.0/255.255.255.0 depuis l'interface admin (xxx)
Ajout d'une destination à interdire
Ajout d'une destination à interdire

Soit l'interface X sur la zone de filtre web X.

  • Saisir 10.121.11.0/255.255.255.0 dans Destinations à interdire ;
  • Choisir admin (xxx) dans la liste Interface associée à l'adresse ;
  • Cliquer sur Ajouter.

Un message  de confirmation "L'adresse 10.121.11.0/255.255.255.0 a été ajoutée à la liste des destinations interdites. Le pare-feu a bien été redémarré" apparaît.

ExempleAnnuler une interdiction

Dans le menu de l'EAD, choisir l'entrée portant le nom du filtre choisi dans l'interface de configuration du module, par défaut Filtre web 1. Puis sélectionner Sources et destinations et enfin Destinations interdites.

Suppression d'une destination interdite
Suppression d'une destination interdite
  • Choisir l'interdiction à supprimer dans la liste ;
  • Cliquer sur Supprimer.
Complément

Les destinations interdites sont écrites dans :

/usr/share/ead2/backend/tmp/dest_interdites<num_instance>.txt

Sources et destinations : Interdire ou restreindre l'activité d'un sous-réseau

Dans l'EAD il est possible d'interdire l'accès web en fonctions de plages horaires ou d'interdire l'activité à tout un sous-réseau .

Vue d'ensemble pour l'ajout d'une source à interdire
Vue d'ensemble pour l'ajout d'une source à interdire

Dans le menu de l'EAD, choisir l'entrée portant le nom du filtre choisi dans l'interface de configuration du module, par défaut Filtre web 1. Puis sélectionner Sources et destinations et enfin Sources interdites.

Les paramètres à saisir sont :

  • la Source à interdire : le sous-réseau (ou poste) sur lequel les restrictions doivent être appliquées ;
  • l'Interface associée à l'adresse (n'apparaît que s'il existe plusieurs interfaces rattachées au filtre web sélectionné) ;
  • les plages horaires et journalières de la restriction (restriction web uniquement) ;
  • le Niveau de restriction : web ou réseau.
Remarque

Avec le niveau de restriction Seulement le web, l'accès au proxy, sur le port 3128 et selon la configuration, sur les ports du second proxy (3129 par défaut).

À partir de la version 2.6.1 d'EOLE, la navigation sans proxy ne subit pas de restrictions particulières, elle s'effectue donc avec les règles déjà en place sur le module (par défaut : affichage d'une page d'erreur indiquant que le proxy n'est pas configuré).

ExempleInterdire l'accès web depuis le sous-réseau 10.21.11.0/255.255.255.0 provenant de l'interface 1 tous les jours entre minuit et 6 heures du matin
Ajout d'une source à interdire
Ajout d'une source à interdire

Soit l'interface 1 sur la zone de filtre web 1 :

  • Saisir 10.121.11.0/255.255.255.0 dans Source à interdire ;
  • Choisir admin (xxx) dans la liste Interface associée à l'adresse ;
  • Sélectionner 0:01 comme heure de début et 06:30 comme heure de fin ;
  • Sélectionner les jours : du lundi au dimanche ;
  • Choisir Seulement le web comme Niveau de restriction ;
  • Cliquer sur Ajouter.

Un message  de confirmation "L'adresse 10.121.11.0/255.255.255.0 a été ajoutée à la liste des postes interdits de navigation web. Le pare-feu a bien été redémarré" apparaît.

Le filtrage et les restrictions basées sur des plages horaires sont appliquées par l'utilisation du module time du logiciel iptables.

iptables interprète les dates en UTC[33], il y a donc un décalage normal entre ce qui est saisi dans l'interface et les informations renvoyées par la commande iptables-save.

ExempleAnnuler une interdiction

Dans le menu de l'EAD, choisir l'entrée portant le nom du filtre choisi dans l'interface de configuration du module, par défaut Filtre web 1. Puis sélectionner Sources et destinations et enfin Sources interdites.

Suppression d'une source interdite
Suppression d'une source interdite
  • Choisir l'interdiction à supprimer dans la liste ;
  • Cliquer sur Supprimer.
Complément

Les sources interdites d'accès web sont écrites dans :

/usr/share/ead2/backend/tmp/horaire_ip<num_instance>.txt

Les sources interdites d'accès réseau sont écrites dans :

/usr/share/ead2/backend/tmp/poste_all<num_instance>.txt

Visites des sites : Observatoire des navigations

L'observatoire des navigations est un outil de consultation des logs de l'outil de filtrage e2guardian[32].

Configuration

L'accès à cet outil se paramètre dans l'interface de configuration du module, dans l'onglet expert : Filtrage web.

La question Autoriser la consultation des logs liés au filtrage web dans l'EAD propose plusieurs options :

  • oui : accès autorisé pour les utilisateurs EAD possédant les actions navigation_visit_admin et/ou navigation_visit_pedago ;
  • non : accès interdit pour tout le monde, personne ne voit le lien Visites des sites (configuration par défaut) ;
  • admin seulement : accès autorisé uniquement pour le rôle admin.
Consultation

La consultation des visites de sites se fait au travers de l'EAD, menu : Filtre web X/visites des sites.

Remarque

Les noms des menus (ici : Filtre web proxy 2) sont modifiables dans l'interface de configuration du module (variables dansguardian_ead_filtre1 et dansguardian_ead_filtre2).

Sites : Bases de filtres optionnels

Les bases de filtres proposées sur le module Amon sont des copies de celles gérées par l'université de Toulouse 1 Capitole : http://cri.univ-tlse1.fr/blacklists.

L'université de Toulouse 1 Capitole diffuse depuis de nombreuses années une liste noire d'URLs, gérée par Fabrice Prigent afin de permettre un meilleur contrôle de l'utilisation d'Internet.

Les bases, publiées sous licence d'utilisation Creative Commons by-sa 4.0, sont largement utilisées par les écoles et sont également intégrées dans un grand nombre d'outils libres ou commerciaux, en complément d'autres listes.

Les bases sont mises à jour 2 à 3 fois par semaine en fonction des disponibilités du mainteneur, elles peuvent être enrichies grâce à une formulaire en anglais : http://dsi.ut-capitole.fr/cgi-bin/squidguard_modify.cgi.

Ces bases de filtres proposent des catégories avec des listes de domaines et d'URL triés par catégories.

Les sites référencés dans les catégories adult et redirector sont interdits d'office.

Les autres bases de filtres sont activables depuis l'interface EAD.

L'activation se fait :

  • par filtre web ;
  • par politique de filtrage.

La mise à jour des bases de filtres est lancée automatiquement toutes les nuits

Un rapport de mise à jour est disponible sur la page d'accueil de l'EAD.

Rapport de mise à jour des bases de filtres
Rapport de mise à jour des bases de filtres
ExemplePour activer la catégorie "agressif" sur toute la zone de configuration 1

Dans Filtre 1 / Sites / Filtres :

  • cocher les quatre cases (pour les quatre politiques de filtrage de la zone 1) ;
  • valider.
Activation de filtres optionnels
Activation de filtres optionnels
Remarque

Pour activer une catégorie seulement pour une politique de filtrage[35], seule la case correspondant à la politique doit être cochée.

Restreindre l'activation d'un filtre à une politique
Restreindre l'activation d'un filtre à une politique
Truc & astuce

La commande suivante permet de forcer la mise à jour les bases de filtrages :

/usr/share/eole/sbin/Maj-blacklist.sh

Complément

La liste des bases de filtres d'interdiction gérées sur le module EOLE est fournie par le fichier : /usr/share/ead2/backend/config/filtres-opt.

La modification des filtres optionnels activés impactent les fichiers suivants :

  • /var/lib/blacklists/dansguardian<num_instance>/f<num_politique>/bannedsitelist
  • /var/lib/blacklists/dansguardian<num_instance>/f<num_politique>/bannedurllist

Sur le module AmonEcole, ces fichiers sont dans le conteneur reseau.

Sites : Filtrage syntaxique

Configuration du filtrage syntaxique

Le module Amon filtre dynamiquement les pages web grâce au filtrage syntaxique[36].

Ce système de pondération par mot clef se base sur le fichier /var/lib/blacklists/meta/weighted qui est mis à jour toutes les nuits, à partir des données gracieusement gérées et mises à disposition par l'académie de Rouen.

Dans l'EAD, le filtrage syntaxique peut être :

Il est possible de régler ce filtrage pour chaque zone de configuration.

Pour modifier la configuration, aller dans Filtre web 1 / Filtrage.

Configuration du mode de filtrage web pour la zone de configuration 1
Configuration du mode de filtrage web pour la zone de configuration 1

Le mode de filtrage syntaxique choisi est enregistré dans le fichier :

/var/lib/eole/config/filtrage-contenu<num_instance>

RemarqueLimite de pondération

Le réglage par défaut de la limite de pondération peut être modifié dans l'interface de configuration du module dans l'onglet Filtrage web.

RemarqueMode safe search dans les moteurs de recherche

En complément, des redirections DNS sont mises en place afin que le mode safe search[38] des principaux moteurs de recherche et sites d'hébergement de vidéos soit activé automatiquement (Qwant, Youtube, Bing, Google…).

Des variables de configuration, disponibles dans l'onglet Mode restreint, permettent d'activer ou non le mode restreint pour certaines applications.

RemarqueFiltrage PICS

Le filtrage PICS (http://www.w3.org/PICS) ne s'active automatique que si le filtrage syntaxique est configuré sur la page entière.

Sites : Interdire et autoriser des domaines

Interdire des domaines et des URL

Il est possible de compléter la liste de sites interdits (liste noire[39]) en ajoutant des domaines ou des URL sur la liste personnalisée de domaines interdits.

Cette liste est applicable :

  • a une zone entière ;
  • de manière plus fine sur une seule politique de filtrage.

Le formulaire qui permet d'interdire des domaines est atteignable par le menu portant le nom du filtre choisi dans l'interface de configuration du module, Filtre web 1 par défaut puis Sites / Domaines interdits.

Interdiction de domaines pour les quatre politiques de la zone de configuration sur le filtre nommé par défaut "Filtre web 1"
Interdiction de domaines pour les quatre politiques de la zone de configuration sur le filtre nommé par défaut "Filtre web 1"

Les domaines interdits sont écrits dans :

/var/lib/blacklists/dansguardian<num_instance>/f<num_politique>/domains

Sur un module AmonEcole, ces fichiers sont dans le conteneur internet.

Truc & astuceAjout de sites interdits personnalisés par les académies ou les collectivités

Des listes de domaines et d'URL peuvent être gérées indépendamment de l'EAD par l'intermédiaire des fichiers suivants :

  • /var/lib/blacklists/dansguardian<num_instance>/common/domains_acad
  • /var/lib/blacklists/dansguardian<num_instance>/common/urls_acad

Sur un module AmonEcole, ces fichiers sont dans le conteneur internet.

Signaler de sites

Il est possible de signaler des domaines à interdire qui amélioreront les performances et la qualité des bases nationales de domaines interdits.

Pour cela, aller dans Outils / Signalements.

Vue du formulaire de signalement
Vue du formulaire de signalement

Une procédure automatisée a été mise en place afin de recueillir les propositions de domaine à interdire dans les bases nationales.

Un ensemble de moteurs logiciels analysera l'URL soumise et une vérification visuelle aura lieu si besoin avant l'incorporation du domaine dans les listes de domaines interdits.

La participation de chacun à ce processus permet d'améliorer les bases nationales et leur performance et ce afin que chacun puisse en bénéficier.

Truc & astuce

Il est également possible de faire une signalement directement auprès de l'université de Toulouse 1 Capitole grâce à une formulaire en anglais : http://dsi.ut-capitole.fr/cgi-bin/squidguard_modify.cgi.

Autoriser des domaines et des URL

Il est possible de forcer l'autorisation de domaines ou d'URL (liste blanche[40]) en les ajoutant à la liste des domaines autorisés.

Cette liste de domaines s'applique :

  • sur une zone de filtre web portant le nom du filtre choisi dans l'interface de configuration du module ;
  • de manière plus fine par politique de configuration (si des utilisateurs ou des groupes de machine ont été associés à des politiques optionnelles).

Le formulaire se trouve dans Filtre web 1/ Sites / Sites autorisés

Le formulaire qui permet d'autoriser des domaines est atteignable par le menu portant le nom du filtre choisi dans l'interface de configuration du module, Filtre web 1 par défaut puis Sites / Domaines autorisés.

Autorisation de sites pour les quatre politiques de la zone de configuration sur le filtre nommé par défaut "Filtre web 1"
Autorisation de sites pour les quatre politiques de la zone de configuration sur le filtre nommé par défaut "Filtre web 1"

Les domaines autorisés sont écrits dans :

/var/lib/blacklists/dansguardian<num_instance>/f<num_politique>/whites

Sur le module AmonEcole, ces fichiers sont dans le conteneur internet.

Truc & astuceAjout de sites autorisés personnalisés par les académies ou les collectivités

Il est possible d’ajouter manuellement des domaines dans la liste blanche afin d’autoriser l’accès à ces domaines dans tous les cas. Pour ce faire, il suffit d’éditer le fichier /var/lib/blacklists/white/freelist et d’y ajouter un domaine par ligne (exemple : departement41.fr).

Sur le module AmonEcole, ces fichiers sont dans le conteneur internet.

Sites : Interdire des extensions et des types MIME

Interdire des extensions

Il est possible d'interdire des extensions, ainsi si l'URL de navigation pointe vers un fichier portant cette extension, l'accès sera interdit.

Cette interdiction s'applique :

  • sur une zone de configuration ;
  • de manière plus fine par politique de configuration (si des utilisateurs ou des groupes de machine ont été associés à des politiques optionnelles).

Le formulaire se trouve dans Filtre web 1 / Sites / Extensions.

Interdiction d'extensions pour les quatre politiques de la zone de configuration 1
Interdiction d'extensions pour les quatre politiques de la zone de configuration 1
Attention

Cette fonctionnalité n'est pas compatible avec le protocole HTTPS.

Complément

Les extensions interdites sont écrites dans :

/var/lib/blacklists/dansguardian<num_instance>/f<num_politique>/extensions

Sur AmonEcole, ces fichiers sont dans le conteneur reseau.

Interdire des types MIME

Il est possible d'interdire des types MIME[41]. Cette interdiction fonctionne comme celle des extensions.

Cette interdiction s'applique :

  • sur une zone de configuration ;
  • de manière plus fine par politique de configuration (si des utilisateurs ou des groupes de machine ont été associés à des politiques optionnelles).

  Le formulaire se trouve dans Filtre web 1 / Sites / type MIME.

Interdiction de types MIME pour les quatre politiques de la zone de configuration 1
Interdiction de types MIME pour les quatre politiques de la zone de configuration 1
Attention

Cette fonctionnalité n'est pas compatible avec le protocole HTTPS.

Complément

Les types MIME interdits sont écrits dans :

/var/lib/blacklists/dansguardian<num_instance>/f<num_politique>/types_mime

Sur AmonEcole, ces fichiers sont dans le conteneur reseau.

Sites : Politique liste blanche

Le politique liste blanche[40] permet de restreindre la navigation web à une liste de sites autorisés.

Le principe est "tout est interdit sauf".

Attention

Le mode liste blanche n'est compatible que lorsque déchiffrement HTTPS est activé sur Squid (dans gen_config).

ExempleRestreindre la navigation au site Wikipédia pour les utilisateurs en mode liste blanche de la zone nommée par défaut "Filtre web 2"

Dans Filtre web 2 / Sites / Sites du mode liste blanche

  • ajouter un domaine avec ou sans sous-domaine (exemple fr.wikipedia.org) dans le champ Ajouter un site au mode liste blanche ;
  • cliquer sur le bouton Valider.

Les utilisateurs et les postes ayant pour politique de filtrage "mode liste blanche" ne pourront naviguer que sur le site ajouté à la liste blanche (exemple Wikipédia).

Ajout d'un site dans la liste blanche
Ajout d'un site dans la liste blanche
ExempleSupprimer un site de la liste blanche
  • sélectionner le site dans la liste déroulante SITES DU MODE LISTE BLANCHE ;
  • cliquer sur la bouton Valider.
Suppression d'un site dans la liste blanche
Suppression d'un site dans la liste blanche
Complément

Les sites de la liste blanche sont écrits dans :

/var/lib/blacklists/dansguardian<num_instance>/f<num_politique>/site_liste_blanche

Sur un module AmonEcole, ces fichiers sont dans le conteneur internet.

Utilisateurs : Filtrage par utilisateur

Si l'authentification a été activée sur la zone durant la phase de configuration, il est possible de définir, pour l'utilisateur, une des politiques de filtrage suivante :

  • modérateur (lorsqu'un site est interdit, un lien lui est proposé pour outrepasser l'interdiction) ;
  • interdits (aucune navigation web n'est possible pour cet utilisateur) ;
  • mode liste blanche (seuls les sites de la liste blanche sont autorisés) ;
  • politique de filtrage web spécifique.
ExemplePlacer un professeur sur la liste des modérateurs pour la zone de filtre web 1

Il est parfois intéressant de voir un site interdit, qui, parfois, empêche l'accès à un contenu pédagogique. En définissant un professeur comme modérateur, on lui permet d'outrepasser l'interdiction de navigation et, le cas échéant, le placer sur la liste des sites autorisés.

Dans Filtre web 1 / Utilisateurs :

  • entrer le nom de l'utilisateur ;
  • valider ;
  • choisir Modérateur dans la liste.
Configurer des politiques de filtrage pour un utilisateur sur la zone de filtre web 2
Configurer des politiques de filtrage pour un utilisateur sur la zone de filtre web 2

Ces informations sont stockées dans :

/var/lib/blacklists/dansguardian<num_instance>/common/filtergroupslist

Sur AmonEcole, ces fichiers sont dans le conteneur reseau.

Remarque

Si le menu Utilisateurs n'apparaît pas, c'est que la zone n'est pas authentifiée.

Attention

Le mode modérateur n'est pas compatible avec l'authentification NTLM : #19351.

ComplémentCorrespondance entre numéro de politique et mode de fonctionnement

Pour chaque instance de e2guardian, 8 politiques sont pré-définies par les fichiers guardianfX.conf :

  • politique n°1 : politique par défaut (politiquedefaut) ;
  • politique n°2 : utilisateur modérateur (groupmoderateurs) ;
  • politique n°3 : utilisateur interdit (groupinterdits) ;
  • politique n°4 : utilisateur en mode liste blanche (grouplisteblanche) ;
  • politique n°5 : politique de filtrage personnalisée n°1 (politique1) ;
  • politique n°6 : politique de filtrage personnalisée n°2 (politique2) ;
  • politique n°7 : politique de filtrage personnalisée n°3 (politique3) ;
  • politique n°8 : politique de filtrage personnalisée n°4 (politique4).

Outil d'analyse de logs LightSquid

LightSquid est un analyseur de logs pour le proxy/cache Squid[31].

Les statistiques générées manuellement ou automatiquement par cet outil sont consultables dans l'interface EAD.

http://lightsquid.sourceforge.net/

Configuration

LightSquid se paramètre dans l'interface de configuration du module, dans l'onglet expert Squid. Pour activer la génération automatique des statistiques (toutes les nuits) il faut passer la variable Générer les statistiques Squid automatiquement à oui. Le port par défaut est 8062.

Paramétrage de Lightsquid
Paramétrage de Lightsquid

La génération des statistiques proxy peut se faire manuellement, en exécutant la commande squid_parselogs.sh.

La méthode d'anonymisation des statistiques générées est également paramétrable :

  • aucune : aucune anonymisation ;

  • par IP : n'affiche que les adresses IP ;

  • anonyme : entièrement anonyme (remplace par un tiret).

Attention

Suite à un incident, les statistiques sont celles de la veille, il faut penser à forcer la génération manuellement.

Remarque

Techniquement, LightSquid fonctionne en mode cgi sur un port local (8062 par défaut).

Cela entraîne certaines limitations :

  • la ré-authentification nécessaire en mode "pam" ;
  • l'accès aux statistiques est impossible depuis un frontend EAD distant.

Consultation

La consultation des statistiques LightSquid se fait au travers de l'EAD, dans le menu Outils / Statistiques proxy.

Pour afficher les statistiques il faut cliquer sur le lien Accéder aux statistiques. La navigation se fait dans une nouvelle fenêtre qui demande une authentification. Par défaut, ces statistiques ne sont accessibles que pour le rôle admin, un clic sur le bouton Connexion sans mot de passe permet de passer à la demande d'authentification pour le compte root.

Une fois connecté la vue initiale propose de naviguer dans les statistiques par date (année, jour, mois), par groupe, par quota dépassé.

Consultation au travers de l'EAD
Consultation au travers de l'EAD

Dans la vue journalière, si la méthode d'anonymisation choisie est par IP, LightSquid n'affiche que les adresses IP utilisées lors de la navigation. Il affiche également le nombre de connexions et le nombre d'octets utilisés. Il est possible d'afficher un rapport sur le top des sites visités et le top des gros fichiers téléchargés dans la journée. Il est possible de repasser à des statistiques journalières par IP.

Vue journalière des statistiques
Vue journalière des statistiques

Dans la vue des statistiques journalières par IP, toutes les adresses visitées par l'utilisateur s'affichent avec le nombre de connexions et les octets consommés.

Vue journalière par IP des statistiques
Vue journalière par IP des statistiques

Dans la vue par mois, un clic sur la consommation total des Octets donne un classement de la consommation d'octets par adresse IP. Dans le tableau affiché, un graphe mensuel de la consommation d'octets par adresse IP est disponible.

Graphe mensuel de la consommation d'octets pour une adresse IP
Graphe mensuel de la consommation d'octets pour une adresse IP

Visites des sites : Observatoire des navigations

L'observatoire des navigations est un outil de consultation des logs de l'outil de filtrage e2guardian[32].

Configuration

L'accès à cet outil se paramètre dans l'interface de configuration du module, dans l'onglet expert : Filtrage web.

La question Autoriser la consultation des logs liés au filtrage web dans l'EAD propose plusieurs options :

  • oui : accès autorisé pour les utilisateurs EAD possédant les actions navigation_visit_admin et/ou navigation_visit_pedago ;
  • non : accès interdit pour tout le monde, personne ne voit le lien Visites des sites (configuration par défaut) ;
  • admin seulement : accès autorisé uniquement pour le rôle admin.

Consultation

La consultation des visites de sites se fait au travers de l'EAD, menu : Filtre web X/visites des sites.

Remarque

Les noms des menus (ici : Filtre web proxy 2) sont modifiables dans l'interface de configuration du module (variables dansguardian_ead_filtre1 et dansguardian_ead_filtre2).

Fonctionnalités de l'EAD3 sur le module AmonEcole

Fonctionnalités de l'EAD3 communes à tous les modules

Action de stockage de fichiers pour les actions EAD3

Gérer les fichiers

Cette action permet de téléverser des fichiers dans l'EAD3 dans le but d'être utilisés dans d'autres actions.

Elle permet également d'accéder à des fichiers créés par des actions lorsque ceux-ci sont trop lourds pour être affichés par l'action dédiée.

Téléverser des fichiers

Seuls les fichiers aux formats XML, CSV, TAR.GZ et ZIP sont autorisés.

Par défaut les fichiers téléversés sont stockés dans le répertoire /var/lib/eole/ead3files/.

Ce chemin peut, si besoin, être modifié dans l'interface de configuration du module dans l'onglet Ead3 en mode expert.

Attention

Le téléversement d'un fichier portant le même nom écrase celui déjà présent sur le serveur.

Truc & astuce

La liste des extensions autorisées est définie dans le template[42] : ead3fileserver.conf.

Action de mise à jour

Trois actions sont disponibles.

  • Paquets à mettre à jour ;

  • Mise à jour ;

  • Rapport de mise à jour.

La mise à jour unique

La mise à jour peut-être effectuée immédiatement, ou dans la nuit qui suit, ou bien à encore à une date précise.

Action système

Quatre actions sont disponibles  :

  • Services

  • Redémarrer

  • Reconfigurer

  • Éteindre

Services

L’action Services liste les services du système et permet de les redémarrer ou des les arrêter immédiatement.

Remarque

L’état actuel des services listés n’est pas affiché.

Truc & astuce

Sur un serveur en mode conteneur[17], certains services peuvent être listés plusieurs fois en fonction de leur emplacement.

Redémarrer

L’action Redémarrer permet de programmer le redémarrage du serveur selon trois options de programmation  :

  • immédiatement  ;

  • la nuit suivante  ;

  • à une date et une heure données.

L’option permettant de préciser une date et un horaire de redémarrage nécessite de renseigner l’heure sous forme heure et minute et la date.

Reconfigurer

L’action Reconfigurer permet de programmer le reconfigure du serveur selon trois options de programmation  :

  • immédiatement  ;

  • la nuit suivante  ;

  • à une date et une heure données.

L’option permettant de préciser une date et un horaire de reconfigure nécessite de renseigner l’heure sous forme heure et minute et la date.

Éteindre

L’action Éteindre permet de programmer l’arrêt du serveur selon trois options de programmation  :

  • immédiatement  ;

  • la nuit suivante  ;

  • à une date et une heure données.

L’option permettant de préciser une date et un horaire d’arrêt nécessite de renseigner l’heure sous forme heure et minute et la date.

Action de tâches planifiées

Tâches planifiées cette nuit

L'action des tâches planifiées cette nuit permet de visualiser les tâches qui ont été planifiées "la nuit qui vient".

Il est possible de supprimer une action en cliquant sur la corbeille à droite de la ligne correspondante à la tâche.

ExempleExemple de tâches planifiées

Si un redémarrage du serveur a été programmé dans la nuit (action système -> redémarrage du serveur), l'action s'affiche dans la liste des tâches planifiées dans la nuit.

Si l'on souhaite programmer l'arrêt du serveur, l'EAD ne nous autorise pas à planifier cette action. En effet celle-ci est incompatible avec celle du redémarrage du serveur.

Il faudrait supprimer l'action de redémarrage programmée dans la nuit, pour ensuite programmer à nouveau l'arrêt du serveur dans la nuit qui vient.

L'action de redémarrage apparaît dans la liste des actions effectuées la nuit.

Liste des tâches planifiables

Il est possible de planifier :

  • l'exportation de l'annuaire LDAP ;
  • le compactage de la base de données de bareos ;
  • l'exportation des quotas et du SID samba ;
  • la vérification de l'intégrité des caches samba ;
  • la mise à jour automatique ;
  • l'exportation des bases de données MySQL.

Il est possible de planifier une ou plusieurs de ces tâches, elles sont prises en compte au moment du clic sur le bouton PROGRAMMER en bas de l'action :

Fonctionnalités de l'EAD3 propres au module Amon

Actions liées au fonctionnement du pare-feu

Le paquet era-actions, pré-installé sur Amon et AmonEcole >= 2.8.1, apporte trois actions permettant d’activer/désactiver les règles optionnelles, de lister les règles de pare-feu activées et d'ajouter/supprimer des règles volatiles.

Action gestion des règles de pare-feu optionnelles

Les modèles de pare-feu ERA peuvent contenir des directives optionnelles EAD.

Une règle peut être :

  • générale, si elle concerne uniquement l’interface externe ;

  • spécifique à un filtrage, si elle concerne une interface interne de la zone, dans ce cas, elle apparaîtra dans le règles du filtre web auquel est rattaché l’interface source de la directive.

Pour modifier le statut d’une directive optionnelle :

  1. activer ou désactiver une directive en cliquant sur le bouton correspondant de la seconde colonne,

  2. valider les modifications en cliquant sur le bouton APPLIQUER LES MODIFICATIONS.

Écran
  • 1
    Onglets de zones

    Les règles optionnelles sont attachées à une interface interne de la zone (onglets Filtre web) ou à l’interface externe (onglet générales).

    La sélection s’effectue en cliquant sur l’onglet correspondant.

    L’onglet générales est le seul à être obligatoirement présent. La présence des autres onglets dépend de la configuration des règles de filtrage du serveur.

  • 2
    Colonne des noms de règle

    La première colonne du tableau affiche le nom de la règle.

  • 3
    Colonne du statut de la règle

    La seconde colonne du tableau affiche et permet de changer le statut de la règle associée : désactivée (bouton blanc à gauche de la glissière) ou activée (bouton bleu à droite de la glissière).

  • 4
    Bouton de validation des changements

    Les changements de statut effectués ne sont appliqués qu’après avoir cliqué sur le bouton APPLIQUER LES MODIFICATIONS.

Remarque

Les directives optionnelles activées ou désactivées dans l’EAD sont enregistrées dans le fichier /var/lib/eole/config/regles.csv faisant le lien entre ERA et les directives optionnelles de l’EAD.

Attention

Pour les règles optionnelles, l’EAD prime sur ERA : elles sont pilotées par l’EAD. Une directive peut être marquée comment étant active par défaut dans ERA et ne pas être effectivement active car désactivée dans l’interface EAD.

Action liste des règles de pare-feu appliquées

Cette action permet de lister les règles iptables appliquées sur un serveur à un moment donné.

On retrouve les informations utiles suivantes :

  • l’index ;

  • le nom de la table (filter, NAT, …) ;

  • la cible (ACCEPT, …) ;

  • l’adresse source’

  • l’adresse de destination ;

  • le protocole (tcp, icmp, …) ;

  • le port de destination ;

  • le commentaire des directives ERA.

Écran
  • 1
    Champ de filtrage

    Chaque colonne dispose d’un champ permettant de filtrer les entrées du tableau en fonction d’une chaîne de caractères.

  • 2
    Menu de sélection des colonnes affichées

    Les colonnes peuvent être affichées ou masquées pour rendre l’affichage plus clair.

  • 3
    Exemple d’une règle de pare-feu appliquée

    Une règle avec toutes les informations disponibles fournit à l’administrateur :

    • un numéro d’ordre d’application ;

    • la table ;

    • la chaîne ;

    • la cible ;

    • l’IP source ;

    • l’IP de destination ;

    • le protocole ;

    • le port de destination ;

    • le commentaire optionnel.

Pour chacune de ces informations, il est possible d’appliquer un filtre pour ne voir que les règles répondant à ce critère.

Il est également possible de choisir quelles informations afficher pour adapter la quantité d’informations disponibles.

Enfin, chaque colonne est redimensionnable manuellement pour adapter sa largeur à la largeur de l’écran.

Action gestion de règles de pare-feu volatiles

Cette action permet de gérer des règles de pare-feu volatiles.

Une règle volatile est une règle qui est ajoutée temporairement sur un serveur. Cette règle a vocation à être supprimée rapidement.

La règle est supprimée de deux manières :

  • au rechargement des règles de pare-feu (reconfigure, mise à jour, redémarrage du serveur, lors de la configuration de politique de filtrage du proxy, etc.) ;

  • lorsque l’administrateur la supprime explicitement.

Une règle volatile est une règle qui comprend :

  • une IP ou un réseau source ;

  • une IP ou un réseau de destination ;

  • un port de destination ;

  • un protocole (TCP ou UDP).

L’action est composée d’une zone prévue pour l’ajout de nouvelles règles et une zone de visualisation des règles déjà appliquées.

Écran
  • 1
    Formulaire d’ajout

    Le formulaire d’ajout de règle volatile permet de renseigner :

    • une IP source ;

    • une IP de destination ;

    • un port de destination ;

    • le protocole.

  • 2
    Liste des règles actives

    Chaque ligne du tableau affiche les informations pour une règle :

    • l’IP source ;

    • l’IP de destination ;

    • le protocole ;

    • les ports de destination ;

    • le bouton permettant de supprimer cette règle.

Il est possible de faire des règles avec des IP :

Plus largement, il est possible de définir des réseaux (au format CIDR) :

Le port peut également être une plage de ports (ici, tous les ports entre 28 et 38) :

Les ports multiples sont également pris en charge :

Lorsque la règle est appliquée, elle apparaît dans la liste des règles volatiles :

Il est possible de filtrer les règles ou de redimensionner les colonnes comme pour l’action règles de pare-feu appliquées.

Pour supprimer la règle, il suffit de cliquer sur le bouton à la droite de la règle dans le tableau.

Fonctionnalités de l'EAD3 propres au module Scribe

Actions liées à la gestion du DHCP (si service activé)

Le groupe d’actions DHCP rassemble deux actions.

L'action de gestion du DHCP proposée par l'EAD3 vient en remplacement de celle proposée par l'EAD2.

Elle tire parti d’une réorganisation de la configuration permettant la déclaration explicite de plages d’IP réservées statiquement et donc un comportement plus prévisible que celui offert précédemment par l’EAD2.

Les deux actions sont par conséquent incompatibles et l’activation de l’action proposée par l’EAD3 doit être effectuée explicitement via l’autre action du groupe.

Action d'activation de l'action DHCP EAD3

Cette action permet d'activer la gestion DHCP dans l'EAD3.

Activation de la gestion du DHCP dans l'EAD3

Les actions de gestion DHCP EAD2 et EAD3 étant incompatibles, choisir oui va :

  • désactiver l'action DHCP de l'EAD2 (l'action existe encore mais un message d'alerte prévient qu'il faut utiliser l'EAD3) ;

  • convertir les réservations DHCP EAD2 en réservations EAD3 ;

  • activer l'action DHCP de l'EAD3.

Attention

La conversion des réservations DHCP de l'EAD2 vers l'EAD3 va écraser les réservations éventuelles déjà existantes dans l'EAD3.

Avant de désactiver la gestion DHCP avec l'EAD3, il faut penser à exporter les réservations au format CSV à titre de sauvegarde.

Désactivation de la gestion du DHCP dans l'EAD3

Le choix non va :

  • désactiver l'action DHCP de l'EAD3 (les réservations seront perdues, elles ne peuvent pas être converties vers l'EAD2) ;

  • activer l'action DHCP de l'EAD2.

L'action de gestion DHCP EAD3 est toujours présente mais un message informe qu'il faut d'abord l'activer.

Action de paramétrage du DHCP

Cette action permet de paramétrer une partie de la configuration du serveur DHCP[43] (en complément de la partie gérée dans l'interface de configuration du serveur).

Elle apparaît uniquement si le paquet eole-dhcp est installé et si Activer le serveur DHCP est à oui dans la famille Services de l'interface de configuration du module.

L'action présente sous forme d'onglets : les baux en cours, les réservations d'adresse IP et les sous-réseaux déclarés dans l'interface de configuration du serveur.

Un quatrième onglet est dédié à l'importation de réservations.

Visualisation des baux DHCP en cours

Ce tableau montre les baux des machines ayant effectué une requête DHCP avec leur nom d'hôte, l'adresse IP attribuée et l'adresse MAC ainsi que la date d'expiration du bail DHCP.

Grâce au bouton Réserver, il est possible d'utiliser l'adresse MAC d'une machine connectée pour créer une nouvelle réservation. Il faudra alors modifier l'adresse IP en saisissant soit une adresse IP hors plage dynamique soit une plage DHCP nommée (paramètre Nom de la plage DHCP dans l'interface de configuration du module).

Réservation d'IP

Pour que le serveur DHCP attribue toujours la même adresse IP à un poste, il faut lui réserver son adresse. Pour cela, il convient de fournir obligatoirement le nom de la machine et son adresse MAC. Une adresse IP doit également être fournie si la réservation doit être effectuée hors d’une plage à assignation statique. Dans le cas contraire, il est possible de seulement renseigner le nom de la plage à assignation statique, l’adresse IP étant attribuée automatiquement. Les adresses IP fixes définies pour les réservations doivent, dans tous les cas, appartenir à un réseau déclaré dans l'interface de configuration du module, mais elles doivent aussi être en dehors des plages d'adresses IP à assignation dynamique.

Avec le bouton Modifier, chaque valeur d'une réservation peut être corrigée. Le bouton Libérer permet de supprimer une réservation.

Un champ Filtre permet de restreindre l'affichage des réservations.

Le bouton Exporter donne la possibilité d'enregistrer les réservations dans un fichier CSV[29]. Si un filtre a été appliqué, seules les réservations affichées seront exportées.

L'ajout de réservation s'effectue dans le formulaire du bas :

Remarque

Des vérifications sont effectuées sur les valeurs saisies et peuvent provoquer des avertissements : validité des valeurs saisies, appartenance de l'adresse IP à un réseau DHCP déclaré, adresse déjà attribué ou dans une plage à assignation dynamique.

Affichage des sous réseaux

Cet onglet reprend les informations saisies dans l'interface de configuration du module concernant le DHCP.

On y retrouve, pour chaque sous-réseau déclaré, les différentes plages d'adresses IP avec leur nom et deux paramètres indiquant quelle type de réservation elles acceptent :

type de plage à dynamique

type de plage à statique

accès restreint à oui

association d’une machine à une plage dynamique par adresse MAC (pas d’adresse IP réservée ni garantie)

réservation de l’IP pour une adresse MAC donnée

accès restreint à non

aucune réservation possible

réservation de l’IP pour une adresse MAC donnée

un paramètre précisant si la réservation d'adresse y est autorisée ou non.

Truc & astuceParamètre Réservation d'adresse autorisée ?

Ce paramètre correspond à Interdire cette zone aux hôtes inconnus dans l'interface de configuration du module, famille DHCP en mode expert.

Importation des réservations en CSV

Le bouton Charger un fichier permet d'importer des réservations à partir d'un fichier CSV[29]. Les réservations importées sont d’abord présentées dans un tableau. Ce tableau peut être vidé avec le bouton Réinitialiser et chaque ligne peut être corrigée avec le bouton Modifier. Le bouton Importer rend effectives les réservations affichées dans le tableau.

Au moment d'importer, on peut choisir si les nouvelles réservations vont s'ajouter aux anciennes ou les écraser :

Ajout des nouvelles réservations aux anciennes

Suppression des anciennes réservations et ajout des nouvelles

Format du fichier CSV

Le fichier CSV à importer doit comporter 4 colonnes séparées par le caractère ; :

  • nom de la machine ;
  • adresse MAC ;
  • adresse IP ;
  • nom de la plage DHCP.

Une réservation ne peut contenir à la fois une adresse IP et un nom de plage DHCP que dans le cas précis où la plage ciblé est statique et l’adresse IP cohérente avec cette plage.

La seule valeur obligatoire est l'adresse MAC et elle doit être unique.

Exemple
1
pcprofs;02:00:0a:01:02:67;;salle-des-profs
2
pcinvite1;11:11:11:11:11:13;192.168.0.5;
3
pcinvite2;00:00:00:00:00:01;;
4
;00:00:00:00:00:01;192.168.10.10;
5
;22:22:22:22:22:22;;
Attribution automatique d'un nom de machine

Si, lors de l'importation, une réservation n'a pas de nom de machine, un préfixe doit être spécifié et sert de base pour nommer automatiquement la machine.

Attribution automatique d'une adresse IP ou d'une plage DHCP

Si, lors de l'importation, une réservation n'a pas d'adresse IP ou de plage DHCP, on doit préciser une plage d'adresse IP dans laquelle choisir automatiquement des adresses IP ou bien choisir un nom de plage DHCP.

Si la plage d'adresses IP renseignée contient des adresses IP déjà réservées ou des adresses appartenant à la plage dynamique, elles ne seront pas utilisées.

Configuration de la sauvegarde

La configuration de la sauvegarde est une étape nécessaire pour mettre en place la sauvegarde.

Il faut configurer les trois services proposés par le support de sauvegarde. Suivant la configuration du serveur, il se peut qu’une partie ne soit pas disponible.

Le support de sauvegarde

Une fois le stockage Bareos activé dans l’interface de configuration du module, il faut configurer le support de sauvegarde.

Trois types de support de sauvegarde sont proposés :

  • manuel ;

  • USB ;

  • SMB.

Le type « aucun » veut dire que le support de sauvegarde n’est pas configuré.

Le point de montage du support est, dans les trois cas de figure : /mnt/sauvegardes/

Manuel

Comme son nom l’indique, il permet à l’utilisateur de définir sa propre destination de sauvegarde via les outils Bareos. Ce choix correspond généralement à l’utilisation de lecteurs de bandes et s’intègre dans une stratégie de sauvegarde à plus grande échelle.

Le pilote est dépendant du matériel, le lecteur de bande doit être configuré manuellement.

Pour informations, le fichier template concerné bareossupport.conf est dans /usr/share/eole/creole/distrib/

Pour que la solution soit pérenne, il est nécessaire de créer un patch EOLE.

Voir la documentation officielle de Bareos pour le paramétrage : http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-480004

Le point de montage par défaut est toujours /mnt/sauvegardes/.

Attention

Le montage n'est pas contrôlé.

Le support doit être monté sur /mnt/sauvegardes/ et l’utilisateur bareos doit avoir les droits en écriture :

# ls -l /mnt

# chown -R bareos :root /mnt/sauvegardes

USB

La sauvegarde se fait sur un support nécessitant un montage (disque USB, disque interne, etc.), contrôlé avant chaque sauvegarde.

Le chemin d’accès à saisir correspond au nœud du périphérique (par exemple /dev/hda1, /dev/disk/by-label/LABEL si un label est disponible sur le disque).

Attention

Cette méthode est purement locale à la machine, elle est donc sensible aux corruptions éventuelles du serveur.

SMB

La sauvegarde se fait à travers un partage SMB[44].

Il est préférable de déporter le serveur de stockage Bareos plutôt que d’utiliser le protocole SMB.

Ce type de sauvegarde sera utilisé, par exemple, pour les NAS[45].

Les informations suivantes sont demandées :

  • Nom de machine du serveur SMB (n’accepte pas les majuscules) ;

  • IP du serveur SMB ;

  • Nom du partage SMB ;

  • Identifiant SMB ;

  • Mot de passe SMB.

Le directeur

L’envoi de courriers électroniques est proposé si le directeur Bareos est activé sur le serveur.

EOLE offre la possibilité d’envoyer deux types de courriel :

  • les rapports d’erreurs de Bareos : informe que la sauvegarde s'est mal déroulée ;

  • les rapports de sauvegarde réussie : informe qu'une sauvegarde s'est bien déroulée.

Il est recommandé de définir les deux types d’envoi. Pensez à configurer correctement votre relais SMTP[46].

Sauvegarde des fichiers locaux

Une fois le support de sauvegarde défini, il est possible de programmer un type de sauvegarde par périodicité.

EOLE propose trois périodicités et trois types de sauvegarde pour la programmation des sauvegardes :

Périodicité

Type de sauvegarde

sauvegardes mensuelles

totale

sauvegardes hebdomadaires

totale, différentielle, incrémentale

sauvegardes quotidiennes

totale, différentielle, incrémentale

En plus des périodicités proposées, il est possible de lancer une sauvegarde immédiate de type totale, différentielle ou incrémentale.

Seules les sauvegardes totales sont possibles dans le cas de la périodicité mensuelle.

Les sauvegardes mensuelles se font la première semaine du mois.

Si une autre sauvegarde est programmée la même nuit, celle-ci sera automatiquement reportée à la semaine d'après.

Les sauvegardes se programment pour une nuit de la semaine. Une nuit va de 12h à 11h59.

Pour les sauvegardes quotidiennes, il est possible de choisir une plage de jours.

L’interface de programmation des fichiers locaux permet de définir la fréquence de sauvegarde du serveur local. Elle n’est présente que si la sauvegarde des fichiers locaux est activé dans l’interface de configuration du serveur.

Programmer les clients distants

Lorsque la sauvegarde de fichiers distants est activée dans l’interface de configuration du serveur, il est possible de définir la fréquence de sauvegarde des fichiers dans l’action « Programmer les clients distants ».

Chaque serveur distant a un bloc de configuration qui lui est propre. Voici par exemple la configuration du serveur « test » :

Fichiers complémentaires

La liste des fichiers locaux sauvegardés par l’outil de sauvegarde d’EOLE est défini dans la configuration du serveur et dépend des services utilisés. Il peut être nécessaire d’ajouter des répertoires complémentaires en cas de création des données dans un répertoire non prévu.

L’action « fichiers complémentaires » permet d’ajouter des répertoires nouveaux à sauvegarder.

Il est possible de configurer des répertoires nouveaux à sauvegarder. Si nécessaire, il est possible d’exclure un sous-répertoire dont les données ne sont pas pertinentes. Enfin, il est possible d’exclure une liste de fichier de la sauvegarde en définissant une expression rationnelle.

Il est à noter que cette action permet de configurer aussi bien les fichiers locaux que distant.

Exécuter une sauvegarde ponctuelle

L’exécution d’une sauvegarde ne peut être réalisée que lorsque l’espace de stockage de la sauvegarde est correctement configuré. La configuration de l’espace de stockage s'effectue dans l’action « Configuration de la sauvegarde ».

Cette action permet de sauvegarder les données d’un serveur. Si la sauvegarde des fichiers locaux et la sauvegarde de fichiers distant sont activées dans la configuration du serveur, il est nécessaire de choisir entre une sauvegarde local ou distante.

En cas de sauvegarde distante, la sélection du serveur distant est obligatoire.

La sauvegarde est, par défaut, exécutée immédiatement. Il est néanmoins possible de sélectionner une date et une heure différente.

Action de gestion des Clients

Il est possible d'accepter et de gérer les clés des clients EOLE au travers de l'interface d'administration EAD3.

L'action Gestion des clés clients est disponible dans la catégorie Clients.

Écran
  • 1
    ACCEPTER

    Accepte la clé du client, et l'ajoute dans le domaine.

  • 2
    RENOMMER

    Renomme l'entrée du client.

  • 3
    REJETER

    Refuse la demande du client et le liste en client interdit par défaut.

  • 4
    SUPPRIMER

    Supprimer le client du serveur, partie Salt, ou partie Salt et AD.

L'action présente les clients sous la forme d'un tableau.

  • les clés non acceptées peuvent être acceptées, rejetées ou supprimées ;
  • les clés acceptées peuvent être supprimées ou renommées
Attention

Pour l'instant, l'action Renommer modifie uniquement le nom de la clé du client mais pas celui du poste.

Écran
  • 1
    option OUI

    La clé est supprimée de Salt et dans l'annuaire AD

  • 2
    option NON

    La clé est supprimée de Salt uniquement

À partir d'EOLE 2.8.1, la suppression des clés propose deux choix :

  • OUI entraîne la suppression complète du client, c'est-à-dire partie Salt et partie AD, ce qui inclut la disparition du client de son compte machine de AD.
  • NON effectue la suppression du client uniquementdans Salt, le compte machine est toujours dans le domaine.

Action de classification des utilisateurs et des ordinateurs dans AD

À partir d'EOLE 2.8.1, si la création automatique d'une arborescence d'UO a été activée dans l'interface de configuration du module, il est possible de lancer l'exécution du script de classification des objets dans l'AD directement depuis l'EAD3.

L'action Classer les nouveaux utilisateurs et ordinateurs par OU est disponible dans la catégorie Gestion AD.

L'action propose tout simplement d'exécuter le traitement en cliquant sur le bouton.

La fin du traitement est indiquée par une fenêtre qui s'affiche en bas à gauche de l'écran.

Les clients Windows

Suite passage du mode Samba NT[47] au mode Active Directory[48], les anciens outils tels que JoinEOLE et le client Scribe ne sont plus fonctionnels.

À partir d'EOLE 2.7.1, la gestion des postes clients est basée sur de nouveaux outils tels que SaltStack[19], Veyon[49] et les GPO[50].

Le projet regroupant tous ces outils est appelé : eole-workstation

AttentionMises à jour et sécurité

Les mises à jour n'apportent pas seulement de nouvelles fonctionnalités, elles corrigent aussi des failles de sécurité.

Il est donc important que les clients soient aussi à jour.

Cela concerne aussi bien le système d'exploitation (Windows Update) que les programmes installés (Firefox, Java, etc .).

Des vulnérabilités peuvent, en effet, toucher n'importe quel programme.

Ne pas appliquer les mises à jour rendrait votre système vulnérable aux attaques.

Rappelons à ce sujet que, statistiquement, la majorité des attaques proviennent de l'intérieur et non de l'extérieur.

Configuration réseau

Avant l'intégration au domaine, il est indispensable de s'assurer que les paramètres réseau de la station soient corrects (adresse IP, passerelle, DNS, nom de domaine, ...).

Plusieurs cas sont possibles :

  • la station obtient son adresse IP du serveur DHCP du serveur EOLE, dans ce cas il n'y a rien à faire ;

  • la station obtient son adresse IP d'un serveur DHCP autre que le serveur EOLE, il faut vérifier l'adresse IP du DNS et le nom de domaine par défaut ;

  • la station est adressée manuellement, il faut vérifier l'adresse IP du DNS et le nom de domaine par défaut.

Dans tous les cas, afin de limiter le trafic sur le réseau local, il faut veiller à désactiver le protocole NetBIOS[51] pour chacune des cartes réseau dans l'onglet serveur WINS[52].

Truc & astuceDésactivation du protocole NetBIOS

Pour accéder à la configuration du serveur WINS il faut aller dans Panneau de configuration, Connexions réseau, faire un clic droit sur l'icône réseau local et sélectionner propriétés, puis double-cliquer sur Protocole Internet (TCP/IP), cliquer sur Avancé... et enfin sélectionner l'onglet WINS.

Intégration au domaine et installation du client EOLE sur les postes Windows

Pour l'intégration des clients Windows au domaine, deux stratégies sont possibles et le choix dépendra de vos habitudes de travail et des outils dont vous disposez :

  • intégration manuelle ;

  • intégration par le client EOLE.

Intégration au domaine

Intégration manuelle

Dans ce premier scénario, les postes clients doivent être intégrés au domaine Active Directory de façon standard.

Cette étape peut être automatisée à l'aide d'outils tels que FOG[53], OSCAR[54], Clonezilla[55], ...

Une fois la station intégrée au domaine, l'installation du client (Salt Minion) s'effectuera de façon automatisée par le GPO eole_script.

AttentionRésolution DNS

Par défaut, une entrée DNS est automatiquement ajoutée dans Active Directory afin que le nom salt soit résolu avec l'adresse IP sur laquelle répond le serveur SaltMaster de gestion des stations.

Pour le bon fonctionnement du client, il faut impérativement que la station puisse effectuer cette résolution de nom.

AttentionProxy

L'accès à http://salt doit s'effectuer sans proxy.

Si un pare-feu est présent entre le serveur et les clients, il faut s'assurer que celui-ci est configuré correctement.

Dans le cas d'un serveur Amon, il est possible de déclarer des exceptions en utilisant les variables : proxy_bypass_domain_ethX.

Une fois le client EOLE installé, il faut que sa clé soit acceptée sur le serveur afin qu'il soit pleinement fonctionnel.

Intégration par le client EOLE

Dans ce second scénario, il faut installer le client (Salt Minion) sur tous les postes :

  • depuis le poste client connecté en tant qu'administrateur de la machine

  • ouvrir un navigateur internet

  • télécharger l'installeur du client installMinion.exe via HTTP[10] en naviguant vers l'adresse suivante : http://salt/joineole

  • exécuter le script d'installation installMinion.exe (nécessite des droits d'administration)

AttentionRésolution DNS

Par défaut, une entrée DNS est automatiquement ajoutée dans Active Directory afin que le nom salt soit résolu avec l'adresse IP sur laquelle répond le serveur SaltMaster de gestion des stations.

Pour le bon fonctionnement du client, il faut impérativement que la station puisse effectuer cette résolution de nom.

Une fois le client EOLE installé, il faut que sa clé soit acceptée sur le serveur.

Dès que sa clé est acceptée, il s'occupe de joindre automatiquement la station au domaine Active Directory lors du premier re-démarrage du poste client.

Acceptation et gestion des clés

Une fois le client EOLE installé, il faut que sa clé soit acceptée sur le serveur afin qu'il soit pleinement fonctionnel.

Gestion des clés dans l'EAD3

Il est possible d'accepter et de gérer les clés des clients EOLE au travers de l'interface d'administration EAD3.

L'action Gestion des clés clients est disponible dans la catégorie Clients.

Écran
  • 1
    ACCEPTER

    Accepte la clé du client, et l'ajoute dans le domaine.

  • 2
    RENOMMER

    Renomme l'entrée du client.

  • 3
    REJETER

    Refuse la demande du client et le liste en client interdit par défaut.

  • 4
    SUPPRIMER

    Supprimer le client du serveur, partie Salt, ou partie Salt et AD.

L'action présente les clients sous la forme d'un tableau.

  • les clés non acceptées peuvent être acceptées, rejetées ou supprimées ;
  • les clés acceptées peuvent être supprimées ou renommées
Attention

Pour l'instant, l'action Renommer modifie uniquement le nom de la clé du client mais pas celui du poste.

Écran
  • 1
    option OUI

    La clé est supprimée de Salt et dans l'annuaire AD

  • 2
    option NON

    La clé est supprimée de Salt uniquement

À partir d'EOLE 2.8.1, la suppression des clés propose deux choix :

  • OUI entraîne la suppression complète du client, c'est-à-dire partie Salt et partie AD, ce qui inclut la disparition du client de son compte machine de AD.
  • NON effectue la suppression du client uniquementdans Salt, le compte machine est toujours dans le domaine.
Gestion des clés en ligne de commande

Dans une console sur le serveur exécuter la commande :

# enregistrement_client

Attendre l'arrivée d'un message indiquant les client en attente d'ajout :

Il y a quatre couleurs concernant quatre état possible sur les clés :

  • Vert : clés acceptées

  • Violet : clés refusées

  • Rouge : clés en attentes

  • Bleu : clés rejetés

Lorsque la clés du client s'affiche dans Unaccepted keys, il est possible de l'ajouter avec la commande # enregistrement_client -A

Une confirmation sera demandé pour chaque clés en attentes d'acceptation, répondre Y, pour accepter les clés souhaités

Il est également possible d'accepter les clés directement depuis le conteneur addc.

Pour ce faire, vous devez ouvrir une session (ssh ou console) avec la commande # ssh addc

Vous pouvez alors lancer les commandes salt :

  • Pour attendre l’arrivée des clés :

eole@scribe:~$ salt-run state.event pretty=True

  • Pour afficher les clés déjà traitées ou en attentes :

root@addc:~# salt-key

  • Pour accepter toutes les clés :

root@addc:~# salt-key -A

Jonction d'un poste Windows au domaine Active Directory

AttentionServeur DNS

Il est indispensable que les postes clients aient l'adresse IP d'au moins un des contrôleur de domaine comme serveur DNS.

Ceci peut-être paramétré soit sur le serveur DHCP dans le cas d'attribution automatique d'adresses IP aux postes clients, soit manuellement dans les paramètres de l'adaptateur réseau :

Jonction au domaine

Ajouter la station au domaine de la façon suivante :

  • Menu Windows et sélectionner Paramètres ;

  • Cliquer sur Comptes ;

  • Cliquer sur Accès Professionnel ou Scolaire dans le menu de gauche ;

  • Cliquer sur Connecter ;

  • Cliquer sur Joindre cet appareil à un domaine Active Directory local ;

  • Saisir le nom du domaine et cliquer sur Suivant ;

  • Saisir le nom du compte administrateur du domaine ainsi que la clé secrète ("mot de passe") associée au compte et cliquer sur le bouton OK ;

  • Il ne faut pas tenir compte de la proposition d'ajout de compte, cliquer sur le bouton Ignorer et accepter de redémarrer ;

  • Cliquer sur Autre utilisateur et saisir le nomDuDomaine\pnom ainsi que la clé secrète ("mot de passe") pour démarrer la session.

Gestion d'Active Directory avec les outils RSAT

Depuis une station Windows, il est possible de gérer l'Active Directory du module EOLE à l'aide des outils d’administration à distance fournis par Microsoft, les RATS[56].

Installation

  • Cliquer dur Démarrer, rechercher "fonctionnalités facultatives" et cliquer sur Ouvrir :
  • Cliquer sur "Ajouter une fonctionnalité" :
  • Sélectionner les éléments suivants, et cliquer sur "Installer" :
  • Lorsque l'installation est terminée, un résumé s'affiche :

Installation des RSAT en ligne de commande

Il est également possible d'installer les RSAT en ligne de commande avec les commandes :

dism /online /add-capability /capabilityname:Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0

dism /online /add-capability /capabilityname:Rsat.Dns.Tools~~~~0.0.1.0

dism /online /add-capability /capabilityname:Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0

Installation des RSAT en PowerShell

En PowerShell, on peut lister les composants RSAT disponibles avec la commande :

Get-WindowsCapability -Name Rsat.* -Online

On peut filtrer sur les composants déjà installés :

Get-WindowsCapability -Name Rsat.* -Online | Where-Object { $_.State -eq ‘Installed' }

Et l'installation peut se faire comme suit :

Add-WindowsCapability -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0 -Online

Add-WindowsCapability -Name Rsat.Dns.Tools~~~~0.0.1.0 -Online

Add-WindowsCapability -Name Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0 -Online

Exécution et paramétrage des outils

Les RSAT s'utilisent, soit séparément en les appelant depuis Panneau de configurationOutils d'administration, soit en les regroupant dans une console MMC[57] personnalisée. Pour exécuter la commande mmc faire un clic droit sur le menu Windows et taper la commande à exécuter.

Exécuter une commande
Exécuter une commande

Une fois la console MMC lancée, sélectionner les principaux composants :

  • DNS ;

  • Gestion des stratégies de groupes ;

  • Sites et services Active Directory ;

  • Utilisateurs et ordinateurs Active Directory.

Ajouter des composants à la console
Ajouter des composants à la console
Choisir des composants à ajouter à la console
Choisir des composants à ajouter à la console
La console une fois les composants ajoutés
La console une fois les composants ajoutés

Une fois les composants ajoutés dans la console, lorsqu'on clique pour la première fois sur DNS, il faut indiquer sur quel serveur on souhaite administrer le DNS.

Indiquer sur quel serveur le DNS fonctionne
Indiquer sur quel serveur le DNS fonctionne

Enfin, on peut activer les fonctionnalités avancées de la console pour avoir accès à davantage de détails et de paramétrages possibles.

Accéder aux fonctionnalités avancées de la console
Accéder aux fonctionnalités avancées de la console

On peut maintenant administrer le serveur Seth comme n'importe quel serveur Active Directory, paramétrer des GPO par exemple :

Administrer le serveur Seth
Administrer le serveur Seth

Édition des propriétés d'un utilisateur

Dans la console, aller dans : Utilisateurs et ordinateurs Active Directory<nom_du_domaine>Users.

Faire un clic droit sur l'utilisateur et cliquer sur Propriétés.

Création d'une unité organisationnelle (OU)

Nouvelle unité d'organisation
Nouvelle unité d'organisation
Nom de la nouvelle organisation
Nom de la nouvelle organisation

Ajout d'un utilisateur à l'unité organisationnelle

Créer un nouvel utilisateur dans la colonne Actions.

Nouvel utilisateur
Nouvel utilisateur

Donner un nom au nouvel utilisateur.

Nom du nouvel utilisateur
Nom du nouvel utilisateur

Le nouvel utilisateur apparaît dans la liste.

Liste des utilisateurs
Liste des utilisateurs

Création et affectation de la GPO

Dans Gestion des stratégies de groupes, développer l'arborescence jusqu'à l'unité organisationnelle précédemment créée.

Lister les actions possibles
Lister les actions possibles

Créer un nouvel objet GPO.

Créer un objet GPO
Créer un objet GPO

Donner un nom au nouvel objet GPO.

Saisir le nom du nouvel objet GPO
Saisir le nom du nouvel objet GPO

Modifier l'objet GPO nouvellement créé.

Modifier l'objet GPO
Modifier l'objet GPO

Sélectionner Supprimer l'horloge de la zone de notification système.

Gestion de stratégie de groupe
Gestion de stratégie de groupe

L'heure n'apparaît plus dans la barre des tâches.

Application de l'objet GPO
Application de l'objet GPO

Débogage des GPO sous Windows

Lister les GPO appliquées

Pour commencer, il est recommandé d'actualiser les paramètres de stratégies de groupes du client, dans l'invite de commandes, saisir :

gpupdate

La commande suivante permet d'obtenir la liste des GPO appliqués pour l'utilisateur connecté :

gpresult /SCOPE USER /V

Pour obtenir les GPO "machine", la commande (à exécuter en tant qu'administrateur) est :

gpresult /SCOPE COMPUTER /V

Exécution de code PowerShell

Si le GPO nécessite des traitements complexes, il est probable qu'il exécutera un programme PowerShell[58].

L'application Windows PowerShell ISE (exécutée en tant qu'administrateur) permet d'ouvrir et d’exécuter simplement des fichiers .ps1[59].

Gestion de l'Active Directory en ligne de commande

Bien qu'il existe quelques restrictions, la majorité des opérations de gestion peuvent être réalisées en ligne de commande sur les modules Scribe, AmonEcole et Seth configurés en tant que contrôleur de domaine.

Les opérations présentées sont réalisables sur le serveur que le contrôleur de domaine soit déclaré comme additionnel ou non.

Attention

La synchronisation des données entre les différents DC n'est pas instantanée et peut prendre jusqu'à trois minutes.

Modules en mode conteneur

Sur les modules Scribe et AmonEcole, le contrôleur de domaine est la machine conteneur nommée addc.

Les commandes doivent être exécutées dans ce conteneur.

Pour entrer dans le conteneur addc sur un serveur Scribe ou AmonEcole, exécuter la commande suivante :

ssh addc

Sur le module Seth, le contrôleur de domaine est installé sur le maître.

Gestion des groupes et des utilisateurs

  • Lister les groupes

    samba-tool group list

  • Lister les utilisateurs

    samba-tool user list

  • Créer un utilisateur

    samba-tool user create titi "Mot:DeP455"

  • Modifier le mot de passe d'un utilisateur

    samba-tool user setpassword titi

    ou (noter le "\n" entre les deux mots de passe)

    echo -e "MotDePasse?\nMotDePasse?" | smbpasswd -s titi

  • Inscrire un utilisateur à un groupe

    samba-tool group addmembers "Domain Admins" titi

  • Consulter les attributs d'un utilisateur

    pdbedit -Lv titi

  • Paramétrer le répertoire personnel, la lettre de montage et le profil d'un utilisateur

  • pdbedit -h '\\file.ac-test.fr\titi' -D 'U:' -p '\\file.ac-test.fr\profiles\titi' titi

  • Supprimer un utilisateur

    samba-tool user delete titi

Jetons Kerberos et fichiers keytab

Les fichiers keytab, abréviation de « key table » (table des clés), sont des fichiers qui contiennent une clé de chiffrement pour un service ou un hôte.

Ils sont utiles pour réaliser des opération d'administration qui nécessite l'utilisation d'un compte avec pouvoirs sans avoir à en saisir le mot de passe.

L'article suivant (en anglais) explique plutôt bien ce qu'est un keytab : https://social.technet.microsoft.com/wiki/contents/articles/36470.kerberos-keytabs-explained.aspx

Compte machine

Un keytab du compte machine du serveur est automatiquement généré dans le fichier /var/lib/samba/eole-ad-dc.keytab.

Il est ainsi possible d'utiliser ce fichier dans des scripts, pour ajouter des entrées DNS, par exemple :

1
# initialisation d'un jeton Kerberos à l'aide du fichier keytab
2
kinit ADDC@AC-TEST.FR -k -t /var/lib/samba/eole-ad-dc.keytab
3
# ajout d'une entrée DNS locale
4
samba-tool dns add dc1.ac-test.fr ac-test.fr mac10 A 192.168.0.10 -k 1
5
# vérification de la résolution d'un nom par le DNS local
6
dig @localhost mac10.ac-test.fr +short
7
# suppression d'une entrée DNS locale
8
samba-tool dns delete dc1.ac-test.fr ac-test.fr mac10 A 192.168.0.10 -k 1
9
# destruction du jeton Kerberos
10
kdestroy
Truc & astuce

Le jeton Kerberos[60] permet de ne pas avoir fournir de nom d'utilisateur et mot de passe aux commandes d'ajout/suppression d'entrée DNS.

Ceux-ci sont remplacés par l'option « -k 1 ».

Compte utilisateur

De la même façon, il est possible de créer un fichier keytab pour des comptes utilisateur tels que admin ou Administrator :

1
root@dc1:~# samba-tool domain exportkeytab ~/administrator.keytab --principal=Administrator@AC-TEST.FR
2
Export one principal to admin.keytab
3
root@dc1:~# kinit Administrator@AC-TEST.FR -k -t ~/administrator.keytab 
4
root@dc1:~# kdestroy
5
root@dc1:~# rm -f ~/administrator.keytab 

Gestion des sites

Sur le contrôleur de domaine principal, la déclaration d'un site s'effectue facilement grâce à la fonction bash samba_update_site :

1
. /usr/lib/eole/samba4.sh 
2
samba_update_site monsite 10.1.1.0/24

Recherche avancée

La commande ldbsearch permet d'effectuer des recherches dans l'annuaire Active Directory :

  • Initialisation de la variable LDB_URL, utilisée par la commande ldbsearch.

    export LDB_URL=/var/lib/samba/private/sam.ldb

  • Rechercher les utilisateurs

    ldbsearch -S '(objectclass=user)' cn

  • Afficher l'entrée d'un utilisateur

    ldbsearch cn=admin

  • Afficher l'entrée correspondant au groupe Administrators

    ldbsearch '(&(objectclass=group)(cn=Administrators))' --cross-ncs

  • Afficher les entrées correspondant aux contrôleurs de domaine

    ldbsearch '(invocationId=*)' --cross-ncs objectguid

Truc & astuce

Les commandes ldbadd, ldbmodify et ldbdel permettent également de modifier l'annuaire Active Directory à l'aide d'instructions au format LDIF[61].

ExempleAjouter une OU (Unité Organisationnelle) :

Générer le fichier ajouterOU.ldif :

1
dn: OU=etablissement1,DC=ac-test,DC=fr
2
changetype: add
3
objectClass: top
4
objectClass: organizationalunit

Ajouter la modification dans l'annuaire :

ldbadd ajouterOU.ldif

La GPO « eole_script »

Le paquet eole-gpo-script pour le module Seth ou eolead-gpo-script pour les modules Scribe et AmonEcole met en place un GPO[50] permettant notamment de déclarer simplement des scripts personnalisés à exécuter lorsqu'un utilisateur ouvre une session sur un poste Windows (logon.exe).

Il permet également le déploiement automatisé du nouveau client EOLE (SaltMinion[19]).

L'outil ré-utilise les mêmes concepts que l'exécution des scripts personnalisés par l'ancien client Scribe NT.

Truc & astuce

Le paquet eolead-gpo-script est pré-installé sur les modules Scribe et AmonEcole.

Les GPO « eole » sont désactivables dans l'onglet Gpo de l'interface de configuration du module.

Emplacement des fichiers

Les commandes doivent être renseignées dans des fichiers texte se trouvant dans l'un des sous-répertoire du dossier scripts situé dans le répertoire SYSVOL[62] du contrôleur de domaine Active Directory.

Sur un module Scribe en mode AD, ces fichiers sont situés dans le conteneur addc.

Le répertoire des scripts est accessible par :

  • le chemin Unix depuis le serveur Scribe : /var/lib/lxc/addc/rootfs/home/sysvol/<REALM>/scripts/

    1
    root@scribe:~# tree /var/lib/lxc/addc/rootfs/home/sysvol/dompedago.etb1.lan/scripts/
    2
    /var/lib/lxc/addc/rootfs/home/sysvol/dompedago.etb1.lan/scripts/
    3
    ├── groups
    4
    │   └── professeurs.txt
    5
    ├── machines
    6
    ├── os
    7
    │   └── Vista.txt
    8
    └── users
    9
    10
    4 directories, 2 files
  • le chemin Unix à l'intérieur du conteneur addc : /home/sysvol/<REALM>/scripts/

    1
    root@scribe:~# ssh addc "ls /home/sysvol/dompedago.etb1.lan/scripts/"
    2
    groups
    3
    machines
    4
    os
    5
    users
  • le chemin UNC[63] : \\<REALM>\sysvol\<REALM>/scripts

  • le chemin UNC (raccourci) : \\<REALM>\netlogon

Truc & astuce

Le début du chemin UNC \\REALM pourra être remplacé par :

  • \\<NOM_COURT> : le nom court étant la première partie du REALM.

  • \\addc : puisque addc est le nom du serveur hébergeant le contrôleur sur un module Scribe en mode AD.

Arborescence des fichiers

Les scripts peuvent être ajoutés pour :

  • un utilisateur → ../scripts/users/admin.txt ;

  • un groupe → ../scripts/groups/eleves.txt ;

  • une machine → ../scripts/machines/poste01.txt ;

  • un OS (Win95, Win2K, WinXP, Samba, Vista) → ../scripts/os/Vista.txt ;

Attention

Windows 7, 10 et 11 sont traités de la même manière que Windows Vista (OS=Vista).

Les noms de machines doivent être écrits en minuscules.

Scripts personnalisés pour exécuter des commandes

Pour exécuter des commandes il faut utiliser l'instruction cmd.

Par défaut, le programme d'ouverture de session affiche le programme et attend la fin de son exécution pour continuer. Un programme qui ne se ferme pas (ex. notepad.exe) provoquera des ouvertures de session très longue et incomplètes.

  • l'option NOWAIT permet de ne pas attendre la fin de l'exécution du programme ;

  • l'option HIDDEN permet de masquer la fenêtre.

Le format est :

cmd,commande,[options]

Exemple

Exécuter notepad.exe pour l'utilisateur toto lorsqu'il ouvre une session :

Fichier \\<REALM>\netlogon\scripts\users\toto.txt :

cmd,%WINDIR%\notepad.exe,NOWAIT

Truc & astuce

Les scripts personnalisés sont concaténés dans le script principal, par défaut au début de celui-ci. Si des instructions doivent être effectuée après (nécessité d'avoir accès au lecteur commun par exemple), placez la balise %%NetUse%% et ajoutez les instructions ensuite.

Scripts personnalisés pour monter des lecteurs

Pour monter des lecteurs il faut utiliser l'instruction lecteur.

Le format est :

lecteur,lettre:,partage

Exemple

Monter le partage \\monserveur\partage sur la lettre V: pour tous les utilisateurs du domaine :

Fichier \\<REALM>\netlogon\scripts\groups\DomainUsers.txt :

lecteur,V:,\\monserveur\partage

Complément

Une clé de registre a été ajouté dans le GPO afin que le montage des lecteurs soit disponible pour les comptes possédant une élévation de pouvoir (ex : admin).

https://support.microsoft.com/fr-fr/help/3035277/mapped-drives-are-not-available-from-an-elevated-prompt-when-uac-is-co

Résolution de problèmes

Les actions d'exécution de script personnalisés et de montage de lecteurs réseaux sont journalisées dans le fichier %TMP%\eole_script.log.

Les GPO additionnelles EOLE

Le paquet eole-ad-dc-gpos sur Seth et le paquet eole-scribe-gpos sur Scribe permet d'activer des GPO pré-paramétrées et de les associer à des unités organisationnelles[64].

GPO Proxy

La GPO "Proxy" permet de paramétrer le proxy sur les postes clients depuis le serveur via gen_config.

Il existe 4 modes :

  • Connexion directe (aucun proxy)

  • Détection automatique des paramètres proxy (fonctionnement avec le protocole WPAD[65])

  • Utilisation d'un script de configuration (une URL vers un fichier .PAC[66])

  • Manuel (proxy et exceptions paramétrées manuellement)

La GPO Proxy paramètre :

  • Windows (Edge et Internet Explorer)

  • WinHTTP (pour Windows Update entre autre)

  • Firefox

  • Google Chrome

Lorsque la GPO Proxy est activée, elle est automatiquement liée à la racine de l'Active Directory afin que l'ensemble des postes clients soient configurés.

Si la configuration est modifiée sur le serveur dans gen_config, la GPO Proxy ne sera pas mise à jour avec un reconfigure. Il faudra d'abord supprimer la GPO Proxy existante dans l'Active Directory avec d'effectuer un reconfigure ; soit depuis un poste client avec les RSAT, soit depuis le serveur avec samba-tool.

Vue dans gen_config de la fonctionnalité :

Vue côté client :

Autres GPO

Les GPO additionnelles se paramètres dans gen_config dans l'onglet GPO.

Il faut sélectionner dans un menu déroulant les GPOs à activer.

On peut ensuite associer automatiquement ces GPOs à des UO.

Les GPO pré-paramétrées disponibles sont :

  • eole_affichage_bginfo

Permet d'afficher des informations sur le fond d'écran du Bureau des postes clients Windows

  • eole_install_minion

Installe le client Salt.

  • eole_nextcloud_install_on_boot

Installe le client NextCloud au démarrage de la machine via WinGet.

  • eole_parefeu_active

Active le parefeu Windows tel qu'il est par défaut après une installation Windows standard.

  • eole_parefeu_desactive

Désactive le parefeu Windows.

  • eole_redirection_bureau_personnel

Redirige le contenu du Bureau des utilisateurs vers \\<serveur>\<utilisateur>\perso\Bureau (crée le dossier si inexistant)

  • eole_redirection_dossiers

Redirige les dossiers Vidéos, Musique, Images, Documents, Favoris, Téléchargements vers des sous-dossiers du même nom dans le dossiers personnel de l'utilisateur \\<serveur>\<utilisateur>\perso\<nom_dossier>

  • eole_remove_onedrive

Désinstalle et enlève toute trace de OneDrive©

  • eole_uac_desactivee

Désactive l'UAC (User Access Control)

  • eole_uac_normale

(Ré-)active l'UAC (User Access Control)

  • eole_install_minion

Installe le client Salt Minion

  • eole_configuration_environnement

Configure l'environnement de l'utilisateur (voir ci-dessous l'ensemble des paramètres)

  • eole_configuration_machine

Configure les paramètres machine

  • eole_restrictions_eleves

Active des restrictions (voir ci-dessous l'ensemble des paramètres)

  • eole_levee_restrictions_eleves

Désactive les restrictions de la GPO "eole_restrictions_eleves"

  • eole_professeurs_administrateurs_dans_ses_salles

Permet aux membres du groupe "professeurs" d'être administrateurs locaux sur les postes.

eole_configuration_environnement

  • Configuration ordinateur (activée)

↳ Stratégie

↳ → Modèles d'administration

↳ → → Système/Stratégie de groupe

Stratégie

Paramètre

Configurer le mode de traitement par bouclage de la stratégie de groupe utilisateur

Activé (Mode : Fusionner)

  • Configuration utilisateur (activée)

↳ Stratégies

↳ → Modèles d'administration

↳ → → Bureau

Stratégie

Paramètre

Cacher l’icône Emplacements réseau sur le Bureau

Activé

Empêcher l'utilisateur de rediriger manuellement des dossiers de profils

Activé

Supprimer l'Assistant Nettoyage du Bureau

Activé

Supprimer l'icône de la Corbeille du Bureau

Désactivé

Supprimer l'icône Mes documents du Bureau

Désactivé

Supprimer les propriétés du menu contextuel de la Corbeille

Activé

Supprimer Poste de travail du Bureau

Désactivé

Supprimer Propriétés du menu contextuel de l'icône Mes documents

Activé

↳ → → Composants Windows/Explorateur de fichiers

Stratégie

Paramètre

Ne pas afficher « Ordinateurs proches » dans les emplacements réseau

Activé

Ne pas afficher « Tout le réseau » dans les emplacements réseau

Activé

Supprimer l'onglet Sécurité

Activé

↳ → → Composants Windows/Internet Explorer/Panneau de configuration Internet/Onglet Sécurité/Zone Sites approuvés

Stratégie

Paramètre

Afficher un avertissement de sécurité pour les fichiers potentiellement dangereux

Activé

↳ → → Composants Windows/Internet Explorer/Panneau de configuration Internet/Onglet Sécurité/Zone Sites de confiance verrouillée

Stratégie

Paramètre

Afficher un avertissement de sécurité pour les fichiers potentiellement dangereux

Activé

↳ → → Composants Windows/Options d’ouverture de session Windows

Stratégie

Paramètre

Indiquer les indisponibilités du serveur d'accès à l'ouverture de session utilisateur

Activé

↳ → → Composants Windows/Windows Messenger

Stratégie

Paramètre

Ne pas démarrer initialement Windows Messenger de manière automatique

Activé

↳ → → Menu Démarrer et barre des tâches

Stratégie

Paramètre

Effacer l'historique des notifications par vignette lors de la connexion

Activé

Ne pas afficher ni suivre les éléments des listes de raccourcis à partir d'emplacements distants

Activé

Supprimer l'icône Réseau du menu Démarrer

Activé

Supprimer l'icône Sécurité et maintenance

Activé

Supprimer la barre Contacts de la barre des tâches

Activé

Supprimer le lien Groupe résidentiel du menu Démarrer

Activé

Supprimer le lien Jeux du menu Démarrer

Activé

Supprimer le lien TV enregistrée du menu Démarrer Activé

Activé

↳ Préférences

↳ → Paramètres du Panneau de configuration

↳ → → Options des dossiers

↳ → → → Options des dossiers (au minimum Windows Vista)

↳ → → → → Options des dossiers (au minimum Windows Vista) (ordre : 1)

↳ → → → → → Général

↳ → → → → → → Propriétés

Toujours afficher des icônes, jamais des miniatures

Désactivé

Toujours afficher les menus

Désactivé

Afficher l'icône des fichiers sur les miniatures

Activé

Afficher les informations concernant la taille des fichiers dans les info-bulles du dossier

Activé

Afficher une vue simple des dossiers dans le volet de navigation

Activé

Afficher le chemin complet dans la barre de titre (vue Classique uniquement)

Désactivé

Fichiers et dossiers masqués

Ne pas afficher les fichiers et dossiers cachés

Masquer les extensions des fichiers dont le type est connu

Désactivé

Masquer les fichiers protégés du système d'exploitation (recommandé)

Activé

Ouvrir les fenêtres des dossiers dans un processus différent

Activé

Mémoriser les paramètres d'affichage de chaque dossier

Activé

Restaurer les fenêtres de dossiers ouvertes lors de la prochaine ouverture de session

Désactivé

Afficher les lettres de lecteur

Activé

Afficher les dossiers et les fichiers NTFS chiffrés ou compressés en couleur

Activé

Afficher la légende des dossiers et des éléments du Bureau

Activé

Afficher les gestionnaires d'aperçu dans le volet de visualisation

Activé

Utiliser des cases à cocher pour sélectionner des éléments

Désactivé

Utiliser l'Assistant Partage (recommandé)

Désactivé

Lors de la saisie en mode d'affichage Liste

Sélectionner l'élément affiché correspondant au texte saisi

↳ → → → → → Commun

↳ → → → → → → Options

Interrompre le traitement des éléments sur cette extension si une erreur se produit sur cet élément

Non

Exécuter dans le contexte de sécurité de l'utilisateur connecté (option de la stratégie utilisateur)

Oui

Appliquer une fois et ne pas réappliquer

Non

↳ → → Menu Démarrer

↳ → → → Menu Démarrer (au minimum Windows Vista)

↳ → → → → Menu Démarrer (au minimum Windows Vista) (ordre : 1)

↳ → → → → → Général

↳ → → → → → → Général

Nombre de programmes dans le menu Démarrer

9

↳ → → → → → → Paramètres avancés

Ordinateur

Afficher en tant que lien

Connexion

Oui

Panneau de configuration

Afficher en tant que lien

Programmes par défaut

Afficher cet élément

Documents

Afficher en tant que lien

Activer les menus contextuels et le glisser-déplacer

Oui

Favoris

Ne pas afficher cet élément

Jeux

Ne pas afficher cet élément

Aide

Afficher cet élément

Afficher les programmes nouvellement installés en surbrillance

Oui

Musique

Afficher en tant que lien

Réseau

Ne pas afficher cet élément

Ouvrir les sous-menus lorsque la souris pointe sur ceux-ci

Oui

Dossier personnel

Afficher en tant que lien

Images

Afficher en tant que lien

Imprimantes

Afficher cet élément

Commande Exécuter

Afficher cet élément

Rechercher

Oui

Rechercher les communications

Non

Rechercher les Favoris et l'Historique

Non

Rechercher les fichiers

Rechercher les fichiers de cet utilisateur

Rechercher les programmes

Oui

Trier le menu Tous les programmes par nom

Oui

Outils d'administration système

Ne pas afficher cet élément

Utiliser de grandes icônes

Oui

Afficher les documents utilisés récemment

Oui

Effacer les documents récents

Non

↳ → → → → → Commun

↳ → → → → → → Options

Interrompre le traitement des éléments sur cette extension si une erreur se produit sur cet élément

Non

Exécuter dans le contexte de sécurité de l'utilisateur connecté (option de la stratégie utilisateur)

Oui

Appliquer une fois et ne pas réappliquer

Non

.

eole_restrictions_eleves

  • Configuration ordinateur (activée)

↳ Stratégie

↳ → Modèles d'administration

↳ → → Système/Stratégie de groupe

Stratégie

Paramètre

Configurer le mode de traitement par bouclage de la stratégie de groupe utilisateur

Activé (Mode : Fusionner)

  • Configuration utilisateur (activée)

↳ Stratégies

↳ → Modèles d'administration

↳ → → Bureau

Stratégie

Paramètre

Supprimer Propriétés du menu contextuel de l'icône Poste de travail

Activé

↳ → → Composants Windows/Explorateur de fichiers

Stratégie

Paramètre

Dans Poste de travail, masquer ces lecteurs spécifiés

Activé (Restreindre au lecteur "C" uniquement)

Empêcher l'accès aux lecteurs à partir du Poste de travail

Activé (Restreindre au lecteur "C" uniquement)

Masque l'élément Gérer du menu contextuel de l'Explorateur de fichiers.

Activé

Supprimer l'onglet DFS

Activé

Supprimer l'onglet Matériel

Activé

Supprimer les options « Connecter un lecteur réseau » et « Déconnecter un lecteur réseau »

Activé

↳ → → Menu Démarrer et barre des tâches

Stratégie

Paramètre

Supprimer le menu Exécuter du menu Démarrer

Activé

↳ → → Panneau de configuration

Stratégie

Paramètre

Interdire l'accès au Panneau de configuration et à l'application Paramètres du PC

Activé

↳ → → Système

Stratégie

Paramètre

Désactiver l'accès à l'invite de commandes

Activé

Désactiver également le traitement des scripts d'invite de commande ?

Non

Empêche l'accès aux outils de modifications du Registre

Activé

Désactiver l'exécution silencieuse de regedit.exe ?

Non

↳ → → Système/Options Ctrl+Alt+Suppr

Stratégie

Paramètre

Supprimer le Gestionnaire des tâches

Activé

.

Débogage des GPO sous Windows

Lister les GPO appliquées

Pour commencer, il est recommandé d'actualiser les paramètres de stratégies de groupes du client, dans l'invite de commandes, saisir :

gpupdate

La commande suivante permet d'obtenir la liste des GPO appliqués pour l'utilisateur connecté :

gpresult /SCOPE USER /V

Pour obtenir les GPO "machine", la commande (à exécuter en tant qu'administrateur) est :

gpresult /SCOPE COMPUTER /V

Exécution de code PowerShell

Si le GPO nécessite des traitements complexes, il est probable qu'il exécutera un programme PowerShell[58].

L'application Windows PowerShell ISE (exécutée en tant qu'administrateur) permet d'ouvrir et d’exécuter simplement des fichiers .ps1[59].

Ajout de modèle d'administration de stratégie de groupe (ADM/ADMX)

Les modèles d'administration ou templates d'administration permettent d'ajouter des paramètres supplémentaires à l'éditeur de stratégie de groupe de l'Active Directory.

Par exemple, les modèles pour Firefox permettent de paramétrer le navigateur :

  • Configurer les paramètres du navigateur : page d'accueil, moteur de recherche, extensions autorisées, etc ;

  • Restreindre certaines fonctionnalités : désactiver la navigation privée, bloquer les mises à jour, empêcher la modification des paramètres proxy ;

  • Appliquer des politiques de sécurité : forcer l'utilisation de HTTPS, interdire certains sites, activer le mode kiosque.

Procédure d'ajout de fichier ADM/ADMX

Les fichiers ADM/AMDX ainsi que les dossiers contenant les traductions (Ex. : fr-FR) doivent être ajoutés dans le dossier :

\\addc\sysvol\NOM_DOMAINE_LOCAL\Policies\PolicyDefinitions.

Cependant, si vous ne placez que les fichiers ADM/ADMX Firefox, l'éditeur de stratégie de groupe n'affichera plus que les modèles d'administration de Mozilla/Firefox.

Afin d'avoir l'ensemble des modèles d'administration, il faut tous les copier dans \\addc\sysvol\NOM_DOMAINE_LOCAL\Policies\PolicyDefinitions.

Les modèles d'administration par défaut se trouvent sur le disque local des postes clients, dans C :\Windows\PolicyDefinitions.

Il suffit de copier l'ensemble du contenu de ce dossier dans \\addc\sysvol\NOM_DOMAINE_LOCAL\Policies\PolicyDefinitions.

Lors de la copie des modèles d'administration par défaut, le système vous demandera si vous souhaitez remplacer/fusionner les dossiers déjà présents, par exemple "fr-FR" et "en-US". Cochez la case "Faire ceci pour tous les éléments actuels" et répondez "Oui".

Une fois l'ensemble des fichiers copiés (ceux des modèles par défaut et ceux pour Firefox), on obtient ceci :

Observation et prise en main des postes clients

L'observation et la diffusion des postes clients s'effectue grâce au logiciel Veyon[49].

Le logiciel est automatiquement installé et configuré sur les postes clients par le client EOLE sauf si cela est explicitement désactivé dans l'interface de configuration du module.

Dans la configuration proposée, seuls les enseignants (membres du groupe professeurs) et les administrateurs (membres du groupe Domain Admins) sont autorisés à utiliser l'application.

Ces utilisateurs peuvent visualiser l’écran de tous les postes inscrits dans la même classe (voir la gestion par salle) que leur poste et démarrés.

La configuration par défaut permet uniquement la visualisation de l’écran, sans interaction. Il est possible d’autoriser la prise en main à distance (accès au clavier et à la souris du poste distant) en passant la variable Pouvoir prendre le contrôle de postes dans la salle et visualiser les postes non listés à oui.

Attention

L’activation de la fonctionnalité de prise de contrôle des postes de la classe entraîne également la possibilité d’accéder aux postes hors de la classe, Veyon permettant de sélectionner le poste ciblé en renseignant une IP.

Bien que seuls les postes de la classe soient listés, l'adresse IP saisie peut pointer vers n'importe quel autre poste.

Écran

  • 1
    Activer la jonction automatique au domaine

    L’activation automatique de jonction au domaine permet d’appliquer aux clients salt enregistrés un état qui exécute l’opération de jonction au domaine si le poste est encore hors-domaine.

    Conseil

    L’application de l’état par le client salt nécessite que celui-ci dispose du mot de passe d’un compte avec les droits suffisants pour l’opération de jonction au domaine. Le mot de passe de ce compte est modifié au reconfigure pour limiter l’impact de sa diffusion. Il est conseillé de s’assurer que les reconfigure sont exécutés fréquemment si cette option est activée.

    Attention

    Cette option n’est pas compatible avec l’option d’acceptation automatique des certificats des clients salt.

  • 2
    Activation de Veyon

    Activée par défaut, l’application Veyon peut être désactivée si les fonctionnalités de visualisation et prise de contrôle à distance ne sont pas souhaitées

  • 3
    Groupes autorisés à accéder aux fonctionnalités de Veyon

    Un filtre utilisant les CN (common name) des groupes permet de limiter l’accès aux fonctionnalités de Veyon aux membres des groupes correspondants

  • 4
    Restriction des fonctionnalités de Veyon

    La fonctionnalité de prise de contrôle à distance est désactivée par défaut, contrairement à la visualisation.

  • 5
    Activer la configuration de Firefox

    Permet le configuration du proxy et la diffusion du certificat pour l’utilisation du mode MITM.

Gestion par salle

L'outil propose une gestion par salle afin que seuls les postes de la salle où l'enseignant s'est connecté lui soient proposés.

Il est possible de mettre en place cette gestion par salle de deux façon :

  • utiliser l'attribut location du compte du client.
  • utiliser des unités organisationnelles (OU[64]).
Gestion par salle avec l'attribut location

Pour affecter un poste client à une salle, il faut renseigner le nom de la salle dans l'attribut location du compte de station.

Cela peut s'effectuer en saisissant l'emplacement dans les propriétés de chacune des entrées station dans les outils RSAT[56].

Configuration de l'emplacement d'une station dans "Utilisateurs et ordinateurs Active Directory"
Configuration de l'emplacement d'une station dans "Utilisateurs et ordinateurs Active Directory"
Truc & astuce

Si une règle de nommage (exemple : préfixe) est déjà appliquée aux postes clients, il sera possible de scripter la modification de l'attribut.

1
oldIFS=$IFS
2
IFS=$'\n' # declare only \n as separator
3
for computer in $(ldbsearch -H /var/lib/samba/private/sam.ldb '(&(objectClass=computer)(CN=techno*))' dn | grep ^dn) ;do
4
cat >> /tmp/location.ldif <<EOF
5
$computer
6
changetype: modify
7
add: location
8
location: technologie
9
10
EOF
11
done
12
IFS=$oldIFS # restore default separator
13
ldbmodify -v -H "/var/lib/samba/private/sam.ldb" /tmp/location.ldif

Dans le cas d'un module Scribe en mode AD, le script sera à exécuter dans le conteneur addc (ssh addc).

Gestion par salle via OU

À partir d'EOLE 2.8.1, il est possible de gérer des salles dans Veyon via l'utilisation d'OU.

Le résultat est un classement automatique des ordinateurs par classe/salle, en fonction de leur présence dans des OU prédéfinies.

Passage en mode "OU"

Dans l'onglet workstation en mode expert, passer la variable Déduire la salle des ordinateurs via à la valeur OU (cf image ci-dessous).

Pour retrouver les ordinateurs dans la même salle que son ordinateur, Veyon listera les ordinateurs rangés dans la même OU.

ÉcranGestions des salle par OU
  • 1
    veyon_computer_organization_type

    Déduire la salle des ordinateurs via :

Création des OU via les outils RSAT

Depuis un poste Windows intégré au domaine, exécuter Utilisateurs et ordinateurs Active Directory puis créer des OU comme sur l'image ci-dessous.

Par défaut les ordinateurs sont recherchés à la racine de l'annuaire.

Veyon considère chaque nouvelle OU comme un emplacement (une salle/classe). En plaçant les ordinateurs dans ces OU vous leur attribuez un emplacement.

Veyon affichera les ordinateurs d'une même salle/classe.

Personnalisation de la configuration de Veyon

La configuration proposée par défaut sur le module impose certains choix fonctionnels (utilisation de l'attribut location, demande de consentement, ...) qui ne correspondent pas forcément aux attentes ou aux habitudes de travail de tous.

La configuration de Veyon est déployée sur les postes grâce à une recette SaltStack[19].

Elle est générée à partir du template jinja[22] : /usr/share/eole/saltstack/salt/eole-workstation/veyon/config/files/Windows/veyon-config.json fourni par le paquet eole-workstation-formula.

Il est possible de remplacer le template jinja globalement par une version personnalisée en plaçant votre fichier dans le répertoire (à créer) : /srv/salt/eole-workstation/veyon/config/files/Windows.

La configuration peut également être personnalisée pour une seule station en plaçant le fichier dans un répertoire au nom du FQDN de la station, par exemple : /srv/salt/eole-workstation/veyon/config/files/PC-326473.dompedago.etb1.lan/veyon-config.json.

Truc & astuce

La commande suivante permet de forcer le déploiement de la nouvelle configuration sur tous les clients :

salt '*' state.apply eole-workstation.veyon

Le fichier README.rst situé à la racine du projet eole-workstation-formula décrit les différents états[67] mis à disposition :

https://dev-eole.ac-dijon.fr/projects/eole-workstation/repository/eole-workstation-formula

Architecture mise en place pour la gestion des postes clients

Code source

Le code mis en œuvre pour la gestion des postes clients est accessible sur la forge EOLE dans les projets suivants :

Exécutables Windows

Les exécutables Windows des outils de base nécessaires au client sont mis à disposition sur le module EOLE dans /usr/share/eole/workstation et ses sous-répertoires par les paquets[68] suivants :

  • scripts EOLE pour l'installation de SaltMinion : eole-workstation-joineole
  • installeurs SaltMinion : eole-workstation-minion
  • installeurs Veyon : eole-workstation-veyon

Serveur Web

Les fichiers nécessaires à l'installation des logiciels sur les postes clients sont mis à disposition par l'intermédiaire d'un serveur web HTTP répondant sur l'adresse suivante sans authentification : http://salt/joineole.

En fonction des services installés et activés sur le module, les fichiers seront servis soit par Apache[69] soit par Nginx[70].

Serveur Salt Master

La gestion des clients s'effectue grâce au service eole-workstation-manager qui implémente Salt Master.

Ce service répond sur les ports standards de SaltStack[19] : 4505 et 4506.

Remarque

L'EAD3 qui implémente également un service Salt Master a été modifié à partir d'EOLE 2.7.1 afin d'utiliser des ports différents : 4605 et 4606.

Les fichier d'état[67] spécifiques à la gestion des clients EOLE sont installées par le paquet eole-workstation-formula et sont stockés dans le répertoire /usr/share/eole/saltstack/salt.

AttentionRésolution DNS

Par défaut, une entrée DNS est automatiquement ajoutée dans Active Directory afin que le nom salt soit résolu avec l'adresse IP sur laquelle répond le serveur SaltMaster de gestion des stations.

Pour le bon fonctionnement du client, il faut impérativement que la station puisse effectuer cette résolution de nom.

Comptes de service Active Directory

La gestion des postes clients s'appuie sur deux comptes de service[71] Active Directory dédiés : eole-workstation-manager et eole-workstation-reader.

Compte de jonction au domaine

Le compte de service eole-workstation-manager est utilisé pour joindre les postes au domaine Active Directory.

Initialement membre du groupe Domain Admins, ses droits ont depuis été restreints au strict nécessaire lui permettant de gérer les postes du domaine.

Son mot de passe est modifié régulièrement mais il est tout de même possible de le consulter dans le fichier : /etc/eole/private/eole-workstation-manager.password.

Compte de lecture

Le compte de service eole-workstation-reader est utilisé par Veyon[49] pour interroger l'annuaire Active Directory, il ne possède pas de droits particuliers.

Son mot de passe n'est jamais modifié après avoir été généré, il est donc possible d'utiliser ce compte pour mettre en œuvre d'autres applications ayant besoin d'accéder à l'annuaire Active Directory.

Le mot de passe de cet utilisateur est stocké dans le fichier : /etc/eole/private/eole-workstation-reader.password.

ecoStations : gérer l'extinction et l'allumage des postes à des horaires donnés

Présentation

ecoStations est un outil qui permet d'éteindre le parc informatique d'un établissement suivant une procédure assez souple pour permettre d'intégrer la notion d'internat par exemple ou de station à laisser allumée constamment.

Il faut renseigner via une interface web, deux listes de stations du parc L1 et L2 ainsi que deux horaires distincts H1 et H2.

À l'heure H1, toutes les stations de l'établissement seront éteintes exceptées les stations listées dans L1 ; puis à l'heure H2, toutes les stations de l'établissement seront éteintes exceptées les stations listées dans L2.

Ainsi, les stations listées dans L1 et L2 ne seront pas éteintes.

ecoStations permet également de programmer l'allumage des stations en fonction des jours et des horaires par l’intermédiaire de wakeonlan[72].

Un calendrier permet de sélectionner les dates pour lesquelles les postes ne doivent pas être allumés.

Attention

L'application s'installe uniquement sur le module Scribe.

Les fonctions de récupération de la liste des stations et d'extinction utilisent le client EOLE.

Installation d'ecoStations

ecoStations s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-ecostations

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Accès à l'application web

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/ecostations

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Seul l'utilisateur admin est autorisé à se connecter à l'application.

Utilisation

Les postes clients doivent avoir été pré-configurés avec power_config.cmd ou un outil équivalant afin de supprimer la mise en veille automatique qui bloque l'ordre d'extinction.

ecoStations a été développé en étroite collaboration entre Olivier Hacquard, Pascal Ratte, Laurent Etignard, Frédéric Lamy, Valéry Georges et Jérôme Labriet.

Une documentation d'utilisation rédigée par Pierre Mariot est disponible sur le site de l'académie de Besançon :

https://applilocale.ac-besancon.fr/scribeat/ecoStations/index.htm

Gestion des quotas disque

Il est possible, pour chaque utilisateur, de limiter la quantité de données qu'il peut stocker sur le serveur en lui imposant un quota disque maximum.

Les quotas sont composés d'une limite douce (soft) et d'une limite dure (hard).

Visualisation des quotas disque dans l'EAD

Fonctionnement des quotas disque

Il est possible, pour chaque utilisateur, de limiter la quantité de données qu'il peut stocker sur le serveur en lui imposant un quota disque maximum.

Les quotas sont composés d'une limite douce (soft) et d'une limite dure (hard).

À partir d'EOLE 2.8.1, le calcul de la limite dure est réglable via l'interface de configuration du module. Par défaut il vaut le double (200%) de la limite douce.

Dans l'interface EAD, c'est la limite douce qui est indiquée.

Remarque

Les règles suivantes s'appliquent à l'utilisateur :

  • il ne peut pas dépasser la limite dure ;

  • il peut dépasser la limite douce pendant 7 jours ;

  • passé ce délai, seule la limite douce est prise en compte et il est obligé de supprimer des données afin de repasser en dessous de celle-ci ;

  • à partir de là, le processus de la limite douce/dure reprend et l'utilisateur peut à nouveau dépasser la limite douce pour une durée maximale de 7 jours.

AttentionAttribution des limites liées aux quotas

Les limites de quotas s'appliquent à la création des utilisateurs, leur modification ultérieure ne s'applique donc pas automatiquement aux les utilisateurs déjà créés.

Les quotas sur le module Scribe

Pour consulter les quotas, le menu Outils/Quotas disque de l'EAD permet d'afficher les quotas utilisateurs selon 3 filtres :

  • Quotas dépassés

  • Quotas à surveiller (quotas presque atteint)

  • Tous les quotas

    Affichage des quotas utilisateur dans l'EAD
    Affichage des quotas utilisateur dans l'EAD
Attention

Les quotas sont appliqués sur la partition /home. Les quotas concernent, ainsi, l'ensemble des fichiers créés par l'utilisateur sur le serveur (dossiers personnels, partages équipe pédagogique, classe, groupes, etc.).

Désynchronisation des quotas disque

Il peut arriver qu'il y ait une désynchronisation entre l'utilisation réelle du disque et le système de vérification des quotas.

Cela se traduit généralement par le fait que des utilisateurs sont considérés à tort comme dépassant leur quota disque.

La commande quotacheck permet de corriger le problème. Son utilisation demande quelques précautions.

Exemple

Exemple d'utilisation de quotacheck sur le module Scribe où /home est la partition utilisée pour les données et les quotas utilisateurs.

  1. arrêter les différents services susceptibles d'écrire sur la partition (samba, proftpd, exim4, ...) ;

  2. démonter les éventuels montages liés à cette partition (images ISO, ...) ;

  3. désactiver les quotas sur la partition : quotaoff /home  ;

  4. lancer la vérification des quotas : quotacheck -vug /home ;

  5. réactiver les quotas sur la partition : quotaon /home ;

  6. remonter les partitions  : mount -a ;

  7. démarrer les services précédemment arrêtés.

Truc & astuce

Cette procédure est également à appliquer dans le cas où la commande repquota -a ne rend plus la main.

Infosquota : gestion des quotas utilisateurs

Présentation

Infosquota est un outil qui permet de mettre en place les quotas de manière très souple et très pédagogique. Chaque utilisateur apprend à gérer son quota en suivant une information claire sur son évolution.

Grâce à son outil de visualisation, Infosquota permet de retrouver les fichiers que les utilisateurs ont ventilé hors de leur lecteur partagé personnel. En effet les fichiers dispersés dans d'autres volumes sont comptabilisés dans le quota de l'utilisateur.

Infosquota a été développé par Olivier Hacquard et Jérôme Labriet (Académie de Besançon) en étroite collaboration avec Bruno Debeve (Académie de Bordeaux), Frédéric Poyet (Académie de Dijon) et Pierre Mariot (Académie de Besançon) dans le cadre du projet EOLE.

http://dev-eole.ac-dijon.fr/projects/infquot

Remarque

Les derniers développements mis à disposition par Bruno Debeve ont également été intégrés.

http://www.debeve.net/infosquota_dev/

Installation d'Infosquota

Infosquota s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-infosquota

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Attention

L'application fonctionne uniquement sur le module Scribe.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

L'initialisation de l'application (recherche des fichiers) s'effectue lors de l'instance ou du reconfigure suivant l'installation du paquet.

La mise à jour des fichiers s'effectue de façon hebdomadaire.

Accès à l'application web

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/quotas/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Seul l'utilisateur admin est autorisé à se connecter à l'application.

Utilisation

L'exécutable infosquotas.exe est lancé au démarrage de la session et affiche les messages qui conviennent selon la configuration des quotas établie dans l'EAD et celle des alertes saisies dans le fichier \\addc\netlogon\infosquota\infosquota.ini.

Une documentation d'utilisation est disponible dans l'espace de contributions EOLE à l'adresse suivante :

http://eole.ac-dijon.fr/pub/Contribs/Infosquota/

Remarques

L'utilisation du disque par utilisateur est enregistrée dans le fichier : /home/netlogon/infosquota/quotas.txt.

Le journal généré par le script de recherche des fichiers est disponible dans : /var/log/infosquota/recherche-fich-users.log.

La liste des fichiers ventilés d'un utilisateur est stockées dans le fichier : /var/www/html/outils/quotas/log/<login>.log.

Résoudre des dysfonctionnements liés au client EOLE

Problèmes à l'inscription au domaine

Lorsqu'un problème survient lors de l'inscription au domaine ou à l'ouverture de session, plusieurs pistes sont à explorer.

Sur le serveur

Vérifier l'état du serveur avec la commande diagnose.

Vérifier la communication avec le client à l'aide de la commande tcpcheck :

# tcpcheck 2 <IP_station>:135

Remarque

Sur le serveur les commandes doivent être exécutées avec l'utilisateur root, soit sur la console soit via SSH.

Sur un client Windows

Vérifier la configuration réseau de la station avec la commande ipconfig /all

Vérifier la communication du client avec le serveur avec les commandes :

ping <adresse_module>

nbtstat -A <adresse_module>

Débogage du service Salt Master

Clients enregistrés

La commande salt-key permet de lister les clés des clients, de les accepter ou de les refuser.

Événements Salt

La commande suivante permet de suivre tous les événements :

salt-run state.event pretty=True

Journaux d'installation du client Salt Minion

Les étapes de l'installation de Salt Minion sont enregistrées par défaut dans le fichier : $TEMP\install-minion.log.

Sur une installation standard, ce chemin peut-être :

  • C:\Windows\Temp\install-minion.log ;

ou encore :

  • C:\Users\%USERNAME%\AppData\Local\Temp\install-minion.log

Journaux du client Salt Minion

Sur un client Microsoft, les logs du clients sont enregistrés dans le dossier :

%ProgramData%/Salt Project/Salt/var/log/salt/minion

Vérifier/corriger les ACL du SYSVOL

Sur le DC, la commande suivante permet de vérifier la consistance du répertoire SYSVOL[62] :

samba-tool ntacl sysvolcheck

Si des erreurs sont détectées, il est possible de réinitialiser les ACL à l'aide de :

samba-tool ntacl sysvolreset

Truc & astuce

Sur le module ScribeAD, ces commandes sont à exécuter à l'intérieur du conteneur :

lxc-attach -n addc -- samba-tool ntacl sysvolcheck

lxc-attach -n addc -- samba-tool ntacl sysvolreset

Débogage des GPO sous Windows

Lister les GPO appliquées

Pour commencer, il est recommandé d'actualiser les paramètres de stratégies de groupes du client, dans l'invite de commandes, saisir :

gpupdate

La commande suivante permet d'obtenir la liste des GPO appliqués pour l'utilisateur connecté :

gpresult /SCOPE USER /V

Pour obtenir les GPO "machine", la commande (à exécuter en tant qu'administrateur) est :

gpresult /SCOPE COMPUTER /V

Exécution de code PowerShell

Si le GPO nécessite des traitements complexes, il est probable qu'il exécutera un programme PowerShell[58].

L'application Windows PowerShell ISE (exécutée en tant qu'administrateur) permet d'ouvrir et d’exécuter simplement des fichiers .ps1[59].

Les clients GNU/Linux

Suite passage du mode Samba NT[47] au mode Active Directory[48], les anciens outils tels que JoinEOLE et le client Scribe ne sont plus fonctionnels.

À partir d'EOLE 2.7.1, la gestion des postes clients est basée sur de nouveaux outils tels que SaltStack[19], Veyon[49] et les GPO[50].

Le projet regroupant tous ces outils est appelé : eole-workstation

Avec le passage à AD et Kerberos[60], les anciennes méthodes utilisées pour intégrer des stations GNU/Linux au domaine Scribe ne sont plus fonctionnelles.

Intégration au domaine et installation du client EOLE sur les postes GNU/Linux

À partir d'EOLE 2.8.0, il est possible d'utiliser le client EOLE pour intégrer des clients GNU/Linux au domaine.

Intégration par le client EOLE

Dans ce scénario, il faut installer le client (Salt Minion) sur tous les postes :

  • depuis le poste client connecté avec un utilisateur ayant accès au mode superutilisateur (sudo[73])

  • ouvrir un navigateur internet

  • télécharger l'installeur du client installMinion.sh via HTTP[10] en naviguant vers l'adresse suivante : http://salt/joineole

  • exécuter le script d'installation dans un terminal à l'aide de la commande suivante :

    sudo bash installMinion.sh

AttentionRésolution DNS

Par défaut, une entrée DNS est automatiquement ajoutée dans Active Directory afin que le nom salt soit résolu avec l'adresse IP sur laquelle répond le serveur SaltMaster de gestion des stations.

Pour le bon fonctionnement du client, il faut impérativement que la station puisse effectuer cette résolution de nom.

AttentionProxy

L'accès à http://salt doit s'effectuer sans proxy.

Si un pare-feu est présent entre le serveur et les clients, il faut s'assurer que celui-ci est configuré correctement.

Dans le cas d'un serveur Amon, il est possible de déclarer des exceptions en utilisant les variables : proxy_bypass_domain_ethX.

Attention

Le script d'installation télécharge des fichiers sur Internet.

Si il est nécessaire pour sortir, le proxy doit impérativement être configuré dans l'environnement d'exécution du script.

Une fois le client EOLE installé, il faut que sa clé soit acceptée sur le serveur.

Dès que sa clé est acceptée, il s'occupe de joindre automatiquement la station au domaine Active Directory lors du premier re-démarrage du poste client.

Remarque

En mode AD, il n'est plus nécessaire d'activer explicitement l'interpréteur de commande (shell[74]) pour les utilisateurs.

Sur le client, l'attribut en question est redéfini par l'intermédiaire du fichier /etc/sssd/sssd.conf.

Acceptation et gestion des clés

Une fois le client EOLE installé, il faut que sa clé soit acceptée sur le serveur afin qu'il soit pleinement fonctionnel.

Gestion des clés dans l'EAD3

Il est possible d'accepter et de gérer les clés des clients EOLE au travers de l'interface d'administration EAD3.

L'action Gestion des clés clients est disponible dans la catégorie Clients.

Écran
  • 1
    ACCEPTER

    Accepte la clé du client, et l'ajoute dans le domaine.

  • 2
    RENOMMER

    Renomme l'entrée du client.

  • 3
    REJETER

    Refuse la demande du client et le liste en client interdit par défaut.

  • 4
    SUPPRIMER

    Supprimer le client du serveur, partie Salt, ou partie Salt et AD.

L'action présente les clients sous la forme d'un tableau.

  • les clés non acceptées peuvent être acceptées, rejetées ou supprimées ;
  • les clés acceptées peuvent être supprimées ou renommées
Attention

Pour l'instant, l'action Renommer modifie uniquement le nom de la clé du client mais pas celui du poste.

Écran
  • 1
    option OUI

    La clé est supprimée de Salt et dans l'annuaire AD

  • 2
    option NON

    La clé est supprimée de Salt uniquement

À partir d'EOLE 2.8.1, la suppression des clés propose deux choix :

  • OUI entraîne la suppression complète du client, c'est-à-dire partie Salt et partie AD, ce qui inclut la disparition du client de son compte machine de AD.
  • NON effectue la suppression du client uniquementdans Salt, le compte machine est toujours dans le domaine.
Gestion des clés en ligne de commande

Dans une console sur le serveur exécuter la commande :

# salt-run state.event pretty=True

Attendre l'arrivée d'un message salt/auth :

1
salt/auth    {
2
    "_stamp": "2019-01-31T10:06:32.609135",
3
    "act": "pend",
4
    "id": "PC-213950.etb1.ac-test.fr",
5
    "pub": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyu6dKgb7MAhVmvoOZxMY\niVLxoOK+RtyPm56RLqeXwie3cekt76kfXNc2f2bS0LC9ut4i92TY6/+YMADz+BIP\nzaVXnKdfywJb/dHI+Q0riJRfz6P7ElANX1oqNSUKK2KQi2UIH16hjUSWbnsTVVHr\nc4+yLDsOX1x0Qyt+SfmEB/gl1nJcLk3Y+2CcGy6C+hBvo1h35BFvdNLAQkSMXHPO\njx9WLvORTj6ZHyxUapHQw+RhIrPj+Q9/M7HZgFtNIMQH22er9SO5iBUfwE2lXBgh\nCCXY3AnBz2hSrb7Qyaqz0evJsBr6eqh2SEnH7vneSOmRbJU26MqRHAbeHzQVWjln\nvQIDAQAB\n-----END PUBLIC KEY-----",
6
    "result": true
7
}

Accepter la clef du minion en exécutant la commande suivante :

# salt-key -A

Il est également possible d'accepter les clés avec l'utilisateur eole ou eole2 plutôt que root.

Pour ce faire, vous devez ouvrir une session (ssh ou console) avec l'utilisateur eole ou eole2 en choisissant l’option Shell Linux dans le menu semi-graphique (avant-dernière option de la liste). Cela vous permet d’obtenir une invite de commande du type :

eole@scribe :~$

Vous pouvez alors lancer les mêmes commandes qu’avec l’utilisateur root en utilisant l’outil sudo.

Pour attendre l’arrivée des clés :

eole@scribe:~$ sudo salt-run state.event pretty=True

Pour accepter toutes les clés :

eole@scribe:~$ sudo salt-key -A

Automatisation de la classification des objets dans l'AD

Disponible à partir d'EOLE 2.7.2 et pré-installé sur Scribe >= 2.8.1, le paquet eole-ad-dc-ou permet de créer automatiquement une structure d'unités organisationnelles[64] et de définir des règles de classification des nouveaux objets sur les modules Scribe en mode AD et les contrôleurs de domaine Seth.

Par défaut, lors de la création d'un utilisateur, y compris via les procédures d'importation automatisées, l'objet AD est créé dans CN=Users,<realm>.

De même, à l'intégration d'un ordinateur, la fiche AD est créé dans CN=Computers,<realm>.

L'ensemble des utilisateurs et des ordinateurs se retrouvent ainsi dans ces 2 conteneurs AD.

La création de GPO[50] utilisateur peut être réalisée en utilisant les filtres par groupe mais, ce n'est pas la pratique la plus courante. Il est plus facile d'associer une GPO avec un Unité Organisationnelle.

Le paquet eole-ad-dc-ou permet de générer une organisation (niveaux, classes, personnes, machines, salles, ...) sous forme d'une arborescence d'OU.

Une fois l'arborescence créée, l'ensemble des utilisateurs/ordinateurs présents dans le conteneur par défaut seront analysés et classés selon les règles indiquées.

Installation du paquet

S'il n'est pas déjà présent, le paquet s'installe à l'aide de la commande suivante :

apt-eole install eole-ad-dc-ou

Une fois le paquet installé, de nouvelles variables sont disponibles dans l'interface de configuration du module.

Configuration dans gen_config.

Le paramétrage d'UO personnalisées se fait dans l'onglet GPO

  • activer_ad_ou : permet d'activer la création automatique d'une arborescence d'UO

  • activer_ad_schedule : permet d'exécuter la commande de classement chaque jour (si des nouveaux utilisateurs sont ajoutés, ils seront automatiquement classés dans leurs UO)

  • activer_ad_ou_classifier : Activer le classement automatique des utilisateurs et ordinateurs vers une arborescence d'UO

  • ad_ou_names : Il s'agit de la liste des OU. Pour chaque OU, il faut saisir :

  • ad_ou_names_X :

Nom de l'UO personnalisée.

Les espaces sont autorisés lors de la saisie.

Le caractère '/' permet de créer une UO sous une autre UO. Exemple "MON UO/Ma sous UO".

  • ad_ou_classifier_X

aucun : ne déplace aucun objet

membreDe : déplace les personnes appartenant au groupe renseigné dans le champ ad_ou_group_X dans une UO personnalisée.

membreDeENT : déplace les personnes appartenant au groupe renseigné et les répartis dans des sous-UO Niveau (attribut "Meflcf") et Classe (attribut "Divcod") de l'UO personnalisée.

ordinateur : déplace les ordinateurs dans l'UO personnalisée.

ordinateur_par_classe : ne déplace que les ordinateurs et les répartissant dans des sous OU en fonction de leurs noms.

  • ad_ou_group_X

Facultatif, groupe auquel doit appartenir l'objet pour être sélectionné.

Exemple :

Avec ad_ou_group="professeurs" : prof-1 sera sélectionné, eleve-1 non

Avec ad_ou_group="eleves" : eleve-1 sera sélectionné, prof-1 non

Avec ad_ou_group="" : pas de filtre, tous seront sélectionnés.

  • ad_ou_pattern_X

Dans cette zone, vous pouvez saisir une règle de filtrage sur le NOM de l'objet.

Cette règle de filtrage est une expression régulière[75] (REGEX).

Dans le cas d'un classifier ordinateur_par_classe l'expression régulière doit comporter un groupement. Le groupement est symbolisé par des parenthèses. Ce groupement servira à déterminer les noms des classes qui deviendront des sous-UO de l'UO personnalisée.

Exemple :

* ad_ou_pattern="PC" : tous les éléments contenant "PC" seront sélectionnés. Ainsi, PC-123456 sera sélectionné, MONPC-001 aussi, mais CDI-001 non et DESKTOP-ZPCLE non plus.

* ad_ou_pattern="" : pas de filtre ==> tous seront sélectionnés.

# Cas particulier classifier ordinateur_par_classe et expression avec groupement

Un groupement d'expression régulière est délimité par des parenthèses.

Le groupement peut contenir qu'un seul groupe : (PC).

Le groupement peut contenir plusieurs groupes, ils sont alors séparés par un pipe "|" (AltGr+6) : (PC|AUTRE).

* ad_ou_pattern="(PC|TECHNO|CDI)"  : les UO PC, TECHNO et CDI seront crées. Les ordinateurs contenant "PC" dans leur nom seront placés dans l'UO "PC", ceux contenant "TECHNO" dans l'UO "TECHNO", idem pour "CDI" vers "CDI".

AttentionNommage des objets et filtrage.

Il faut faire attention au nom que l'on donne aux objets comme les groupes et les ordinateurs ainsi qu'aux filtres (expression régulière) que l'on définit. Par exemple, il ne faut pas nommer les ordinateurs avec un nom comportant plusieurs éléments du groupe d'expression régulières.

Si l'on définit ad_ou_pattern="(PC|TECHNO|CDI)", il ne faut pas nommer les ordinateur "PC-CDI-00X" ou "CDIPC-00X" par exemple. Dans ce cas, le filtrage et le classement des ordinateurs par sous-UO aura des effets inattendus.

AttentionSensibilité à la casse (min/MAJ)

Les champs de sélection de groupes et de règle de filtrage sont sensibles à la casse, c'est à dire que les minuscules et les majuscules ont une importance, sont considérées différemment. Par exemple "ad_ou_pattern=pc" ne fonctionnera pas si l'objet à classer contient "PC".

Exemple membreDeENT (UO par niveau "Meflcf" et sous-UO par classe "Divcod")

Exemple "(PC|TECHNO|CDI)"

Exemples de règles

Exemple

Exemple de classement sur un Scribe

Exemple

Exécution du script de classement

Exécution automatique

Le classement est appliqué :

  • à chaque instance ou reconfigure ;
  • toutes les nuits (si Exécuter le traitement toutes les nuits est à oui).

Exécution depuis l'EAD3

À partir d'EOLE 2.8.1, si la création automatique d'une arborescence d'UO a été activée dans l'interface de configuration du module, il est possible de lancer l'exécution du script de classification des objets dans l'AD directement depuis l'EAD3.

L'action Classer les nouveaux utilisateurs et ordinateurs par OU est disponible dans la catégorie Gestion AD.

L'action propose tout simplement d'exécuter le traitement en cliquant sur le bouton.

La fin du traitement est indiquée par une fenêtre qui s'affiche en bas à gauche de l'écran.

Exécution manuelle

Pour forcer l'exécution du traitement, il est possible d'exécuter la commande suivante :

/usr/share/eole/postservice/24-ad-ou

Le GPO « eole_script »

Le paquet eole-gpo-script pour le module Seth ou eolead-gpo-script pour les modules Scribe et AmonEcole met en place un GPO[50] permettant notamment de déclarer simplement des scripts personnalisés à exécuter lorsqu'un utilisateur ouvre une session sur un poste Windows (logon.exe).

Il permet également le déploiement automatisé du nouveau client EOLE (SaltMinion[19]).

L'outil ré-utilise les mêmes concepts que l'exécution des scripts personnalisés par l'ancien client Scribe NT.

Truc & astuce

Le paquet eolead-gpo-script est pré-installé sur les modules Scribe et AmonEcole.

Les GPO « eole » sont désactivables dans l'onglet Gpo de l'interface de configuration du module.

Emplacement des fichiers

Les commandes doivent être renseignées dans des fichiers texte se trouvant dans l'un des sous-répertoire du dossier scripts situé dans le répertoire SYSVOL du contrôleur de domaine.

Le répertoire des scripts est accessible par :

  • le chemin Unix sur le serveur : /home/sysvol/<REALM[76]>/scripts

  • le chemin UNC[63] : \\<REALM>\sysvol\<REALM>/scripts

  • le chemin UNC (raccourci) : \\<REALM>\netlogon

Arborescence des fichiers

Les scripts peuvent être ajoutés pour :

  • un utilisateur → ../scripts/users/admin.txt ;

  • un groupe → ../scripts/groups/eleves.txt ;

  • une machine → ../scripts/machines/poste01.txt ;

  • un OS (Win95, Win2K, WinXP, Samba, Vista) → ../scripts/os/Vista.txt ;

Attention

Windows 7, 10 et 11 sont traités de la même manière que Windows Vista (OS=Vista).

Les noms de machines doivent être écrits en minuscules.

Scripts personnalisés pour exécuter des commandes

Pour exécuter des commandes il faut utiliser l'instruction cmd.

Par défaut, le programme d'ouverture de session affiche le programme et attend la fin de son exécution pour continuer. Un programme qui ne se ferme pas (ex. notepad.exe) provoquera des ouvertures de session très longue et incomplètes.

  • l'option NOWAIT permet de ne pas attendre la fin de l'exécution du programme ;

  • l'option HIDDEN permet de masquer la fenêtre.

Le format est :

cmd,commande,[options]

Exemple

Exécuter notepad.exe pour l'utilisateur toto lorsqu'il ouvre une session :

Fichier \\<REALM>\netlogon\scripts\users\toto.txt :

cmd,%WINDIR%\notepad.exe,NOWAIT

Truc & astuce

Les scripts personnalisés sont concaténés dans le script principal, par défaut au début de celui-ci. Si des instructions doivent être effectuée après (nécessité d'avoir accès au lecteur commun par exemple), placez la balise %%NetUse%% et ajoutez les instructions ensuite.

Scripts personnalisés pour monter des lecteurs

Pour monter des lecteurs il faut utiliser l'instruction lecteur.

Le format est :

lecteur,lettre:,partage

Exemple

Monter le partage \\monserveur\partage sur la lettre V: pour tous les utilisateurs du domaine :

Fichier \\<REALM>\netlogon\scripts\groups\DomainUsers.txt :

lecteur,V:,\\monserveur\partage

Complément

Une clé de registre a été ajouté dans le GPO afin que le montage des lecteurs soit disponible pour les comptes possédant une élévation de pouvoir (ex : admin).

https://support.microsoft.com/fr-fr/help/3035277/mapped-drives-are-not-available-from-an-elevated-prompt-when-uac-is-co

Résolution de problèmes

Les actions d'exécution de script personnalisés et de montage de lecteurs réseaux sont journalisées dans le fichier %TMP%\eole_script.log.

Gestion de l'Active Directory AmonEcole en ligne de commande

Bien qu'il existe quelques restrictions, la majorité des opérations de gestion peuvent être réalisées en ligne de commande sur les modules Seth configurés en tant que contrôleur de domaine.

Les opérations présentées sont réalisables sur le serveur que le contrôleur de domaine soit déclaré comme additionnel ou non.

Attention

La synchronisation des données entre les différents DC n'est pas instantanée et peut prendre jusqu'à trois minutes.

Gestion des groupes et des utilisateurs

  • Lister les groupes

    samba-tool group list

  • Lister les utilisateurs

    samba-tool user list

  • Créer un utilisateur

    samba-tool user create titi "Mot:DeP455"

  • Modifier le mot de passe d'un utilisateur

    samba-tool user setpassword titi

    ou (noter le "\n" entre les deux mots de passe)

    echo -e "MotDePasse?\nMotDePasse?" | smbpasswd -s titi

  • Inscrire un utilisateur à un groupe

    samba-tool group addmembers "Domain Admins" titi

  • Consulter les attributs d'un utilisateur

    pdbedit -Lv titi

  • Paramétrer le répertoire personnel, la lettre de montage et le profil d'un utilisateur

  • pdbedit -h '\\file.ac-test.fr\titi' -D 'U:' -p '\\file.ac-test.fr\profiles\titi' titi

  • Supprimer un utilisateur

    samba-tool user delete titi

Jetons Kerberos et fichiers keytab

Les fichiers keytab, abréviation de « key table » (table des clés), sont des fichiers qui contiennent une clé de chiffrement pour un service ou un hôte.

Ils sont utiles pour réaliser des opération d'administration qui nécessite l'utilisation d'un compte avec pouvoirs sans avoir à en saisir le mot de passe.

L'article suivant (en anglais) explique plutôt bien ce qu'est un keytab : https://social.technet.microsoft.com/wiki/contents/articles/36470.kerberos-keytabs-explained.aspx

Compte machine

Sur le module Seth, un keytab du compte machine du serveur est automatiquement généré dans le fichier /var/lib/samba/eole-ad-dc.keytab.

keytabIl est ainsi possible d'utiliser ce fichier dans des scripts, pour ajouter des entrées DNS, par exemple :

1
# initialisation d'un jeton Kerberos à l'aide du fichier keytab
2
kinit ADDC@AC-TEST.FR -k -t /var/lib/samba/eole-ad-dc.keytab
3
# ajout d'une entrée DNS locale
4
samba-tool dns add dc1.ac-test.fr ac-test.fr mac10 A 192.168.0.10 -k 1
5
# vérification de la résolution d'un nom par le DNS local
6
dig @localhost mac10.ac-test.fr +short
7
# suppression d'une entrée DNS locale
8
samba-tool dns delete dc1.ac-test.fr ac-test.fr mac10 A 192.168.0.10 -k 1
9
# destruction du jeton Kerberos
10
kdestroy

Truc & astuce

Le jeton Kerberos[60] permet de ne pas avoir fournir de nom d'utilisateur et mot de passe aux commandes d'ajout/suppression d'entrée DNS.

Ceux-ci sont remplacés par l'option « -k 1 ».

Compte utilisateur

De la même façon, il est possible de créer un fichier keytab pour des comptes utilisateur tels que admin ou Administrator :

1
root@dc1:~# samba-tool domain exportkeytab ~/administrator.keytab --principal=Administrator@AC-TEST.FR
2
Export one principal to admin.keytab
3
root@dc1:~# kinit Administrator@AC-TEST.FR -k -t ~/administrator.keytab 
4
root@dc1:~# kdestroy
5
root@dc1:~# rm -f ~/administrator.keytab 

Gestion des sites

Sur le contrôleur de domaine principal, la déclaration d'un site s'effectue facilement grâce à la fonction bash samba_update_site :

1
. /usr/lib/eole/samba4.sh 
2
samba_update_site monsite 10.1.1.0/24

Recherche avancée

La commande ldbsearch permet d'effectuer des recherches dans l'annuaire Active Directory :

  • Initialisation de la variable LDB_URL, utilisée par la commande ldbsearch.

    export LDB_URL=/var/lib/samba/private/sam.ldb

  • Rechercher les utilisateurs

    ldbsearch -S '(objectclass=user)' cn

  • Afficher l'entrée d'un utilisateur

    ldbsearch cn=admin

  • Afficher l'entrée correspondant au groupe Administrators

    ldbsearch '(&(objectclass=group)(cn=Administrators))' --cross-ncs

  • Afficher les entrées correspondant aux contrôleurs de domaine

    ldbsearch '(invocationId=*)' --cross-ncs objectguid

Truc & astuce

Les commandes ldbadd, ldbmodify et ldbdel permettent également de modifier l'annuaire Active Directory à l'aide d'instructions au format LDIF[61].

ExempleAjouter une OU (Unité Organisationnelle) :

Générer le fichier ajouterOU.ldif :

1
dn: OU=etablissement1,DC=ac-test,DC=fr
2
changetype: add
3
objectClass: top
4
objectClass: organizationalunit

Ajouter la modification dans l'annuaire :

ldbadd ajouterOU.ldif

Les clients FTP

Les utilisateurs peuvent accéder à leurs données par l'intermédiaire d'un client FTP (gFTP, Filezilla, ...).

Le serveur FTP est activable/désactivable dans l'onglet Services par l'intermédiaire de l'option Activer l'accès FTP. Le serveur FTP est basé sur le logiciel libre ProFTPD.

http://www.proftpd.org/

L'onglet Proftpd n'apparaît en mode expert que si le service est activé.

Vue de l'onglet Ftp de l'interface de configuration du module
Vue de l'onglet Ftp de l'interface de configuration du module

Paramétrage du serveur ProFTPD

Nom du serveur FTP

Ce paramètre permet de personnaliser le nom du serveur FTP. Ce nom apparaît lorsqu'on se connecte en FTP sur le serveur avec un client ou en ligne de commande.

Activer le chiffrement TLS

Passer cette option à oui permet d'activer le chiffrement TLS mais son utilisation est déconseillée car les échanges réalisés avec du FTP sécurisé ne passent pas ou passent difficilement les pare-feux.

Activer l'accès anonyme

L'accès anonyme permet d'ouvrir l'accès en anonyme sur le répertoire de votre choix.

Si la variable est passée à oui une nouvelle variable Chemin du répertoire anonyme s'affiche, sa valeur est un chemin absolu. Ce répertoire doit être créé manuellement s'il n'existe pas. L'utilisateur anonymous peut télécharger depuis le répertoire spécifié, il n'a pas par défaut les droits d'écriture.

Le fichier de configuration contient la directive <Limit WRITE> :

<Limit WRITE>

DenyAll

</Limit>

Activer des accès FTP supplémentaires

L'accès FTP supplémentaire permet d'ouvrir l'accès à des comptes existants sur le répertoire de votre choix.

Si la variable est passée à oui une nouvelle variable Chemin du répertoire FTP supplémentaire s'affiche, sa valeur est un chemin absolu. Ce répertoire doit être créé manuellement s'il n'existe pas et les droits doivent être ajustés. Les utilisateurs du module peuvent lire et écrire dans le répertoire spécifié.

Autoriser CAS en accès FTP

Cette option doit être activée pour l'utilisation de l'application Pydio sur le serveur.

Nombre maximum d'utilisateurs simultanés

Par défaut à 50 cette variable permet d'ajuster le nombre d'utilisateurs simultanés autorisés à se connecter en FTP.

Nombre maximum de processus pour ProFTPD

Par défaut à 40 cette variable permet d'ajuster le nombre maximum de processus simultanés du logiciel ProFTPD.

Taille maximum du fichier récupéré (download) en Mb

Par défaut à 500 cette variable permet d'ajuster la taille maximum des fichiers pouvant être téléchargés.

Taille maximum du fichier déposé (upload) en Mb

Par défaut à 100 cette variable permet d'ajuster la taille maximum des fichiers pouvant être déposés.

Temps maximum d'inactivité avant déconnexion (en secondes)

Par défaut à 1200 secondes (20 minutes) cette variable permet d'ajuster le temps d'inactivité avant déconnexion.

Accès FTP

Une fois l'accès FTP activé, il est possible d'accéder au service avec un client FTP (Filezilla, gFTP), par un navigateur web ou avec une application web FTP ( Pydio, anciennement Ajaxplorer, sur le module Scribe).

Accès par un navigateur web

Pour accéder aux documents avec un navigateur web il faut préciser le protocole dans l'URL :

ftp://user@<adresse_serveur>/

ou

ftp://<adresse_serveur>/

Accès par une application web

Pour accéder aux fichiers par l'application web Pydio, il faut l'activer dans l'onglet Applications web. Pydio (anciennement Ajaxplorer) n'est pas pré-installé sur le module Horus (il s'installe avec la commande apt-eole, voir la documentation sur les applications web). Suite à une reconfiguration du serveur, l'application sera accessible à l'adresse http://<adresse_serveur>/pydio/ moyennant l'authentification (mire EoleSSO).

Attention

Avec un client FTP (en mode passif par défaut) le mode actif doit impérativement être configuré. Dans ce mode c'est le client FTP qui détermine le port de connexion à utiliser.

Interdire l'accès FTP à des comptes utilisateur

Le fichier /etc/ftpusers contient une liste des utilisateurs qui ne doivent pas se connecter via le service FTP. Ce fichier est utilisé non seulement pour l'administration système mais également pour augmenter la sécurité du réseau. Il contient typiquement la liste des utilisateurs qui, soit n'ont rien à faire avec le transfert FTP, soit ont trop de privilèges pour être autorisés à se connecter au serveur. De tels utilisateurs sont en général root, daemon, bin, uucp et news.

La liste du fichier /etc/ftpusers peut être complétée avec des utilisateurs systèmes ou LDAP dont il faut désactiver l'accès au service FTP.

Attention

Attention lors des accès FTP, le mot de passe transite en clair sur le réseau.

Anti-virus ClamAV

Si l'anti-virus ClamAV est activé, la recherche de virus en temps réel sur le FTP est activé par défaut. Il est possible de désactiver cette option dans l'onglet Clamav en passant Activer l'anti-virus temps réel sur FTP à non.

Accès au dossier personnel des élèves par FTP

Sur les modules Scribe et AmonEcole, les professeurs n'ont, par défaut, pas accès au dossier personnel de leurs élèves par l'intermédiaire du protocole FTP.

Cette restriction peut être levée en répondant oui à la question Activer l'accès aux dossiers personnels des élèves pour les professeurs. Cette option diminue légèrement la sécurité du serveur.

Les clients Jabber (XMPP)

Jabber, également connu sous le nom de XMPP[77], est un ensemble de protocoles standards ouverts de l'IETF de messagerie instantanée et de présence, et plus généralement une architecture décentralisée d'échange de données.

Jabber est également un système de collaboration en quasi-temps-réel et d'échange multimédia via Jingle, dont la VoIP (téléphonie sur Internet), la visioconférence et l'échange de fichiers sont des exemples d'applications.

Mise en place du serveur jabber

Le service jabber (ejabberd) n'est pas pré-installé sur le module Scribe mais il est pré-packagé en tant que paquet additionnel.

Il faut donc installer le paquet manuellement avec la commande :

# apt-eole install eole-ejabberd

La configuration du serveur ejabberd peut être personnalisée dans l'onglet Ejabberd de l'interface de configuration du module.

La variable : Nom de domaine de la messagerie instantanée de l'établissement permet de personnaliser le nom de domaine des adresses de contact XMPP[77].

Remarque

La variable Voir les autres utilisateurs sans autorisation préalable est supprimée à partir d'EOLE 2.8.0.

Le service n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Le service est activé par défaut, il peut être désactivé en répondant non à la question Activer le serveur de messagerie instantanée ejabberd dans l'onglet Services de l'interface de configuration du module.

La configuration du serveur ejabberd peut être affinée dans l'onglet Ejabberd de l'interface de configuration du module en mode expert.

  • Login de l'administrateur permet de définir l'utilisateur qui sera administrateur du serveur ejabberd ;

  • Nombre maximum de connections simultanées par utilisateur permet de limiter le nombre de connexions simultanées par utilisateur.

Truc & astuce

Vous pouvez vérifier que vous êtes effectivement connecté en lançant la commande suivante sur le serveur :

# ejabberdctl connected-users

D'autres commandes ejabberdctl sont disponibles et documentées avec l'option help :

root@ejabber:~# ejabberdctl help

Configuration d'un client

Une fois le service mis en place, il est possible de s'y connecter en utilisant un compte présent dans l'annuaire.

De nombreux logiciels sont compatibles jabberd, les plus connus sont : Pidgin, Gajim, Coccinella et Kopete.

ExempleConfiguration de Pidgin

Configuration de Pidgin : onglet Essentiel
Configuration de Pidgin : onglet Essentiel
Configuration de Pidgin : onglet Avancé
Configuration de Pidgin : onglet Avancé

Administration des listes de diffusion

Présentation

Sur le module Scribe, le logiciel de gestion de listes de diffusion Sympa[78] est pré-installé et configuré de manière à s'intégrer totalement au module.

De la même manière que le système de messagerie de ces modules, le gestionnaire de listes de diffusion gère deux domaines :

  • un domaine Internet, du type etablissement.ac-acad.fr ;
  • un domaine restreint du type i-etablissement.ac-acad.fr.

Sur le module Scribe des listes sont créées automatiquement pour les groupes existants. Mais il est également possible d'en créer manuellement.

Par défaut, l'utilisateur admin est l'administrateur de l'application web Sympa et le propriétaire de toutes les listes. Il a un accès complet à la gestion des listes. Il peut déléguer ce rôle en donnant les droits administrateur à un utilisateur.

Il est possible de désactiver les listes de publipostage dans l'onglet Messagerie de l'interface de configuration du module.

L'interface web

L'interface web (nommée WWSympa) est constituée d'une interface principale, pour le domaine Internet et d'une interface secondaire (robot), pour le domaine restreint. Elles sont accessibles sur les adresses suivantes :

  • http://adresse_interne:8787/wws pour le domaine etablissement.ac-acad.fr
  • http://adresse_interne:8888/wws2 pour le domaine i-etablissement.ac-acad.fr

Chacune dispose de sa propre interface d'administration.

Pour se connecter à l'interface web en tant qu'utilisateur admin, il n'est pas obligatoire de renseigner l'adresse email comme demandé par l'interface, le compte admin suffit.

Remarque

Les interfaces Sympa sont accessibles uniquement via l'adresse privée du module Scribe.

Sur le module AmonEcole, l'adresse à utiliser est celle de l'interface 1 du serveur.

Il est également possible de créer des listes de diffusion afin d'y inscrire des personnes extérieures.

Ainsi, il est envisageable de créer des listes de toutes sortes (projets locaux, passionnés de kayak, etc.).

Les listes créées automatiquement

La plupart des groupes créés par le mécanisme d'importation et via l'EAD se voient associer une liste de diffusion du même nom sur le domaine interne.

Ces listes sont créées automatiquement et les abonnés de la liste de diffusion sont synchronisés avec ceux du groupe LDAP toutes les deux heures.

Un individu n'est donc pas inscrit à la liste immédiatement après son affectation au groupe.

La synchronisation LDAP implique que la liste des abonnés à la liste ne soit pas modifiable via l'interface Sympa.

Les listes suivantes sont automatiquement créées dans le domaine interne :

  • liste administratifs ;
  • liste professeurs ;
  • liste eleves ;
  • liste resp-<classe> (responsables).

Remarque

Pour qu'un personnel enseignant ou administratif apparaisse dans les listes, il est impératif qu'il possède une boite aux lettres locale ou que son adresse de messagerie personnalisée soit renseignée.

Liste pour les responsables

Des listes sont créées automatiquement pour chaque classe avec comme nom resp-<classe> et servent à inscrire les responsables de chacun des élèves qui composent cette classe.

Attention

Ces listes ne sont pas peuplées automatiquement, de plus elles ne sont pas visibles dans Roundcube sauf lorsque l'on crée un groupe du même nom. Il n'est pas possible de créer des groupes de responsables sans partage.

Peupler des listes de diffusion

Un document sur la Création de listes de diffusion (globale et par classe) pour les responsables écrit (octobre 2014) pour la version 2.3 d'EOLE par Sylvain Godmé et sous licence Creative Commons by-nc-sa reste valable et est consultable à l'adresse suivante :

http://eole.ac-dijon.fr/documentations/2.3/contributions/Creation-liste-responsables.pdf

Créer une liste de tous les responsables

Voici une méthode pour créer la liste de tous les responsables (avec une domaine "-i") sur un module Scribe.

1
# domaine_messagerie_etab=$(CreoleGet domaine_messagerie_etab)
2
# mkdir /var/lib/sympa/expl/i-$domaine_messagerie_etab/responsables
3
# touch /var/lib/sympa/expl/i-$domaine_messagerie_etab/responsables/info
4
# cp /var/lib/sympa/expl/i-$domaine_messagerie_etab/professeurs/config /var/lib/sympa/expl/i-$domaine_messagerie_etab/responsables/config
5
# chown -R sympa:sympa /var/lib/sympa/expl/i-$domaine_messagerie_etab/responsables
6
# python3 -c "from scribe.eolegroup import _add_maillist_aliases;_add_maillist_aliases({'groupe':'responsables', 'ldomaine':'i-$domaine_messagerie_etab'})"

Éditer le fichier /var/lib/sympa/expl/i-$domaine_messagerie_etab/responsables/config et appliquer les modifications suivantes :

  • modifier le sujet de la liste à la première ligne (ex : subject liste de tous les responsables) ;

  • modifier la catégorie de la liste (ex : topics Responsables) ;

  • remplacer include_ldap_2level_query par include_ldap_query ;

  • à la ligne débutant par suffix1

    remplacer le début suffix1 cn=professeurs,ou=local,ou=groupes, par suffix ou=local,ou=responsables,ou=utilisateurs, ;

  • supprimer toutes les lignes suivantes jusqu'à la fin du fichier et les remplacer par celles qui suivent :

    filter (objectClass=responsable)

    attrs mail

    select all

    scope sub

Attention

Il faut laisser le temps au daemon sympa de réaliser la synchronisation LDAP pour que les membres de la liste soient les bons.

En effet la copie du fichier config a été faite à partir de la liste professeurs et tant que le sync_include() ne s'est pas fait ce sont les professeurs qui sont membres.

Création manuelle de listes

L'application permet de créer manuellement des listes totalement indépendantes de l'annuaire LDAP[79].

Les membres de ces listes sont stockés dans la base MySQL[80] de Sympa.

Cette possibilité est utile dans le cas où l'on souhaite gérer une liste de diffusion impliquant des personnes extérieures à l'établissement par exemple.

ExempleCréation de liste manuelle

Création d'une liste manuelle par l'interface web de Sympa
Création d'une liste manuelle par l'interface web de Sympa
  1. se connecter à l'interface du domaine souhaité avec le compte admin ;

  2. cliquer sur l'onglet Création de liste ;

  3. choisir un nom pour cette nouvelle liste (sans espace ni caractère spécial) ;

  4. bien réfléchir au Type de liste désiré ;

  5. saisir l'objet de la liste (descriptif court) ;

  6. choisir sa catégorie (le plus souvent Groupes de travail ou Autre) ;

  7. et la description de la liste (descriptif long) ;

  8. cliquer sur Envoyer votre demande de création ;

  9. le bouton Admin du menu de gauche permet ensuite d'accéder à la gestion de la liste et des abonnés.

Vue de la page d'administration
Vue de la page d'administration

Architecture du gestionnaire de liste de diffusion

Les fichiers de configuration définissant chaque liste de diffusion sont stockés dans un répertoire du nom de la liste dans :

  • /var/lib/sympa/expl/ pour les listes du domaine Internet ;
  • /var/lib/sympa/expl/i-monetab.ac-acad.fr pour les listes du domaine interne

C'est l'une des raisons pour lesquelles il n'est pas possible de modifier la variable domaine_messagerie_etab une fois l'instanciation du serveur effectuée.

Les archives des listes sont stockées dans le répertoire /var/lib/sympa/wwsarchive.

Pour redémarrer Sympa il faut utiliser la commande service sympa restart. Avant cela il faut impérativement que MySQL soit démarré, sinon des erreurs se produiront.

L'interface web Sympa est gérée par le fichier /usr/lib/cgi-bin/sympa/wwsympa.fcgi. Il s'agit d'un script CGI en perl qui utilise le mode fcgid d'apache2 pour fonctionner. La présence d'un sticky bit sur ce fichier est nécessaire pour assurer le bon fonctionnement de l'application.

Les alias des listes de diffusions (utilisés par le MTA[81] Exim4[82]) sont stockés dans le fichier /etc/mail/sympa.aliases

Pour plus d'information, veuillez vous référer à la documentation officielle du logiciel :

http://www.sympa.org/doc/index

Remarque

Sur le module AmonEcole, tous les fichiers indiqués ci-dessus se trouvent dans le conteneur bdd.

Truc & astuce

Pour modifier les Catégories de liste proposées, il est obligatoire de patcher le template EOLE :

/usr/share/eole/creole/distrib/topics.conf.

Architecture messagerie académique

Pour fonctionner pleinement, le système de messagerie proposé sur les modules EOLE a besoin d'adaptations au niveau des serveurs académiques.

Il faut :

  • un DNS[83] configuré avec les noms de domaines des établissements ;

Le relai académique doit être capable de distribuer les adresses Internet (etab.ac-acad.fr) et les adresses restreintes (i-etab.ac-acad.fr).

Remarque

Si vous n'avez pas de relai académique, votre domaine restreint sera limité à l'établissement et non à l'Académie.

Le DNS

Au niveau du DNS académique, il faut écrire les MX de chacun des domaines Internet des établissements, en les faisant pointer vers le relai académique.

Le relai SMTP

Au niveau des modules Scribe, le relai de messagerie étant le relai académique, tous les courriers électroniques du domaine Internet ou restreint d'autres établissements arriveront sur le relai.

La distribution des courriers électroniques se fait ensuite grâce au routage SMTP (table de routage Postfix ou Exim).

En fonction de vos architectures, vous pouvez remonter sur le module Scribe, soit via votre réseau de concentration, soit via un réseau VPN (Amon-Sphynx), soit via Internet en mettant en place du SNAT sur le pare-feu établissement.

Nous recommandons de positionner le module Scribe sur une DMZ de l'établissement.

Il est recommandé d'utiliser une passerelle dédiée pour faire du routage SMTP avec anti-virus et anti-spam.

Comme toujours en architecture réseau il n'y pas de solution unique !

Truc & astuce

Le module Seshat permet de mettre en place simplement un relai académique.

Résoudre des dysfonctionnements liés aux listes de diffusion

La commande diagnose permet de vérifier l'état des différents services liés au gestionnaire de listes SYMPA.

1
*** Gestion de listes SYMPA
2
.                       sympa => Ok
3
.                    archived => Ok
4
.                        bulk => Ok
5
.                     bounced => Ok
6
.                task_manager => Ok

Indications utiles au débogage du gestionnaire de listes Sympa :

  • les messages d'erreur se trouvent dans le fichier journal : /var/log/rsyslog/local/exim/exim.info.log ;

  • le gestionnaire de listes Sympa journalise également des informations dans /var/log/syslog ;

  • les droits sur /var/lib/sympa doivent être sympa:sympa ;

  • vérifier la présence du sticky bit (-rwsr-sr-x 1 sympa sympa)  sur le fichier /usr/lib/cgi-bin/sympa/wwsympa.fcgi :

    # ll /usr/lib/cgi-bin/sympa/wwsympa.fcgi

    -rwsr-sr-x 1 sympa sympa 611477 avril 10 2014 /usr/lib/cgi-bin/sympa/wwsympa.fcgi*

  • vérifier que la liste est bien référencée dans /etc/mail/sympa/aliases.

Remarque

Sur le module AmonEcole, les fichiers et processus mentionnés ci-dessus, autres que les journaux systèmes, se trouvent dans le conteneur bdd.

Pour se connecter au conteneur bdd utiliser la commande :

# ssh bdd

Synchronisation depuis l'Annuaire Académique Fédérateur - AAF

Fonctionnement général de la synchronisation

  1. la machine ODI[85] génère une archive tar.gz par établissement à synchroniser ;

  2. dès l'archive terminée, elle est envoyée sur le module Zéphir accompagnée d'une notification ;

  3. le module Zéphir envoie l'archive sur le module Scribe auquel elle a été associée ;

  4. le module Scribe lance l'import de l'archive (mode automatique) ou la stocke pour l'EAD (mode manuel).

Truc & astuceComment récupérer les fichier tar.gz ?

Information et documentation à retrouver sur le site intranet de diffusion de l'académie de Toulouse :

http://nservdiff.in.ac-toulouse.fr/appli/infra/versions/ver_majaaf.html

Guide utilisateur 1.5 en version format privateur .doc :

http://nservdiff.in.ac-toulouse.fr/appli/infra/documentation/aaf/Guide_UtilisateurV1_5.doc

Guide d'exploitation 1.5 en version format privateur .doc :

http://nservdiff.in.ac-toulouse.fr/appli/infra/documentation/aaf/Dossier_exploitationV1_5.doc

Attention

Depuis 2019, c'est le Pôle de Compétences IH2M - Identité basé à Orléans qui diffuse les éléments liés à l'Annuaire Académique Fédérateur.

http://pole.in.ac-orleans-tours.fr/index.php?id=542

Association archive - module Scribe

L'association d'un module Scribe avec son archive se fait pour l'instant manuellement, à l'aide du code python suivant :

from xmlrpc.client import Server

z = Server("https://utilisateur:codeSecret@adresse_zephir:7080")

z.aaf.add_file(idZéphir, 'nomArchive.tar.gz')

Pour afficher la liste des archives associées au module Scribe possédant l'identifiant Zéphir idZéphir :

z.aaf.get_list(idZéphir)

Pour supprimer l'association entre l'archive et le module Scribe :

z.aaf.del_file('nomArchive.tar.gz')

Exemple

Dans cet exemple, on associe l'archive 0000001a.tar.gz au module Scribe possédant l'identifiant 58 dans l'application web Zéphir :

from xmlrpc.client import Server

z = Server("https://user:password@adresse_zephir:7080")

z.aaf.add_file(58, '0000001A.tar.gz')

Pour afficher la liste des archives associées au module Scribe possédant l'identifiant 58 dans l'application web Zéphir :

z.aaf.get_list(58)

Pour supprimer l'association entre l'archive 0000001A.tar.gz et le module Scribe :

z.aaf.del_file('0000001A.tar.gz')

RemarquePython2

Les exemples proposés fonctionnent en python3.

Pour réaliser les mêmes manipulations avec un interpréteur python2, il faut remplacer la première ligne par :

from xmlrpclib import Server

Attention

L'utilisateur Zéphir utilisé pour effectuer les manipulations décrites ci-dessus doit posséder le droit Gestion de la synchronisation AAF dans l'application Zéphir.

Envoi des fichiers sur le module Zéphir

Les archives générées (de la forme <numéro_UAI>.tar.gz) doivent être envoyées dans le répertoire : /var/lib/zephir/aaf.

L'envoi des fichiers peut être réalisé par la méthode de votre choix : rsync, scp, ...

Une fois l'archive envoyée, il faut notifier cet envoi au module Zéphir.

Cela peut être fait par les lignes python suivantes :

from xmlrpc.client import Server

z = Server("https://utilisateur:codeSecret@adresse_zephir:7080")

z.aaf.notify_upload('numeroUAI.tar.gz')

Truc & astuceImport annuel

À partir d'EOLE 2.8.0, si la synchronisation est configurée en mode automatique, il est possible de demander à ce que l'import des fichiers soit réalisé en mode "annuel" depuis le serveur Zéphir en utilisant l'appel suivant :

z.aaf.notify_upload_annuel('numeroUAI.tar.gz')

Attention

L'utilisateur Zéphir utilisé pour effectuer les manipulations décrites ci-dessus doit posséder le droit Gestion de la synchronisation AAF dans l'application Zéphir.

Gestion de l'archive sur le module Scribe

Dès que le module Zéphir est notifié de l'arrivée d'une nouvelle archive, il prépare son envoi vers le module Scribe qui lui est associé (sauf si l'archive possède la même signature que sa version précédente).

Le module Scribe récupère l'archive lors de sa connexion au module Zéphir.

Il est possible de configurer la façon dont le module importe les données de l'archive récupérée.

Cela se paramètre dans l'interface de configuration du module, en mode expert, dans l'onglet Ent.

La variable Mode de synchronisation AAF permet de choisir entre deux modes :

  • automatique : l'importation des fichiers est exécutée dès leur réception ;
  • manuel : l'archive est stockée et l'importation est prête à être exécuté par l'EAD (menu Outils / Synchronisation AAF).

La variable Envoi d'un courrier électronique en cas d'erreur active l'envoi d'un courrier électronique en cas d'erreur lors de l'import manuel ou automatisé des fichiers AAF. Le ou les destinataires de ce message sont à ajouter dans Adresse(s) électronique(s) à utiliser.

Si le module Scribe est configuré en mode manuel, l'import des archives envoyées sur le module Scribe se réalise à la demande en allant dans l'EAD.

Le formulaire d'import est accessible par le menu Outils / Synchronisation AAF.

Importation des fichiers AAF synchronisés via l'EAD
Importation des fichiers AAF synchronisés via l'EAD

Par défaut l'import est réalisé en mode Mise à jour des bases, mais il est possible de l'effectuer en mode Importation annuelle des bases en cochant la case Importer les fichiers en mode "annuel".

  • Mise à jour des bases : ajoute les utilisateurs et groupes manquants sans modifier les groupes existants ;

  • Importation annuelle des bases : ajoute les utilisateurs et groupes manquants après avoir purgé les options (import des élèves) ou les équipes pédagogiques (import des professeurs).

Truc & astuce

L'import peut également être exécuté en ligne de commande en utilisant le script synchro_aaf avec comme paramètre l'un des fichiers cité dans /var/lib/eole/aaf/aaf_files/.

Exemple

Exemple de boucle en bash[74] qui permet de traiter tous les fichiers :

for f in `cat /var/lib/eole/aaf/aaf_files`; do

     /usr/bin/synchro_aaf $f

done

Suivi de la synchronisation et de l'importation

Agent Zéphir

Un agent Zéphir permet de vérifier le bon déroulement de l'envoi des fichiers sur le module.

L'agent de surveillance de la synchronisation des fichiers AAF
L'agent de surveillance de la synchronisation des fichiers AAF

Application web Zéphir

Des informations sont également disponibles en allant dans Logs complets depuis la page d'état de l'un des serveurs Scribe et en filtrant sur divers.

Surveillance de la prise en compte des fichiers AAF dans Zéphir
Surveillance de la prise en compte des fichiers AAF dans Zéphir

Rapports d'importation

L'importation des fichiers AAF synchronisés utilise les même scripts que l'importation habituelle, on retrouve donc les rapports de l'importation AAF aux endroits suivants :

  • page d'accueil de l'EAD (/usr/share/ead2/backend/tmp/importation/rapport.txt) ;
  • répertoire personnel de l'utilisateur admin : /home/a/admin/perso/importation ;
  • journaux complets : /var/log/eole/importation.log.

Remarque

L’importation automatisée créant les rapports dans le répertoire personnel de l’utilisateur admin, il peut être utile d’exporter les identifiants provisoires des élèves via l’action de gestion des utilisateurs de l’EAD.

Outils à destination des enseignants

EOP : application web à destination des enseignants

Présentation

Présentation

L'objectif de l'application web EOP (EOLE Outils Profs) est de proposer une interface simple contenant un ensemble d'outils à destination des enseignants. Cette nouvelle application, indépendante, ne traite pas uniquement de la gestion des documents et peut être intégrée dans un portail. Le développement est basé sur le framework python Flask[86].

http://dev-eole.ac-dijon.fr/projects/eop

Principales fonctionnalités
  • gestion de documents (distribution simple, ou distribution et ramassage) ;

  • possibilité de changer le mot de passe d'un élève ;

  • possibilité de changer le mot de passe du compte enseignant.

Remarque

Pour désactiver l'application il faut se rendre dans l'interface de configuration du module en mode normal, dans l'onglet Applications web et passer Activer EOP (gestion de devoir) à non.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Accéder à l'application

Pour accéder à l'application il faut se rendre à l'adresse : https://<adresse_serveur>/eoleapps/eop/documents/

Rôles des utilisateurs

Seuls les enseignants et l'utilisateur admin (enseignant également) ont un accès à l'application.

Les professeurs principaux ont accès à quelques fonctionnalités supplémentaires.

Les élèves disposent des documents distribués dans leur répertoire personnel mais n'ont pas d'accès à l'application EOP.

Fonctionnalités

Le bandeau noir de l'interface permet un accès rapide aux différentes fonctionnalités.

L'icône EOP permet d'afficher les différentes fonctionnalités sous forme de bouton.

À droite de l'interface apparaît l'identifiant utilisé et le bouton Déconnexion.

Menu Documents
  • Distribuer : permet de gérer la distribution de documents ;

  • Ramasser : permet de récupérer un document distribué et nécessitant la modification par les utilisateurs ;

  • Rendre : permet d'annoter les documents ramassés et de les restituer ;

  • Historique : permet de lister les différents documents et de connaître leur état.

Menu Gestion
  • Mots de passe : visible uniquement avec le rôle de professeur principal, cette option permet de changer le mot de passe d'un ou de plusieurs utilisateurs.

  • Délégation de droits : visible uniquement avec le rôle de professeur principal, elle permet de déléguer la gestion des mots de passe (dans EOP et EAD) et des comptes élève (dans l'EAD) pour une classe donnée.

Menu Préférences
  • Mots de passe : permet de modifier son propre mot de passe.

Distribution de documents

Par défaut l'arrivée sur l'application se fait sur la fonctionnalité et l'onglet Distribuer de nouveaux documents.

Plusieurs encadrés sont à remplir pour procéder à la distribution de documents.

Donner un nom de référence et choisir des destinataires
Nom de référence

La référence vous permet d'identifier le processus de distribution durant les différentes étapes de sa vie (distribution, ramassage, restitution, suppression). Il permettra également à l'utilisateur d'identifier le répertoire de destination du ou des documents.

Destinataires

Vous devez sélectionner un ensemble de destinataires à qui distribuer la référence, celui-ci peut être une classe, une équipe, un groupe, une matière ou un niveau.

Uniquement les élèves / À tous les membres

Par défaut la référence n'est distribuée qu'aux élèves, en cochant l'option À tous les membres, vous pouvez distribuer la référence à tous les membres de l'ensemble.

Vider la liste

Il est possible de supprimer des destinataires ajoutés par erreur. Vider la liste permet de supprimer tous les destinataires ajoutés.

Sélectionner le(s) document(s) à distribuer

Le(s) document(s) à distribuer seront accessibles en écriture par les utilisateurs dans leur répertoire personnel dans un sous-répertoire ayant pour nom celui de la référence.

Cliquer

Vous pouvez cliquer dans la zone grise pâle pour ouvrir un navigateur de fichier. Celui-ci vous permet de choisir un ou plusieurs fichiers d'un même répertoire en maintenant la touche Ctrl + clic.

Glisser

Vous pouvez faire glisser un ou plusieurs documents dans la zone gris pâle depuis une autre fenêtre.

Vider la liste

Il est possible de supprimer un document téléversé par erreur. Vider la liste permet de supprimer tous les documents téléversés.

Attention

Si le message Fichier trop gros ! apparaît, en bas à droite de la fenêtre, alors la valeur maximale pour la taille d'un fichier à téléverser doit être ajustée dans l'onglet Apache du module Scribe et/ou dans l'onglet Reverse proxy du module Amon en mode expert.

Distribuer immédiatement ou plus tard

La distribution peut être différée ou immédiate.

Distribuer immédiatement

La distribution a lieu après avoir cliqué sur le bouton Valider.

Distribuer plus tard

Cette option permet de préparer la distribution de document à distance ou dans l'établissement.

La distribution se fera en utilisant, au moment voulu, l'option Distribuer de l'application Gestion-postes à l'intérieur de l'établissement.

Envoi automatique de mail aux élèves

Un courrier électronique peut être automatiquement envoyé de votre part aux élèves destinataires des documents.

Pour cela, cochez la case et complétez le sujet et le corps avant de lancer la distribution.

Choisir un ou des documents annexes (optionnel)

Cette étape est optionnelle. Les annexes sont des documents qui ne seront pas accessibles en écriture par les utilisateurs.

Cliquer

Vous pouvez cliquer dans la zone grise pâle pour ouvrir un navigateur de fichier. Celui-ci vous permet de choisir un ou plusieurs fichiers d'un même répertoire en maintenant la touche Ctrl + clic.

Glisser

Vous pouvez faire glisser un ou plusieurs documents dans la zone gris pâle depuis une autre fenêtre.

Vider la liste

Il est possible de supprimer un document téléversé par erreur. Vider la liste permet de supprimer tous les documents téléversés.

Truc & astuce

Les documents annexes sont disponibles dans le répertoire donnees qui lui se trouve dans le répertoire portant le nom de référence concaténé avec le nom de la classe. Ce répertoire est disponible dans le répertoire /perso/devoirs/nom de l'enseignant/ de l'élève.

Valider la distribution

Pour valider la distribution il faut cliquer sur le bouton Valider en bas de page. La validation se fait après l'acceptation du récapitulatif en cliquant sur le bouton Confirmer.

Gestion des documents

Ramassage

Le ramassage consiste à sélectionner un document qui a été distribué auparavant et à le collecter auprès de chacun des élèves.

Pour se faire il faut se rendre dans l'onglet Documents / Ramassage, sélectionner la référence du document à ramasser et cliquer sur le bouton Ramasser.

Truc & astuce

Les documents ainsi collectés sont disponibles dans un répertoire portant le nom de référence concaténé avec le nom de la classe. Ce répertoire se trouve dans le répertoire /perso/devoirs/ramasses/ de l'enseignant qui a effectué la distribution.

Complément

Un message texte qui avertit l'utilisateur que le document a été ramassé est disponible dans le répertoire de l'utilisateur portant le nom de référence concaténé avec le nom de la classe. Ce répertoire se trouve dans le répertoire /perso/devoirs/nom de l'enseignant/ de l'élève.

Restitution

La restitution consiste à sélectionner un document qui a été ramassé auparavant et à le distribuer auprès de chacun des élèves.

Pour se faire il faut se rendre dans l'onglet Documents / Restitution, sélectionner la référence du document à restituer. Un message peut accompagner la restitution afin de prévenir l'utilisateur. Pour se faire cocher l'option Envoyer un mail aux élèves, saisir le titre et le contenu du courrier électronique. Enfin cliquer sur le bouton Rendre.

Truc & astuce

Les documents restitués sont disponibles dans le répertoire correction se trouvant dans le répertoire portant le nom de référence concaténé avec le nom de la classe. Ce répertoire se trouve dans le répertoire /perso/devoirs/nom de l'enseignant/ de l'élève qui a reçu la restitution.

État des documents

L'onglet État des documents consiste à visualiser les documents et leur état.

Ce tableau récapitulatif reprend tous les documents distribués.

Vous pouvez les trier en cliquant sur les en-têtes de colonnes.

Vous pouvez aussi filtrer le tableau en entrant les premiers caractères du mot souhaité dans le champ de recherche.

Dans la colonne action les boutons Rendre, Ramasser et Supprimer permettent d'agir sur l'état des documents.

Remarque

Le bouton Supprimer permet d'effacer le cache d'une référence (documents et annexes) qui prend de la place sur le serveur. Attention, une fois le cache supprimé, les élèves ne peuvent plus accéder aux annexes.

Changement de mot de passe par lot

Cette page n'est accessible, par défaut, qu'aux enseignants identifiés en tant que "professeur admin" et aux enseignants identifiés comme étant "professeur principal".

RemarqueDéfinition d'un "professeur admin"

En mode mono-établissement, seul l'utilisateur admin est "professeur admin".

En mode multi-établissement, cette fonctionnalité peut être déléguée à des enseignants d'un établissement en les inscrivants dans le groupe spécial : admin-[etabxxx].

Changement de mot de passe par utilisateur (élèves)

Cette fonctionnalité n'est accessible, par défaut, qu'aux enseignants identifiés en tant que "professeur admin" et aux enseignants identifiés comme étant "professeur principal".

Truc & astuce

Il est possible d'accorder à tous les professeurs le droit de changer le mot de passe de n'importe quel élève. Pour cela, se rendre dans l'interface de configuration du module, en mode expert et dans l'onglet Applications web, répondre oui à la question Permettre aux enseignants de changer le mot de passe de tous les élèves.

Utilisateurs concernés

Choisir un groupe dans la liste des groupes, il est possible de sélectionner tous les élèves du groupe ou de les sélectionner un par un. Pour faciliter la recherche il est possible de trier les élèves par nom, prénom ou identifiant. Les élèves sélectionnés sont ajoutés dans le champ Sélection. Une croix blanche sur fond rouge permet de supprimer un compte de la liste. Le lien Vider la liste permet de vider toute la liste.

Il faut choisir le type de mot de passe qui sera appliqué aux comptes sélectionnés :

  • Mot de passe aléatoire : le ou les mots de passe seront affichés à la validation du changement et enregistrés dans le répertoire personnel de l'enseignant sous forme de fichier .csv ;

  • Même mot de passe pour tous : permet de choisir le mot de passe.

Une case à cocher permet d'imposer que le mot de passe par défaut soit changé à la première connexion.

La validation du changement de mot de passe se fait avec le bouton Modifier, un message informe du changement :

Les mots de passe des utilisateurs suivants ont été modifiés avec succès :

ELEVE130 Prenom : 7gUo4*T

Modifications enregistrées dans votre répertoire personnel dans le fichier mot-de-passe_9_4_0.csv.

Changement de mot de passe enseignant

Les "professeurs admin" disposent également d'un formulaire supplémentaire pour changer les mots de passe des enseignants dans un ou plusieurs établissement.

Comme pour le formulaire par groupe, plusieurs choix de type de mot de passe à appliquer sont présentés. La validation du changement de mot de passe est déclenchée via le bouton Modifier. Un message avertit du bon déroulement de la procédure.

Écran
  • 1
    Sélection de l'établissement

    Liste déroulante permettant de sélectionner un établissement parmi ceux enregistrés sur le serveur.

  • 2
    Sélection de l'enseignant

    Liste déroulante permettant de sélectionner l'enseignant à qui changer le mot de passe

  • 3
    Type de mot de passe à appliquer

    Type de mot de passe qui sera utilisé pour l'enseignant sélectionné

  • 4
    Modification du mot de passe à la première connexion

    Case à cocher déterminant si l’utilisateur sera invité à modifier son mot de passe à la prochaine connexion

  • 5
    Bouton de validation

    Bouton permettant d’exécuter le changement dans l’annuaire

Changement de mot de passe élèves par établissement

Les "professeurs admin" disposent également d’un formulaire supplémentaire pour changer l’ensemble des mots de passe des élèves dans un ou plusieurs établissement.

Si un seul établissement est enregistré, il sera pré-sélectionné. Si plusieurs établissements ont été trouvés, une fenêtre déroulante permet de sélectionner un ou plusieurs d’entre eux.

Comme pour le formulaire par groupe, plusieurs choix de type de mot de passe à appliquer sont présentés. La validation du changement de mot de passe est déclenchée via le bouton Modifier. Un message avertit du bon déroulement de la procédure et de la création d’un fichier récapitulatif dans le répertoire de l’utilisateur ayant lancé le changement de mot de passe.

Écran
  • 1
    Sélection des établissements

    Liste déroulante permettant de sélectionner un ou plusieurs établissements parmi ceux enregistrés sur le serveur.

  • 2
    Récapitulatif de la sélection

    Zone listant les établissements sélectionnés et permettant d’en retirer

  • 3
    Type de mot de passe à appliquer

    Type de mot de passe qui sera utilisé pour tous les élèves des établissements sélectionnés

  • 4
    Modification du mot de passe à la première connexion

    Case à cocher déterminant si l’utilisateur sera invité à modifier son mot de passe à la prochaine connexion

  • 5
    Bouton de validation

    Bouton permettant d’exécuter le changement dans l’annuaire

Délégation de droits

Cette fonctionnalité n'est accessible que pour les enseignants identifiés comme étant professeur principal.

Pour un administrateur de classe, il est possible de déléguer à un autre enseignant le droit de gestion des comptes élève et des mots de passe.

Cette délégation permet de modifier les mots de passe des comptes élèves dans EOP et l'EAD mais permet une gestion plus complète dans l'EAD (inscription à des groupes, fixation de quotas disque…).

La vue affiche toutes les classes dont l'enseignant est responsable. Dans chaque classe est affichée une liste des personnes ayant également un droit de gestion.

Pour déléguer un droit de gestion à un autre enseignant, il faut choisir son nom dans le menu déroulant de la classe désirée. Une fois sélectionné il s'ajoute à la liste des administrateurs sans demande de confirmation.

Pour retirer ce droit à un enseignant, il faut cliquer sur la croix rouge correspondant à son nom. Aucune validation n'est nécessaire.

Remarque

Un enseignant ne peut pas se retirer la qualité de responsable de classe.

Gestion des comptes temporaires

Cette fonctionnalité est uniquement accessible aux enseignants identifiés en tant que "professeur admin".

RemarqueDéfinition d'un "professeur admin"

En mode mono-établissement, seul l'utilisateur admin est "professeur admin".

En mode multi-établissement, cette fonctionnalité peut être déléguée à des enseignants d'un établissement en les inscrivants dans le groupe spécial : admin-[etabxxx].

Depuis l'accueil d'EOP il est possible de gérer les comptes temporaires.

Si la variable Permettre aux enseignants admin de créer des comptes temporaires est à non, les professeurs admin accèdent uniquement à la gestion des comptes temporaires pré-existants.

Si la variable Permettre aux enseignants admin de créer des comptes temporaires est à oui, les professeurs admin ont également accès à la création de comptes temporaires.

Attention

Pour pouvoir créer un compte temporaire il faut que le groupe invité-[etabxxx] existe.

Pour cela il est nécessaire de passer par l'interface de l'EAD2 pour le créer.

Truc & astuceUtilisateurs temporaires

Tous les utilisateurs temporaires créés de cette façon feront partie du groupe invite-[etabxxx]

L'exécution du script /usr/share/eole/sbin/del_expired_users.py supprimera les comptes temporaires dont l'expiration a dépassé les 15 jours.

Documentation technique

Principales fonctionnalités
  • L'authentification est centralisée et gérée par eoleflask-aaa, donc plus de cron pour effacer les fichiers de sessions sur le serveur

  • Une section EOP dans le diagnose fait un TCPCheck des ports 8788 de controle-vnc et 6080 de websockify.

EOP est une application flask servie par gunicorn, et gérée par apache en reverse-proxy.

En cas de dysfonctionnement il faut vérifier :

  • l'état du service eoleapps ;

Si le module est en mode conteneur il faut utiliser les commandes suivantes dans le conteneur web, pour se rendre dans le conteneur web : # ssh web .

Vérifier le service eoleapps.

Vérifier les logs dans /var/log/eoleflask/gunicorn-error.log et /var/log/eoleflask/gunicorn-access.log.

  • S'il y a une erreur NoApplicationError: No application loaded alors il faut vérifier la présence d'un lien symbolique dans /etc/eole/flask/enabled/ pointant vers le fichier /etc/eole/flask/available/eop.conf.

  • S'il y a une erreur CookieError: Invalid Attribute envole.user, il faut mettre à jour eole-posh ou supprimer le cookie $envole.user.

Relancer le service :

# service eoleapps restart

Il est également possible de demander l'exécution du service dans une console python :

>>> from eoleflask.application import run

>>> run(config='eoleapps')

Remarque

En mode conteneur, dans le cas d'un module AmonEcole par exemple, le fichier de log /var/log/controle-vnc/main.log se trouve dans le conteneur fichier.

Vérifier le service apache.

Vérifier que les modules apache pour le proxy inverse sont bien activés :

# a2enmod proxy proxy_http

# service apache restart

Tester EOP sans passer par le proxy inverse (de l'extérieur par tunnel SSH) :

# ssh -L 9999:127.0.0.1:5000 root@<adresse IP du module>

Puis entrer dans un navigateur l'URL : http://localhost:9999/documents

Les journaux de l'application EOP sont accessibles dans le fichier /var/log/eoleflask/eop.log.

Distribution de documents dans l'EAD

FIXME 2.7.1

L'EAD offre la possibilité aux enseignants de distribuer des documents et des travaux éducatifs (évaluation, bilan, contrôle ou devoir contrôlé).

Les fonctionnalités sont équivalentes à celles disponibles dans le logiciel Gestion-postes mais contrairement à celui-ci, qui n'est accessible que depuis les clients Windows de l'établissement, elles sont disponibles à travers le portail Envole et donc accessibles depuis l'extérieur de l'établissement.

Vue de la distribution de document dans l'EAD
Vue de la distribution de document dans l'EAD

La distribution de documents au travers de l'EAD permet de faire une distribution immédiate ou différée des documents. Dans le cas d'une distribution différée (voir Choix du répertoire de destination), les documents sont préparés avec l'EAD et leur accès sera activé au moment opportun avec Gestion-Postes.

La distribution peut être composée de deux éléments :

  • le ou les documents sous forme d'un ou plusieurs fichiers. Ils seront copiés dans chacun des dossiers personnels devoirs/ nom_de_l'enseignant / <nom_du_devoir> des utilisateurs du groupe sélectionné. Les utilisateurs auront un accès en lecture et en écriture à ces fichiers (modification/suppression) ;

  • les données jointes au(x) document(s) qui sont des fichiers supplémentaires dont la modification est impossible. Ils sont copiés une seule fois à un endroit spécifique du serveur. Des liens symbolique vers ces fichiers sont créés dans le sous-répertoire donnees du répertoire devoirs/ nom_de_l'enseignant / nom_devoir de chacun des utilisateurs.

Si la distribution de document est un travail éducatif, la distribution s'effectue en suivant les 4 étapes suivantes :

  • distribuer ;

  • ramasser ;

  • rendre : distribution des devoirs corrigés ;

  • supprimer : effacement des fichiers du devoir.

Distribuer des documents

Vue de l'étape 1 : Distribuer
Vue de l'étape 1 : Distribuer

Étape 1 : Choix du groupe et du nom du document

Il faut avant tout choisir, dans le menu déroulant Choix du groupe, la classe, la matière ou l'équipe à qui l'ont veut distribuer un ou plusieurs documents. Puis on choisit un nom Nom du document pour l'espace de travail. Il apparaîtra dans le répertoire personnel de chacun des utilisateurs sous la forme devoirs / nom_de_l'enseignant / <espace_de_travail> et contiendra les documents de travail et les données.

Le nom du document ne doit comporter ni espace ni caractère accentué.

La case Uniquement aux élèves du groupe est cochée par défaut. Décochée, elle permet d'envoyer les documents aux autres membres du groupe, comme par exemple aux enseignants.

Étape 2 : Télécharger les documents à distribuer

Le bouton Parcourir permet de choisir un document sur son ordinateur. Après avoir cliqué sur le bouton Charger, le document apparaît dans la liste de droite. Il est possible de répéter l'opération pour autant de fichiers que l'on souhaite distribuer.

Étape 3 : Télécharger les données à joindre au document

Le bouton Parcourir permet de choisir un document sur son ordinateur. Après avoir cliqué sur le bouton Charger, le document apparaît dans la liste de droite. Il est possible de répéter l'opération pour autant de fichiers que l'on souhaite distribuer. Cette étape n'est pas obligatoire.

Étape 4 : Choix du répertoire de destination

Par défaut, l'option Dans le dossier 'perso\devoirs' étant sélectionnée, les documents seront distribués dans le répertoire personnel des utilisateurs.

L'option Dans le partage 'devoirs' (non accessible par défaut) permet de préparer la distribution différée de documents. Ce travail de préparation peut donc se faire aussi bien à l'extérieur qu'à l'intérieur de l'établissement. La distribution ne sera effective qu'au travers du logiciel Gestion-postes.

Dernière étape : Distribuer

Valider le bouton Distribuer pour que la distribution soit effective.

Truc & astuce

Il est possible de distribuer les mêmes documents à plusieurs groupes :

Étape 1 : Choix du groupe et du nom du document

Il faut choisir un autre groupe dans le menu déroulant et obligatoirement changer le nom de l'espace de travail Nom du document.

Étape 2 : Télécharger les documents à distribuer

S'il n'y a qu'un document, son chemin est encore dans le champ parcourir. Il suffit alors de cliquer sur le bouton Charger. À défaut, il faut recharger les différents documents à distribuer.

Étape 3 : Télécharger les données à joindre au document

S'il n'y a qu'une donnée, son chemin est encore dans le champ parcourir, il suffit de cliquer sur le bouton Charger. À défaut, il faut recharger les différentes données à distribuer.

Ramasser des documents

Cette fonctionnalité permet de ramasser les travaux des utilisateurs.

Les documents ramassés se retrouvent dans l'arborescence du dossier personnel de l'utilisateur les ayant ramassés :

/ perso / devoirs / ramasses / Nom de l'espace de travail (Nom du document) / Identifiant des élèves /

Vue des documents ramassés dans Ajaxplorer
Vue des documents ramassés dans Ajaxplorer

Rendre des documents

Cette fonctionnalité permet de rendre le travail corrigé. Un document ne peut être rendu que s'il a été auparavant ramassé.

Supprimer les données

Lorsqu'un enseignant distribue des données en plus des documents, elles sont copiées dans U:\devoirs\.distribues et des liens vers ces fichiers sont ensuite créés dans le répertoire nom_du_devoir \ donnes de chacun des destinataires.

Il est possible de supprimer ces fichiers lorsqu'ils sont devenus inutiles.

Attention
  • La suppression des données entraînera également la suppression du dossier <nom_du_devoir> \ donnees dans le dossier des destinataires.

  • Cette fonctionnalité permet de supprimer les données liées à une distribution de document qui ne seraient plus utiles par la suite. Elle permet donc d'économiser de la place sur le serveur de stockage.

Suppression annuelle des documents distribués

L’administrateur du système peut utiliser le script suppr_devoirs (/usr/share/eole/sbin/suppr_devoirs) pour supprimer les documents distribués en cours d’année par les enseignants.

Ce script ne supprime pas les devoirs édités par les élèves et les enseignants mais seulement les documents sources.

L’’exécution du script suppr_devoirs n’est pas automatisée et l’administrateur peut choisir le moment de le lancer. Il est logique de vouloir le lancer à la fin d’une session de cours pour supprimer d’un bloc les documents qui pourraient être distribués à nouveau lors de la session suivante. Cela évite le problème d’erreurs de distribution du fait de la présence de documents de même nom.

Les sauvegardes

Généralités sur la sauvegarde

La sauvegarde[87] consiste à dupliquer des données stockées dans le Système Informatique (SI) de l'entité, dans le but de les mettre en sécurité.

Cette mise en sécurité a pour but de répondre à deux éventualités de restauration[88] :

  • la restauration de tout ou d'une partie du SI, suite à une dégradation importante ou à une destruction ;

  • la restauration de quelques fichiers, suite à une corruption ou une destruction limitée de données.

On distingue trois types de sauvegardes :

  • la sauvegarde totale ;
  • la sauvegarde différentielle ;
  • la sauvegarde incrémentale.

La sauvegarde peut être :

  • réalisée localement ;

  • sur un média (serveur, disque, bande, CD-ROM) ;

  • hébergé dans le SI (Système Informatique) à des fins de restauration rapide ;

  • archivée  ;

  • externalisée.

Sauvegarde totale

Une sauvegarde totale ou complète, correspond à la copie intégrale d'un contenu à un instant T, sans prendre en compte l'historique.

Coûteuse en temps et en espace, cette sauvegarde reste malgré tout la plus fiable, puisqu'elle assure à elle seule l'intégrité de l'ensemble des données sauvegardées.

Il n'est pas judicieux de ne pratiquer que ce type de sauvegarde, car l'ensemble des données n'est jamais totalement modifié entre deux sauvegardes.

Il existe deux autres méthodes qui procèdent à la sauvegarde des seules données modifiées et/ou ajoutées entre deux sauvegardes totales :

  • la sauvegarde incrémentale ;

  • la sauvegarde différentielle.

Sauvegarde incrémentale

Une sauvegarde incrémentale réalise une copie des fichiers créés ou modifiés depuis la dernière sauvegarde quel que soit son type (complète, différentielle ou incrémentale).

Une sauvegarde totale est réalisée le jour T. Le jour T+1, la sauvegarde incrémentale est réalisée par référence à la sauvegarde précédente, donc la sauvegarde T. Le jour T+2, la sauvegarde incrémentale est réalisée par référence à la sauvegarde précédente, à savoir T+1. Et ainsi de suite.

La restauration d'un système complet à un jour donné (par ex : au jour T+3) se fait en appliquant la dernière sauvegarde complète (jour T), ainsi que toutes les sauvegardes incrémentales jusqu'au jour cible, à savoir T+1, T+2 et T+3.

Lorsqu'il s'agit de la restauration d'un fichier ou d'un répertoire qui a été sauvegardé à la date T+3 (T étant le jour de la sauvegarde totale de référence), seule la sauvegarde incrémentale du jour T+3 est nécessaire.

Sauvegarde différentielle

Une sauvegarde différentielle réalise une copie des fichiers crées ou modifiés, en se basant sur les différences constatées avec la dernière sauvegarde totale (quelles que soient les sauvegardes intermédiaires).

Attention

La notion de sauvegarde différentielle peut varier suivant la solution de sauvegarde utilisée.

Cette présentation est fidèle à l'outil de sauvegarde choisi par EOLE.

Des outils de sauvegarde

Les systèmes GNU/Linux embarquent depuis toujours des outils unitaires d'archivage qui permettent de réaliser des embryons de stratégie de sauvegarde.

Ainsi des outils tels que la commande tar permettent de créer des archives sur des médias locaux (disques, ou lecteurs de bandes).

Via des scripts se basant sur les dates de modifications, il est possible d'implémenter les méthodes de sauvegarde détaillées dans les paragraphes précédents.

Des outils plus complexes, et souvent propriétaires, ont été développés depuis, pour faciliter la création de ces sauvegardes (gestion du contenu à sauvegarder), mais aussi pour faciliter la gestion du calendrier de sauvegarde (programmation des tâches et des successions de sauvegardes).

Enfin, la plupart de ces outils intègrent la gestion de la restauration, avec la possibilité de choisir la date cible à restaurer.

Les solutions logicielles les plus connus sont :

La sauvegarde EOLE

À partir d’EOLE 2.5 l'outil de sauvegarde utilisé est l’application libre Bareos.

Backup Archiving REcovery Open Sourced est un dérivé (fork[89]) de l'outil de sauvegarde Bacula : http://www.bareos.org

Bareos permet de sauvegarder :

  • des fichiers et des dossiers

Bareos permet de sauvegarder des données (indifféremment sur des disques locaux ou distants, des bandes magnétiques), de gérer un nombre important et non limité de clients, et évidemment de restaurer facilement les sauvegardes.

Bareos supporte, entre autres, la possibilité de faire des sauvegardes sur plusieurs unités de stockage si une première unité possède une capacité insuffisante.

Le vocabulaire Bareos

Bareos utilise un nombre important de ressources pour définir une sauvegarde.

http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-60001.3

Quelques définitions
Job

L'objet le plus élevé est la définition d'un Job, représentant une "sauvegarde" au sens Bareos du terme.

Un Job Bareos est une ressource de configuration qui définit le travail que Bareos doit effectuer pour sauvegarder ou restaurer un client particulier. Un Job consiste en l'association d'un type d'opération à effectuer (Type : backup, restore, verify, etc.), d'un niveau de sauvegarde (Level : Full, Incremental, ...), de la définition d'un ensemble de fichiers et répertoires à sauvegarder (FileSet), et d'un lieu de stockage où écrire les fichiers (Storage, Pool).

http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-990008.2

Schedule

Un Job peut être immédiat, mais dans une stratégie de sauvegarde, il est généralement planifié via la ressource Schedule.

Le schedule détermine la date et l'instant où le job doit être lancé automatiquement, et le niveau (total, différentiel, incrémental...) du job en question.

Cette directive est optionnelle. Si elle est omise, le job ne pourra être exécuté que manuellement via la Console.

http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1010008.4

Volume

Un Volume est une unité d'archivage, usuellement une cartouche ou un fichier nommé sur disque où Bareos stocke les données pour un ou plusieurs jobs de sauvegarde. Tous les volumes Bareos ont un label unique (logiciel) écrit sur le volume par Bareos afin qu'il puisse être assuré de lire le bon volume. En principe, il ne devrait pas y avoir de confusion avec des fichiers disques, mais avec des cartouches, le risque d'erreur est plus important.

Les volumes ont certaines propriétés comme la durée de rétention des données et la possibilité d'être recyclés une fois cette durée de rétention expirée; ceci afin d'éviter de voir grossir indéfiniment l'espace disque occupé par les sauvegardes.

Pool

La ressource Pool définit l'ensemble des Volumes de stockage (cartouches ou fichiers) à la disposition de Bareos pour écrire les données. En configurant différents Pools, vous pouvez déterminer quel ensemble de volumes (ou média) reçoit les données sauvegardées.

Ceci permet, par exemple, de stocker les sauvegardes totales sur un ensemble de volumes, et les sauvegardes différentielles et incrémentales sur un autre. De même, vous pouvez assigner un ensemble de volumes à chaque machine sauvegardée.

http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1130008.8

FileSet

Un FileSet est une ressource qui définit les fichiers à inclure dans une sauvegarde. Il consiste en une liste de fichiers ou répertoires inclus, une liste de fichiers ou répertoires exclus et la façon dont les fichiers seront stockés (compression, chiffrement, signatures).

http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1030008.5

Storage

Cette ressource définit les services de stockage que peut contacter le directeur. On y retrouve les répertoires de travail du processus, le nombre de Jobs concurrents qu'il est capable de traiter, et éventuellement, la définition des adresses IP des clients dont il accepte les connexions. Chaque Job est associé à une ressource Storage. Une ressource Storage peut être associée à plusieurs Jobs.

http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1120008.7

Device

Véritable destination physique de la sauvegarde, la ressource Device fait le lien entre le matériel de sauvegarde (lecteur de bandes, robots de sauvegarde, mais aussi disques locaux - internes comme externes) et la ressource Storage.

http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1250009.4

Catalog

La ressource Catalog précise quel catalogue utiliser pour le job courant. Actuellement, Bareos ne peut utiliser qu'un type de serveur de base de données défini lors de sa configuration : SQLite, PostgreSQL. En revanche, vous pouvez utiliser autant de catalogues que vous le souhaitez. Par exemple, vous pouvez avoir un catalogue par client, ou encore un catalogue pour les sauvegardes, un autre pour les jobs de type Verify et un troisième pour les restaurations.

Le catalogue (ressource Catalog) est une base de données utilisée pour stocker :

  • des informations sur les fichiers: la liste, les permissions, l'emplacement sur les volumes de sauvegarde, etc.

  • la définition de la configuration de Bareos.

Actuellement, trois formats de bases de données sont supportés : SQLite, et PostgreSQL.

SQLite est conseillé pour de petites installations.

Attention, l'interface web ne fonctionne qu'avec PostgreSQL.

Le catalogue est une pièce majeure de Bareos, et doit également faire partie du plan de sauvegarde.

Ce catalogue peut rapidement devenir volumineux, il faut veiller au taux d'occupation et à la performance de la base de données.

Point important, la configuration de Bareos se fait à deux niveaux:

  • les fichiers de configuration ;

  • la base de données.

Bareos lit les fichiers de configuration au démarrage, et inscrit les valeurs dans la base de données du Catalogue. C'est le Catalogue qui définit la configuration utilisée par Bareos, donc il faut préférer le résultat des commandes console aux valeurs des fichiers.

http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1150008.9

Architecture de Bareos

Bareos est construit suivant une architecture distribuée :

Architecture de Bareos inspiré du dessin original de Aristedes Maniatis (documentation officielle de Bacula)
Architecture de Bareos inspiré du dessin original de Aristedes Maniatis (documentation officielle de Bacula)
  • le serveur directeur (Bareos directeur) est l'élément central, qui supervise et archive les opérations de sauvegarde et de restauration, le nom du service sur un module EOLE est bareos-director ;

  • le serveur base de données (database server) gère le catalogue dans lequel le directeur archive les opérations et l'emplacement des fichiers dans les différents volumes de sauvegarde, au format SQLite. Il se trouve sur le même serveur que le directeur sur un module EOLE ;

  • le serveur de stockage (Bareos stockage) est le serveur qui prend en charge l'écriture et la lecture des volumes de sauvegarde, le nom du service sur un module EOLE est bareos-storagedaemon ;

  • le serveur de lecture/écriture de fichiers (Bareos fichier), aussi identifié comme le client exécute les commandes de lecture/écriture des fichiers gérés par la sauvegarde sur chaque poste où il est installé, le nom du service sur un module EOLE est bareos-filedaemon ;

La communication entre chaque serveur est associée à un mot de passe. Ces différents serveurs peuvent être :

  • installés sur la même machine sans problème ;

  • présents en plusieurs exemplaires (on peut dupliquer les destinations de sauvegardes, avoir plusieurs

    directeur, etc.).

Cependant, la configuration Bareos sur un module EOLE ne permet uniquement qu’un sous-ensemble de ces combinaisons de services :

  • le directeur est toujours associé à un serveur de base de données local ;

  • le directeur est toujours associé à un client local pour assurer la sauvegarde du catalogue ;

  • le directeur peut utiliser un serveur de stockage distant ;

  • un serveur de stockage peut être associé à plusieurs directeurs ;

  • un serveur de stockage est toujours associé à un directeur local ;

  • le directeur peut prendre en charge plusieurs clients ;

  • le client peut être activé indépendamment des autres services.

Architecture de Bareos intégré à EOLE
Architecture de Bareos intégré à EOLE

Cette partie de la configuration est appelée directeur dans la suite de la documentation.

Par contre, il est possible de déporter le serveur de stockage sur un serveur disposant d'un disque de sauvegarde.

Pour résumer, 3 services liés aux sauvegardes se retrouvent sur un module EOLE :

  • bareos-dir (lié à bareos-fd)

  • bareos-fd (lié à bareos-dir)

  • bareos-sd

Truc & astuce

Plusieurs directeurs peuvent envoyer les données sur un unique serveur de stockage en établissement.

Il est également possible de copier les sauvegardes au travers d'autres protocoles réseau : rsync, samba, SSH, etc.

Configuration des sauvegardes

La configuration des sauvegardes consiste en une activation de la sauvegarde du serveur et/ou en l'activation du support de sauvegarde sur le module.

Si le support de sauvegarde est activé, un complément de configuration peut se faire :

  • par l'EAD ;

  • par l'EAD3 ;

  • en ligne de commande.

Activation et configuration de Bareos

La sauvegarde du serveur et le support de stockage de la sauvegarde sont activés par défaut sur certains modules, il peuvent être activés/désactivés dans l'onglet Services de l'interface de configuration du module.

Activation de la sauvegarde Bareos dans l'onglet Services de l'interface de configuration
Activation de la sauvegarde Bareos dans l'onglet Services de l'interface de configuration
  • L'activation du directeur de sauvegarde permet d'activer la sauvegarde sur le serveur, celle-ci peut être locale si le support de stockage est activé ou déportée à condition d'avoir un serveur sur lequel est activé le support de stockage.

    Cette fonctionnalité permet de mettre en place des sauvegardes croisées.

  • L'activation du support de stockage de la sauvegarde permet d'accueillir des sauvegardes locales ou distantes.

  • L'activation de la sauvegarde des fichiers locaux, en mode expert, permet de sauvegarder les fichiers du serveur lui-même.

  • Suite à l'activation du directeur de sauvegarde (Activer le directeur de sauvegarde à oui) l'onglet Directeur bareos apparaît dans l'interface de configuration du module. Il permet de configurer le nom du directeur et les périodes de rétention et de définir si le serveur de stockage est distant ou local.

  • Suite à l'activation du support de stockage (Activer le stockage de sauvegarde à oui) l'onglet Stockage bareos apparaît dans l'interface de configuration du module. Il permet de configurer le nom du serveur de stockage et permet également d'autoriser des directeurs à se connecter au présent stockage.

  • Suite à l'activation de la sauvegarde des fichiers locaux (Activer la sauvegarde des fichiers locaux à oui) l'onglet Clients bareos apparaît dans l'interface de configuration du module. Il permet de configurer le nom du serveur de sauvegarde des fichiers locaux.

Onglet Directeur bareos

L'onglet Directeur bareos apparaît dans l'interface de configuration du module si le directeur de sauvegarde est activé dans l'onglet Services (Activer le directeur de sauvegarde à oui) .

L'onglet permet de configurer le nom du directeur et les périodes de rétention et de définir si le serveur de stockage est distant ou local.

Le nom du directeur est une information importante, il est utilisé en interne dans le logiciel mais, surtout, il est nécessaire pour configurer un client Bareos ou pour joindre le serveur de stockage depuis un autre module.

À l'enregistrement du fichier de configuration il ne sera plus possible de modifier le nom du directeur. En effet, cette variable est utilisée dans les noms des fichiers de sauvegarde.

AttentionMigration de version EOLE

À partir d'EOLE 2.8.1, Bareos fonctionne avec PostgreSQL[91] tandis que sur les versions précédentes, il était possible de choisir entre MySQL et SQLite.

Il n'existe pas de migration de données entre ces bases.

Dans le cas d'une montée de version vers 2.8.1, il vous faudra penser à effectuer une nouvelle sauvegarde dès que possible.

En mode expert, il est possible de modifier le répertoire utilisé par défaut pour l'extraction de la base de données du catalogue. Ce changement permet éventuellement de ne pas surcharger l'espace occupé dans /var.

Le champ Mot de passe du directeur contient le mot de passe à transmettre aux applications distantes pour leur permettre de s'authentifier auprès du directeur.

Configuration des durées de rétention

Les trois types de sauvegarde, complète, différentielle, incrémentale, disposent chacune d’un pool de volumes distinct. Cela permet de paramétrer des durées de rétention[92] et des tailles pour ces volumes différents pour chaque type de sauvegarde.

La sauvegarde du catalogue est également gérée avec un pool de volume distinct. Seule la taille des volumes est paramétrable cependant.

Écran
  • 1
    Configuration du pool du catalogue

    Taille des volumes pour la sauvegarde du catalogue (taille illimitée si à 0)

  • 2
    Configuration du pool pour la sauvegarde complète

    Durée de rétention et taille des volumes pour la sauvegarde complète

  • 3
    Configuration du pool pour la sauvegarde différentielle

    Durée de rétention et taille des volumes pour la sauvegarde différentielle

  • 4
    Configuration du pool pour la sauvegarde incrémentale

    Durée de rétention et taille des volumes pour la sauvegarde incrémentale

La durée de rétention des fichiers détermine le temps de conservation avant l'écrasement.

Plus les durées de rétention sont importantes, plus l'historique sera important et plus l'espace de stockage nécessaire sera important.

L’espace alloué à un volume n’est pas recyclé (réutilisé pour une autre sauvegarde) avant que le volume ne soit complet et que les durées de rétention ne soient atteintes.

Limiter la taille des volumes est utile dans deux cas :

  • le système de fichier hébergeant les volumes impose une contrainte sur la taille des fichiers (typiquement les systèmes FAT montés via le protocole SMB, à l’origine de la contrainte de 2 Go) ;

  • on souhaite pouvoir recycler plus rapidement les volumes (de petite taille, les volumes sont associés à moins de jobs ; il faut donc moins de temps pour purger l’ensemble des jobs associés et pouvoir recycler les volumes).

Sur les serveurs avec un historique de sauvegarde conséquent, il n’est pas rare que la limite par défaut de 2 Go pour le pool du Catalogue finisse par poser problème : ce pool n’autorise qu’un volume qui doit être d’une taille suffisante pour contenir la sauvegarde du catalogue.

Exemple

Il peut être intéressant de conserver un historique long mais avec peu d'états intermédiaires.

Pour cela, voici un exemple de configuration :

  • 6 mois de sauvegardes totales ;
  • 5 semaines de sauvegardes différentielles ;
  • 10 jours de sauvegardes incrémentales.

Avec la politique de sauvegarde suivante :

  • une sauvegarde totale par mois ;
  • une sauvegarde différentielle par semaine ;
  • une sauvegarde incrémentale du lundi au vendredi.

Dans l'historique, il y aura donc une sauvegarde par jour de conservée pendant 10 jours, une sauvegarde par semaine pendant 5 semaines et une sauvegarde mensuelle pendant 6 mois.

Attention

Une modification de la durée de rétention en cours de production n'aura aucun effet sur les sauvegardes déjà effectuées, elles seront conservées et recyclées mais sur la base de l'ancienne valeur, stockée dans la base de données.

Afin de prendre en compte la nouvelle valeur pour les sauvegardes suivantes, il faut utiliser les outils Bareos pour mettre à jour la base de données :

# bconsole

*update

*2

*<numéro du pool de volumes de sauvegarde>

Une autre solution consiste à vider le support de sauvegarde ou prendre un support de sauvegarde ne contenant aucun volume et à ré-initialiser la base de données Bareos avec la commande :

# bareosregen.sh

La regénération du catalogue de bareos va écraser l'ancienne base, confirmez-vous ? [oui/non]

[non] : oui

Paramètres supplémentaires

En mode expert d'autres paramètres sont disponibles.

Type de compression et délai alloué
Type de compression et délai alloué
  • La durée maximale pour l'exécution complète d'une sauvegarde permet d'annuler le job si il n’est pas terminé avant ce délai, exprimé en secondes, en comptant à partir de l’heure programmée. Par défaut le job est limité à 86 400 secondes soit 24 heures (la valeur 0 lève cette limite de temps).

  • Plus l'algorithme de compression est efficace, moins il nécessite d'espace mais plus il alourdit la charge système et allonge la durée du processus de sauvegarde. Deux algorithmes de compression sont proposés : GZIP et LZ4.

    L'algorithme GZIP[93] permet plusieurs niveaux de compression de 1 à 9. Au delà de 6, le gain en place est faible par rapport aux niveaux immédiatement inférieurs, tandis que la durée de traitement s'allonge sensiblement.

    L'algorithme LZ4[94] offre un taux de compression moindre que le niveau de compression 6 de GZIP mais est significativement plus rapide.

Remarque

L’utilisation de l’algorithme de compression LZ4 nécessite que Bareos ait été compilé avec le support de ce dernier. Dans le cas où Bareos n’aurait pas été compilé avec celui-ci, un message d’avertissement est émis au moment de la sauvegarde et aucune compression n’est effectuée. Les modules EOLE en version supérieure ou égale à 2.7.1 bénéficient d’une version de Bareos avec le support de LZ4 activé. Pour les autres clients, l’administrateur système doit s’assurer que ce support est également activé.

  • Le champ Mot de passe du directeur contient le mot de passe à transmettre aux applications distantes pour leur permettre de s'authentifier auprès du directeur.

Configuration du stockage

Le service de stockage gérant l'écriture des volumes de sauvegardes (bareos-sd ) peut être local ou distant, il est local par défaut. Dans ce cas aucun paramètre supplémentaire n'est à configurer dans cet onglet (Directeur Bareos).

Vue de l'onglet Directeur Bareos
Vue de l'onglet Directeur Bareos

Dans le cas d'un serveur de stockage distant (Le gestionnaire du stockage est local à non), il faut configurer le nom, l'adresse IP et le mot de passe du serveur de stockage distant.

Pour autoriser des directeurs à se connecter au présent stockage des paramètres se trouvent dans l'onglet Stockage bareos.

Attention

Certaines infrastructures nécessitent une dégradation des fonctionnalités des modules EOLE comme la désactivation des mises à jour automatiques pour que la sauvegarde distante fonctionne correctement.

Le déport du service bareos-sd sur un autre serveur que bareos-dir ne permet pas de gérer correctement les verrous des tâches d'administration sur ce serveur : bareos-dir ne permet pas de signaler efficacement à bareos-sd qu'une sauvegarde est lancée et qu'il doit poser un verrou empêchant les autres tâches d'administration.

Configuration de la sauvegarde de fichiers distants

Il est possible de déclarer plusieurs clients distants pour gérer la sauvegarde des fichiers d’autres serveurs.

Cette déclaration de clients distants peut être effectuée une fois la variable Activer la sauvegarde de fichiers distants passée à oui.

La déclaration d’un client distant nécessite de fournir plusieurs informations obligatoires.

  • Identifiant du client distant : identifiant interne unique utilisé pour distinguer la configuration du client, composé de lettres non accentuées et de chiffres ;

  • Nom du client distant : le nom du service bareos-fd tel que renseigné sur le serveur distant l’hébergeant ;

  • Adresse du client distant : l’adresse IP à laquelle ce client peut être joint ;

  • Mot de passe du client distant : le mot de passe, identique à celui déclaré sur le client distant (cf. configuration d’un client indépendant).

Remarque

L’activation du service de lecture/écriture de fichiers (file server, bareos-fd) sur le serveur lui-même pour sauvegarder les fichiers locaux s’effectue dans l’onglet Services.

Onglet Stockage Bareos

L'onglet Stockage bareos apparaît dans l'interface de configuration du module si le support de stockage de sauvegarde est activé dans l'onglet Services (Activer le stockage de sauvegarde à oui).

L'onglet permet de configurer le nom du serveur de stockage et permet également d'autoriser des directeurs à se connecter au présent stockage.

Dans l'onglet Stockage bareos il est possible de choisir un nom de serveur de stockage et d'autoriser des directeurs distants à se connecter au présent serveur de stockage.

Autoriser un ou plusieurs directeurs distants à se connecter

Pour autoriser un ou plusieurs directeurs distants à se connecter il faut cliquer sur + Nom du directeur Bareos distant, le détail de l'autorisation s'affiche.

Pour ce faire il faut se munir des paramètres du directeur distant :

  • son nom ;

  • son adresse IP ;

  • son mot de passe.

Autoriser des clients Bareos distants à se connecter au directeur
Autoriser des clients Bareos distants à se connecter au directeur
Attention

Les sauvegardes sont des informations sensibles. Il ne faut pas utiliser de mot de passe facilement déductible.

Onglet Client bareos

L'onglet Clients bareos apparaît dans l'interface de configuration du module si la sauvegarde des fichiers locaux est activée (Activer la sauvegarde des fichiers locaux à oui).

L'onglet permet de configurer le nom du serveur de sauvegarde des fichiers locaux.

Le service de lecture/écriture de fichiers (file server, bareos-fd) de Bareos, autrement appelé client, ne nécessite pas de configuration dans le cas où le directeur (service director, bareos-dir) est également activé localement.

Dans le cas où on souhaite que la sauvegarde des fichiers du serveur soit gérée par un directeur distant, il est nécessaire de désactiver le service director local en passant la variable Activer le directeur de sauvegarde à non puis d’activer le service file local en passant la variable Activer la sauvegarde des fichiers locaux à oui, en mode expert, dans l’onglet Services.

À l’issue de cette manipulation, l’onglet Client Bareos est disponible.

Dans l’onglet Client Bareos, le service directeur distant est configuré au moyen de trois variables obligatoires :

  • l’adresse du directeur Bareos distant ;

  • le nom du directeur Bareos distant tel qu’il est défini dans la configuration du directeur dans l'onglet Directeur bareos ;

  • le mot de passe distant, identique à celui déclaré dans la configuration du directeur dans l'onglet Directeur bareos.

Attention

Les services Bareos partagent certaines variables de configuration et il faut veiller à la cohérence des valeurs entrées, notamment pour les noms des services et les mots de passe.

L'onglet Clients bareos apparaît dans l'interface de configuration du module si la sauvegarde des fichiers locaux est activée (Activer la sauvegarde des fichiers locaux à oui).

L'onglet permet de configurer le nom du serveur de sauvegarde des fichiers locaux.

Le service de lecture/écriture de fichiers (file server, bareos-fd) de Bareos, autrement appelé client, ne nécessite pas de configuration dans le cas où le directeur (service director, bareos-dir) est également activé localement.

Dans le cas où on souhaite que la sauvegarde des fichiers du serveur soit gérée par un directeur distant, il est nécessaire de désactiver le service director local en passant la variable Activer le directeur de sauvegarde à non puis d’activer le service file local en passant la variable Activer la sauvegarde des fichiers locaux à oui, en mode expert, dans l’onglet Services.

À l’issue de cette manipulation, l’onglet Client Bareos est disponible.

Dans l’onglet Client Bareos, le service directeur distant est configuré au moyen de trois variables obligatoires :

  • l’adresse du directeur Bareos distant ;

  • le nom du directeur Bareos distant tel qu’il est défini dans la configuration du directeur dans l'onglet Directeur bareos ;

  • le mot de passe distant, identique à celui déclaré dans la configuration du directeur dans l'onglet Directeur bareos.

Attention

Les services Bareos partagent certaines variables de configuration et il faut veiller à la cohérence des valeurs entrées, notamment pour les noms des services et les mots de passe.

Pour que les modifications soient prises en compte, une reconfiguration du module est nécessaire à l'aide de la commande reconfigure.

Configuration depuis l'EAD

Une fois le stockage Bareos activé dans l'interface de configuration du module, il faut configurer le support de sauvegarde.

Le menu Sauvegardes de l'EAD propose une interface simplifiée pour la configuration du support de sauvegarde et le paramétrage facultatif de l'envoi des rapports.

Configuration du support

Trois types de support de sauvegarde sont proposés :

  • SMB

  • Disque USB local

  • Configuration manuelle du support

Le point de montage du support est, dans les trois cas de figure : /mnt/sauvegardes

  • SMB : la sauvegarde se fait à travers un partage SMB[44].

    Il est préférable de déporter le serveur de stockage Bareos plutôt que d'utiliser le protocole SMB[44].

    Ce type de sauvegarde sera utilisé, par exemple, pour les NAS[45].

    Les informations suivantes sont demandées :

    • Nom de machine de la machine distante (n'accepte pas les majuscules) ;
    • IP de la machine distante ;
    • le nom du Partage ;
    • optionnellement le Login, le Mot de passe.
Configuration d'un support de sauvegarde distant dans l'EAD
Configuration d'un support de sauvegarde distant dans l'EAD
Attention

Les informations stockées dans les sauvegardes sont sensibles, il donc préférable de toujours authentifier l'accès aux partages contenant les données.

  • Disque USB local : la sauvegarde se fait sur un support nécessitant un montage (disque USB, disque interne, etc.), contrôlé avant chaque sauvegarde.

    Le chemin d'accès à saisir correspond au nœud du périphérique (par exemple /dev/hda1, /dev/disk/by-label/LABEL si un label est disponible sur le disque).

    Si le périphérique utilise un label

Configuration d'un support de sauvegarde USB local dans l'EAD
Configuration d'un support de sauvegarde USB local dans l'EAD
Attention

Méthode purement locale à la machine, cette méthode est donc sensible aux corruptions éventuelles du serveur.

  • Configuration manuelle du support : comme son nom l'indique elle permet à l'utilisateur de définir sa propre destination de sauvegarde via les outils Bareos. Ce choix correspond généralement à l'utilisation de lecteurs de bandes et s'intègre dans une stratégie de sauvegarde à plus grande échelle.

    Le point de montage par défaut est toujours /mnt/sauvegardes. Le montage n'est pas contrôlé.

Le pilote est dépendant du matériel, le lecteur de bande doit être configuré manuellement.

Pour information, le fichier template concerné bareossupport.conf est dans /usr/share/eole/creole/distrib/

Pour que la solution soit pérenne il est nécessaire de créer un patch EOLE[8].

Voir la documentation officielle de Bareos pour le paramétrage :

http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-480004

Configuration d'un support de sauvegarde manuelle dans l'EAD
Configuration d'un support de sauvegarde manuelle dans l'EAD
Attention

Le support doit être monté sur /mnt/sauvegardes et l'utilisateur bareos doit avoir les droits en écriture :

# ls -l /mnt

# chown -R bareos:root /mnt/sauvegardes

Options de montage du support de sauvegarde

Le fichier /etc/eole/bareos.conf permet de personnaliser les options de montage du support de stockage de la sauvegarde. L'intérêt est que ce fichier ne sera pas écrasé lors de la prochaine mise à jour.

Le fichier /etc/eole/bareos.conf a une syntaxe du type fichier INI[18] : clé = valeur.

Truc & astuce

Il existe trois variables paramétrables DISTANT_LOGIN_MOUNT, DISTANT_MOUNT et USB_MOUNT :

  • la ligne de commande permettant de monter un support distant avec authentification, la valeur par défaut de DISTANT_LOGIN_MOUNT est :

    /bin/mount -t cifs -o username={0},password={1},ip={2},uid={3},noexec,nosuid,nodev,vers=3.0 //{4}/{5} {6}

  • la ligne de commande permettant de monter un support distant sans authentification, la valeur par défaut de DISTANT_MOUNT est :

    /bin/mount -t cifs -o password={0},ip={1},uid={2},noexec,nosuid,nodev,vers=3.0 //{3}/{4} {5}

  • la ligne de commande permettant de monter un support USB :

    Par défaut la valeur de la variable USB_MOUNT est :

    • /bin/mount {0} {1} -o noexec,nosuid,nodev,uid={2},umask=0077 pour les systèmes VFAT et NTFS
    • /bin/mount {0} {1} -o noexec,nosuid,nodev pour le reste.
Paramètres pour l'envoi de rapports

L'envoi de courriels est proposé si le directeur Bareos est activé sur le serveur.

EOLE offre la possibilité d'envoyer deux types de courriel :

  • les rapports d'erreurs de Bareos ;
  • les rapports de sauvegarde réussie.

Il est recommandé de définir les deux types d'envoi. Le premier type de rapport informe que la sauvegarde s'est mal déroulée, alors que le second informe qu'une sauvegarde s'est bien déroulée. Pensez à configurer correctement votre relai SMTP[46].

Truc & astuce

Il est possible de déclarer plusieurs destinataires en séparant les adresses par des virgules.

Exemple : admin@ac-dijon.fr,technicien@ac-dijon.fr

Configuration depuis l'EAD3

La configuration de la sauvegarde est une étape nécessaire pour mettre en place la sauvegarde.

Il faut configurer les trois services proposés par le support de sauvegarde. Suivant la configuration du serveur, il se peut qu’une partie ne soit pas disponible.

Le support de sauvegarde

Une fois le stockage Bareos activé dans l’interface de configuration du module, il faut configurer le support de sauvegarde.

Trois types de support de sauvegarde sont proposés :

  • manuel ;

  • USB ;

  • SMB.

Le type « aucun » veut dire que le support de sauvegarde n’est pas configuré.

Le point de montage du support est, dans les trois cas de figure : /mnt/sauvegardes/

Manuel

Comme son nom l’indique, il permet à l’utilisateur de définir sa propre destination de sauvegarde via les outils Bareos. Ce choix correspond généralement à l’utilisation de lecteurs de bandes et s’intègre dans une stratégie de sauvegarde à plus grande échelle.

Le pilote est dépendant du matériel, le lecteur de bande doit être configuré manuellement.

Pour informations, le fichier template concerné bareossupport.conf est dans /usr/share/eole/creole/distrib/

Pour que la solution soit pérenne, il est nécessaire de créer un patch EOLE.

Voir la documentation officielle de Bareos pour le paramétrage : http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-480004

Le point de montage par défaut est toujours /mnt/sauvegardes/.

Attention

Le montage n'est pas contrôlé.

Le support doit être monté sur /mnt/sauvegardes/ et l’utilisateur bareos doit avoir les droits en écriture :

# ls -l /mnt

# chown -R bareos :root /mnt/sauvegardes

USB

La sauvegarde se fait sur un support nécessitant un montage (disque USB, disque interne, etc.), contrôlé avant chaque sauvegarde.

Le chemin d’accès à saisir correspond au nœud du périphérique (par exemple /dev/hda1, /dev/disk/by-label/LABEL si un label est disponible sur le disque).

Attention

Cette méthode est purement locale à la machine, elle est donc sensible aux corruptions éventuelles du serveur.

SMB

La sauvegarde se fait à travers un partage SMB[44].

Il est préférable de déporter le serveur de stockage Bareos plutôt que d’utiliser le protocole SMB.

Ce type de sauvegarde sera utilisé, par exemple, pour les NAS[45].

Les informations suivantes sont demandées :

  • Nom de machine du serveur SMB (n’accepte pas les majuscules) ;

  • IP du serveur SMB ;

  • Nom du partage SMB ;

  • Identifiant SMB ;

  • Mot de passe SMB.

Le directeur

L’envoi de courriers électroniques est proposé si le directeur Bareos est activé sur le serveur.

EOLE offre la possibilité d’envoyer deux types de courriel :

  • les rapports d’erreurs de Bareos : informe que la sauvegarde s'est mal déroulée ;

  • les rapports de sauvegarde réussie : informe qu'une sauvegarde s'est bien déroulée.

Il est recommandé de définir les deux types d’envoi. Pensez à configurer correctement votre relais SMTP[46].

Sauvegarde des fichiers locaux

Une fois le support de sauvegarde défini, il est possible de programmer un type de sauvegarde par périodicité.

EOLE propose trois périodicités et trois types de sauvegarde pour la programmation des sauvegardes :

Périodicité

Type de sauvegarde

sauvegardes mensuelles

totale

sauvegardes hebdomadaires

totale, différentielle, incrémentale

sauvegardes quotidiennes

totale, différentielle, incrémentale

En plus des périodicités proposées, il est possible de lancer une sauvegarde immédiate de type totale, différentielle ou incrémentale.

Seules les sauvegardes totales sont possibles dans le cas de la périodicité mensuelle.

Les sauvegardes mensuelles se font la première semaine du mois.

Si une autre sauvegarde est programmée la même nuit, celle-ci sera automatiquement reportée à la semaine d'après.

Les sauvegardes se programment pour une nuit de la semaine. Une nuit va de 12h à 11h59.

Pour les sauvegardes quotidiennes, il est possible de choisir une plage de jours.

L’interface de programmation des fichiers locaux permet de définir la fréquence de sauvegarde du serveur local. Elle n’est présente que si la sauvegarde des fichiers locaux est activé dans l’interface de configuration du serveur.

Programmer les clients distants

Lorsque la sauvegarde de fichiers distants est activée dans l’interface de configuration du serveur, il est possible de définir la fréquence de sauvegarde des fichiers dans l’action « Programmer les clients distants ».

Chaque serveur distant a un bloc de configuration qui lui est propre. Voici par exemple la configuration du serveur « test » :

Fichiers complémentaires

La liste des fichiers locaux sauvegardés par l’outil de sauvegarde d’EOLE est défini dans la configuration du serveur et dépend des services utilisés. Il peut être nécessaire d’ajouter des répertoires complémentaires en cas de création des données dans un répertoire non prévu.

L’action « fichiers complémentaires » permet d’ajouter des répertoires nouveaux à sauvegarder.

Il est possible de configurer des répertoires nouveaux à sauvegarder. Si nécessaire, il est possible d’exclure un sous-répertoire dont les données ne sont pas pertinentes. Enfin, il est possible d’exclure une liste de fichier de la sauvegarde en définissant une expression rationnelle.

Il est à noter que cette action permet de configurer aussi bien les fichiers locaux que distant.

Exécuter une sauvegarde ponctuelle

L’exécution d’une sauvegarde ne peut être réalisée que lorsque l’espace de stockage de la sauvegarde est correctement configuré. La configuration de l’espace de stockage s'effectue dans l’action « Configuration de la sauvegarde ».

Cette action permet de sauvegarder les données d’un serveur. Si la sauvegarde des fichiers locaux et la sauvegarde de fichiers distant sont activées dans la configuration du serveur, il est nécessaire de choisir entre une sauvegarde local ou distante.

En cas de sauvegarde distante, la sélection du serveur distant est obligatoire.

La sauvegarde est, par défaut, exécutée immédiatement. Il est néanmoins possible de sélectionner une date et une heure différente.

Configuration depuis la ligne de commande

Il n'est pas nécessaire de passer par l'EAD pour configurer le support de sauvegarde.

L'ensemble des paramétrages peut être réalisé avec le script bareosconfig.py.

Les informations définies dans l'EAD sont modifiables en ligne de commande et inversement.

Configuration du support
  • Si le support est un partage SMB :

# bareosconfig.py -s smb --smb_machine=nom_machine --smb_ip=adresse_ip --smb_partage=nom_du_partage --smb_login=login --smb_password=mot_de_passe

  • Si le support est un disque USB local :

# bareosconfig.py -s usb --usb_path=/dev/device_usb

  • Si le support est un disque USB local avec un label :

# bareosconfig.py -s usb --usb_path=/dev/disk/by-label/LABEL

  • Si le support est à configurer manuellement :

# bareosconfig.py -s manual

Vous devez ensuite configurer le support dans le fichier template /usr/share/eole/creole/distrib/bareossupport.conf

Pour que la solution soit pérenne il est nécessaire de créer un patch EOLE[8].

Attention

nom_machine ne doit pas comporter de majuscule

Truc & astuce

Pour tester le support de sauvegarde (USB local ou SMB), il est possible d'utiliser le script bareosmount.py :

# bareosamount.py -t

Test de montage OK

Attention

En USB le numéro du périphérique dans /dev peut changer selon si un autre périphérique est connecté au serveur.

Truc & astuce

Une astuce consiste à utiliser un label pour identifier de façon plus certaine le périphérique utilisé.

Pour donner un label au périphérique :

# tune2fs -L Sauvegardes /dev/sdX

Pour configurer le support de sauvegarde sur le périphérique USB :

# bareosconfig.py -s usb --usb_path=/dev/disk/by-label/Sauvegardes

Options de montage du support de sauvegarde

Le fichier /etc/eole/bareos.conf permet de personnaliser les options de montage du support de stockage de la sauvegarde. L'intérêt est que ce fichier ne sera pas écrasé lors de la prochaine mise à jour.

Le fichier /etc/eole/bareos.conf a une syntaxe du type fichier INI[18] : clé = valeur.

Truc & astuce

Il existe trois variables paramétrables DISTANT_LOGIN_MOUNT, DISTANT_MOUNT et USB_MOUNT :

  • la ligne de commande permettant de monter un support distant avec authentification, la valeur par défaut de DISTANT_LOGIN_MOUNT est :

    /bin/mount -t cifs -o username={0},password={1},ip={2},uid={3},noexec,nosuid,nodev,vers=3.0 //{4}/{5} {6}

  • la ligne de commande permettant de monter un support distant sans authentification, la valeur par défaut de DISTANT_MOUNT est :

    /bin/mount -t cifs -o password={0},ip={1},uid={2},noexec,nosuid,nodev,vers=3.0 //{3}/{4} {5}

  • la ligne de commande permettant de monter un support USB :

    Par défaut la valeur de la variable USB_MOUNT est :

    • /bin/mount {0} {1} -o noexec,nosuid,nodev,uid={2},umask=0077 pour les systèmes VFAT et NTFS
    • /bin/mount {0} {1} -o noexec,nosuid,nodev pour le reste.
Paramètres pour l'envoi de rapports

La configuration de l'adresse courriel se fait de la façon suivante :

# bareosconfig.py -m --mail_ok=adresse_courriel --mail_error=adresse_courriel

Les paramètres --mail_ok et --mail_error ne sont pas obligatoires.

Afficher la configuration

Il est possible de lister l'ensemble des paramètres depuis la ligne de commande avec la commande bareosconfig.py :

1
# bareosconfig.py -d
2
Support : {'usb_path': '/dev/sdb1', 'support_type': 'usb'}
3
Mail : {'mail_error': [], 'mail_ok': []}
4
Programmation : 
5
	Aucun job programmé.

Programmation des sauvegardes

Une fois le support de sauvegarde défini, il est possible de programmer un type de sauvegarde par périodicité.

Cette programmation se fait soit par l'EAD soit depuis la ligne de commande.

EOLE propose trois périodicités et trois types de sauvegarde pour la programmation des sauvegardes :

Périodicité

Type de sauvegarde

sauvegardes mensuelles

totale

sauvegardes hebdomadaires

totale, différentielle, incrémentale

sauvegardes quotidiennes

totale, différentielle, incrémentale

En plus des périodicités proposées, il est possible de lancer une sauvegarde immédiate de type totale, différentielle ou incrémentale.

Seules les sauvegardes totales sont possibles dans le cas de la périodicité mensuelle.

Les sauvegardes mensuelles se font la première semaine du mois.

Si une autre sauvegarde est programmée la même nuit, celle-ci sera automatiquement reportée à la semaine d'après.

Les sauvegardes se programment pour une nuit de la semaine. Une nuit va de 12h à 11h59.

Pour les sauvegardes quotidiennes, il est possible de choisir une plage de jours.

Programmation depuis l'EAD

Le menu Sauvegardes de l'EAD propose une interface simplifiée pour programmer des sauvegardes périodiques ou pour lancer une sauvegarde immédiate.

L'interface de programmation des sauvegardes dans l'EAD
L'interface de programmation des sauvegardes dans l'EAD
Programmation depuis la ligne de commande

Pour ajouter une nouvelle programmation, il faut connaître les paramètres suivants :

  • choix de la périodicité : quotidienne → daily, hebdomadaire → weekly ou mensuelle → monthly ;
  • le type : totale → Full, différentielle → Differential ou incrémentale → Incremental ;
  • le jour de la semaine : de 1 (pour la nuit de dimanche à lundi) à 7 (pour la nuit du samedi à dimanche) ;
  • en cas de sauvegarde quotidienne, éventuellement le jour de fin : de 1 à 7 ;
  • l'heure de la sauvegarde : de 0 à 23, sachant que la nuit commence à 12h et fini à 11h le lendemain

Exemple pour ajouter une programmation de sauvegarde depuis la ligne de commande :

# bareosconfig.py -j daily --job_level=Incremental --job_day=2 --job_end_day=5 --job_hour=22

Les programmations ajoutées depuis la ligne de commande sont également visibles dans l'EAD.

Il est également possible de lancer une sauvegarde immédiate.

Il est nécessaire de choisir le type de sauvegarde totale (Full), différentielle (Differential) ou incrémentale (Incremental)).

Si aucune sauvegarde n'a été effectuée préalablement sur le serveur, la première sauvegarde sera automatiquement une sauvegarde totale.

Pour effectuer une sauvegarde immédiate, il faut exécuter la commande suivante :

# bareosconfig.py -n --level=Full

Il est possible de suivre l'évolution de la sauvegarde dans le fichier /var/log/rsyslog/local/bareos-dir/bareos-dir.info.log.

Les éventuelles erreurs sont enregistrées dans le fichier /var/log/rsyslog/local/bareos-dir/bareos-dir.err.log.

Truc & astuce

bareosconfig.py --help donne la liste des options de bareosconfig.py

Il existe également des pages de manuel :

man bareos, man bareos-dir, ...

Afficher la configuration

Il est possible de lister l'ensemble de la configuration depuis la ligne de commande avec la commande bareosconfig.py :

# bareosconfig.py -d

Support : {'usb_path': '/dev/sdb1', 'support': 'usb'}

Mail : {}

Programmation :

1 : Sauvegarde totale dans la première nuit du mois du mercredi au jeudi à 02:00

2 : Sauvegarde incrémentale de la nuit du lundi au mardi à la nuit au vendredi à 22:00

3 : Sauvegarde totale dans la première nuit du mois du lundi au mardi à 21:00

Supprimer un job

Il est possible de supprimer un job depuis la ligne de commande grâce à la commande bareosconfig.py . Elle s'utilise comme suit :

# bareosconfig.py -x <numéro_job>

ou encore :

# bareosconfig.py --job_to_delete=<numéro_job>

La restauration des sauvegardes EOLE

Avec l’introduction de la sauvegarde de fichiers distants, deux cas de figure se présentent pour la restauration. La restauration des sauvegardes des fichiers locaux est toujours possible grâce à l’utilitaire en ligne de commande bareosrestore.py comme décrit dans la suite de cette partie.

La restauration des sauvegardes des clients distants est, quant à elle, accessible via la console bareos bconsole ou l'application web bareos-webui. L’utilisation de la console bareos bconsole n’est pas couverte dans cette documentation mais dans la documentation officielle du produit (en anglais uniquement). L’utilisation de l’application web bareos-webui pour la restauration fait l’objet d’une section dans la partie consacrée à bareos-webui.

La restauration peut être :

  • complète, elle va restaurer l'ensemble des bases de données, l'annuaire, les quotas, ... ainsi que l'ensemble des fichiers sauvegardés.

  • partielle, elle peut restaurer l'ensemble ou une partie des fichiers sauvegardés.

Restauration complète

Attention

La restauration d'un serveur s'effectue toujours sur un serveur instancié.

Préparation du serveur avant restauration
Mise à jour

Idéalement, le niveau de mise à jour du serveur avant restauration doit être identique au à celui du serveur sauvegardé.

Mettre à jour les paquets :

Maj-Auto

Choix du mode conteneur ou non

Si le serveur sauvegardé était en mode conteneur, il faut re-créer les conteneurs, avec la commande gen_conteneurs.

Configurer Bareos
  • si le serveur est enregistré dans Zéphir, il faudra redescendre la configuration en ré-enregistrant le serveur avec la commande enregistrement_zephir ;

  • si le serveur n'est pas enregistré dans Zéphir, il sera nécessaire de récupérer la sauvegarde de la configuration sur le support de sauvegarde.

    Configuration de Bareos pour un serveur non enregistré dans Zéphir

    # bareosconfig.py -s usb --usb_path=/dev/device_usb

    Configuration de Bareos pour un serveur non enregistré dans Zéphir avec le label du périphérique

    # bareosconfig.py -s usb --usb_path=/dev/disk/by-label/LABEL

    Il est normal d'avoir le message suivant lors de l'utilisation de bareosconfig.py :

    Fichier template /var/lib/creole/bareossupport.conf inexistant

    Il peut être utile de configurer l'envoi des courriels en même temps que le support de sauvegarde.

    # bareosconfig.py -m --mail_ok=mailok@ac-dijon.fr --mail_error=mailerror@ac-dijon.fr

Paquets additionnels

Pour les paquets additionnels ajoutés sur l'ancien serveur (eole-ejabberd par exemple) il est impératif que le paquet soit installé sur le serveur au moment où on exécute la restauration.

  • si le serveur était enregistré sur un serveur Zéphir, les paquets additionnels déclarés sont installés à la fin de l'enregistrement auprès du serveur Zéphir ;

  • dans le cas d'une installation isolée, il est judicieux de réinstaller les paquets avant d'instancier le serveur.

Truc & astuce

Si l'ancien serveur est toujours accessible, il est possible de lister l'ensemble des paquetages installés grâce à la commande :

# dpkg --get-selections

Il est possible de filtrer uniquement les paquets préfixé par eole- :

# dpkg --get-selections | grep eole-

La liste des paquets peut être exportée dans un fichier pour être transférée sur une autre machine :

# dpkg --get-selections > paquetages.txt

Récupération de la liste précédente :

# dpkg --set-selections < paquetages.txt

Installation des paquets de la liste :

# apt-get dselect-upgrade

Remarque

Pour avoir plus d'informations (version, architecture et descriptif) sur les paquets installés il est possible d'utiliser l'option -l

# dpkg -l | grep eole

Montage du support

Une fois que le serveur est enregistré dans Zéphir ou que le support est configuré, il faut monter le support de sauvegarde :

# bareosmount.py --mount

Montage OK

Extraire le fichier config.eol de la sauvegarde

Pour extraire le fichier config.eol de la sauvegarde il est nécessaire de connaître le nom du directeur.

Le nom du directeur est, par défaut, de la forme : nom_du_module-dir (par exemple : scribe-dir).

Si vous ne vous souvenez plus du nom du directeur de votre serveur, il suffit de regarder le contenu du support de sauvegarde :

# ls /mnt/sauvegardes/*-catalog-0003

/mnt/sauvegardes/amonecole-dir-catalog-0003

Le directeur est dans ce cas amonecole-dir.

# bareosrestore.py --configeol amonecole-dir

Le fichier config.eol extrait est enregistré dans /root/zephir-restore.eol.

Instance

Avant toute chose, il faut déplacer et renommer le fichier de configuration :

# mv /root/zephir-restore.eol /etc/eole/config.eol

Instancier maintenant votre serveur avec la commande : instance

Si vous avez enregistré votre serveur sur Zéphir, il est possible d'utiliser directement le fichier de configuration zephir.eol

À l'étape de Postconfiguration, sauf besoin exceptionnel il ne faut pas réinitialiser le catalogue :

Le catalogue Bareos a déjà été initialisé, voulez-vous le réinitialiser ? [oui/non]

Ne pas tenir compte du message d'erreur suivant :

ERREUR : /var/lib/eole/config/shedule.conf not exist

Récupération du catalogue

Pour récupérer le catalogue de sauvegarde il est nécessaire de connaître le nom du directeur.

Le nom du directeur est, par défaut, de la forme : nom_du_module-dir (par exemple : scribe-dir).

Si vous ne vous souvenez plus du nom du directeur de votre serveur, il suffit de regarder le contenu du support de sauvegarde :

# ls /mnt/sauvegardes/*-catalog-0003

/mnt/sauvegardes/amonecole-dir-catalog-0003

Le directeur est dans ce cas amonecole-dir.

Lancer la récupération du catalogue :

# bareosrestore.py --catalog

Restauration du catalog

Pas de fichier /var/lib/eole/config/bareosjobs.conf dans le volume nom_du_directeur-catalog-0003

Pas de fichier /etc/eole/bareos.conf dans le volume nom_du_directeur-catalog-0003

Les messages concernant l'absence de certains fichiers sont normaux.

Le répertoire /var/lib/bareos/ doit contenir :

  • nom_du_directeur-JobDefsCatalog.bsr
  • nom_du_directeur-JobDefsSauvegarde.bsr
  • bareos.sql
Démontage du support

Pour démonter le support de sauvegarde :

# bareosmount.py --umount

Restauration

Avant de lancer la restauration il est préférable de vérifier que le chemin du nœud du périphérique est toujours bon.

Il peut changer en fonction du nombre de périphériques connectés :

# bareosmount.py -t

Si le périphérique n'a plus le même nœud la commande bareosmount.py renvoie :

ERREUR : le périphérique /dev/sdb1 n'existe pas

Il faut alors changer la configuration du support :

# bareosconfig.py -s usb --usb_path=/dev/device_usb

ou si le disque a un label :

# bareosconfig.py -s usb --usb_path=/dev/disk/by-label/LABEL

Le test de montage doit renvoyer OK :

# bareosmount.py -t

Test de montage OK

Lister l'ensemble de la configuration :

# bareosconfig.py -d

La restauration complète du serveur va restaurer l'ensemble des bases de données, l'annuaire, les quotas, ... ainsi que l'ensemble des fichiers sauvegardés.

Pour ce faire il faut utiliser la commande bareosrestore.py :

# bareosrestore.py --all

Truc & astuce

Il est possible de suivre l'évolution des restaurations dans le fichier de log : /var/log/bareos/restore.txt

Les informations peuvent mettre un peu de temps avant d'apparaître car Bareos ne les "flush" pas tout de suite dans son fichier de log.

Si rien n'apparaît dans un délai raisonnable il faut vérifier le chemin du nœud du périphérique.

Lorsque la restauration complète est terminée, il faut re-configurer votre serveur à l'aide de la commande reconfigure.

Restauration partielle

Rechercher un fichier à restaurer

Pour rechercher un fichier ou un répertoire dans le support de sauvegarde (sur la dernière sauvegarde uniquement), on utilise l'option --search :

# bareosrestore.py --search nom_du_fichier

Il est possible d'utiliser les caractères  ? ou * pour remplacer respectivement un ou plusieurs caractères en l'échappant de la façon suivante :

# bareosrestore.py --search nom_du_\*

Il est également possible de lister le contenu d'un répertoire sauvegardé avec l'option --ls_folder :

# bareosrestore.py --ls_folder /etc/eole

liste du contenu de /etc/eole

config.eol

Restauration d'un fichier ou d'un répertoire

Pour restaurer un fichier de la dernière sauvegarde, on peut utiliser la commande :

# bareosrestore.py --file /chemin_absolu/nom_du_fichier

Exemple :

# bareosrestore.py --file /etc/eole/config.eol

Pour restaurer un répertoire et l'intégralité de son contenu, on peut utiliser la commande :

# bareosrestore.py --folder /chemin_absolu/nom_du_répertoire

Exemple :

# bareosrestore.py --folder /usr/share/ead2/backend/config

Restauration de l'ensemble des fichiers sauvegardés

Pour restaurer l'ensemble des fichiers sauvegardés, il est possible d'utiliser la commande :

# bareosrestore.py --all_files

Restauration spécifique

Les bases de données, les quotas, l'annuaire, ... ne sont pas sauvegardés sous forme de fichiers binaires.

Ils sont extraits avant la sauvegarde.

Pour restaurer, il existe une procédure particulière, différente suivant l'application.

Pour connaître les possibilités, faire :

# bareosrestore.py --help

Exemple

Pour restaurer l'annuaire :

# bareosrestore.py --ldap

Restauration manuelle

Avant de lancer la restauration il est préférable de vérifier que le chemin du nœud du périphérique est toujours bon.

Il peut changer en fonction du nombre de périphériques connectés :

# bareosmount.py -t

Si le périphérique n'a plus le même nœud la commande bareosmount.py renvoie :

ERREUR : le périphérique /dev/sdb1 n'existe pas

Il faut alors changer la configuration du support :

# bareosconfig.py -s usb --usb_path=/dev/device_usb

ou si le disque a un label :

# bareosconfig.py -s usb --usb_path=/dev/disk/by-label/LABEL

Le test de montage doit renvoyer OK :

# bareosmount.py -t

Test de montage OK

Lister l'ensemble de la configuration :

# bareosconfig.py -d

La restauration manuelle s'effectue au moyen d'un programme en ligne de commande, bconsole :

# bconsole

Il est possible de spécifier le fichier de configuration :

# bconsole -c /etc/bareos/bconsole.conf

Une fois bconsole démarré, il est possible d'abandonner la procédure à tout moment en quittant la console avec la commande quit, done ou avec les touches ctrl + c.

Le prompt de bconsole est une étoile.

Exemple

Dans cet exemple nous verrons comment restaurer le fichier /home/a/admin/perso/icones.url.

Dans bconsole, taper la commande restore qui indique à bconsole d'initialiser une restauration :

*restore

Il est possible de choisir directement le support de sauvegarde des fichiers, ce qui évite d'avoir à le choisir par la suite, pour cela utiliser la commande suivante (attention aux majuscules/minuscules et à la saisie sans accents) :

*restore fileset=FileSetSauvegarde

Vous avez alors plusieurs choix :

To select the JobIds, you have the following choices:

[...]

Les plus pertinents sont :

  • Depuis que l'utilisateur a supprimé le fichier le système n'a effectué que des sauvegardes incrémentales alors le fichier est toujours présent dans la sauvegarde, choisissez la sauvegarde la plus récente pour un client :

    5: Select the most recent backup for a client (sélectionner la sauvegarde réussie la plus récente)

  • Depuis que l'utilisateur a supprimé le fichier le système a effectué une sauvegarde complète (Full) alors le fichier n'est présent que dans les sauvegardes précédant la sauvegarde complète, sélectionner la dernière sauvegarde pour un client avant une certaine date et entrez une date antérieure à la dernière sauvegarde complète :

    6: Select backup for a client before a specified time (sélectionner la dernière sauvegarde réussie avant une date spécifiée)

La console propose trois options :

The defined FileSet ressources are :

1 : FileSetCatalog

2 : FileSetDefault

3 : FileSetSauvegarde

Il faut ensuite choisir le support de sauvegarde des fichiers (et non celui du catalogue) :

3 : FileSetSauvegarde

Un prompt apparaît et permet de naviguer dans l'arborescence des sauvegardes :

cwd is : /

$ ls

etc/

home/

root/

usr/

var/

$ cd /home/a/admin/perso

Il faut marquer les fichiers/dossiers à restaurer avec la commande mark (attention, la commande mark est récursive) :

$ mark icones.url

1 file marked.

Pour "dé-marquer" un fichier marqué par erreur :

$ unmark icones.url

1 file unmarked.

Lorsque les fichiers et les dossiers à restaurer sont sélectionnés, passer à l'étape suivante avec la commande :

$ done

bconsole propose plusieurs options, il faut choisir le job de restauration, ici l'option numéro 3 :

3: Restore_file

On obtient alors le message suivant :

Bootstrap records written to /var/lib/bareos/xxxxxxxxx.restore.2.bsr

[...]

Ok to run ? (yes/mod/no) :

La restauration peut maintenant être lancée en répondant yes à la question.

Il ne sera plus possible d'abandonner après cette étape.

OK to run? (yes/mod/no): yes

La restauration est alors placée dans une file d'attente. Le numéro JobId est affiché à l'écran.

Il est possible de changer les paramètres de restauration en répondant mod à la question :

OK to run? (oui/mod/non): mod

Parameters to modify :

1 : Level

2 : Storage

[...]

Par exemple pour restaurer dans un autre répertoire, il faut choisir Where (9 dans le cas présent) et saisir le chemin de la restauration :

9 : Where

Please enter path prefix for restore (/ for none) : /home/restauration

Ok to run ? (yes/mod/no) : yes

La restauration est alors placée dans une file d'attente. Le numéro JobId est affiché à l'écran.

Pour quitter la console :

* quit

Truc & astuce

Il est possible de suivre l'évolution des restaurations dans le fichier de log : /var/log/bareos/restore.txt

Les informations peuvent mettre un peu de temps avant d'apparaître car Bareos ne les "flush" pas tout de suite dans son fichier de log.

Si rien n'apparaît dans un délai raisonnable il faut vérifier le chemin du nœud du périphérique.

Attention

Pour conserver les droits étendus associés à un fichier (ACL), il faut restaurer un fichier issu d'une partition avec ACL (par exemple le répertoire /home sur le module Scribe) dans une partition supportant les ACL.

La consultation des rapports de sauvegarde

Les rapports de sauvegarde sont disponibles à plusieurs endroits dans les interfaces d’administration.

Consultation du journal du directeur

Le directeur consigne la plupart de ces actions dans un journal qu’il est possible de consulter via l’utilitaire en ligne de commande bconsole, le système de journalisation ou via l’EAD3.

Dans la catégorie Sauvegarde, l’action Rapport de sauvegarde permet de consulter le contenu du fichier /var/lib/eole/reports/rapport-bareos.txt, rempli par l’utilitaire en ligne de commande bconsole.

L’action ne propose pas d’autres contrôle que le rafraîchissement qui qui déclenche la relecture du fichier /var/lib/eole/reports/rapport-bareos.txt. La lecture du fichier est automatiquement déclenchée au démarrage de l’action.

Écran
  • 1
    Fichier lu

    Emplacement du fichier dont le contenu est affiché dans l’espace principal.

  • 2
    Rafraîchissement

    Bouton permettant de déclencher à nouveau la lecture du fichier pour mettre à jour l’affichage de son contenu.

  • 3
    Affichage du contenu

    Zone principale de l’action affichant le contenu du fichier.

Consultation des rapports dans l'interface bareos-webui

Dans la catégorie Sauvegarde, l’action Afficher l’état des sauvegardes permet d’ouvrir l’application web bareos-webui pour consulter les rapports des différents éléments contrôlés par le directeur.

L’authentification n’est pas unifiée et il est obligatoire de s’identifier avec l’un des comptes définis dans la phase de configuration de l’application bareos-webui.

Remarque

L’application bareos-webui est une application tierce qui ne bénéficie pas d’une documentation exhaustive dans le cadre de cette documentation.

Ajouter des données à sauvegarder

Il est tout à fait possible d'ajouter des fichiers et/ou des répertoires à sauvegarder à ceux déjà configurés par défaut sur un module.

Pour cela il faut ajouter un fichier de configuration portant l'extension .conf dans le répertoire /etc/bareos/bareosfichiers.d/

Celui-ci ne doit comporter que les directives Include et Exclude, il ne faut pas, par exemple, spécifier le Name du FileSet car il est déjà défini dans le reste de la configuration.

Exemple d'un fichier de configuration pour la prise en charge de nouvelles données à sauvegarder :

Include {

   Options {

      # Sauvegarde des ACL

      aclsupport = yes

      # Tous les fichiers seront chiffrés en SHA1

      signature = SHA1

      # Compression des fichiers (niveau de com pression croissant de 0 à 9)

      compression = GZIP6

      # Permet de sauvegarder plusieurs systèmes de fichiers

      onefs = yes

   }

   File = /chemin/du/repertoire/ou/du/fichier/a/sauvegarder

   File = /chemin/du/repertoire/ou/du/fichier/a/sauvegarder

}

Exclude {

   File = /chemin/du/repertoire/ou/du/fichier/a/ignorer

   File = /chemin/du/repertoire/ou/du/fichier/a/ignorer

}

Pour sauvegarder les fichiers d'un conteneur il faut préciser le chemin complet du fichier, par exemple :

   File = /var/lib/lxc/reseau/rootfs/var/www/html/fichier

Les autres options pour la ressource FileSet sont consultables dans la documentation officielle du projet Bareos :

http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1030008.5

Attention

Pour que l'ajout d'un fichier de configuration soit pris en compte par Bareos il faut procéder à la reconfiguration du module avec la commande reconfigure.

Réinitialisation de la sauvegarde

Pour réinitialiser la sauvegarde il faut vider le support de sauvegarde ou prendre un support de sauvegarde ne contenant aucun volume et surtout il faut ré-initialiser la base de données de Bareos.

Pour ce faire il faut utiliser la commande suivante :

# bareosregen.sh

La régénération du catalogue de la sauvegarde va écraser l'ancienne base, confirmez-vous ? [oui/non]

[non] : oui

bareos-webui : outil d'administration pour Bareos

bareos-webui est un logiciel libre écrit en PHP (basé sur Zend Framework), destiné à surveiller et à gérer les sauvegardes Bareos au travers d'une application web.

http://www.bareos.org/en/bareos-webui.html

L'interface web permet l'utilisation de plusieurs comptes pour gérer les sauvegardes et afficher les informations détaillées sur les jobs, les clients, groupes de fichiers, Pools, Volumes, stockages, Directeur, Scheduler et les journaux.

Mire d'authentification de bareos-webui
Mire d'authentification de bareos-webui
Tableau de bord de bareos-webui
Tableau de bord de bareos-webui
Affichage des volumes dans bareos-webui
Affichage des volumes dans bareos-webui
Affichage des jobs dans  bareos-webui
Affichage des jobs dans bareos-webui

Installation

bareos-webui s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-bareoswebui

Remarque

Le paquet est pré-installé sur les modules Scribe, Horus et AmonEcole.

Configuration

Dans l'onglet Applications web, il faut passer Activer Bareos WebUI (gestion de la sauvegarde) à oui.

Un nouvel onglet Bareos webui apparaît dans l'interface de configuration du module.

Il est possible de créer un ou plusieurs comptes autorisés à se connecter à l'interface bareos-webui en cliquant sur le bouton + Utilisateur autorisé à se connecter à l'interface web de gestion de la sauvegarde.

Le mot de passe de la base de données peut éventuellement être personnalisé mais par défaut il est généré automatiquement. Une fois la configuration enregistrée, il ne sera plus possible de le modifier.

Remarque

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Accès à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/bareos-webui/ ou utiliser l’action depuis l’EAD3.

L'authentification se fait obligatoirement avec les comptes déclarés dans l'interface de configuration du module.

Restauration des fichiers des clients distants

Bareos Webui est l’application graphique conseillée pour la restauration des fichiers des clients distants.

La restauration est possible depuis l’onglet Restauration. Cet onglet propose une série de paramètres pour la restauration sous la forme de champs de saisie sur la gauche et une vue arborescente des fichiers disponibles à la restauration dans la plus grande partie de la vue, à droite.

Écran
  • 1
    Sélection du client

    Une liste déroulante permet de sélectionner le client pour lequel effectuer la restauration. Il peut s’agir aussi bien d’un client distant que du client local (vis-à-vis de l’emplacement du directeur).

  • 2
    Sélection de la sauvegarde de référence

    Une liste déroulante permet de sélectionner les versions à restaurer par le biais du choix de la date de sauvegarde.

  • 3
    Sélection du client cible

    Une liste déroulante permet de sélectionner le client vers lequel on souhaite restaurer les fichiers.

  • 4
    Sélection du job de restauration

    Une liste déroulante permet de sélectionner le job de restauration parmi ceux créés automatiquement. Par défaut, le job sélectionné n’est pas celui associé au client distant. Aussi, il faut penser modifier ce paramètre.

  • 5
    Sélection du mode de remplacement

    Une liste déroulante permet de sélectionner le mode de remplacement des fichiers dans l’hypothèse où la restauration amènerait à copier un fichier à un endroit où il est déjà présent.

  • 6
    Sélection de l’emplacement cible

    Un champ de saisie libre permet d’indiquer l’emplacement cible de la restauration. Pour restaurer les fichiers à leur place, il convient d’indiquer la racine du système de fichier (/).

  • 7
    Sélection des fichiers à restaurer

    Un arbre permet de sélectionner les fichiers à restaurer parmi ceux déclarés dans la sauvegarde.

Désactivation

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Diagnostic, rapport et résolution de problème

Outils de diagnostic et rapport

Les outils de diagnostic et de rapport proposés pour évaluer le bon fonctionnement de la sauvegarde sont passifs ou actifs. Passifs, sous la forme de courriers électroniques qui peuvent être envoyés en cas d’échec ou de réussite des sauvegardes. Actifs, sous la forme d’interfaces à consulter.

Les informations transmises par courrier électronique sont multiples. Elles concernent le déroulement de la sauvegarde et les messages émis par les scripts validation de l’infrastructure de sauvegarde.

Ces scripts vérifient notamment les droits et la place disponible sur le support de sauvegarde.

En plus de l'envoi de courrier électronique, il est possible de connaître l'état de la dernière sauvegarde en utilisant la commande diagnose.

Celle-ci liste également l'état des différents services de Bareos, l’espace disque utilisé et une estimation de la possibilité d’effectuer une nouvelle sauvegarde en fonction de l’espace disponible.

L'EAD permet également de connaître l'état de la dernière sauvegarde depuis sa page d'accueil.

Le détail de la sauvegarde est disponible en cliquant sur Afficher le rapport.

État des sauvegardes dans l'EAD
État des sauvegardes dans l'EAD

Par contre, pour voir l'état des différents services Bareos il faut se rendre à la rubrique ETAT DES SERVICES de la page d'accueil et cliquer sur DETAILS de la rubrique Services, puis sélectionner État des démons bareos.

États des services Bareos dans l'EAD
États des services Bareos dans l'EAD

Si l'un des services est arrêté, il est possible de le relancer à l'aide de la commande service :

# service bareos-dir restart

* Restarting Bareos Director bareos-dir ... [ OK ]

Dans la rubrique ETAT DES SERVICES de la page d’accueil et cliquer sur DETAILS de la rubrique Utilisation, puis sélectionner Sauvegarde pour obtenir les informations fournies par ailleurs dans le diagnose.

Écran
  • 1
    État de la dernière sauvegarde

    Statut des différentes étapes de la dernière sauvegarde

  • 2
    Espace disque utilisé

    Pourcentages d’espace utilisé sur le support selon la taille et le nombre de fichiers

  • 3
    Espace disque disponible

    Estimation de l’espace disponible sur le support selon l’espace libre et l’espace réutilisable

Tester le support de sauvegarde

Pour tester le support de sauvegarde USB local ou SMB, il est possible d'utiliser le script bareosmount.py.

Exemple
1
root@scribe:~# bareosmount.py -t
2
Test de montage OK
3
root@scribe:~#
Exemple
1
root@scribe:~# bareosmount.py -t
2
Problème de montage (1 essais restants)
3
ERREUR : périphérique /dev/sda1 non reconnu
4
Problème de montage (0 essais restants)
5
ERREUR : périphérique /dev/sda1 non reconnu
6
Échec du test de montage :
7
point de montage : Erreur
8
permissions : Erreur
9
montage : Erreur
10
root@scribe:~#
Exemple
1
root@scribe:~# bareosmount.py -t
2
Problème de montage (1 essais restants)
3
[Errno 32] mount error(13): Permission denied
4
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
5
6
Problème de montage (0 essais restants)
7
[Errno 32] mount error(13): Permission denied
8
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
9
10
Échec du test de montage :
11
point de montage : Erreur
12
permissions : Erreur
13
montage : Erreur
14
root@scribe:~#

Espace disque insuffisant pour la sauvegarde

L’un des principes de fonctionnement de Bareos est de conserver autant que possible les données sauvegardées. Il privilégie la création de nouveaux volumes au recyclage des anciens tant qu’il a la place pour le faire. De ce fait, il consomme tout l’espace disponible sauf indication contraire dans la configuration. Une fois l’espace disque consommé, il recyclera les volumes pouvant l’être.

Les problèmes d’espace disque peuvent apparaître lorsque l’espace disque est consommé et qu’aucun volume n’est recyclable.

Deux indicateurs permettent de prévenir les problèmes éventuels d’espace disque :

  • le pourcentage d’espace disque utilisé en terme de taille et de nombre de nombre de fichiers ;

  • l’estimation de l’espace disponible pour la prochaine sauvegarde.

Dans le cas où les indicateurs alerteraient sur le manque d’espace disque, plusieurs solutions peuvent être envisagées, individuellement ou en combinaison :

  • l’augmentation de l’espace disque alloué à la sauvegarde ;

  • l’adaptation (à la baisse) des durées de rétention des volumes ;

  • l’adaptation du niveau de compression.

  • la diminution du nombre de fichiers à sauvegarder, en excluant certains dossiers et/ou fichiers en appliquant un patch sur la définition des FileSet ;

Base de donnée sqlite de Bareos irrécupérable

Lors d'un incident sur l'un des modules EOLE la base de donnée sqlite de Bareos peut être irrécupérable.

Il est possible de restaurer des données sans la base de données avec les commandes bls et bextract.

Inspiré de l'article suivant : https://pipposan.wordpress.com/2010/06/09/bacula-tape-restore-without-database/

Truc & astuce

Il est également possible de réaliser la récupération avec la commande bconsole.

Montage du support de sauvegarde et affichage des volumes par date

La commande ls -lrt permet de trier l'affichage des volumes par date :

root@srv-scribe:~# ls -lrt /mnt/sauvegardes/

On voit une sauvegarde FULL le 06/06/2015 (de nombreux volumes de 2Go ont la même date) :

-rw-r----- 1 bareos root 1999997379 2015-06-06 02:02 ScribeVolume0044

-rw-r----- 1 bareos root 1999936662 2015-06-06 02:05 ScribeVolume0068

-rw-r----- 1 bareos root 1999936707 2015-06-06 02:09 ScribeVolume0045

[...]

-rw-r----- 1 bareos root 1999936658 2015-06-06 04:34 ScribeVolume-0241

-rw-r----- 1 root root 1999936613 2015-06-06 04:38 ScribeVolume-0302

Utilisation de la commande bsl

root@srv-scribe:~# bls -j -V ScribeVolume0044 /mnt/sauvegardes

bls: butil.c:282 Using device: "/mnt/sauvegardes" for reading.

15-jun 16:38 bls JobId 0: Prêt à lire les données du volume « ScribeVolume0044 » depuis le device "FileStorage" (/mnt/sauvegardes).

Volume Record: File:blk=0:208 SessId=103 SessTime=1427205136 JobId=1 DataLen=173

End Job Session Record: File:blk=0:603258940 SessId=103 SessTime=1427205136 JobId=3381

Date=03-jun-2015 02:08:39 Level=I Type=B Files=13,342 Bytes=752,617,191 Errors=0 Status=T

Begin Job Session Record: File:blk=0:603259372 SessId=104 SessTime=1427205136 JobId=3382

Job=BackupCatalog.2015-06-03_02.00.00_48 Date=03-jun-2015 02:12:24 Level=I Type=B

End Job Session Record: File:blk=0:603259372 SessId=104 SessTime=1427205136 JobId=3382

Date=03-jun-2015 02:12:24 Level=I Type=B Files=0 Bytes=0 Errors=0 Status=T

[...]

Begin Job Session Record: File:blk=0:1308041742 SessId=109 SessTime=1427205136 JobId=3387

Job=Complet.2015-06-06_02.00.00_53 Date=06-jun-2015 02:00:12 Level=F Type=B

15-jun 15:54 bls JobId 0: Fin de Volume au fichier 0 sur le Device "FileStorage" (/mnt/sauvegardes), Volume « ScribeVolume0044 »

15-jun 15:54 bls JobId 0: Fin de tous les Volumes.

Le Job du 06/06/2015 a SessId=109 et SessTime=1427205136. Ainsi que le Job du dernier volume en date du 06/06/2015

root@srv-scribe:~# bls -j -V ScribeVolume-0302 /mnt/sauvegardes

bls: butil.c:282 Using device: "/mnt/sauvegardes" for reading.

15-jun 15:59 bls JobId 0: Prêt à lire les données du volume « ScribeVolume-0302 » depuis le device "FileStorage" (/mnt/sauvegardes).

Volume Record: File:blk=0:209 SessId=109 SessTime=1427205136 JobId=33 DataLen=174

15-jun 16:00 bls JobId 0: Fin de Volume au fichier 0 sur le Device "FileStorage" (/mnt/sauvegardes), Volume « ScribeVolume-0302 »

15-jun 16:00 bls JobId 0: Fin de tous les Volumes.

Génération d'un fichier bootstrap avec la liste des volumes à utiliser (tous ceux du 06/06/2015)

root@srv-scribe:~# cat boostrap.bsr

Volume="ScribeVolume0044"

VolSessionId=109

VolSessionTime=1427205136

Volume="ScribeVolume0068"

VolSessionId=109

VolSessionTime=1427205136

Volume="ScribeVolume0045"

VolSessionId=109

VolSessionTime=1427205136

[...]

Volume="ScribeVolume-0302"

VolSessionId=109

VolSessionTime=1427205136

Restauration

root@srv-scribe:~# root 15133 15119 25 16:26 pts/5 00:07:31 bextract -b boostrap.bsr /mnt/sauvegardes /home/restore/

Restauration LDAP

root@srv-scribe:~# service slapd stop

root@srv-scribe:~# md /home/sav/ldap

root@srv-scribe:~# mv /var/lib/ldap/*.* /home/sav/ldap/

root@srv-scribe:~# slapadd -l /home/sauv_ldap.ldif

Restauration MySQL

root@srv-scribe:~# mysql_pwd.py eole21 nomodif

root@srv-scribe:~# mysql -uroot -peole21 < /home/sauv_mysql.sql

Restauration Quotas

root@srv-scribe:~# bareosrestore.py --quota

Restauration SID

root@srv-scribe:~# cat /etc/eole/${MODULE}_SID | xargs net setlocalsid

Reconfiguration du serveur

Il faut procéder à la reconfiguration du serveur à l'aide de la commande reconfigure.

Annexes

Voici un complément d'information (outils d'administration, liens, …) pour aller plus loin avec Bareos.

Autres outils d'administration pour Bareos

L'administration de Bareos se fait au travers d'une console (texte ou graphique), qui pourra être installée sur le même serveur que le directeur (Director), mais aussi sur d'autres postes pour permettre de commander Bareos à distance.

Différentes versions existent :

  • bconsole est la console en mode texte ;

  • Bareos Administration Tool (BAT) est l'interface graphique standard qui permet d'exploiter bconsole, installable (25Mo) sur les modules EOLE avec la commande :

    # apt-eole install bareos-bat

    BAT se lance avec la commande suivante :

    # bat -c /etc/bareos/bat.conf

    Il est possible de lancer l'interface BAT à travers SSH avec l'option -X pour activer le déport de l'affichage et l'option -C pour éventuellement compresser les données (pratique pour les lignes à faible débit) :

    # ssh -C -X <adresse_serveur>

BAT (Bacula Administration Tool)
BAT (Bacula Administration Tool)
  • bgnome-console est une console graphique (notamment pour les opérations de restauration), mais nécessite l'installation des librairies GNOME 2.x ;

  • bwx-console est une version graphique utilisant wxWidgets

    L'installation de bwx-console est décrite pour Mandriva et pour Ubuntu à l'adresse suivante : http://m-k.cc/spip.php?rubrique3

  • bacula-win (http://sourceforge.net/projects/bacula/files/) permet notamment d'installer :

    • un client Windows (File Daemon) ;

    • des consoles : BAT, bconsole et TrayMonitor.

Il existe aussi des versions Web comme :

Pour avoir plus d'informations sur les outils mentionnés : http://wiki.bacula.org/doku.php?id=3rd_party_addons

Quelques références

Voici quelques références autour de Bareos et des sauvegardes.

Définition des éléments de sauvegarde Bareos :

http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-60001.3

Un répertoire partagé Windows 10 comme support de sauvegarde

Les modules EOLE permettent d'utiliser plusieurs supports pour effectuer les sauvegardes, dont un répertoire partagé.

Pour la sauvegarde, les accès au partage doivent impérativement se faire en utilisant un compte local du poste sur lequel se trouve le dossier partagé.

Remarque

Donner des droits d'accès au partage à un compte du domaine pose un problème pour le bon déroulement des sauvegardes. En effet pour avoir accès au partage, la station va vérifier la validité de l'utilisateur et de son mot de passe auprès du contrôleur de domaine mais le service Samba est arrêté par Bareos pour éviter qu'un fichier/dossier ne soit modifié pendant la sauvegarde. L'accès au partage n'est donc pas validé par le contrôleur de domaine et la sauvegarde ne peut pas se faire.

Voici comment créer un partage avec les droits d'accès adéquats sur un poste équipé de Windows 10.

Le dossier partagé peut se trouver sur le disque dur de la station Windows mais il peut aussi se trouver sur un disque dur externe connecté à la station.

Création d'un compte dédié sur le poste Windows 10

Ouvrir une session en administrateur local de la station sur laquelle vous voulez créer le partage.

Puis ouvrir la console de Gestion de l'ordinateur : clic droit sur le Menu démarrer → Gestion de l'ordinateur.

Aller dans le menu : Outils système → Utilisateurs et groupes locaux → Utilisateurs, puis effectuer un clic droit dans l'espace vide.

Configurer l'utilisateur comme ceci :

Finaliser l'opération en cliquant sur le bouton Créer.

Partage du dossier et réglage des droits d'accès

Après avoir créé un dossier sauvegardes à l'emplacement de votre choix, effectuer un clic droit sur le dossier et sélectionner Accorder l'accès à puis Des personnes spécifiques...

Entrer le nom de l'utilisateur créé précédemment et cliquer sur le bouton Ajouter.

Lui donner les droits en Lecture/écriture.

Finaliser l'opération en cliquant sur le bouton Partager.

Attention

L’interface propose une liste déroulante pour la sélection des utilisateurs spécifiques. Elle affiche le nom complet alors qu’il faut fournir le nom d’utilisateur.

En cas d’erreur du type Windows n’a pas pu trouver <utilisateur>, vérifier que le nom saisi correspond bien au nom d’utilisateur.

Les imprimantes

Il y a plusieurs façon de gérer les imprimantes dans un établissement.

Il est possible :

  • de partager les imprimantes sur les postes utilisateurs ;

  • de passer par des serveurs d'impression ;

  • ou d'utiliser le module EOLE comme serveur d'impression.

Nous ne traiterons ici que de cas où le module EOLE sert de serveur d'impression avec CUPS[95].

Deux interfaces sont disponibles pour gérer les imprimantes :

  • l'interface simplifiée intégrée à l'EAD (gestion) ;

  • l'interface de gestion CUPS (gestion et installation/configuration).

L'interface simplifiée

L'interface de gestion des imprimantes intégrée à l'EAD permet de gérer les imprimantes déjà installées.

L'administrateur et les enseignants peuvent :

  • consulter l'état des imprimantes ;

  • consulter/interrompre/relancer les travaux d'impression ;

  • arrêter/démarrer des imprimantes.

L'interface de gestion CUPS

CUPS (Common UNIX Printing System) est le serveur d'impression libre intégré à la solution EOLE.

https://www.cups.org/

CUPS fournit une interface web pour faciliter l'installation et la gestion des imprimantes sur le serveur.

Cette interface est totalement accessible aux utilisateurs root, admin et aux utilisateurs du goupe PrintOperators. Sur le module Scribe, elle est en accès restreint pour les professeurs, identique à celle proposées dans l'interface simplifiée de l'EAD.

https://<adresse_serveur>:631

Création de l'imprimante

Ajouter une nouvelle imprimante

Dans l'EAD, le menu Imprimantes/Imprimantes/CUPS ouvre l'interface de configuration CUPS dans une nouvelle fenêtre.

Cliquer dans la fenêtre le bouton ajouter une imprimante.

Il est nécessaire de s'identifier avec un utilisateur root, <nom du module>, admin ou appartenant au groupe PrintOperators.

Ajouter une imprimante CUPS
Ajouter une imprimante CUPS

Il suffit alors d'indiquer un nom (généralement le nom de l'imprimante), un lieu (généralement le nom de la salle) et une description (généralement les caractéristiques de l'imprimante : A4, recto-verso, noir et blanc/couleur...). Puis cliquer sur poursuivre.

Description de la nouvelle imprimante CUPS
Description de la nouvelle imprimante CUPS
Choix du matériel

Il y a trois grands types d'imprimantes :

- les imprimantes locales (avec un port USB, parallèle, ...) ;

- les imprimantes réseaux ;

- les imprimantes partagées sur un poste client Windows.

Les imprimantes locales

Seules les imprimantes USB sont reconnues directement par le système. Pour les imprimantes sur le port parallèle, le port série, le port SCSI, il suffit de choisir le "matériel" correspondant et de le configurer.

Consulter la documentation CUPS en cas de doute.

Matériel pour une imprimante locale CUPS
Matériel pour une imprimante locale CUPS
Les imprimantes réseaux

Il existe un grand nombres de protocoles réseaux pour les imprimantes : AppSocket/HP JetDirect, Internet Printing Protocol (HTTP ou IPP). Généralement, les imprimantes réseaux sont capable de faire du JetDirect. En cas de doute, se reporter à la documentation de l'imprimante.

ExempleImprimante compatible JetDirect

Choisir le matériel "AppSocket/HP JetDirect" et poursuivre. Indiquer ensuite une URI du matériel du type :

socket://192.168.230.123:9100

Matériel pour une imprimante réseau CUPS
Matériel pour une imprimante réseau CUPS
Les imprimantes partagées sur un poste client Windows
Création d'un partage d'imprimante sous Windows XP

Nous partons du principe que l'imprimante est fonctionnelle sur le système d'exploitation propriétaire Windows.

Remarque

Il est possible d'accéder directement à l'imprimante du poste sans passer par le serveur. Cette documentation ne traite pas de ce cas.

Dans le menu Windows Démarrer/Imprimantes et télécopieurs cliquer droit sur votre imprimante et choisir Partager....

Partager une imprimante sous Windows
Partager une imprimante sous Windows

Il suffit alors de cocher partager cette imprimante et de donner un Nom de partage.

Partager cette imprimante Windows
Partager cette imprimante Windows

Enfin, dans l'onglet Sécurité, supprimer toutes les autorisations aux autres groupes et utilisateurs que Administrateurs. Ce groupe devant avoir toutes les autorisations.

Choix des droits du partage de l'imprimante Windows
Choix des droits du partage de l'imprimante Windows
Configuration de CUPS

Il suffit de sélectionner le matériel "Windows Printer via Samba" et poursuivre.

L'URI du matériel est du type :

smb://admin:motdepasse@xp-rdc1/Epson_740

Matériel pour une imprimante CUPS partagé sous Windows
Matériel pour une imprimante CUPS partagé sous Windows
Remarque

Lors de la modification de l'imprimante, l'URI n'affichera plus le nom de l'utilisateur ni le mot de passe. Il sera nécessaire de le re-indiquer.

Choix du pilote

Il existe deux catégories de choix pour les pilotes d'impression.

  • utilisation du pilote client Windows ;
  • utilisation du pilote CUPS.
Avantages et inconvénients des solutions

Le pilote client est plus compliqué à mettre en place et diffère suivant les constructeurs. Par contre, le pilote est parfois plus complet que la version serveur. Cette solution ne concerne que Windows.

Le pilote CUPS est plus simple à mettre en place. Il est particulièrement adapté aux réseaux hétérogènes. Par contre, les pilotes ne sont souvent pas écrits directement par les constructeurs.

Utilisation des pilotes clients Windows
Configuration de CUPS

Dans la liste des marques, choisir "Raw" quelque soit le modèle de l'imprimante et "Raw Queue" comme modèle.

Dans ce cas, CUPS envoie directement les données à l'imprimante sans les traiter.

Driver Raw pour l'imprimante CUPS
Driver Raw pour l'imprimante CUPS
Driver Raw pour l'imprimante CUPS
Driver Raw pour l'imprimante CUPS
Installation du pilote Windows

Cette étape est importante. Elle permettra aux différents postes utilisateur de récupérer les pilotes d'impression pour pouvoir imprimer les documents.

L'installation se fera depuis un poste client Windows intégré au domaine. Il faut se munir du pilote fourni par le constructeur de l'imprimante.

Il faut commencer par se connecter à un poste Windows en "admin" ou un utilisateur appartenant au groupe PrintOperators.

Ensuite, dans un navigateur de fichiers il faut se rendre sur le partage du serveur : \\<nom du serveur> puis choisir "imprimantes et télécopieurs sur ...".

Cliquer droit et choisir propriétés.

Propriété de l'imprimante sous Windows
Propriété de l'imprimante sous Windows

Répondre non à la question "Voulez-vous installer le pilote maintenant".

Annulation de l'installation des pilotes
Annulation de l'installation des pilotes

Il est alors possible de choisir un pilote déjà présent sur le serveur ou d'installer un nouveau pilote dans l'onglet "avancé" dans la section "pilote".

Nouveau pilote d'impression Windows
Nouveau pilote d'impression Windows
Attention

Il se peut que Windows change le nom de l'imprimante à cette étape. Vérifier que le nom correspondent à ce que vous souhaitez.

Remarque

Dans l'onglet "Partage" il est possible d'installer des "Pilotes supplémentaires..." pour les autres versions de Windows.

Utilisation des pilotes CUPS
Configuration de CUPS

Dans la liste des marques, choisir la marque de votre imprimante, puis cliquer sur poursuivre. Enfin, choisir le modèle de votre imprimante.

Marque/Fabriquant de la nouvelle imprimante CUPS
Marque/Fabriquant de la nouvelle imprimante CUPS
Modèle/Pilote de l'imprimante CUPS
Modèle/Pilote de l'imprimante CUPS

Si vous ne trouvez pas votre matériel dans la liste par défaut, il est possible de rechercher son imprimante sur le site de CUPS : http://cups.org/ppd.php.

Installation du pilote Windows

Lorsque les pilotes sont installés sur CUPS, il est nécessaire de configurer le poste client avec des pilotes PostScript.

Il existe plusieurs pilotes PostScript. Dans cette documentation nous utiliseront les pilotes PostScript Microsoft. Cela ne s'appliquera que pour les versions de Windows supérieurs ou égales à Windows 2000.

Si vous utilisez encore des versions de Windows inférieurs, il vous faudra, par exemple, les pilotes PostScript proposés par l'éditeur Adobe.

Il faut commencé par récupérer les pilotes PostScript Microsoft.

Les pilotes d'impression PostScript Microsoft se trouve dans le répertoire suivant de Windows XP : %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86.

Il vaut faudra les fichiers suivant :

  • ps5ui.dll
  • pscript5.dll
  • pscript.hlp
  • pscript.ntf

Ces fichiers sont à copier sur le serveur, en tant qu'utilisateur root, dans le répertoire suivant :

/usr/share/cups/drivers/

Enfin, il faut associer les pilotes CUPS aux imprimantes.

Pour associer les pilotes CUPS à une imprimante, il faut taper la commande suivante :

# cupsaddsmb -v -H localhost -U admin <Epson_740>

<Epson_740> étant le nom de l'imprimante définit dans l'interface CUPS.

Gestion des imprimantes sous Windows

Attention

Ceci ne concerne pas les postes Windows Millennium et inférieur et nécessite l'utilisation du logiciel ESU[96].

Dans la partie règle utilisateurs, que l'on obtient en cliquant sur un groupe d'utilisateurs dans la colonne de gauche, sélectionner Panneau de Configuration section "Imprimantes".

A cet endroit vous pouvez spécifier le chemin UNC (\\<scribe>\<imprimante>) d'accès aux imprimantes disponibles pour ce groupe de machine et ce groupe d'utilisateur.

Ainsi élèves et professeurs peuvent avoir des imprimantes différentes sur un même poste et un utilisateur peut avoir des imprimantes différentes en fonction du poste et du groupe de machines auquel il appartient.

L'authentification unique

Principe de fonctionnement général

La gestion du Single Sign On[16] (SSO) sur les modules EOLE est basée sur le protocole CAS[97].

Le principe est que l'utilisateur fournit ses identifiants sur la page d'authentification du service. Une fois les identifiants validés, le service pose un cookie de session SSO dans le navigateur. Ce dernier n'est valide que sur une durée définie.

Tant que le cookie est valide, le service reconnaît automatiquement l'utilisateur à chaque fois qu'une application demandera de vérifier son authentification. Ce système présente plusieurs intérêts : l'utilisateur ne saisit qu'une fois ses identifiants pour se connecter à un ensemble d'applications et celles-ci n'ont jamais accès à ses identifiants réels (Avec eole-sso la liste des informations envoyées aux applications par le service SSO est configurable par application grâce à un système de filtres).

Le serveur d'authentification possède plusieurs caches de sessions :

  • tickets utilisateurs (session SSO) : longue durée, réutilisable. Ces tickets sont la preuve d'authentification de l'utilisateur et sont stockés dans un cookie sécurisé dans le navigateur de l'utilisateur ;

  • tickets d'application : courte durée (5 minutes par défaut), utilisable une seule fois et pour une seule application.

    Ces tickets sont également utilisés pour mémoriser une session de fédération avec un autre système (se reporter aux chapitres traitant de la fédération d'identité).

Les applications clientes n'ont pas accès à l'identifiant de la session utilisateur, il est échangé uniquement entre le serveur d'authentification et le navigateur.

Une fois qu'une application a obtenu un ticket, elle peut utiliser de façon classique une session interne pour ne pas surcharger le serveur par des appels trop nombreux.

Attention

La session SSO étant gérée par un cookie placé dans le navigateur du client, celui-ci doit être configuré pour accepter les cookies.

Déroulement de l'accès à une application via SSO

  1. L'utilisateur accède à une page d'une application (service) configurée pour utiliser le système SSO (application utilisant un client CAS).

  2. L'application redirige l'utilisateur sur le serveur SSO en passant une URL de retour (paramètre service). Le serveur SSO vérifie qu'un cookie de session est présent et qu'il correspond à une session valide.

  3. Si ce n'est pas le cas, il demande à l'utilisateur de saisir ses identifiant et mot de passe pour établir une nouvelle session SSO.

  4. Une fois la session validée, le serveur SSO génère un ticket d'application valable pour une courte durée et réservé à l'URL du service. Il redirige alors l'utilisateur sur cette URL en passant le ticket en paramètre.

  5. L'application récupère le ticket. Elle redirige l'utilisateur sur l'URL de validation du serveur SSO en passant en paramètre le ticket reçu et son URL de service.

  6. Le service SSO vérifie que le ticket est encore valide et correspond à l'URL de service. puis redirige sur l'URL de service en incluant une réponse. Si cette réponse est positive (le ticket est valide), elle contient également des informations sur l'utilisateur (les informations renvoyées dépendent de l'application, se reporter au chapitre traitant des filtres).

  7. L'application reçoit la réponse et crée éventuellement une session interne pour l'utilisateur.

  8. La page de l'application est renvoyée à l'utilisateur

Complément

Le fonctionnement peut être plus complexe dans le cas de l'utilisation du mode proxy pour accéder à des services non web (par exemple, pour accéder à un service IMAP ou FTP).

Se reporter à la description du site officiel du protocole CAS pour plus de détail :

http://www.apereo.org/cas

Description du produit EoleSSO

EoleSSO est un serveur d'authentification développé pour répondre à la problématique du SSO[16] (authentification unique) dans différentes briques de l'architecture EOLE. Il est développé en langage Python à l'aide du framework Twisted[98].

Ce produit implémente en premier lieu un serveur d'authentification compatible avec le protocole CAS[97]. Une partie du protocole SAML[99] a été implémentée par la suite pour permettre de répondre à des problématiques de fédération avec d'autres produits (ou entre 2 serveurs EoleSSO).

Description du produit Lemon-LDAP::NG

LemonLDAP::NG[100] est un logiciel open source qui fournit une solution d'authentification unique distribuée avec gestion centralisée des droits sous licence GPL.

Intégré à partir d'EOLE 2.8, il peut de remplacer avantageusement la solution historique EoleSSO.

Site officiel : LemonLDAP::NG

Documentation officielle (en anglais) : Documentation

Présentation détaillée du produit EoleSSO

Onglet Eole sso : Configuration du service SSO pour l'authentification unique

Le serveur EoleSSO est prévu pour être déployé sur un module EOLE.

Il est cependant possible de l'utiliser dans un autre environnement en modifiant manuellement le fichier de configuration /usr/share/sso/config.py.

Cette section décrit la configuration du serveur depuis l'interface de configuration du module disponible sur tous les modules EOLE. Les valeurs définies par défaut simplifient la configuration dans le cadre d'une utilisation prévue sur les modules EOLE.

Serveur local ou distant

L'activation du serveur EoleSSO s'effectue dans l'onglet Services.

La variable Utiliser un serveur EoleSSO permet :

  • non : de ne pas utiliser de SSO sur le serveur ;
  • local : d'utiliser et de configurer le serveur EoleSSO local ;
  • distant : d'utiliser un serveur SSO distant (configuration cliente).
AttentionServeur EoleSSO local

À partir d'EOLE 2.9, l'outil EoleSSO s'exécute dans un conteneur[17] logiciel Podman[101].

L'image eole-sso-server est téléchargée depuis le site hub.eole.education.

Le serveur doit donc pouvoir accéder à ce domaine au même titre qu'aux serveurs de mise à jour des modules.

Adresse et port d'écoute

L'onglet supplémentaire Eole-sso apparaît si l'on a choisi d'utiliser un serveur EoleSSO local ou distant.

Dans le cas de l'utilisation du serveur EoleSSO local, Nom de domaine du serveur d'authentification SSO doit être renseigné avec le nom DNS du serveur.

Configuration d'un serveur EoleSSO local
Configuration d'un serveur EoleSSO local
  • Durée de vie d'une session (en secondes) : indique la durée de validité d'une session SSO sur le serveur. Cela n'influence pas la durée de la session sur les applications authentifiées, seulement la durée de la validité du cookie utilisé par le serveur SSO. Au delà de cette durée, l'utilisateur devra obligatoirement se ré-authentifier pour être reconnu par le serveur SSO. Par défaut, la durée de la session est de 3 heures (7200 secondes).

  • CSS par défaut du service SSO (sans le .css) : permet de spécifier une CSS différente pour le formulaire d'authentification affiché par le serveur EoleSSO. Le fichier CSS doit se trouver dans le répertoire /usr/share/sso/interface/theme/style/<nom_fichier>.css. Se reporter au chapitre personnalisation pour plus de possibilités à ce sujet.

AttentionPort 443

Si le port HTTPS (443) est déclaré pour ce service, alors celui-ci est uniquement accessible via l’URL https://<nom_du_serveur>/sso.

L’URL de la forme https://<nom_du_serveur>:<port>/ reste valable pour les autres valeurs de port que 443.

Dans le cas de l'utilisation d'un serveur EoleSSO distant, seuls les paramètres Nom de domaine du serveur d'authentification SSO et Port utilisé par le service EoleSSO sont requis et les autres options ne sont pas disponibles car elles concernent le paramétrage du serveur local.

Configuration d'un serveur EoleSSO distant
Configuration d'un serveur EoleSSO distant
Configuration LDAP

Le serveur EoleSSO se base sur des serveurs LDAP[79] pour authentifier les utilisateurs et récupérer leurs attributs.

Il est possible ici de modifier les paramètres d'accès à ceux-ci :

  • l'adresse et le port d'écoute du serveur LDAP ;
  • le chemin de recherche correspond à l'arborescence de base dans laquelle rechercher les utilisateurs (basedn) ;
  • un libellé à afficher dans le cas où un utilisateur aurait à choisir entre plusieurs annuaires/établissements pour s'authentifier (voir le chapitre Gestion des sources d'authentifications multiples) ;
  • un fichier d'informations à afficher dans le cadre qui est présenté en cas d'homonymes. Ces informations apparaîtront si l'utilisateur existe dans l'annuaire correspondant. Les fichiers doivent être placés dans le répertoire /usr/share/sso/interface/info_homonymes ;
  • DN[102] et mot de passe d'un utilisateur en lecture pour cet annuaire ;
  • attribut de recherche des utilisateurs : indique l'attribut à utiliser pour rechercher l'entrée de l'utilisateur dans l'annuaire (par défaut, uid)
  • choix de la disponibilité ou non de l'authentification par clé OTP[103] si disponible (voir plus loin).
Attention

Dans le cas où vous désirez fédérer EoleSSO avec d'autres fournisseurs de service ou d'identité (ou 2 serveurs EoleSSO entre eux), il est nécessaire de configurer un utilisateur ayant accès en lecture au serveur LDAP configuré.

Il sera utilisé pour récupérer les attributs des utilisateurs suite à réception d'une assertion d'un fournisseur d'identité (ou dans le cas d'une authentification par OTP).

Cet utilisateur est pré-configuré pour permettre un accès à l'annuaire local sur les serveurs EOLE.

Sur les modules EOLE, la configuration recommandée est la suivante :

  • utilisateur : cn=reader,o=gouv,c=fr
  • fichier de mot de passe : /root/.reader

Si vous connectez EoleSSO à un annuaire externe, vous devez définir vous même cet utilisateur :

  • Utilisateur de lecture des comptes ldap : renseignez son dn complet dans l'annuaire

  • fichier de mot de passe de l'utilisateur de lecture : entrez le chemin d'un fichier ou vous stockerez son mot de passe (modifiez les droits de ce fichier pour qu'il soit seulement accessible par l'utilisateur root)

Passer la variable Information LDAP supplémentaires (applications) à oui permet de configurer pour chaque annuaire LDAP déclaré des attributs supplémentaires qui seront utilisés par les applications web (DN racine de l'arbre utilisateurs, DN racine de l'arbre groupes, Champ 'nom d'affichage' de l'utilisateur, Champ 'mail' de l'utilisateur, Champ 'fonction' de l'utilisateur, Champ 'categorie' de l'utilisateur, Champ 'rne' de l'utilisateur, Champ 'fredurne' de l'utilisateur…).

Passer la variable Permettre le changement de mot de passe sur un serveur AD à oui permet à l'utilisateur de changer son mot de passe depuis la mire SSO si ce dernier à expiré.

Il est alors nécessaire de renseigner le nom du domaine AD et le nom du serveur AD sur lequel changer le mot de passe.

Serveur SSO parent

Un autre serveur EoleSSO peut être déclaré en tant que serveur parent dans la configuration (adresse et port). Se reporter au chapitre traitant de la fédération pour plus de détails sur cette notion.

Si un utilisateur n'est pas connu dans le référentiel du serveur EoleSSO, le serveur essayera de l'authentifier auprès de son serveur parent (dans ce cas, la liaison entre les 2 serveurs s'effectue par l'intermédiaire d'appels XML-RPC[104] en HTTPS, sur le port défini pour le serveur EoleSSO).

Si le serveur parent authentifie l'utilisateur, il va créer un cookie de session local et rediriger le navigateur client sur le serveur parent pour qu'une session y soit également créée (le cookie de session est accessible seulement par le serveur l'ayant créé).

Attention

Ce mode de fonctionnement n'est plus recommandé aujourd'hui. Il faut préférer à cette solution la mise en place d'une fédération par le protocole SAML.

Fédération d'identité

Le serveur EoleSSO permet de réaliser une fédération vers un autre serveur EoleSSO ou vers d'autre types de serveurs compatibles avec le protocole SAML[99] (version 2).

Nom d'entité SAML du serveur eole-sso (ou rien) : nom d'entité du serveur EoleSSO local à indiquer dans les messages SAML. Si le champ est laissé à vide, une valeur est calculée à partir du nom de l'académie et du nom de la machine.

Cacher le formulaire lors de l'envoi des informations de fédération : permet de ne pas afficher le formulaire de validation lors de l'envoi des informations de fédération à un autre système. Ce formulaire est affiché par défaut et indique la liste des attributs envoyés dans l'assertion SAML permettant la fédération.

Authentification OTP

Il est possible de configurer EoleSSO pour gérer l'authentification par clé OTP à travers le protocole securID[105] de la société EMC (précédemment RSA).

Pour cela il faut :

  • installer et configurer le client PAM/Linux proposé par EMC (voir annexes)

  • Répondre oui à la question Gestion de l'authentification OTP (RSA SecurID)

Des champs supplémentaires apparaissent :

  • Pour chaque annuaire configuré, un champ permet de choisir la manière dont les identifiants à destination du serveur OTP sont gérés. 'inactifs' (par défaut) indique que l'authentification OTP n'est pas proposée à l'utilisateur. Avec 'identiques', le login local (LDAP) de l'utilisateur sera également utilisé comme login OTP. La dernière option est 'configurables', et indique que les utilisateurs doivent renseigner eux même leur login OTP. Dans ce dernier cas, l'identifiant est conservé sur le serveur EoleSSO pour que l'utilisateur n'ait pas à le renseigner à chaque fois (fichier /usr/share/sso/securid_users/securid_users.ini).

  • Le formulaire d'authentification détecte automatiquement si le mot de passe entré est un mot de passe OTP. Il est possible de modifier la reconnaissance si elle ne convient pas en réglant les tailles minimum et maximum du mot de passe et en donnant une expression régulière qui sera vérifiée si la taille correspond. Les options par défaut correspondent à un mot de passe de 10 à 12 caractères uniquement numériques.

Certificats

Les communications de et vers le serveur EoleSSO sont chiffrées.

Sur les modules EOLE, des certificats auto-signés sont générés à l'instanciation[106] du serveur et sont utilisés par défaut.

Il est possible de renseigner un chemin vers une autorité de certification et un certificat serveur dans le cas de l'utilisation d'autres certificats (par exemple, des certificat signés par une entité reconnue).

Les certificats doivent être au format PEM.

Configuration en mode expert
Autres options

En mode expert plusieurs nouvelles variables sont disponibles :

  • Alias d'accès au service SSO (paramètre : __CAS_FOLDER) permet de créer un alias spécifique en plus du domaine et du port pour certains serveurs SSO tels que lemonLDAP[100] ou keycloak[107].

    Cette variable est disponible uniquement à partir de la version 2.6.2 d'EOLE.

  • Nom du cookie EoleSSO et Domaine du cookie EoleSSO permettent la gestion d'un cluster EoleSSO.

  • Générer des statistiques d'usage du service est à non par défaut.

    Si ce paramètre est à oui, EoleSSO va générer des statistiques sur l'usage du service (consommation mémoire, nombre de session...). Ces statistiques sont générées par la librairie python prometheus-client. Elles peuvent être intégrées à un outil tel que Grafana, et sont disponibles sur l'URL suivante : https://<adresse_serveur>:8443/metric.

  • Activer la balise meta viewport (CSS responsive) permet d'inclure la balise HTML meta viewport dans les pages de l'application (avec content="width=device-width, initial-scale=1"). Elle est à activer en cas d'utilisation d'une feuille de style CSS responsive.

  • Ne pas répondre aux demandes CAS des applications inconnues est à non par défaut

    Si ce paramètre est à oui, seules les applications renseignées dans les fichiers d'applications (/usr/share/sso/app_filters/*_apps.ini) sont autorisées à recevoir des réponses du serveur en mode CAS. Si il est à non, le filtre par défaut leur sera appliqué ;

  • Nombre maximum de sessions en attente (backlog) permet de définir la taille de la file d'attente des sessions.

    Augmenter cette valeur est susceptible de résoudre des problèmes de lenteur voir de rejet des demandes d'authentification ;

  • Décalage de temps (en secondes) dans les messages de fédération SAML est à -300 secondes par défaut

    Ce décalage est appliqué aux dates dans les messages de fédération SAML. Cela permet d'éviter le rejet des messages lorsque le serveur partenaire n'est pas tout à fait synchrone (par défaut, on décale de 5 minutes dans le passé). Ce délai est aussi pris en compte pour la validation des messages reçus ;

  • Taille du pool de traitement (thread pool size) permet de configurer la valeur du paramètre THREAD_POOL_SIZE.

    Augmenter cette valeur est susceptible de résoudre les problèmes de charge rencontrés sur certaines infrastructures ;

  • Utiliser l'authentification SSO pour l'EAD est à oui par défaut.

    Le passer à non permet de ne plus utiliser le serveur SSO pour l'authentification de l'EAD.

Authentification OpenID Connect
  • Autoriser l'authentification OpenID Connect est à non par défaut

    Si ce paramètre est à oui, il devient possible de configurer un ou plusieurs fournisseurs d'identité OpenID Connect ;

  • Référence du fournisseur d'identité OpenID : renseigner un libellé pour identifier le fournisseur. Ce libellé est interne à l'application EoleSSO. Il est utilisé pour définir le nom des fichiers contenant les logos/boutons du fournisseur :

    • /usr/share/sso/interface/images/<libelle>.png : bouton de connexion présenté sur la page de login (par exemple : "se connecter avec France Connect") ;
    • /usr/share/sso/interface/images/logo-<libelle>.png : logo du fournisseur qui sera affiché sur la page d'association de comptes.
  • Libellé du fournisseur d'identité OpenID : libellé à destination des utilisateurs pour décrire le fournisseur ("France Connect", "Google", ...) ;

  • URL d'accès (issuer) : URL décrivant le fournisseur d'identité (la plupart du temps, l'URL de base de son service d'authentification) ;

  • URL de demande d'autorisation (authorization endpoint) : URL permettant au client d'initier le processus d'authentification ;

  • URL de récupération de jeton d'accès (token endpoint) : URL permettant de récupérer un jeton (éventuellement l'identifiant de l'utilisateur) après authentification ;

  • URL de déconnexion (logout endpoint) : URL permettant de demander une déconnexion. Ce paramètre est ignoré pour les fournisseurs utilisant une cinématique de déconnexion spécifique comme Google, Facebook et Microsoft ;

  • URL de lecture des informations (userinfo endpoint) : URL permettant de récupérer les informations de l'utilisateur à l'aide du jeton fourni ;

  • URL de description des certificats de signature (jwks URI) : URL décrivant les certificats utilisés par le fournisseur (si disponible) ;

Définition de l'identifiant client (Client ID) et clé secrète (Client secret)
Attention

L'identifiant client (Client ID) et la clé privée secrète ( Client secret) renvoyés par le fournisseur d'identité utilisés pour valider les échanges doivent être, pour des raisons de sécurité, stockés dans un fichier à part avec des droits restreints.

Pour chaque fournisseur d'identité, ajouter une ligne dans le fichier /etc/eole/eolesso_openid.conf :

<nom_fournisseur> = "<client id> :<client secret>"

Le nom_fournisseur doit correspondre au paramètre Référence du fournisseur d'identité OpenID renseigné dans l'interface de configuration du module.

Si ces informations ne sont pas renseignées pour l'un des fournisseurs déclarés, un message l'indiquera au lancement de la commande diagnose.

Version du serveur SSO

Si le module est configuré pour utiliser le serveur SSO local, le protocole utilisé sera forcément CAS[97] version 2.

Si le module est configuré pour utiliser un serveur SSO distant, la variable Version du serveur SSO associé permet de choisir entre le protocole historique CAS et le protocole SAML[99] en version 1.1.

Dans le cas où le serveur SSO est déclaré en SAML, de nouvelles variables permettent de déclarer les correspondances (mapping) permettant de récupérer les principaux attributs des utilisateurs parmi celle transmises par le serveur.

Protocoles supportés

Compatibilité CAS
Fonctions implémentées au niveau serveur

Le serveur EoleSSO implémente le protocole CAS[97].

Vous pouvez retrouver la description de ce protocole sur le site officiel du protocole :

http://www.apereo.org/cas/protocol

Les version 1 et 2 du protocole sont gérées.

En plus des fonctionnalités de base décrites dans le protocole, les fonctions suivantes ont été ajoutées pour permettre une meilleure compatibilité avec des versions plus récentes (CAS 3) :

  • échange de messages au format SAML 1.1 dans une enveloppe SOAP ;

  • implémentation d'une déconnexion centralisée pour les sessions établies via le protocole CAS. Cette fonctionnalité peut être activée ou désactivée au niveau du serveur (active par défaut) ;

  • envoi d'attributs utilisateur supplémentaires dans la réponse du serveur, avec un système de filtres suivant l'URL de destination.

Attention

Les protocoles 1 et 2 de CAS utilisent un format de messages différent. Le serveur peut être configuré pour répondre à l'un ou l'autre des formats, mais ne peut pas gérer les 2 en même temps. La version 1 du protocole est disponible pour permettre au serveur de répondre à des clients plus anciens, mais dans ce cas les fonctionnalités du serveur seront très limitées (en particulier, le mode proxy et l'envoi d'attributs ne sont pas gérés).

Compatibilité du client

Suivant le client utilisé, certaines fonctionnalités peuvent ne pas être disponibles.

  • La prise en compte des requêtes de déconnexion envoyées par le serveurs nécessitent l'utilisation d'un client récent (phpCAS version 1.1.0 ou supérieur).

Une version modifiée du client phpCAS est disponible dans les dépôts de la distribution EOLE.

Compatibilité SAML2

Pour permettre de répondre à des problématiques de fédération de l'identité des utilisateurs dans des référentiels différents, le serveur EoleSSO est désormais capable d'échanger des messages au format SAML 2[99] . Cela permet, par exemple, que des utilisateurs authentifiés au niveau d'un établissement scolaire puissent accéder à des ressources gérées en académie sans s'authentifier à nouveau.

Les fonctionnalités implémentées correspondent à un certain nombre de scénarios envisagés. Les profils et bindings définis par le standard ne sont pas tous implémentés. En particulier, les binding HTTP Artifact et SOAP ne sont pas gérés, le serveur EoleSSO ne peut donc pas actuellement être considéré comme pleinement conforme au standard SAML 2.

Pour plus de détail, se reporter au document publié sur le site d'OASIS.

Les fonctionnalités absentes seront éventuellement implémentées dans des versions ultérieures selon les besoins.

Les mécanismes suivants sont implémentés :

  • WebSSO : AuthnRequest (POST/Redirect) / IDP Response (POST) ;

  • Single Logout : LogoutRequest (POST/Redirect) / LogoutResponse (POST/Redirect).

Le serveur EoleSSO met à disposition un fichier de méta-données pour faciliter la mise en relation avec une entité partenaire.

Il gère également un répertoire de fichiers de méta-données pour récupérer les informations sur ces entités. Se reporter au chapitre gestion des méta-données pour plus de détails.

Attention

Les requêtes et assertions échangées doivent être signées. La clé de signature de l'entité partenaire doit être inclue dans le fichier de méta-données.

Scenarii gérés :

  1. En tant que fournisseur d'identité :

    • émission d'une assertion d'authentification à destination d'un fournisseur de service (initié par le fournisseur d'identité ou suite à réception d'une requête authentification émise par un fournisseur de service valide) ;
    • déclenchement du processus de déconnexion globale à l'initiative du fournisseur ou suite à la réception d'une requête de déconnexion valide.
  2. En tant que fournisseur de service :

    • création d'une session locale suite à la réception d'une assertion d'authentification d'un fournisseur d'identité (et redirection vers l'adresse spécifiée par le paramètre relayState si il est présent) ;
    • émission d'une requête de déconnexion en direction du fournisseur d'identité en cas de demande de déconnexion depuis une application cliente.
Compatibilité RSA Securid
Principe de fonctionnement

Le service EoleSSO est capable de vérifier l'authentification d'un utilisateur auprès d'un serveur RSA utilisant le protocole SecurID[105] (authentification de type One Type Password).

L'authentification est effectuée par l'intermédiaire du module PAM[20] SecurID fourni par la société RSA.

Le principe est de vérifier l'authentification de l'utilisateur auprès du serveur RSA, et de conserver cette information dans la session SSO de l'utilisateur.

Lorsque l'utilisateur essaie ensuite de se connecter à un fournisseur de service, les messages SAML envoyés pour établir la fédération seront adaptés pour refléter le niveau d'authentification de l'utilisateur (mot de passe à utilisation unique).

Remarque

Actuellement, cette fonctionnalité n'est disponible que sur un serveur EoleSSO configuré pour gérer l'authentification OTP[103].

Il est prévu par la suite de pouvoir déléguer cette validation à un autre serveur EoleSSO (moyennant l'établissement d'un lien de fédération entre les deux serveurs).

 Utilisation

Lors de la première utilisation, l'utilisateur se connecte au serveur EoleSSO avec ses identifiants habituels (authentification LDAP). Avant de valider le formulaire d'authentification, il peut cocher la case Enregistrer mon identifiant OTP. Il peut alors renseigner l'utilisateur associé à sa clé OTP sur le serveur RSA, ainsi que son code PIN et le mot de passe actuel.

Attention

Le serveur SSO ne gère pas la saisie initiale du code PIN d'un utilisateur. Dans le cas d'un nouvel utilisateur, il faudra au préalable que celui-ci se connecte sur la mire RSA pour créer son code PIN.

Le serveur EoleSSO va vérifier l'authentification LDAP, puis va valider l'authentification auprès du serveur RSA. Si les deux authentifications réussissent, il va enregistrer l'identifiant de l'utilisateur sur le serveur RSA et va l'associer à l'utilisateur LDAP.

Par la suite, lorsque l'utilisateur revient sur la page d'authentification, le système détecte qu'il s'est déjà enregistré (après saisie de son identifiant habituel). L'utilisateur a alors la possibilité de cocher la case 'Connexion par clé OTP'. Dans ce cas, il lui suffit de saisir son code PIN et mot de passe OTP pour s'authentifier.

Compatibilité OpenID Connnect

Des modifications ont été apportées à EoleSSO pour permettre d'authentifier les utilisateurs auprès du fournisseur d'identité France Connect[108].

Il est également possible de configurer d'autres fournisseurs d'identité OpenID Connect[109] dans les limites des fonctionnalités implémentées. Seul France Connect et l'authentification OAuth[110] 2.0 de Google ont été testés à ce jour.

Le principe de fonctionnement est le suivant :

  • l'utilisateur se connecte à une application protégée par EoleSSO et est redirigé sur la mire d'authentification ;

  • la mire d'authentification EoleSSO présente un bouton pour chaque fournisseur d'identité OpenID configuré ;

  • lorsqu'un utilisateur clique sur un de ces boutons, il est redirigé vers le portail de connexion du fournisseur correspondant ;

  • après authentification, il est renvoyé sur le portail EoleSSO ;

  • lors de la première connexion de l'utilisateur avec ce fournisseur, EoleSSO demande de renseigner le couple identifiant/mot de passe habituel, et l'associe à l'identifiant retourné par le fournisseur ;

  • si l'association a déjà été réalisée, EoleSSO retrouve le compte associé, et créer directement la session de nécessaire à l'utilisateur ;

  • l'utilisateur est redirigé vers l'application à laquelle il souhaite accéder.

ComplémentDonnées échangées

Le protocole OpenID Connect prévoit que le fournisseur de service précise un ensemble de données auxquelles il veut accéder (scope dans le vocabulaire OpenID).

Cela peut permettre de récupérer diverses informations (sous réserve du consentement de l'utilisateur) , comme l'adresse de messagerie, le numéro de téléphone…

Pour l'implémentation de OpenID réalisé dans EoleSSO, le but est de récupérer un identifiant pérenne et que l'utilisateur l'associe à son compte local. Le scope minimal nommé openid est utilisé et seul l'attribut sub est récupéré par EoleSSO (identifiant nom nominatif de l'utilisateur et sans informations personnelles).

La correspondance entre l'identifiant local et l'identifiant OpenID est stockée dans un fichier /usr/share/sso/openid_users/<référence_fournisseur>_users.ini

Pré-requis à la mise en œuvre

OpenID Connect repose sur un principe de confiance entre un fournisseur de service (Relying Party, par exemple EoleSSO), et un fournisseur d'identité (OpenID Provider, par exemple France Connect).

Pour mettre en place cette relation de confiance, le fournisseur de service va effectuer une demande d'enregistrement auprès du fournisseur d'identité. Celui-ci lui renverra un identifiant et une clé secrète.

Le fournisseur d'identité met à disposition un certain nombre d'URLs nécessaires à la configuration du client.

Remarque

Un principe de configuration automatique est prévu par le protocole, mais il est rarement utilisé dans la pratique et n'a pas été implémenté dans EoleSSO.

Les modalités de cet échange d'informations sont spécifiques à chaque fournisseur.

Dans la plupart des cas, il sera demandé :

  • une adresse dite de callback : c'est l'adresse sur laquelle est renvoyé l'utilisateur après authentification.

    Dans le cas d'EoleSSO cette adresse est :

    https://<adresse_serveur_eolesso>:8443/oidcallback

  • une adresse électronique de contact ;

  • un logo représentant le fournisseur de service (logo EOLE, logo de l'académie…) qui apparaîtra sur la page d'authentification du fournisseur d'identité.

Gestion de la déconnexion

La cinématique de déconnexion (single logout) n'est pas implémentée par tous les fournisseurs.

Par ailleurs, certains acteurs utilisent une cinématique de déconnexion spécifique. Des adaptations ont ainsi été réalisées pour la déconnexion de Google (testée) ainsi que pour celles de Facebook et Microsoft (non testées).

Configuration du fournisseur d'identité France Connect

Pour mettre en place la relation de confiance entre EoleSSO et France Connect, il faut effectuer une demande d'enregistrement auprès de France Connect : https://franceconnect.gouv.fr/inscription

Le fournisseur d'identité France Connect renvoi un identifiant client (Client ID) et une clé privée secrète ( Client secret) utilisé pour valider les échanges. Il met à disposition un certain nombre d'URLs nécessaires à la configuration du client.

Pour l'inscription il est demandé les informations suivantes:

  • le nom du service ;

  • une adresse électronique de contact ;

  • un logo représentant le fournisseur de service (logo EOLE, logo de l'académie...) qui apparaîtra sur la page d'authentification de France Connect ;

  • une adresse dite de callback : adresse sur laquelle est renvoyé l'utilisateur après authentification.

    Dans le cas d'EoleSSO cette adresse est :

    https://<adresse_serveur_eolesso>:8443/oidcallback

Les logos et bouton de connexion France Connect sont déjà fournis avec EoleSSO.

Complément

Pour plus d'informations sur le fonctionnement et la configuration, se reporter à : https://franceconnect.gouv.fr/fournisseur-service

Les conditions d'utilisation de France Connect et le processus de raccordement sont décrites dans le document PDF suivant :

https://franceconnect.gouv.fr/files/CGU FS - Annexe Processus d'implementation de FC par FS V2.1.pdf

À noter que parmi les conditions, une déclaration CNIL simplifiée est disponible et une recette de la solution technique mise en œuvre doit être effectuée par le SGMAP[111].

Une configuration prédéfinie est fournie pour France Connect.

Pour l'activer, choisissez fconnect dans la liste déroulante de la variable Référence du fournisseur d'identité OpenID, ne pas oublier de valider le choix pour faire apparaître les différentes variables.

Attention

L'identifiant client (Client ID) et la clé privée secrète ( Client secret) renvoyés par le fournisseur d'identité utilisés pour valider les échanges doivent être, pour des raisons de sécurité, stockés dans un fichier à part avec des droits restreints.

Pour chaque fournisseur d'identité, ajouter une ligne dans le fichier /etc/eole/eolesso_openid.conf :

<nom_fournisseur> = "<client id> :<client secret>"

Le nom_fournisseur doit correspondre au paramètre Référence du fournisseur d'identité OpenID renseigné dans l'interface de configuration du module.

Si ces informations ne sont pas renseignées pour l'un des fournisseurs déclarés, un message l'indiquera au lancement de la commande diagnose.

Configuration du fournisseur d'identité Google (Google APIs).
Déclaration d'EoleSSO comme fournisseur de service

Pour récupérer votre Client ID / Client Secret, vous devez créer un compte développeur depuis cette adresse : https://developers.google.com/

Rendez-vous dans la console développeur de Google afin de déclarer votre service EoleSSO comme application : https://console.developers.google.com

  • Créez un nouveau projet (barre supérieure de la console -> select a project -> create a project) ;

  • Une fois le projet créé, cliquez sur la barre de menu gauche (3 barres horizontales), puis sur API Manager. Cliquez ensuite sur Credentials (à gauche) ;

  • Cliquer sur Oauth Consent Screen et renseigner au minimum le champ Product name shown to users (par exemple 'établissement xxx') ;

  • Sauvegarder et dans Credentias, cliquer sur Create credentials, *Oauth Client ID" ;

  • Choisir Web application et renseigner les champs suivants :

  • Cliquer sur Create et recopier l'identifiant et la clé secrète fournis ;

Configuration du fournisseur d'identité (Google) dans l'interface de configuration du module

Une fois les identifiants récupérés, vous pouvez configurer les paramètres d'EoleSSO (gen_config, onglet Eole SSO en mode expert)

En cas de problème, les paramètres en cours de validité sont décrits ici : https://accounts.google.com/.well-known/openid-configuration

Pour plus d'informations sur le support d'OpenID de Google : https://developers.google.com/identity/protocols/OpenIDConnect

Attention

L'identifiant client (Client ID) et la clé privée secrète ( Client secret) renvoyés par le fournisseur d'identité utilisés pour valider les échanges doivent être, pour des raisons de sécurité, stockés dans un fichier à part avec des droits restreints.

Pour chaque fournisseur d'identité, ajouter une ligne dans le fichier /etc/eole/eolesso_openid.conf :

<nom_fournisseur> = "<client id> :<client secret>"

Le nom_fournisseur doit correspondre au paramètre Référence du fournisseur d'identité OpenID renseigné dans l'interface de configuration du module.

Si ces informations ne sont pas renseignées pour l'un des fournisseurs déclarés, un message l'indiquera au lancement de la commande diagnose.

Gestion des attributs des utilisateurs

Le gestionnaire de sessions permet de récupérer des informations de l'utilisateur connecté, par exemple :

  • les données LDAP de l'utilisateur (récupérées lors de la phase d'authentification) ;
  • le numéro et le libellé de l'établissement hébergeant le serveur d'authentification.

Le serveur EoleSSO permet également :

  • d'étendre les données disponibles en définissant des attributs calculés ;
  • de créer des filtres définissant quels attributs seront disponibles ;
  • de décrire des URL afin de différencier les applications et leur appliquer un filtre.
Truc & astuce

En cas d'ajout de filtres, de définitions d'applications ou d'attributs calculés, il est possible de demander au serveur de les prendre en compte sans le redémarrer. Pour cela, il faut utiliser l'option reload du script de démarrage du service :

# CreoleService eole-sso reload

Ajout d'attributs calculés

EoleSSO permet de définir des attributs calculés en plus des données récupérées dans l'annuaire à la connexion de l'utilisateur. Ces attributs sont calculés par des fonctions écrites en langage Python et ayant accès aux attributs connus de l'utilisateur.

Pour ajouter un attribut calculé, créer un fichier <nom_attribut>.py dans le répertoire /usr/share/sso/user_infos/ :

1
# -*- coding: utf-8 -*-
2
3
use_cache = True
4
5
... imports et fonctions utilitaires pour le calcul ...
6
									
7
def calc_info(user_info):
8
    .....
9
    return valeur_attributs
  • use_cache est une directive spécifiant si l'attribut doit être mis en cache (voir Optimisation des attributs calculés) ;

  • user_info est le dictionnaire des données existantes, il est passé automatiquement à la fonction par le serveur SSO ;

  • valeur_attributs peut être

    • une liste Python contenant les valeurs à associer à l'attribut <nom_attribut> :

      return [val1, val2, ...]

    • un dictionnaire Python dont les clés sont le nom de champ et les valeurs la liste de valeurs associées (calcul d'attributs multiples) :

      return {'attribut1' : [val1, val2, ...], 'attribut2' : [val1, val2, ...], ...}

Pour que ces données soient envoyées aux applications clientes du service EoleSSO, il faut les assigner dans un filtre de données (cf. paragraphes suivants)

Nom de l'attribut retourné

Dans le cas ou une simple liste de valeur est retournée, c'est le nom du fichier qui détermine le nom d'attribut auquel seront assignées les valeurs (nom du fichier sans l'extension .py).

Dans le cas du calcul d'attributs multiples, le nom de fichier n'est pas pris en compte , le nom de l'attribut est indiqué directement dans la structure retournée.

Données à disposition des fonctions de calcul

L'objet user_infos est un dictionnaire Python contenant les informations connues sur l'utilisateur (récupérées au moment de sa connexion). Il contient les informations suivantes :

  • tous les champs de l'utilisateur dans l'annuaire LDAP qui sont accessibles par lui en lecture, à l'exception des mots de passe. Comme c'est le cas dans l'annuaire, les valeurs des attributs sont multivaluées. Par exemple, pour récupérer la première valeur du champ mail, utiliser user_infos['mail'][0] ;
  • une entrée user_groups qui contient la liste des groupes Samba auxquels l'utilisateur est inscrit (récupérée également dans l'annuaire) ;
  • une entrée info_groups contenant un dictionnaire dont les clés sont l'attribut cn des groupes présents dans user_groups et les valeurs sont les attributs du groupe correspondant dans l'annuaire LDAP. Seuls les attributs suivants sont conservés : sambaGroupType, displayName, cn, objectClass, gidNumber, mail, description et niveau ;
  • une entrée dn contenant le DN complet de l'utilisateur (utilisé pour récupérer le RNE d'origine d'un utilisateur dans le cas d'un annuaire multi-établissements) ;
  • les entrées rne et nom_etab qui correspondent aux informations présentes dans la configuration Creole du serveur (ou dans le fichier de configuration du serveur EoleSSO le cas échéant) ;
  • au fur et à mesure du calcul des attributs, ceux déjà traités sont rendus disponibles dans user_infos.
Ordre de traitement et mise à disposition des attributs

2 règles s'appliquent pour déterminer dans quel ordre les attributs calculés sont évalués :

  • Les fichiers sont traités par ordre de tri alphanumérique sur le noms des fichiers. Si un attribut dépend d'un autre, il est recommandé de préfixer le nom de fichier par un numéro (par exemple 00_attribut1.py, 01_attribut2.py si attribut2 doit récupérer la valeur d'attribut1) ;
  • Les fichiers renvoyant les valeurs d'un seul attribut (renvoi de liste) sont prioritaires sur celles renvoyant des attributs multiples (renvoi de dictionnaire, même si celui-ci contient un seul attribut). Cela permet par exemple de disposer d'un ensemble d'attributs renvoyés par une seule fonction, puis d'écraser au cas par cas certains attributs si des adaptations sont nécessaires d'un serveur à l'autre (ou de redéfinir un des attributs comme non mis en cache).
Truc & astuceOptimisation des attributs calculés

Toutes les fonctions présentes sont calculées lors de la création de la session d'un utilisateur et lorsqu'une application accède aux informations de l'utilisateur.

Pour éviter de surcharger le serveur EoleSSO lors de requêtes multiples, les attributs peuvent être mis en cache pour la durée de la session SSO de l'utilisateur. Pour qu'un attribut utilise ce cache, il faut ajouter la ligne suivante dans le fichier de calcul :

use_cache = True

Il est conseillé d'utiliser cette directive sur tous les attributs, sauf ceux dont la valeur doit être ré-évaluée durant la session de l'utilisateur.

Attention

Dans le cas d'une utilisation du produit EoleSSO hors du cadre de la distribution EOLE, certains attributs peuvent ne pas être disponibles (en fonction de l'organisation des données dans l'annuaire). Certaines informations comme le libellé de l'établissement ou son code RNE peuvent être renseignées dans le fichier de configuration principal du serveur : /usr/share/sso/config.py.

En plus des données ci-dessus, un certain nombre d'attributs calculés sont livrés par défaut par le serveur :

  • classes : la classe d'un élève ou les classes d'un professeur (livré par groupes.py) ;
  • disciplines : les matières enseignées pour un professeur (livré par groupes.py) ;
  • niveaux : le niveau (attribut Mefclf) d'un élève ou les niveaux dans lesquels un professeur enseigne (livré par groupes.py) ;
  • secureid : identifiant opaque calculé avec un MD5[13] de l'UID et du RNE de l'utilisateur ;
  • ENTPersonProfils : renvoie le profil de l'utilisateur tel que défini dans le SDET (par ex. National_1 pour un élève) ;
  • ENTPersonStructRattachRNE : le numéro d'établissement d'origine de l'utilisateur, calculé à partir de son DN dans l'annuaire (utile dans le cas d'un annuaire centralisé regroupant plusieurs établissements) ;
  • ecs_profil et ecs_rne : version spécifique des 2 attributs précédents (applications xDesktop et eConnect, voir le site http://envole.ac-dijon.fr) ;
  • entlogin : renvoie l'attribut ENTPersonProfil de l'utilisateur. Si ce champ n'est pas renseigné, l'équivalent de secureid est renvoyé.
ExempleAttribut calculé secureid (identifiant unique et opaque à destination de services externes)

Contenu du fichier /usr/share/sso/user_infos/secureid.py :

1
# -*- coding: utf-8 -*-
2
							
3
def calc_info(user_infos):
4
    """calcule secureid : identifiant crypté unique pour chaque utilisateur"""
5
    from md5 import md5
6
							
7
		# calcul d'un identifiant crypté unique
8
		user_hash = md5("%s@%s" % (user_infos['uid'][0], user_infos['rne'][0]))
9
10
		return [user_hash.hexdigest()]
Filtrage des données par application

EoleSSO implémente un mécanisme permettant de renvoyer des informations différentes concernant l'utilisateur en fonction de l'application qui émet la requête.

Ce mécanisme nécessite la mise en place de deux fichiers de configuration :

  • un fichier de description de l'application. Ces fichiers doivent être placés dans le répertoire /usr/share/sso/app_filters et leur nom doit se terminer par _apps.ini.
  • un fichier de filtre (dans le même répertoire), devant se nommer <nom_du_filtre>.ini.

La description d'une application se fait selon le modèle suivant (exemple avec une application fictive) :

[editeurs] # nom de l'application (indicatif)

port=80 # port de l'application (facultatif)

baseurl=/providers # url de l'application

scheme=both # type de protocole : http/https/both

addr=^appserv..*.fr$ # adresse des serveurs autorisés

typeaddr=regexp # type d'adresse

filter=mon_filtre # nom du filtre à appliquer

proxy=default # proxy http nécessaire pour accéder à l'application

Si port est spécifié, il devra apparaître dans l'URL du service désirant s'authentifier. Pour que la définition fonctionne quel que soit le port (ou si le port n'est pas dans l'URL), enlevez la ligne concernant le port, ou mettez port= sans valeur

Il y a 2 types de vérification de l'adresse (typeaddr) :

  1. type ip : l'adresse donnée peut être une adresse IP ou un couple adresse/netmask.

    Les formats d'écriture suivants sont possibles :

    • 192.168.230.1
    • 192.168.230.0/255.255.255.0
    • 192.168.230.0/24
  2. type regexp : l'adresse est donnée comme une expression régulière à comparer à l'adresse DNS du client.

    Dans l'exemple : ^appserv..*.fr$ -> correspond à toutes les adresse du type par appserv.<qqe_chose>.fr

    Ces données seront comparée avec l'URL associée à la session dans le serveur SSO (dans le cadre du protocole CAS, cette URL correspond au champ service donné lors de l'obtention d'un ticket d'application).

Truc & astuce

Pour vérifier le fonctionnement d'une regexp, lancer un shell python:

>>> import re

>>> regexp = '<votre regexp>'

>>> url = '<une url à comparer avec la regexp>

>>> print re.match(regexp, url) is not None

baseurl correspond au chemin de l'application.

Dans l'exemple ci dessus, une URL du type http://appserv_test.fr:80/providers sera reconnue (A noter que http://appserv_test.fr:80/providers/toto est aussi considéré comme valide).

La partie requête de l'URL n'est pas prise en compte (dans cet exemple, http://appserv_test.fr:80/providers?variable=1&variable2=test sera considérée valide).

Pour vérifier quelle URL est reçue, vous pouvez regarder dans /var/log/rsyslog/local/eolesso/eolesso.info.log. L'URL est affichée dans les lignes commençant par : adding session for service : ....

filter indique le nom du fichier de filtre à utiliser (sans l'extension.ini) pour les applications correspondant à cette description. Voir la section suivante pour plus de détail.

proxy indique que l'utilisation d'un proxy est nécessaire pour accéder à l'application depuis la machine hébergeant le serveur EoleSSO.

si la valeur est 'default', le proxy déclaré dans la configuration (dans l'onglet general de gen_config) est utilisé. Il est aussi possible de spécifier un proxy particulier avec une valeur du type 'nom_hote:port'. Le proxy déclaré sera utilisé dans les procédures suivantes :

  • envoi d'une requête de déconnexion CAS à une application

  • envoi d'un ticket PGT à un client CAS en mode proxy

Définition de filtres d'attributs

Toutes les données connues de l'utilisateur peuvent être propagées vers les applications lorsque celles-ci valident l'authentification de l'utilisateur auprès du serveur EoleSSO.

Pour décider quelles informations seront renvoyées aux différentes applications, un système d'application de filtres a été mis en place. Le principe est de définir dans un fichier un ensemble d'attributs à renvoyer à une(des) application(s), ainsi que le nom à leur donner dans le cadre de ce filtre.

Ces fichiers sont à placer dans le répertoire /usr/share/sso/app_filters et doivent avoir le format suivant :

[section1]

libelle=variable

libelle2=variable2

....

[section2]

....

  • section sert à la mise en forme de la réponse (pour CAS, un nœud dans le XML retourné lors de la validation du ticket)
  • variable correspond à l'identifiant LDAP de la donnée utilisateur à récupérer
  • libelle est le nom qui sera utilisé pour présenter cette donnée dans la réponse du serveur

Le choix d'un filtre d'attribut est conditionné par l'adresse du service à atteindre (voir chapitre précédent). Il est également possible de créer dans le répertoire app_filters  des fichiers de filtres globaux dont les attributs seront ajoutés à tous les filtres.

Le format est le même, mais ces fichiers doivent avoir l'extension .global.

Dans le cas ou un attribut défini dans un filtre global existe également dans le filtre d'une application, c'est la définition spécifique à l'application qui sera prise en compte lors de l'envoi des attributs à celle-ci.

Attention

Si vous souhaitez appeler la méthode statique getUser(…) dans votre application il est impératif d'utiliser au minimum la correspondance user=uid dans votre filtre. Sinon l'authentification ne peut pas aboutir : CAS Authentification failed !

Exemple

Exemple de fichier de profil stocké dans /usr/share/sso/app_filters/mon_filtre.ini (correspond à l'exemple du paragraphe précédent).

[utilisateur]

user=uid

codeUtil=uidNumber

nom=sn

prenom=givenName

niveau=niveau

mail=mail

[etablissement]

codeRNE=rne

nomEtab=nom_etab

Complément

Si vous utilisez EoleSSO dans le cadre d'une distribution EOLE, un certain nombre de filtres et de définitions d'applications sont disponibles.

Il faut installer le paquet envole-conf-sso avec la commande apt-get install envole-conf-sso pour les récupérer.

Les filtres sont installés dans /usr/share/sso/filters_available et /usr/share/sso/applications/available.

Pour les utiliser, recopiez les fichiers voulus dans /usr/share/sso/app_filters et rechargez la configuration du service avec la commande service eole-sso reload

Fédération avec une entité partenaire

Le serveur EoleSSO permet de réaliser une fédération vers un autre serveur EoleSSO, ou vers d'autre types de serveurs compatibles avec le protocole SAML (version 2). Les sections suivantes détaillent la mise en œuvre d'une telle solution suivant 2 méthodes différentes.

  • Une première méthode de fédération simplifiée est gérée via la notion de serveur parent. Elle est utilisable uniquement entre deux serveurs EoleSSO et présente un certain nombre de limitations.
  • La deuxième méthode, plus complète mais également plus complexe à mettre en œuvre, est gérée par l'implémentation d'un certain nombre d'éléments du protocole SAML[99] dans sa version 2. Ce type de fédération est compatible avec d'autres produit, et a principalement été testé pour une fédération avec la plateforme RSA/FIM. Des tests sont également en cours pour une fédération vers des ENT comme k-d'école de la société Kosmos.
Déclaration d'un serveur parent

Le fait de renseigner un serveur parent (serveur B) dans la configuration du serveur EoleSSO (serveur A) permet de fédérer ces deux serveurs. Cette solution correspond plus à une agrégation des référentiels des deux serveurs plutôt qu'à une fédération.

On considère par exemple que le serveur A est installé dans un établissement scolaire (annuaire local), et le serveur B est situé dans un rectorat (branché sur un annuaire académique).

Une fois l'adresse du serveur parent renseignée, le comportement sera le suivant :

Lorsqu'un utilisateur se connecte sur le serveur A, le serveur va d'abord vérifier le couple login/mot-de-passe auprès du serveur B (par un échange XMLRPC encapsulé dans le protocole HTTPS).

  1. Si le serveur B indique une erreur d'authentification, l'authentification va alors être vérifiée localement (sur l'annuaire du serveur A).

    En cas de réussite, une session SSO est établie pour le serveur A, et l'utilisateur sera authentifié auprès des services configurés pour utiliser A. Dans le cas contraire, on considère que l'authentification a échoué.

    On retrouve donc ici le même schéma de fonctionnement que si le serveur A n'avait pas de serveur parent.

  2. Si le couple login/mot-de-passe est accepté par le serveur B, une session locale 'déportée' est créée sur le serveur A. L'utilisateur est considéré comme authentifié, mais lors des échanges avec les applications, les validations seront faites auprès du serveur B.

    Le serveur A va également rediriger le navigateur de l'utilisateur vers le serveur B afin qu'un cookie de session soit créé pour celui-ci (il redirige sur le serveur A une fois le cookie créé). A la fin de cette procédure, l'utilisateur est donc identifié en même temps sur les serveurs A et B. La durée de validité de la session est gérée par le serveur B qui refusera toute validation au serveur A une fois sa session expirée.

Attention

Limitations de ce système :

  • Cette solution n'est pas à proprement parler un système de fédération des 2 serveurs. Il est recommandé de l'utiliser seulement dans des cas assez simples d'utilisation, par exemple pour permettre aux personnel des équipes académiques de se connecter avec leur identifiants dans un établissement (il faut ensuite prévoir de leur attribuer des droits dans les applications, ou un profil d'administrateur sur l'EAD, ...)
  • Le système de serveur parent se base sur l'adresse IP du serveur parent. Pour des raisons de sécurité (attaques de types man in the middle[112]), il est conseillé d'utiliser cette solution dans le cadre d'un réseau sécurisé (par exemple, à travers un RVP). Le cas échéant, on préférera la solution proposée dans le paragraphe suivant.
Fédération SAML : Gestion des Associations

La solution retenue pour effectuer une fédération entre deux systèmes est l'utilisation de messages SAML[99] pour transmettre les informations d'authentification.

La mise en place de cette fédération s'effectue en deux étapes :

  • définition des attributs permettant de retrouver les utilisateurs dans les référentiels des deux systèmes (clé de fédération) ;
  • échange de fichiers de méta-données (métadata[113]) et de certificats entre les deux entités pour établir un lien de confiance.

Pour que la fédération soit possible, il faut pouvoir établir une correspondance entre les utilisateurs des deux entités partenaires.

Pour cela, il est nécessaire de définir les attributs qui seront utilisés de chaque côté pour faire la jointure entre les deux référentiels.

configuration en tant que fournisseur de service
Jeux d'attributs

Le fichier de méta-données du serveur EoleSSO indique quels attributs sont requis pour identifier les utilisateurs dans son référentiel (l'annuaire LDAP).

Cette partie des méta-données est calculée depuis les fichiers de jeux d'attributs présents dans le répertoire /usr/share/sso/attribute_sets(voir plus loin). Après création ou modification de ces fichier, le serveur doit être relancé (reload est suffisant) pour que les méta-données soient mises à jour.

Attention

Le fichier attributes.ini présent sur les anciennes versions n'est plus utilisé. Des jeux d'attributs différents pouvant être assignés à chaque fournisseur d'identité, il peut être gênant de forcer les attributs requis en mode fournisseur de service. (voir paragraphe suivant).

Un numéro d'index est attribué automatiquement à chaque jeu d'attribut au démarrage du serveur (ne le renseignez pas vous même). Dans le cas ou les fichiers de jeux d'attributs seraient perdus, il faudra envoyer à nouveau le fichier metadata du serveur aux entités partenaires afin que la nouvelle numérotation soit prise en compte.

Pour retrouver les utilisateurs après réception d'une assertion en provenance d'un fournisseur de service, le serveur EoleSSO va utiliser un jeu d'attributs. Ceux-ci sont renseignés dans des fichiers au format .ini situés dans /usr/share/sso/attribute_sets/.

Le format des fichiers est :

[user_attrs]

attribut_1=attribut_a

attribut_2=attribut_b

....

[optional]

attribut_3=attribut_c

....

[branch_attrs]

attribut_x=element_dn_y

....

Les attributs de gauche correspondent aux attributs reçus dans l'assertion du fournisseur d'identité, ceux de droite correspondent aux attributs auxquels il doivent correspondre localement.

La section branch_attrs permet d'utiliser certains attributs pour déterminer une branche de l'annuaire dans laquelle rechercher l'utilisateur.

Cela permet de limiter les problèmes dans le cas où des utilisateurs peuvent avoir le même identifiant dans l'annuaire (par exemple, dans le cas d'une fédération basée sur l'uid de l'utilisateur à destination d'un serveur Seshat répliquant l'annuaire de plusieurs Scribe).

Pour ces attributs, le fonctionnement est le suivant :

  • lors de la recherche de l'utilisateur, le serveur va rechercher une correspondance sur 'element_dn_y=valeur_attribut_x' dans la liste des annuaires qui sont répliqués par le serveur LDAP local ;
  • si plusieurs attributs de ce type sont renseignés, la branche de recherche devra correspondre à tout ces attributs.

Par exemple, si on renseigne rne=ou et que les attributs de l'utilisateur recherché contiennent rne=0000000A, le serveur EoleSSO va utiliser une branche d'annuaire dont la base de recherche contient ou=0000000A.

Les attributs de la section user_attrs (ou toute autre section différente de branch_attrs ou optional) seront utilisés pour retrouver l'utilisateur correpondant à la réponse du fournisseur d'identité dans le(s) serveur(s) LDAP utilisé(s) par EoleSSO.

Tous les attributs de droite doivent exister côté fournisseur de service.

Les attributs de la section optional seront envoyés ou non à l'initiative du fournisseur d'identité.

Si ils sont envoyés dans la réponse, ils seront intégrés aux attributs stockés dans la session SSO de l'utilisateur. Si un attribut local avec le même nom qu'un attribut optionnel existe, c'est l'attribut local qui sera conservé. Cela permet de rajouter des attributs provenant du fournisseur d'identité aux attributs connus dans le référentiel du fournisseur de service.

Par exemple, avec le fichier ci-dessus, le fournisseur de service peut récupérer l'attribut attribut_c dans la réponse du fournisseur d'identité et le stocker en tant qu'attribut_3 dans la session locale.

AttentionCadre d'utilisation

L'utilisation des attributs de type branch_attrs est pour l'instant limitée au cas suivant :

  • l'annuaire est sur le serveur hébergeant le service EoleSSO ;

  • l'annuaire est configuré pour répliquer l'annuaire d'autres serveurs (les branches de recherche correspondant aux différents serveurs répliqués sont récupérées dans /etc/ldap/replication.conf).

Dans l'état actuel, cela correspond typiquement à un service EoleSSO présent sur un serveur Seshat en académie (avec réplication de plusieurs serveurs Scribe).

Dans le cadre de l'utilisation de serveurs Scribe et Seshat, il est plutôt recommandé d'utiliser la configuration par défaut (fédération sur l'attribut FederationKey récupéré depuis l'annuaire fédérateur AAF).

Configuration de l'association avec un fournisseur d'identité

Le fichier /usr/share/sso/attribute_sets/associations.ini permet de définir les options de fédération pour chaque fournisseur de service partenaire. Sa syntaxe est la suivante

[nom_entité1]

option=valeur

[nom_entité2]

option=...

Le nom de l'entité doit être le nom de l'entité SAML apparaissant dans le fichier métadata du partenaire concerné (entityID).

Tout fichier de type .ini commençant par 'associations' pourra également être utilisé. Cela peut permettre, par exemple, de distribuer une association correspondant à un serveur Seshat fournisseur de services en académie sur l'ensemble des serveurs Scribe d'une académie. (en passant par une variante dans Zéphir).

Il est possible de spécifier les paramètres supplémentaires suivants pour chaque association avec un fournisseur d'identité (tous facultatifs) :

  • attribute_set : nom du jeu d'attributs à utiliser (correspond au nom du fichier de ce jeu, sans l'extension .ini)
  • allow_idp ('true' par défaut) : si spécifié à 'false', aucune assertion provenant du fournisseur d'identité ne seront prises en compte.
  • allow_idp_initiated ('true' par défaut) : si spécifié à 'false', les assertions envoyées par le fournisseur d'identité sans requête préalable ne seront pas traitées.
  • force_auth ('false' par défaut) : si spécifié à 'true', le fournisseur d'identité demandera ses identifiants à l'utilisateur, même si celui ci était déjà connecté.
  • passive ('false' par défaut) : si spécifié à 'true', le fournisseur d'identité ne demandera pas ses identifiants à l'utilisateur, même si il n'est pas reconnu. Dans ce cas, une réponse négative sera renvoyée par le fournisseur d'identité.
  • default_service (aucun par défaut): si une url est renseignée ici, elle sera utilisée comme service de destination par défaut si aucun service n'est indiqué pendant le processus de fédération.
  • default_logout_url : Adresse sur laquelle lorsqu'une déconnexion a été initiée par le fournisseur de service (utilisée seulement si la session a été établie depuis ce fournisseur d'identité). Cela permet par exemple de rediriger sur la mire du fournisseur d'identité.
  • force_logout_url ('false' par défaut) : Force la redirection sur l'url décrite ci dessus, même si une autre url à été spécifiée dans la demande de déconnexion (par défaut, c'est donc l'url passée en paramètre est prioritaire).
  • req_context : niveau d'authentification requis pour accepter une assertion. Les valeurs reconnues par EoleSSO sont 'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport' (par défaut, mot de passe saisi depuis une page sécurisée) et 'urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken' (connexion par clé OTP)
  • comparison : opérateur de comparaison du niveau d'authentification indiqué par le fournisseur d'identité avec le niveau défini dans req_context. Par défaut cet opérateur est exact (valeur identique). Il est possible d'utiliser minimum (équivalent ou supérieur à), maximum (inférieur à) et better (strictement supérieur à).
Truc & astuce

Dans le cas d'une fédération entre des serveurs scribes et un serveur seshat avec réplication des annuaires scribe en central, il peut être utile de définir sur Seshat le paramètre default_logout_url pour chaque établissement fédéré.

Cela permet de revenir automatiquement sur le portail de l'établissement après une déconnexion depuis le portail ou un service de Seshat (l'utilisateur s'étant connecté à l'origine en établissement). Un script est fourni (/usr/share/sso/get_domains.py) pour essayer de déterminer automatiquement l'adresse du portail de chaque établissement en s'appuyant sur le serveur Zéphir.

Si le nom d'entité est default, les options définies seront utilisées par tous les fournisseurs d'identité n'ayant pas de valeur spécifique définie dans leur section. Dans le cas où aucune association avec default n'est présente, le fichier default.ini fourni avec le serveur sera utilisé comme association par défaut (et les options par défaut sont celles décrites ci-dessus).

Attention

Par défaut, aucun fichier d'association n'est fourni. Il faut ajouter manuellement la section correspondant à un fournisseur d'identité pour modifier les paramètres d'association avec les entités définies dans les métadonnées.

L'option allow_idp étant à 'true' par défaut, cela veut dire que tout fournisseur d'identité décrit dans les fichiers de métadonnées sera considéré comme valide (les assertions venant de lui seront traitées).

Pour avoir plus de contrôle sur les fournisseurs d'identité valides, Il est possible par exemple de redéfinir cette valeur à 'false' pour l'entité default, puis de la définir à 'true' au cas par cas pour chaque fournisseur d'identité que l'on veut autoriser.

Truc & astuce

Pour vérifier que les jeux d'attributs sont bien pris en compte :

  • relancer le serveur ou recharger la configuration avec la commande CreoleService eole-sso restart (ou reload)
  • consulter les logs du serveur (/var/log/rsyslog/local/eolesso/eolesso.info.log). Si un jeu d'attribut est disponible pour une entité, une mention apparaîtra à côté de son nom. Par exemple :

2010/06/03 15:22 +0200 [-] - Fournisseur de services configuré : urn:fs:ac-dijon:etablissements:1.0

2010/06/03 15:22 +0200 [-] - Fournisseur de services configuré : urn:fi:ac-dijon:et-Collège du parc:1.0 (jeu d'attributs : parc)

Ici, le premier fournisseur utilisera le jeu d'attributs par défaut, alors que le deuxième utilisera un jeu spécifique.

Configuration en tant que fournisseur d'identité

Dans ce mode de fonctionnement, le serveur EoleSSO va envoyer des messages SAML à un partenaire fournisseur de service pour lui permettre de valider l'identité de l'utilisateur connecté. Les attributs envoyés dans ce message dépendent du filtre qui est appliqué lors de l'envoi du message (voir les paragraphes précédents sur la gestion des attributs).

Par défaut, le serveur EoleSSO va utiliser les attributs définis dans le filtre SAML (/usr/share/sso/app_filters/saml.ini). Il est également possible de spécifier un filtre d'attributs différent en fonction du fournisseur de service auquel la réponse est envoyée. Pour cela, il faut créer une description d'application correspondant à l'URL de réception des messages du fournisseur de services, et lui associer un filtre renvoyant les attributs voulus.

Truc & astuce

Dans le cas d'une fédération SAML, il est possible de renseigner directement le nom de l'entité partenaire au lieu de décrire l'URL de réception des messages. Par exemple, la section suivante est suffisante pour déclarer un filtre :

[mon_partenaire_saml] (indicatif, affiché dans les logs au démarrage du serveur)sp_ident=id_entité_fournisseur_service (entityID dans le fichier metadata)filter=nom_filtre (nom du fichier de filtre sans l'extension .ini)

Dans le cas où le filtre appliqué ne permettrait pas d'envoyer au fournisseur de service tous les attributs qu'il a indiqué comme requis (dans son fichier de méta-données), un message d'erreur apparaît à l'envoi des informations d'authentification.

Exemple

Dans le cadre d'une fédération d'un serveur Scribe en établissement avec un serveur EOLE (par exemple un module Seshat) situé dans les services académiques, nous utilisons l'adresse mail académique comme attribut de fédération (celle-ci est stockée sur Scribe dans l'attribut FederationKey lors de l'import de fichiers extraits de l'annuaire fédérateur).

Par défaut, le serveur est configuré pour utiliser cet attribut comme clé de jointure.

Le filtre utilisé par défaut lors de l'envoi d'assertion d'authentification (/usr/share/sso/app_filters/saml.ini) envoie l'attribut FederationKey dans le message envoyé au fournisseur de service.

Fédération SAML : Gestion des méta-données

Pour permettre d'établir un lien de confiance avec une entité partenaire, le serveur EoleSSO utilise des fichiers métadata[113] comme défini dans les standards SAML.

  1. Envoi des informations du service EoleSSO à un partenaire :

    • Le fichier métadata du service EoleSSO doit être mis en place sur le serveur partenaire. La procédure varie suivant le logiciel utilisé. Ce fichier est disponible sur le serveur à l'adresse https://<adresse_serveur_eolesso>:8443/saml/metadata
    • Dans le cas où ils ne sont pas pris en compte depuis le fichier de métadata, les certificats du serveur doivent être envoyés séparément, et parfois convertis vers un autre format. Le certificat utilisé par défaut dans le cadre d'un serveur EOLE est /etc/ssl/certs/eole.crt, sauf si l'utilisation d'un autre fichier a été configurée (voir l'exemple de fédération avec un serveur RSA/FIM dans les annexes pour un exemple de conversion du certificat)
  2. Mise en place des information du partenaire sur le serveur EoleSSO :

    • Le fichier métadata de l'entité partenaire doit être mis en place sur : /usr/share/sso/metadata/<nom_fichier>.xml. Si possible utilisez un nom court, car le nom du fichier (sans le .xml) peut être utilisé dans des URLs pour faire référence à l'entité au lieu d'utiliser son identifiant SAML.
    • Une fois le fichier en place, il faut redémarrer le service EoleSSO pour qu'il soit pris en compte : CreoleService eole-sso restart (reload est suffisant dans ce cas)
Attention

Si l'entité partenaire n'est pas un serveur EoleSSO, il faut vérifier que les informations suivantes sont disponibles dans le fichier métadata fourni :

  • Certificat de signature des messages
  • L'entité doit être capable de recevoir et envoyer des messages en utilisant les bindings HTTP-Redirect ou HTTP-POST. Actuellement, le serveur EoleSSO ne gère pas les bindings HTTP-Artifact et SOAP/PAOS.
  • En mode fournisseur de service, le serveur EoleSSO ne gère pas le service Idp Discovery (détection automatique du fournisseur d'identité à l'aide d'un cookie sur un domaine commun). Il est possible cependant d'initier le processus d'authentification en tant que fournisseur de service en spécifiant le fournisseur d'identité à interroger.
Fédération SAML : Accès aux ressources
Activation des différents rôles dans un accord de fédération

Pour résumer, une fois les fichiers de métadata échangés entre EoleSSO et une entité partenaire (protocole SAML), les différents rôles disponibles sont conditionnés comme suit :

  • Si un fichier de description de l'entité partenaire (soit par l'URL de réception des assertions, soit par son nom d'entité) est présent dans /usr/share/sso/app_filters, EoleSSO pourra envoyer des assertions à ce partenaire en tant que fournisseur d'identité.

  • Si le nom d'entité du partenaire est présent dans un fichier d'association dans le répertoire /usr/share/sso/attribute_sets, ce partenaire pourra jouer le rôle de fournisseur d'identité auprès d'EoleSSO. Si l'option allow_idp_initiated est à false pour ce partenaire, ses assertions ne seront prises en compte que si elles font suite à une requête d'authentification émise au préalable (via l'URL discovery décrite ci-dessus).

Accéder à une ressource d'un fournisseur de service

Une fois la fédération mise en place entre EoleSSO et un fournisseur de service (FS), il est possible d'accéder aux services du FS à l'aide d'une URL au format suivant :

https://adresse_serveur_sso:8443/saml?sp_ident=id_fs&RelayState=service

id_fs est soit l'identifiant du fournisseur de service (entityID tel que défini dans son fichier de méta données), soit le nom de son fichier de méta données placé dans /usr/share/sso/metadata (sans l'extension .xml).

RelayState est une information indiquant au fournisseur de service ou rediriger l'utilisateur une fois son identité confirmée. Les données à envoyées peuvent être l'URL d'une application protégée par le fournisseur de service, l'identifiant de l'établissement depuis lequel l'utilisateur se connecte, ... (variable suivant le fournisseur de service).

L'accès à cette URL va déclencher la cinématique suivante :

  • vérification par le serveur EoleSSO de la session SSO de l'utilisateur (si il n'est pas connecté, une nouvelle session est établie après saisie des identifiants) ;

  • génération et envoi d'une réponse SAML au FS pour lui indiquer l'identité de l'utilisateur ;

  • Traitement de la réponse reçue par le fournisseur de service et recherche des informations sur l'utilisateur dans le référentiel du FS (profil associé, permissions, ...) ;

  • Redirection de l'utilisateur sur la ressource définie par RelayState (ou sur une ressource définie par défaut le cas échéant).

Accéder à une ressource en tant que fournisseur de service

Dans le cas où le serveur EoleSSO est utilisé comme fournisseur de service, l'accès à une ressource peut se faire de 2 façons :

  1. en envoyant directement une réponse SAML d'authentification sur l'URL de traitement des assertions d'EoleSSO (FS) depuis le fournisseur d'identité (processus dit 'IDP initiated'). Une URL de service à atteindre peut être fournie par le paramètre RelayState.

  2. en envoyant une requête SAML d'authentification depuis EoleSSO (FS) en spécifiant le fournisseur d'identité à interroger et le service à atteindre après authentification (méthode préférable).

Dans les 2 cas, une fois l'assertion reçue validée, une session est établie sur le serveur EoleSSO.

L'utilisateur est ensuite redirigé sur l'URL du service à atteindre (il est possible de définir un service par défaut pour chaque fournisseur d'identité, voir le chapitre précédent concernant la configuration des associations).

Exemple

Dans le cas d'un serveur Scribe servant de fournisseur de service, il est possible par exemple de spécifier dans RelayState l'accès à l'application Pydio (accès au FTP de Scribe). Si le fournisseur d'identité est également un serveur EoleSSO (adresse_FI), l'accès se fera à travers l'adresse suivante (cas 1) :

https://adresse_FI:8443/saml?sp_ident=id_scribe&RelayState=https://adresse_scribe/pydio

L'adresse à utiliser dans le cas 2 serait la suivante :

https://adresse_scibe:8443/discovery?idp_ident=id_fournisseur_identite&return_url=https://adresse_scribe/pydio

Gestion de la Déconnexion

Le serveur EoleSSO intègre la notion de déconnexion unique (single logout) dans le cadre de l'établissement d'un lien de fédération.

La procédure de déconnexion peut être initiée de deux façons.

  1. Directement depuis le service EoleSSO, en accédant à l'URL : https://adresse_serveur_sso:8443/logout;

  2. En utilisant le système de déconnexion de l'entité partenaire si celle-ci gère également la déconnexion unique.

Dans le deuxième cas, une demande de déconnexion au format SAML est envoyée au service EoleSSO, qui va enclencher la déconnexion et envoyer une confirmation une fois la procédure terminée (une adresse de redirection peut également être fournie avec la demande de déconnexion).

Une fois la procédure de déconnexion enclenchée, EoleSSO va envoyer une demande de déconnexion SAML à chaque entité partenaire sur laquelle l'utilisateur a établi une session par fédération.

Dans le cas où EoleSSO est également utilisé pour accéder à des applications locales, par exemple, pour le portail Envole du serveur Scribe, Il va également envoyer des requêtes de déconnexion aux applications ayant demandé un ticket au serveur SSO (ce comportement peut être désactivé dans la configuration du serveur).

Attention

Le mode de fonctionnement de la déconnexion unique est basé sur une suite d'aller-retours (par redirection) vers les différentes entités.

Dans le cas où une erreur se produit lors de la procédure de connexion sur une entité partenaire, il se peut que la procédure s'arrête dans un état de déconnexion partielle (la déconnexion n'est pas propagée à toutes les entités).

Dans ce cas, plusieurs solutions sont prévues pour limiter le problème :

- si l'URL de déconnexion du serveur EoleSSO est à nouveau sollicitée, le serveur va considérer que la dernière requête de déconnexion envoyée a échoué et va reprendre la procédure en passant au partenaire suivant.

- si une autre URL du serveur est sollicitée (création d'une nouvelle session, demande d'authentification par une application, ...), la session SSO précédente est dans tous les cas invalidée par le serveur (il devra donc se ré-authentifier).

Dans le dernier cas, il se peut que l'utilisateur possède toujours une session sur une entité partenaire.

La seule façon de résoudre le problème est de fermer le navigateur.

Gestion des sources d'authentification multiples

Il est possible de se retrouver confronté à des problèmes d'utilisateurs homonymes dans le cas où plusieurs annuaires sont utilisés comme source d'authentification ou dans le cadre d'un réplica d'annuaire distant comme c'est le cas avec le module Seshat.

EoleSSO a été amélioré pour prendre en compte ce problème.

Principe de fonctionnement

Si plusieurs annuaires sont configurés, EoleSSO va gérer une branche de recherche par annuaire. Lorsqu'un utilisateur va saisir son identifiant, une recherche va être effectuée dans chaque annuaire afin de vérifier si celui-ci est présent plusieurs fois. Si c'est le cas, une liste va être affichée pour permettre à l'utilisateur de choisir sa provenance.

La liste affichée est basée sur le libellé renseigné pour chaque annuaire dans l'interface de configuration du module. Il convient donc de bien renseigner ces informations pour que l'utilisateur soit capable de choisir.

Cas particulier : la réplication d'annuaire (Scribe/Seshat)
Gestion de la liste de choix de la source d'authentification

Dans le cadre de la réplication, l'unique annuaire à utiliser est celui du serveur hébergeant EoleSSO.

Des procédures ont été mises en place pour gérer automatiquement des branches de recherche sur chaque annuaire répliqué.

La procédure active_replication nécessite que les 2 serveurs (serveur répliqué/serveur de réplication) soient enregistrés sur le serveur Zéphir.

Lorsque le serveur Zéphir va envoyer au serveur répliquant les éléments nécessaires à la mise œuvre de la réplication, il va également lui envoyer un fichier décrivant l'établissement dans lequel la machine répliquée est installée (le libellé doit donc être renseigné correctement dans l'application Zéphir).

Sur le module Seshat, il est possible de demander manuellement une récupération de ce fichier auprès du serveur Zéphir en lançant le script :

/usr/share/sso/update_etabs.py

Les informations sont stockées dans le fichier /etc/ldap/replication/zephir/etabs.ini dont le format est le suivant :

[rne]

libelle_etab=....

type_etab=....

portail_etab=...

Ces informations sont détectées automatiquement par le serveur Zéphir lorsque c'est possible.

Le numéro RNE sert à faire la liaison avec les branches de recherche disponibles dans EoleSSO (en se basant sur le DN qui est du type ou=<rne>,ou=ac-<academie>,ou=education,o=gouv,c=fr).

Le type d'établissement permet de créer des sections dans la liste présentée à l'utilisateur afin d'en faciliter la lecture.

Truc & astuce

Dans le cas où toutes les informations ne sont pas détectées ou en cas de données mal renseignées dans l'application Zéphir, il est possible de modifier ou d'ajouter des informations en créant un(des) fichier(s) au même format.

Ils sont à placer dans le répertoire /etc/ldap/replication et doivent se nommer etabs_xxx.ini (la partie xxx n'est pas déterminante). Les données présentes dans ces fichiers seront prioritaires sur celles remontées par le serveur Zéphir.

Par exemple, le fichier suivant permet de corriger l'adresse du portail ENT de l'établissement 000000A1 (si celle-ci n'est pas correcte ou absente). Les autres informations remontées par le serveur Zéphir seront conservées (libellé et type d'établissement)

/etc/ldap/replication/etabs_perso.ini

[000000A1]

portail_etab=ent.mon_etab.ac-acd.fr

Dans l'affichage final (voir capture d'écran ci dessus), le libellé de l'établissement sera affiché en majuscules.

Si une description commence par le type d'établissement (ex : COLLEGE VICTOR HUGO), celui-ci sera supprimé pour simplifier l'affichage.

Au démarrage du service eole-sso, ces informations sont lues et rassemblées dans le fichier /usr/share/sso/interface/scripts/etabs.js qui est utilisé pour générer la liste des établissements dans lesquels un identifiant donné est présent.

Si l'application eole-dispatcher est installée sur la machine, un fichier d'informations est également généré pour celle-ci dans /var/www/html/dispatcher/utils/etabs.ini. Cette application permet de rediriger automatiquement les utilisateurs vers les portails ENT auxquels ils ont accès (pour plus d'informations, se reporter aux annexes).

Aide au choix de la source d'authentification

Lorsque des homonymes sont détectés, la mire d'authentification va générer la liste des choix disponibles.

Pour aider l'utilisateur dans sa décision, différentes informations sont affichées.

Si un fichier /usr/share/sso/interface/login_help.tmpl est présent, un lien apparaîtra sur la mire d'authentification (Quel est mon identifiant?). Un survol de ce lien avec la souris fait apparaître le contenu du fichier sous forme d'un cadre en surimpression (classes liées à a.aide dans la feuille de style).

Un exemple est fourni dans le fichier /usr/share/sso/interface/login_help_example.tmpl.

Le but de ce cadre est d'indiquer à l'utilisateur l'identifiant qu'il doit utiliser.

Un deuxième cadre d'information est affiché lorsque des homonymes ont été trouvés pour l'identifiant saisi par l'utilisateur (#homonyme et #homonymetext dans la feuille de style).

Le contenu de celui-ci est conditionné par les choix disponibles. Le but est d'aider à choisir parmi les sources proposées.

Le début du texte est générique et indique à l'utilisateur que plusieurs entrées sont disponibles pour l'identifiant renseigné.

Il est ensuite possible de spécifier un fichier d'information pour chaque annuaire LDAP, dont le contenu sera ajouté au cadre si l'identifiant entré y est présent (l'information doit donc être au format HTML).

Un exemple est fourni dans /usr/share/sso/interface/personnel_acad.html, et donne le résultat suivant :

Personnalisation de la mire SSO

Ce chapitre répertorie les différentes possibilités offertes pour personnaliser l'apparence de la page d'authentification du serveur EoleSSO (pour une meilleure intégration dans l'environnement existant, et en particulier dans le cadre d'un portail d'accès aux ressources d'un établissement).

Message d'avertissement (CNIL)

Il est prévu de pouvoir afficher un message relatif à la déclaration CNIL du site.

  • mettre le texte du message d'avertissement (formaté en HTML) dans un fichier avertissement.txt qui est à placer dans le répertoire /usr/share/sso/interface/theme ;
  • relancer le service  : CreoleService eole-sso restart
ExempleExemple de déclaration

Conformément à la loi, nous vous informons que ce site a fait l'objet d'une déclaration de traitement automatisé d'informations nominatives auprès de la CNIL Loi du 6 janvier 1978 relative à l' « Informatique et aux Libertés » :<br />

Conformément à la loi n° 78-17 du 6 janvier 1978, vous pouvez à tout moment accéder aux informations personnelles vous concernant et détenues par l'établissement, demander leur modification ou leur suppression. Ainsi, vous pouvez, à titre irrévocable, demander que soient rectifiées, complétées, clarifiées, mises à jour ou effacées les informations vous concernant qui sont inexactes, incomplètes, équivoques, périmées ou dont la collecte ou l'utilisation, la communication ou la conservation est interdite.<br/>

Pour toutes demandes, veuillez contacter l'administrateur à l'adresse : administrateur@etablissement.fr

CSS : Méthode 1

La feuille de style par défaut /usr/share/sso/interface/main.css importe les feuilles de style ./theme/style/theme.css et ./leaves.css :

[ …]

@import url(./leaves.css);

@import url(./theme/style/theme.css);

[…]

Comme le fichier ./theme/style/theme.css est appelé en deuxième dans la feuille il va permettre une surcharge de la première feuille de style ./leaves.css.

Éditer le fichier vide ./theme/style/theme.css appelé dont le chemin absolu est /usr/share/sso/interface/theme/style/theme.css.

S'inspirer des balises de style utilisées dans le fichier /usr/share/sso/interface/leaves.css pour les surcharger.

Utiliser le répertoire /usr/share/sso/interface/theme/images pour ajouter vos images.

Recharger votre page d'authentification sans même redémarrer le service eole-sso, la feuille de style est importée avec les modifications.

Attention

Cette méthode n'est pas compatible avec la personnalisation Envole Thèmes. Celui-ci écrase le contenu du fichier /usr/share/sso/interface/theme/style/theme.css à chaque reconfigure. Il est possible d'enlever Envole Thèmes avec la commande suivante : # apt-get remove eole-envole-themes

CSS : Méthode 2

Un certain nombre de thèmes sont fournis dans le répertoire /usr/share/sso/interface/themes/.

Il suffit de copier le thème voulu pour le rendre actif :

# /bin/cp -R /usr/share/sso/interface/themes/<nomDuTheme>/* /usr/share/sso/interface/theme

Recharger votre page d'authentification sans même redémarrer le service eole-sso, la feuille de style est importée avec les modifications.

Truc & astuce

N'hésitez pas à proposer votre thème, il sera ajouté au paquetage et reversé à la communauté d'utilisateurs.

CSS : Méthode 3

La feuille de style CSS par défaut utilisée lors de l'affichage de la page d'authentification au portail est :

/usr/share/sso/interface/leaves.css

Il est possible d'utiliser une feuille de style CSS personnalisée pour la mire SSO.

Les fichiers CSS à utiliser sont à placer dans :

/usr/share/sso/interface/

Dupliquer la feuille de style originale sous un autre nom.

Modifier à volonté votre_nouvelle_feuille.css

Renseigner le nom de votre feuille sans l'extension (.css) dans l'onglet Eole sso depuis l'interface de configuration du module.

Réaliser autant de feuilles de style que souhaités.

Remarque
  • Si vous faites appel à des images, placez-les dans :

    /usr/share/sso/interface/images/

  • Il est possible de passer le nom de la CSS en paramètre dans URL :

    http://<adresse_serveur>/css=<nom_de_la_feuille_CSS>

  • Si vous utilisez un client phpCAS, il faudra modifier le client pour utiliser cette méthode (les URLs sont calculées par le client).

Truc & astuceChoix de la CSS par le filtre SSO

Si un fichier CSS porte le même nom qu'un filtre d'application (par exemple, ead2.css), cette feuille de style CSS sera automatiquement utilisée lors des demandes à cette application (dans le cadre d'un portail web par exemple).

Configuration d'EoleSSO en mode cluster

Attention

Afin d'assurer le fonctionnement du service EoleSSO sur les dernières version d'Ubuntu, ce dernier a été adapté afin d'être exécuté dans un conteneur[17] logiciel Podman[101].

De ce fait, le fonctionnement en mode cluster tel qu'il était proposé dans les versions 2.7 et 2.8 d'EOLE n'a pas été conservé.

Répartition de charge EoleSSO en mode cluster

Cette documentation a pour but de décrire la mise en place d'une configuration HAProxy afin de pouvoir mettre plusieurs services EoleSSO en cluster et de gérer la répartition de charge.

https://www.haproxy.com/fr/

Cette documentation décrit également la mise en place de 2 services pour suivre les métriques d'EoleSSO :

On suppose l’existence de 3 serveurs EoleSSO qui écoutent sur le port 443 dont les DNS sont les suivants :

  • sso-1.ac-academie.fr ;

  • sso-2.ac-academie.fr ;

  • sso-3.ac-academie.fr.

Un quatrième serveur doit héberger le service ha-proxy avec pour nom DNS sso-ha.ac-academie.fr.

Attention

Le serveur hébergeant le service ha-proxy du cluster doit avoir un nom de domaine différent de celui du cluster de serveur web même si les 2 noms de domaine pointent sur la même adresse IP.

Remarque

Pour maintenir et déployer la configuration (certificats pour stunnel, metadata, filtres, thèmes, CSS, attributs calculés) sur les différents serveurs EoleSSO il est possible d'utiliser Ansible.

Installation d'HAProxy

Sur le serveur sso-ha.ac-academie.fr :

# apt-eole install haproxy

Configuration d'HAProxy

Procéder à la configuration basique d'HAProxy (non détaillée ici).

Éditer le fichier de configuration /etc/haproxy/haproxy.cfg et ajouter les lignes suivantes :

1
global
2
	...
3
	 # Les serveurs étant gérés par vous, la vérification ssl peut être désactivée
4
	ssl-server-verify none
5
6
frontend https-in
7
     bind <IP DU SERVEUR SSO-HA>:443 ssl crt <CHEMIN DU CERTIFICAT PEM>
8
     option   forwardfor
9
     redirect scheme https if !{ ssl_fc }
10
     default_backend    sso_servers
11
12
backend sso_servers
13
     balance         roundrobin
14
     cookie SSONAME  insert indirect nocache
15
     server sso-1.ac-academie.fr   sso-1.ac-academie.fr:443 ssl cookie sso1 check
16
     server sso-2.ac-academie.fr   sso-2.ac-academie.fr:443 ssl cookie sso2 check
17
     server sso-3.ac-academie.fr   sso-3.ac-academie.fr:443 ssl cookie sso3 check
Remarque

<IP DU SERVEUR SSO-HA> : est à remplacer par l'adresse IP de votre serveur HAProxy

<CHEMIN DU CERTIFICAT PEM> : chemin du certificat + key

Attention

Penser à redémarrer le service haproxy :

# service haproxy restart

Mise en place de Prometheus et de Grafana

Il faut mettre en place un serveur Prometheus qui sera chargé de collecter les données fournies par nos serveurs EoleSSO et mettre en place Grafana pour avoir un visuel des métriques.

Pour des raisons de simplicité, des micro-services docker sont utilisés pour fournir ces deux applications, aussi il faut installer les paquets docker et docker-compose.

Remarque

Il peut être intéressant de dissocier ces services du serveur HAPproxy, car il pourrait servir à d'autres serveurs, ce serveur de monitoring porte le nom DNS monitoring.ac-academie.fr.

ExempleExemple de configuration de Prometheus

Exemple de configuration, contenu dans le fichier /shared/prometheus/monitoring-compose.yml :

1
prometheus:
2
  image: prom/prometheus
3
  ports:
4
    - 9090:9090
5
  volumes:
6
    - /shared/prometheus/etc/:/etc/prometheus/
7
    - /shared/prometheus/data/:/prometheus
8
9
grafana:
10
  image: grafana/grafana:4.1.1
11
  ports:
12
    - 3000:3000
13
  volumes:
14
    - /shared/prometheus/grafana/:/var/lib/grafana/
15
  env_file:
16
    - /shared/prometheus/grafana.config.monitoring
Configuration de Prometheus

Le fichier de configuration de prometheus /shared/prometheus/etc/prometheus.yml contient :

1
global:
2
  scrape_interval: 60s
3
4
scrape_configs:
5
  - job_name: "eole_sso"
6
    metrics_path: /metrics
7
    scheme: https
8
    tls_config:
9
      insecure_skip_verify: true
10
    static_configs:
11
        - targets:
12
            - sso-1.ac-academie.fr
13
            - sso-2.ac-academie.fr
14
            - sso-3.ac-academie.fr
Configuration de Grafana

Configuration de Grafana dans le fichier /shared/prometheus/grafana.config.monitoring

1
GF_SECURITY_ADMIN_PASSWORD=VOTRE_MOT_DE_PASSE_ADMIN
2
GF_USERS_ALLOW_SIGN_UP=false
3
http_proxy=PROXY_HOST:PROXY_PORT
4
https_proxy=PROXY_HOST:PROXY_PORT
Remarque

Modifier les valeurs de :

VOTRE_MOT_DE_PASSE_ADMIN

PROXY_HOST

PROXY_PORT

Truc & astuce

La documentation de Grafana décrit les paramètres possibles :

http://docs.grafana.org/installation/configuration/

ExempleJSON pour le tableau de bord Grafana
1
{
2
  "annotations": {
3
    "list": []
4
  },
5
  "editable": true,
6
  "gnetId": null,
7
  "graphTooltip": 0,
8
  "hideControls": false,
9
  "id": 16,
10
  "links": [],
11
  "refresh": "1m",
12
  "rows": [
13
    {
14
      "collapse": false,
15
      "height": 237,
16
      "panels": [
17
        {
18
          "aliasColors": {
19
            "sso-3": "#82B5D8",
20
            "sso-1": "#7EB26D",
21
            "sso-2": "#EAB839"
22
          },
23
          "bars": false,
24
          "datasource": null,
25
          "editable": true,
26
          "error": false,
27
          "fill": 7,
28
          "grid": {},
29
          "id": 9,
30
          "legend": {
31
            "avg": false,
32
            "current": false,
33
            "max": false,
34
            "min": false,
35
            "show": true,
36
            "total": false,
37
            "values": false
38
          },
39
          "lines": true,
40
          "linewidth": 0,
41
          "links": [],
42
          "nullPointMode": "connected",
43
          "percentage": false,
44
          "pointradius": 5,
45
          "points": false,
46
          "renderer": "flot",
47
          "seriesOverrides": [],
48
          "span": 4,
49
          "stack": true,
50
          "steppedLine": false,
51
          "targets": [
52
            {
53
              "expr": "eolesso_login_gauge",
54
              "intervalFactor": 2,
55
              "legendFormat": "{{host}}",
56
              "metric": "eolesso_login_gauge",
57
              "refId": "A",
58
              "step": 120
59
            }
60
          ],
61
          "thresholds": [],
62
          "timeFrom": null,
63
          "timeShift": null,
64
          "title": "Nombre de tickets de login (TicketCache)",
65
          "tooltip": {
66
            "msResolution": false,
67
            "shared": true,
68
            "sort": 0,
69
            "value_type": "cumulative"
70
          },
71
          "type": "graph",
72
          "xaxis": {
73
            "mode": "time",
74
            "name": null,
75
            "show": true,
76
            "values": []
77
          },
78
          "yaxes": [
79
            {
80
              "format": "short",
81
              "label": null,
82
              "logBase": 1,
83
              "max": null,
84
              "min": null,
85
              "show": true
86
            },
87
            {
88
              "format": "short",
89
              "label": null,
90
              "logBase": 1,
91
              "max": null,
92
              "min": null,
93
              "show": true
94
            }
95
          ]
96
        },
97
        {
98
          "bars": true,
99
          "datasource": null,
100
          "editable": true,
101
          "error": false,
102
          "fill": 10,
103
          "grid": {},
104
          "id": 4,
105
          "legend": {
106
            "avg": false,
107
            "current": false,
108
            "max": false,
109
            "min": false,
110
            "show": true,
111
            "total": false,
112
            "values": false
113
          },
114
          "lines": false,
115
          "linewidth": 0,
116
          "links": [],
117
          "nullPointMode": "null as zero",
118
          "percentage": false,
119
          "pointradius": 5,
120
          "points": false,
121
          "renderer": "flot",
122
          "seriesOverrides": [],
123
          "span": 4,
124
          "stack": true,
125
          "steppedLine": true,
126
          "targets": [
127
            {
128
              "expr": "(rate(eolesso_sessions_new_counter[10m]))*60*2",
129
              "intervalFactor": 2,
130
              "legendFormat": "{{host}} [{{authclass}}]",
131
              "metric": "eolesso_sessions_new_counter",
132
              "refId": "A",
133
              "step": 120
134
            }
135
          ],
136
          "thresholds": [],
137
          "timeFrom": null,
138
          "timeShift": null,
139
          "title": "Nb connexions/s",
140
          "tooltip": {
141
            "msResolution": false,
142
            "shared": true,
143
            "sort": 0,
144
            "value_type": "individual"
145
          },
146
          "type": "graph",
147
          "xaxis": {
148
            "mode": "time",
149
            "name": null,
150
            "show": true,
151
            "values": []
152
          },
153
          "yaxes": [
154
            {
155
              "format": "short",
156
              "label": null,
157
              "logBase": 1,
158
              "max": null,
159
              "min": null,
160
              "show": true
161
            },
162
            {
163
              "format": "short",
164
              "label": null,
165
              "logBase": 1,
166
              "max": null,
167
              "min": null,
168
              "show": true
169
            }
170
          ]
171
        },
172
        {
173
          "aliasColors": {
174
            "sso-3": "#82B5D8",
175
            "sso-1": "#7EB26D",
176
            "sso-2": "#EAB839"
177
          },
178
          "bars": false,
179
          "datasource": null,
180
          "editable": true,
181
          "error": false,
182
          "fill": 3,
183
          "grid": {},
184
          "id": 2,
185
          "legend": {
186
            "avg": false,
187
            "current": false,
188
            "max": false,
189
            "min": false,
190
            "show": true,
191
            "total": false,
192
            "values": false
193
          },
194
          "lines": true,
195
          "linewidth": 1,
196
          "links": [],
197
          "nullPointMode": "null",
198
          "percentage": false,
199
          "pointradius": 5,
200
          "points": false,
201
          "renderer": "flot",
202
          "seriesOverrides": [],
203
          "span": 4,
204
          "stack": true,
205
          "steppedLine": false,
206
          "targets": [
207
            {
208
              "expr": "eolesso_sessions_nb_gauge",
209
              "intervalFactor": 1,
210
              "legendFormat": "{{host}}",
211
              "metric": "eolesso_sessions_gauge",
212
              "refId": "A",
213
              "step": 60
214
            }
215
          ],
216
          "thresholds": [],
217
          "timeFrom": null,
218
          "timeShift": null,
219
          "title": "Nombre de tickets de sessions (auth)",
220
          "tooltip": {
221
            "msResolution": false,
222
            "shared": true,
223
            "sort": 0,
224
            "value_type": "cumulative"
225
          },
226
          "type": "graph",
227
          "xaxis": {
228
            "mode": "time",
229
            "name": null,
230
            "show": true,
231
            "values": []
232
          },
233
          "yaxes": [
234
            {
235
              "format": "short",
236
              "label": null,
237
              "logBase": 1,
238
              "max": null,
239
              "min": null,
240
              "show": true
241
            },
242
            {
243
              "format": "short",
244
              "label": null,
245
              "logBase": 1,
246
              "max": null,
247
              "min": null,
248
              "show": true
249
            }
250
          ]
251
        }
252
      ],
253
      "repeat": null,
254
      "repeatIteration": null,
255
      "repeatRowId": null,
256
      "showTitle": false,
257
      "title": "Row",
258
      "titleSize": "h6"
259
    },
260
    {
261
      "collapse": false,
262
      "height": "250px",
263
      "panels": [
264
        {
265
          "aliasColors": {
266
            "sso-3": "#82B5D8",
267
            "sso-1": "#7EB26D",
268
            "sso-2": "#EAB839"
269
          },
270
          "bars": false,
271
          "datasource": null,
272
          "editable": true,
273
          "error": false,
274
          "fill": 7,
275
          "grid": {},
276
          "id": 7,
277
          "legend": {
278
            "avg": false,
279
            "current": false,
280
            "max": false,
281
            "min": false,
282
            "show": true,
283
            "total": false,
284
            "values": false
285
          },
286
          "lines": true,
287
          "linewidth": 1,
288
          "links": [],
289
          "nullPointMode": "connected",
290
          "percentage": false,
291
          "pointradius": 5,
292
          "points": false,
293
          "renderer": "flot",
294
          "seriesOverrides": [],
295
          "span": 6,
296
          "stack": true,
297
          "steppedLine": true,
298
          "targets": [
299
            {
300
              "expr": "eolesso_calcdata_gauge",
301
              "intervalFactor": 2,
302
              "legendFormat": "{{host}}",
303
              "metric": "eolesso_calcdata_gauge",
304
              "refId": "A",
305
              "step": 60
306
            }
307
          ],
308
          "thresholds": [],
309
          "timeFrom": null,
310
          "timeShift": null,
311
          "title": "taille du cache des attributs calculés",
312
          "tooltip": {
313
            "msResolution": false,
314
            "shared": true,
315
            "sort": 0,
316
            "value_type": "cumulative"
317
          },
318
          "type": "graph",
319
          "xaxis": {
320
            "mode": "time",
321
            "name": null,
322
            "show": true,
323
            "values": []
324
          },
325
          "yaxes": [
326
            {
327
              "format": "decbytes",
328
              "label": "Octets",
329
              "logBase": 1,
330
              "max": null,
331
              "min": null,
332
              "show": true
333
            },
334
            {
335
              "format": "short",
336
              "label": null,
337
              "logBase": 1,
338
              "max": null,
339
              "min": null,
340
              "show": true
341
            }
342
          ]
343
        },
344
        {
345
          "aliasColors": {
346
            "sso-3": "#82B5D8",
347
            "sso-1": "#7EB26D",
348
            "sso-2": "#EAB839"
349
          },
350
          "bars": false,
351
          "datasource": null,
352
          "editable": true,
353
          "error": false,
354
          "fill": 5,
355
          "grid": {},
356
          "id": 8,
357
          "legend": {
358
            "avg": false,
359
            "current": false,
360
            "max": false,
361
            "min": false,
362
            "show": true,
363
            "total": false,
364
            "values": false
365
          },
366
          "lines": true,
367
          "linewidth": 1,
368
          "links": [],
369
          "nullPointMode": "connected",
370
          "percentage": false,
371
          "pointradius": 5,
372
          "points": false,
373
          "renderer": "flot",
374
          "seriesOverrides": [],
375
          "span": 6,
376
          "stack": true,
377
          "steppedLine": false,
378
          "targets": [
379
            {
380
              "expr": "eolesso_userdata_gauge",
381
              "intervalFactor": 2,
382
              "legendFormat": "{{host}}",
383
              "metric": "eolesso_userdata_gauge",
384
              "refId": "A",
385
              "step": 60
386
            }
387
          ],
388
          "thresholds": [],
389
          "timeFrom": null,
390
          "timeShift": null,
391
          "title": "taille du cache des attributs ldap",
392
          "tooltip": {
393
            "msResolution": false,
394
            "shared": true,
395
            "sort": 0,
396
            "value_type": "cumulative"
397
          },
398
          "type": "graph",
399
          "xaxis": {
400
            "mode": "time",
401
            "name": null,
402
            "show": true,
403
            "values": []
404
          },
405
          "yaxes": [
406
            {
407
              "format": "decbytes",
408
              "label": "Octets",
409
              "logBase": 1,
410
              "max": null,
411
              "min": null,
412
              "show": true
413
            },
414
            {
415
              "format": "short",
416
              "label": null,
417
              "logBase": 1,
418
              "max": null,
419
              "min": null,
420
              "show": true
421
            }
422
          ]
423
        }
424
      ],
425
      "repeat": null,
426
      "repeatIteration": null,
427
      "repeatRowId": null,
428
      "showTitle": false,
429
      "title": "New row",
430
      "titleSize": "h6"
431
    },
432
    {
433
      "collapse": false,
434
      "height": "250px",
435
      "panels": [
436
        {
437
          "aliasColors": {
438
            "sso.ac-reunion.fr:4430": "#82B5D8",
439
            "sso.ac-reunion.fr:4431": "#E5A8E2",
440
            "sso.ac-reunion.fr:4432": "#AEA2E0"
441
          },
442
          "bars": false,
443
          "datasource": null,
444
          "editable": true,
445
          "error": false,
446
          "fill": 0,
447
          "grid": {},
448
          "id": 3,
449
          "legend": {
450
            "alignAsTable": true,
451
            "avg": false,
452
            "current": true,
453
            "max": false,
454
            "min": false,
455
            "rightSide": true,
456
            "show": true,
457
            "total": false,
458
            "values": true
459
          },
460
          "lines": true,
461
          "linewidth": 1,
462
          "links": [],
463
          "nullPointMode": "null as zero",
464
          "percentage": false,
465
          "pointradius": 5,
466
          "points": false,
467
          "renderer": "flot",
468
          "seriesOverrides": [],
469
          "span": 6,
470
          "stack": false,
471
          "steppedLine": false,
472
          "targets": [
473
            {
474
              "expr": "process_virtual_memory_bytes{job='eole_sso'}",
475
              "intervalFactor": 2,
476
              "legendFormat": "{{instance}}",
477
              "refId": "A",
478
              "step": 60
479
            }
480
          ],
481
          "thresholds": [
482
            {
483
              "colorMode": "critical",
484
              "fill": true,
485
              "line": true,
486
              "op": "gt",
487
              "value": 1517522817
488
            }
489
          ],
490
          "timeFrom": null,
491
          "timeShift": null,
492
          "title": "Mémoire utilisée",
493
          "tooltip": {
494
            "msResolution": false,
495
            "shared": true,
496
            "sort": 0,
497
            "value_type": "individual"
498
          },
499
          "type": "graph",
500
          "xaxis": {
501
            "mode": "time",
502
            "name": null,
503
            "show": true,
504
            "values": []
505
          },
506
          "yaxes": [
507
            {
508
              "format": "bytes",
509
              "label": null,
510
              "logBase": 1,
511
              "max": null,
512
              "min": null,
513
              "show": true
514
            },
515
            {
516
              "format": "short",
517
              "label": null,
518
              "logBase": 1,
519
              "max": null,
520
              "min": null,
521
              "show": true
522
            }
523
          ]
524
        },
525
        {
526
          "aliasColors": {
527
            "sso-3": "#82B5D8",
528
            "sso-1": "#7EB26D",
529
            "sso-2": "#EAB839"
530
          },
531
          "bars": false,
532
          "datasource": null,
533
          "editable": true,
534
          "error": false,
535
          "fill": 4,
536
          "grid": {},
537
          "id": 1,
538
          "legend": {
539
            "avg": false,
540
            "current": false,
541
            "max": false,
542
            "min": false,
543
            "show": true,
544
            "total": false,
545
            "values": false
546
          },
547
          "lines": true,
548
          "linewidth": 1,
549
          "links": [],
550
          "nullPointMode": "connected",
551
          "percentage": false,
552
          "pointradius": 5,
553
          "points": false,
554
          "renderer": "flot",
555
          "seriesOverrides": [],
556
          "span": 6,
557
          "stack": true,
558
          "steppedLine": false,
559
          "targets": [
560
            {
561
              "expr": "eolesso_appticket_gauge{job='eole_sso'}",
562
              "intervalFactor": 2,
563
              "legendFormat": "{{host}}",
564
              "metric": "eolesso_appticket_gauge",
565
              "refId": "A",
566
              "step": 60
567
            }
568
          ],
569
          "thresholds": [],
570
          "timeFrom": null,
571
          "timeShift": null,
572
          "title": "Nombre de Tickets applicatifs (AppTicket)",
573
          "tooltip": {
574
            "msResolution": false,
575
            "shared": true,
576
            "sort": 0,
577
            "value_type": "cumulative"
578
          },
579
          "type": "graph",
580
          "xaxis": {
581
            "mode": "time",
582
            "name": null,
583
            "show": true,
584
            "values": []
585
          },
586
          "yaxes": [
587
            {
588
              "format": "short",
589
              "label": null,
590
              "logBase": 1,
591
              "max": null,
592
              "min": null,
593
              "show": true
594
            },
595
            {
596
              "format": "short",
597
              "label": null,
598
              "logBase": 1,
599
              "max": null,
600
              "min": null,
601
              "show": true
602
            }
603
          ]
604
        }
605
      ],
606
      "repeat": null,
607
      "repeatIteration": null,
608
      "repeatRowId": null,
609
      "showTitle": false,
610
      "title": "New row",
611
      "titleSize": "h6"
612
    }
613
  ],
614
  "schemaVersion": 14,
615
  "style": "dark",
616
  "tags": [],
617
  "templating": {
618
    "list": []
619
  },
620
  "time": {
621
    "from": "now-12h",
622
    "to": "now"
623
  },
624
  "timepicker": {
625
    "refresh_intervals": [
626
      "5s",
627
      "10s",
628
      "30s",
629
      "1m",
630
      "5m",
631
      "15m",
632
      "30m",
633
      "1h",
634
      "2h",
635
      "1d"
636
    ],
637
    "time_options": [
638
      "5m",
639
      "15m",
640
      "1h",
641
      "6h",
642
      "12h",
643
      "24h",
644
      "2d",
645
      "7d",
646
      "30d"
647
    ]
648
  },
649
  "timezone": "browser",
650
  "title": "SSO Copy",
651
  "version": 0
652
}
Monitoring

Lancer l'environnement de monitoring

# cd /shared/prometheus/

# docker-compose -f prometheus-compose.yml start

Par défaut Grafana écoute sur le port 3000 et Prometheus sur le port 9090

Pour accéder à Grafana :

http://monitoring.ac-academie.fr:3000

Pour accéder à Prometheus :

http://monitoring.ac-academie.fr:9090

Compléments de configuration EoleSSO

Résumé des fichiers et liens
Fichiers de configuration
Fichiers de base
  • /usr/share/sso/config.py : fichier de configuration principal de l'application (sur un module Eole, la configuration est gérée via Creole)
  • /usr/share/sso/app_filters/*_apps.ini : définition des applications et spécification du filtre à utiliser
  • /usr/share/sso/app_filters/*.ini : fichiers de description des filtres d'attributs
  • /usr/share/sso/user_infos/*.py : fonctions de calcul d'attributs supplémentaires
  • /usr/share/sso/interface/theme : répertoire pour personnalisation de la CSS des pages d'authentification
Fichiers spécifiques au fonctionnement en mode SAML
  • /usr/share/sso/metadata/*.xml : fichiers metadata des entités partenaires (doit contenir le certificat utilisé pour la signature des requêtes)
  • /usr/share/sso/metadata/attributes.ini : définition des attributs requis/optionnels en tant que fournisseur de service (obsolète)
  • /usr/share/sso/attribute_sets/*.ini : description de jeux d'attributs pour la fédération via SAML
  • /usr/share/sso/attribute_sets/associations*.ini : fichiers de configuration des associations avec des fournisseurs d'identité
URL principales

Toutes les URL du service EoleSSO décrites ci-dessous commencent par https://addresse_serveur:8443 (port par défaut, peut être différent suivant la configuration du service).

URL Générales
  • / (sans paramètres) : Page d'accueil, le formulaire d'authentification est présenté et une session SSO est créée après validation. Si l'utilisateur est déjà authentifié il est redirigé sur la page /loggedin ou une liste des fédérations établies et des applications ayant un ticket est affichée

  • /logout : adresse de déconnexion de la session actuelle (gestion du Single Logout pour les protocoles le supportant)

URL spécifiques à CAS
  • /?service=X : Adresse d'obtention d'un ticket CAS pour les applications clientes (à utiliser comme URI de base dans la configuration des clients CAS)

    • service est l'URL de l'application désirant obtenir un ticket. Une fois la validité de la session SSO vérifiée, le service EoleSSO redirige l'utilisateur sur cette URL en passant le ticket en paramètre (nom du paramètre : ticket)

  • /validate?service=X&ticket=Y (ou /serviceValidate) : adresse de validation des tickets d'application CAS ;

    • service est l'URL du service pour lequel le ticket a été délivré

    • ticket est le ticket a vérifier (de type ST)

  • /proxyValidate?service=X&ticket=Y&pgtUrl=Z: adresse de validation des tickets d'application CAS en mode proxy

    • ticket est le ticket à vérifier (de type ST ou PT) ;

  • /samlValidate : adresse de validation des tickets CAS au format SAML 1. Les paramètres doivent être passés par méthode POST (méthode supportée par les client CAS java 3.1.X, phpCAS 1.1.0 et .NET CAS Client). Pour plus de détail sur, se reporter à la page http://en.wikipedia.org/wiki/SAML_1.1

    • TARGET : URL à laquelle la réponse doit être envoyée

    • Le corps de la requête doit contenir la requête SAML dans une enveloppe SOAP. Le ticket à valider est fourni comme valeur de l'élément AssertionArtifact

  • /proxy?pgt=X?targetService=Y : adresse d'obtention d'un ticket de type proxy

URL spécifiques à SAML 2 
  • /saml/metadata  : adresse de récupération des méta-données SAML du serveur (fournisseur d'identité et fournisseur de services)

  • /saml?sp_ident=X&RelayState=Y&index=Z : adresse à utiliser pour envoyer une assertion d'authentification SAML à un fournisseur de services

    • sp_ident est l'identifiant de ce partenaire (ou le nom de son fichier metadata sans l'extension .xml)

    • RelayState est une information (URL ou autre) indiquant au partenaire où l'utilisateur doit être redirigé après la validation de l'assertion ;

    • index permet de forcer l'utilisation d'un binding particulier (voir le fichier de méta données pour les valeurs possibles)

  • /saml/acs : adresse de traitement des assertions reçues en tant que fournisseur de services

  • /discovery?idp_ident=X&return_url=Y : adresse permettant d'envoyer un demande d'authentification à un fournisseur d'identité

    • idp_ident est l'identifiant de ce partenaire (ou le nom de son fichier metadata sans l'extension .xml)

    • return_url est le service de destination sur lequel rediriger après authentification

Astuces d'exploitation
Journalisation du service

Le fichier de journalisation du service EoleSSO est /var/log/rsyslog/local/eolesso/eolesso.info.log.

Il est possible d'activer un mode debug affichant beaucoup plus d'informations dans le fichier de log.

Pour l'activer, ouvrez le fichier /usr/share/sso/config.py et remplacer la ligne

DEBUG_LOG = False

par

DEBUG_LOG = True

Cette option de debug est à utiliser temporairement pour éviter de rendre les logs illisibles (et limiter l'espace disque utilisé). En cas de mise à jour du paquet eole-sso, elle sera réinitialisée à sa valeur par défaut.

Quand ce mode est activé, il est également possible d'afficher certaines requêtes SAML dans le navigateur en ajoutant un paramètre show=1 aux urls gérant leur envoi.

Cela est possible dans les cas suivants :

  • envoi d'une assertion d'authentification (ex : /saml?sp_ident=X&show=1)

  • envoi d'une requête d'authentification (ex : /discovery?idp_ident=X&show=1)

Rechargement de la configuration du service

Il est possible de recharger le service EoleSSO (au lieu de le redémarrer) afin de prendre en compte de nouvelles données de configuration. Pour cela utilisez la commande suivante :

CreoleService eole-sso reload

L'avantage de cette méthode par rapport à CreoleService eole-sso restart est que les sessions des utilisateurs en cours sont conservées.

Les données suivantes sont prises en compte lors du rechargement :

  • filtres d'attributs et description d'applications (situés dans /usr/share/sso/app_filters) ;

  • jeu d'attributs et fichier de configuration d'associations (situés dans /usr/share/sso/attribute_sets) ;

  • fichiers metadata des entités partenaires (situés dans /usr/share/sso/metadata) ;

  • définitions d'attributs calculés (situés dans /usr/share/sso/user_infos).

Exemple de Fédération avec RSA/FIM
Préparation de la configuration FIM

Les données suivantes sont nécessaires pour configurer l'association dans FIM :

  • Les méta-données du serveur EoleSSO : wget https://<ip_serveur_sso>:8443/saml/metadata --no-check-certificate --outputfile=eolesso.xml
  • le certificat du serveur EoleSSO : /etc/ssl/certs/eole.crt (fichier par défaut, peut varier selon la configuration)

Si le certificat est au format PEM (c'est le cas du certificat par défaut sur un module EOLE), il faut le convertir au format DER : openssl x509 -inform PEM -outform DER -in eole.crt -out eole_der.crt

Une fois converti, utiliser la commande keytool pour intégrer le certificat à un truststore du serveur RSA/FIM (ou créer un truststore spécifique à cette occasion). Sur notre serveur de test, ils sont situés dans /appli/federation/rsa-fim-config/keystores

Par exemple : <chemin_vers_jdk>/bin/keytool -import -alias fs-ac-mon_acad-et-mon_etab-1.0 -keystore mon_truststore-trust.jks -file eole_der.crt

Configuration du fournisseur d'identité :

  • aller dans Quick Setup -> add New Partner ;

  • importer le fichier de méta-données eolesso.xml et donner un nom d'entité ;

  • sauver dans la page suivante (association), choisir le fournisseur de service (FIM) ;

  • cliquer sur l'onglet general settings et choisir les réglages suivants :

    • Encrypting/Signature truststores : sélectionner le truststore créé ci dessus ;
    • cocher la case Transient Plug-in ;
    • le greffon 'dictao cleartrust transient plugin' doit être sélectionné ;
    • attribute plugin : ajouter DictaoDumbAttributePluginRP ;
    • laisser les autres valeurs par défaut et sauver.
Configuration du serveur EoleSSO

La première étape est de récupérer le fichier de méta-données du fournisseur de service dans FIMConfig :

  • Entities -> local entities -> manage existing ;
  • cliquer sur le fournisseur, puis sur 'Export' dans le menu déroulant ;
  • valider avec les valeurs par défaut, et copier le contenu affiché dans un fichier sur votre machine locale.

Placer ce fichier dans le répertoire /usr/share/sso/metadata (dans cet exemple, fim_sp.xml) du serveur EoleSSO et redémarrer le service.

Attention

Le fichier de méta-données doit être un fichier XML valide. Si l'entête suivant n'est pas présent, ajoutez le au début du fichier :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

Test du lien de fédération

Pour accéder à une ressource au moyen de la fédération, il faut utiliser une adresse de ce type :

https://<adresse_FI>:8443/saml?sp_ident=<id_FS>&RelayState=<adresse_service>

Fédération entre 2 serveurs EoleSSO
Synopsis

On considère la situation suivante :

Un serveur Scribe en établissement (adresse : Scribe_FI) propose l'accès à des ressources protégé par un serveur Seshat (adresse : Seshat_FS) à travers son portail local.

Une réplication d'annuaire est en place entre les 2 serveurs (le serveur Seshat répliquant les annuaires de plusieurs établissements).

On souhaite que l'utilisateur se connecte sur le portail établissement du serveur Scribe, et accès à un application web du serveur Seshat (en saisissant une seule fois ses identifiants lors de la connexion au portail).

Pour permettre de retrouver les utilisateurs sur le fournisseur de service, on décide d'utiliser comme clé de jointure le champ FederationKey de l'annuaire de Scribe. Ce champ étant unique au niveau national, il n'y aura pas de problème

Complément

Se reporter à la partie traitant de la gestion des identifiants ENT dans la documentation Scribe pour plus d'informations sur la mise en place de l'attribut FederationKey

Configuration du fournisseur d'identité (module Scribe)

La première étape est de définir un filtre pour définir les attributs à envoyer au fournisseur de service dans l'assertion SAML.

Par défaut, le serveur EoleSSO utilise le filtre défini dans le fichier /usr/share/sso/app_filters/saml.ini si aucun filtre n'est spécifié pour l'adresse du fournisseur de service (pour information, cette adresse est https://Seshat_FS:8443/saml/acs).

Il n'y a ici rien à modifier car ce filtre envoie l'attribut FederationKey.

Configuration du fournisseur de service (Seshat)

Sur le fournisseur de service, il faut indiquer le jeu d'attributs à utiliser pour établir la correspondance entre les attributs donnés dans l'assertion SAML et les attributs présents dans l'annuaire de Seshat.

Ici aussi, la configuration par défaut convient. Si aucun jeu d'attribut n'est défini pour l'identifiant du fournisseur d'identité, le jeu par défaut est FederationKey=FederationKey, ce qui correspond à notre cas d'utilisation.

Ce filtre est défini dans le fichier /usr/share/sso/attribute_sets/default.ini.

Mise en oeuvre du lien de fédération

Une fois les 2 serveurs configurés, on échange les fichiers de méta données pour établir le lien. Une méthode simple est de le faire par les commandes suivantes :

  • sur le module Scribe : wget --no-check-certificate -O /usr/share/sso/metadata/seshat.xml https://seshat_FS:8443/saml/metadata
  • sur le module Seshat : wget --no-check-certificate -O /usr/share/sso/metadata/scribe.xml https://scribe_FI:8443/saml/metadata
  • redémarrer le service eole-sso sur les 2 serveurs : CreoleService eole-sso restart

Pour tester le fonctionnement de la fédération, taper l'URL suivante dans un navigateur :

https://scribe_FI:8443/saml?sp_ident=seshat

Après validation du formulaire pour confirmer l'accès, le navigateur doit être redirigé sur l'URL https://seshat_FS:8443/loggedin. Des informations sur la session établie par le serveur Seshat sont affichées sur cette page

une fois le lien de fédération fonctionnel, ajouter un lien dans le portail du serveur Scribe pour accéder à l'application sur Seshat:

https://scribe_FI:8443/saml?sp_ident=seshat&RelayState=https://seshat_FS/mon_application

Mise en place de l'authentification OTP

Le service EoleSSO est capable de valider une authentification par clé OTP auprès d'un serveur RSA Authentication Manager (protocole SecurID).

Pour permettre ce fonctionnement, il est nécessaire d'installer sur le serveur un module PAM fourni par EMC.

Ce module est disponible à l'adresse suivante :

http://france.emc.com/security/rsa-securid/rsa-authentication-agents/pam-7-1.htm

La dernière version testée est la version 7.1.0.1. elle nécessite au minimum un serveur RSA Authentication Manager version 6.1 ou 7.1

Ce client n'est pas certifié pour fonctionner sur le système GNU/Linux Ubuntu, il peut être nécessaire de modifier le script d'installation présent dans l'archive pour qu'il s'exécute correctement sur un serveur EOLE (voir ci-dessous).

Complément

Adaptation du fichier install_pam.sh pour une installation sur un serveur EOLE :

  • Remplacer les occurrences de chmod 755 par chmod 644 pour appliquer les permissions préconisées par la distribution.
  • Rechercher la section concernant le paramétrage pour Linux (ligne 362 dans la version testée) :

Dans le bloc else (serveur 64 bits), remplacer  MODULE_DIR_SECONDARY="/lib64/security/" par MODULE_DIR_SECONDARY="/lib/x86_64-linux-gnu/security/".

La même modification doit être effectuée sur le fichier uninstall_pam.sh si vous souhaitez désinstaller l'agent.

Cette modification concerne la dernière version testée du client (v7.1.0.1.16.05_06_13_02_04_01).

Un fichier de configuration est livré avec EoleSSO pour utiliser le module fourni (/etc/pam.d/rsa_securid)

Le module nécessite également les étapes suivantes :

  • enregistrement du serveur hébergeant EoleSSO en tant qu'agent dans la configuration du serveur Authentication Manager ;
  • copie du fichier sdconf.rec présent sur le serveur RSA dans le répertoire /var/ace (serveur EoleSSO) ;
  • activer la gestion de l'authentification OTP dans EoleSSO (dans l'interface de configuration du module, onglet Eole sso puis redémarrer le service). Se reporter à la section Configuration pour le détail des options de configuration disponibles.
Truc & astuce

Deux utilitaires sont livrés avec le module PAM pour tester le fonctionnement :

  • /opt/pam/bin/32bit/acestatus : affiche les informations sur le serveur présentes dans sdconf.rec
  • /opt/pam/bin/32bit/acetest : permet de valider l'authentification d'un utilisateur

Sur un serveur 64 bits, les utilitaires livrés avec le module PAM se trouvent dans le répertoire /opt/pam/bin/64bit.

AttentionVersions 32 ou 64 bits

Les scripts d'installation fournis n'installent pas toujours correctement le module PAM. En cas de dysfonctionnement, vérifier que la version installée de la librairie correspond bien à l'architecture de la machine (voir complément ci dessus sur le script d'installation).

Vous pouvez comparer le fichier pam_securid.so installé avec les version 32 ou 64 bits qui peuvent être trouvées dans l'archive sd_pam_agent.tar du répertoire /lnx du répertoire d'installation de l'agent.

La librairie doit être installée dans le répertoire /lib64/security/ dans le cas d'une version d'EOLE inférieure à 2.5.0 ou dans le répertoire /lib/x86_64-linux-gnu/security/ dans le cas contraire.

Application de redirection : Eole-dispatcher

Dans le cadre de l'utilisation du module Seshat en tant que point d'entrée d'un ENT centralisé, l'application Eole-dispatcher permet de rediriger les utilisateurs vers leur établissement d'origine. Elle se base sur les informations remontées lors de la mise en place de la réplication des serveurs Scribe.

Elle est également prévue pour gérer le cas de l'affectation multiple pour les enseignants et les responsables :

  • un enseignant qui aurait des services sur plusieurs établissements se verrait proposer le choix de l'établissement sur lequel il souhaite se connecter ;

  • un parent d'élève qui aurait plusieurs enfants dans des établissements différents se verrait également proposer le choix de l'établissement. Il est à noter que la problématique de la l'affectation multiple pour un élève ne se pose pas, puisque ce dernier ne peut pas être scolarisé dans deux établissements.

Eole-dispatcher est capable (au travers de ses filtres d'attributs) de gérer les sources d'authentification suivantes :

  • LDAP Académique pour les agents de l'Éducation nationale ;

  • LDAP Téléservices pour les parents et élèves ;

  • LDAP local (réplicat des serveurs Scribe) pour l'authentification des élèves et parents (si les téléservices ne sont pas déployés).

Remarque

Le terme affectation est à prendre au sens large, il désigne l'appartenance d'une personne à un établissement.

Pré-requis

Cette application nécessite :

  • la mise en place de la réplication LDAP des serveurs Scribe sur le serveur Seshat ;

  • l'alimentation des annuaires des serveurs Scribe avec des extractions AAF EXCLUSIVEMENT ;

  • la bonne saisie des numéros et libellés établissement sur les serveurs Scribe et Zéphir ;

  • la configuration d'une fédération entre chaque serveur Scribe et le serveur Seshat (voir documentation EoleSSO au chapitre : Fédération entre 2 serveurs EoleSSO).

Installation

Le dispatcher est à installer sur le module Seshat, afin d'utiliser son portail EoleSSO comme portail unique d'authentification vers les ENT (Envole).

L'application n'est pas installée par défaut. Via l'interface de configuration du module, configurer le serveur pour recevoir les applications web :

  • en mode normal dans l'onglet Services, passer Activer le serveur web Apache à oui ;

  • dans l'onglet Applications web, saisissez le nom de domaine des applications web dans Nom de domaine des applications web (sans http://);

  • enregistrer la configuration et quitter l'interface de configuration du module.

Puis saisir les commandes suivantes sur le module Seshat pour installer le paquet eole-dispatcher :

# Query-Auto

# apt-eole install eole-dispatcher

Configuration

Une fois les paquets installés, il faut de nouveau se rendre dans l'onglet Application web de l'interface de configuration du module et passer Activation de la redirection vers les portails ENT à oui. Des paramètres supplémentaires s'affichent.

  • Rediriger en automatique si un seul ENT ;

  • Proposer le PIA aux professeurs : permet de proposer le portail académique aux enseignants ;

  • RNE du Portail académique (PIA) : permet de saisir l'UAI du portail académique ;

  • Portail académique (PIA) : portail sur lequel seront redirigés les personnels académiques ;

  • Portail par défaut : adresse du site Internet dédié à l'ENT si aucun portail d'établissement n'est disponible pour l'utilisateur ;

  • webService Arena : URL complète du webService ARENA pour la récupération des ressources ;

  • Zone par défaut pour le webService Arena : zone par défaut du portail ARENA.

Il est possible de changer ou de désactiver le thème.

Une fois l'application paramétrée, il est nécessaire de reconfigurer le serveur à l'aide de la commande reconfigure.

Une fois le serveur reconfiguré, l'application est accessible à l'adresse : http://<adresse_serveur>/edispatcher/

Truc & astuce

Il est possible de rendre l'application directement accessible depuis l'adresse http://<adresse_serveur>/, en renseignant /edispatcher en tant qu'Application web par défaut (redirection) dans la famille Applications web

Fonctionnement

L'installation du dispatcher va mettre en place sur le serveur SSO les filtres d'attributs nécessaires afin de rediriger correctement la personne.

Extrait du fichier /usr/share/sso/app_filters/dispatcher.ini :

[user]

rne=ecs_rne

user=uid

uid=uid

source=SourceAuth

FederationKey=DispatcherKey

displayName=displayName

profils=DispatcherProfils

auth=auth

L'attribut calculé ecs_rne, va permettre de récupérer les codes RNE en fonction des établissements d'affectation de l'utilisateur.

Lors de la connexion d'une personne, Eole-dispatcher va prendre tous les RNE reçus de EoleSSO et présenter tous les liens de fédération pour l'accès aux portails Envole le concernant.

ExempleExemple d'URL de fédération

 https://<domaineSeshatSSO>/saml?sp_ident=<id_fs>&RelayState=https://<URL_du_portail_Établissement>

Cette URL effectue une fédération vers le fournisseur de service <id_fs> et redirige vers l'<URL_du_portail_Établissement> du client en fournissant un identifiant de session.

Eole-dispatcher et EoleSSO
RNE : id_fs

id_fs est :

  • soit l'identifiant du fournisseur de service (entityID tel que défini dans son fichier de méta-données) ;

  • soit le nom de son fichier de méta-données placé dans /usr/share/sso/metadata/ (sans l'extension .xml).

Par simplicité il est possible de nommer le fichier metadata de nos entités partenaires (Serveur Scribe des établissements) par <RNE>.xml ; id_fs est alors le code RNE de l'établissement.

Libellé et adresse du portail des établissements : URL_du_portail_Établissement

EoleSSO va générer automatiquement, à chaque redémarrage du service eole-sso, un fichier dans /var/www/html/edispatcher/utils/etabs.ini qui va contenir les entrées nécessaires pour chaque établissement :

[9740091F]

libelle = COLLEGE LECONTE DE LISLE

portail = https://portail.college-lecontedelisle.re

...

Ces entrées sont récupérées depuis Zéphir, il est donc nécessaire que les serveurs Scribe soient enregistrés sur le serveur Zéphir. Dans le cas contraire, ou si des informations sont incorrectes ou manquantes, il faudra remplir ce fichier à la main (voir le chapitre : Gestion des sources d'authentification multiples).

Vous pouvez vous baser sur le fichier d'exemple : /var/www/html/edispatcher/utils/etabs.ini.sample.

Truc & astuceMessage d'erreur : aucun portail trouvé

Il manque une section pour le code RNE dans le fichier /var/www/html/edispatcher/utils/etabs.ini.

Description de liens vers des applications web ou vers des portails.

Fichier /var/www/html/edispatcher/applications.ini :

  • Format des sections :

[<identifiant du lien>]

url="<adresse du lien>"

piwik=<identifiant piwik>

  • Paramétrage des URLs : il est possible d'insérer des étiquettes dynamiques dans les URLs

[SSO] : adresse du serveur SSO de Seshat

[PORTAILHOST] : portail dépendant de la zone d'accès du client (configuré dans portails.ini)

[TICKET] : identifiant de session

Configuration de l'accès à un portail en fonction de la plage IP du client

Eole-dispatcher est également utilisé dans certaines académies comme portail d'authentification unique pour l'accès aux portails ARENA[114].

Il peut exister plusieurs portails en fonction de l'endroit où se trouve l'utilisateur. Par exemple, dans l'académie de la Réunion il existe au moins trois portails d'accès aux application ARENA :

  • portail.ac-reunion.fr (accessible en externe) ;

  • scoens.ac-reunion.fr (depuis le réseau pédagogique des établissements) ;

  • scoweb.ac-reunion.fr (depuis le réseau administratif).

Chaque portail, en fonction de sa zone de confinement, ne présentera pas les mêmes ressources et l'utilisation d'une clé OTP[103] sera proposée ou non.

Il faut donc permettre à l'utilisateur d'obtenir le bon portail en fonction de la zone où il se trouve.

Complément

La fonction GetPortailHost du fichier /var/www/html/edispatcher/inc.php du dispatcher permet, en fonction de l'adresse IP du client, de rediriger l'utilisateur vers le bon portail. La récupération de l'adresse IP du client se base sur le champ HTTP_X_FORWARDED_FOR des headers HTTP.

Les différentes associations réseau / portail sont définies dans le fichier /var/www/html/edispatcher/utils/portails.ini.

Créer le fichier /var/www/html/edispatcher/utils/portails.ini et ajouter des sections décrivant une plage IP et l'adresse du portail correspondant :

[<adresse IP>]

mask=<masque IP>

portail="<adresse du portail pour cette plage IP>"

Un exemple de fichier est présent dans : /var/www/html/edispatcher/utils/portails.ini.sample.

Exemple

[172.16.0.0]

mask=13

portail="scoens.ac-reunion.fr"

arena="rev-proxy-peda"

[172.31.190.64]

mask=26

portail="portail.ac-reunion.fr"

arena="rev-proxy-id"

[172.31.16.0]

mask=16

portail="portail.ac-reunion.fr"

arena="rev-proxy-id"

[10.205.0.0]

mask=16

portail="scoweb.ac-reunion.fr"

arena="rev-proxy-agr"

Exemple

Dans cet exemple, tout utilisateur se présentant avec une adresse IP du réseau 10.205.0.0/16, se verra renvoyé vers l'URL du portail académique https://scoweb.ac-reunion.fr.

La variable arena, permet de spécifier la zone ClearTrust associée au portail. Elle est utilisée si vous souhaitez intégrer les ressources ARENA dans le bureau Envole.

Plus d'informations : https://envole.ac-dijon.fr/wordpress/2014/02/19/integration-de-arena-dans-le-bureau-envole.

Configuration du fournisseur d'identité France Connect

Pour mettre en place la relation de confiance entre EoleSSO et France Connect, il faut effectuer une demande d'enregistrement auprès de France Connect : https://franceconnect.gouv.fr/inscription

Le fournisseur d'identité France Connect renvoi un identifiant client (Client ID) et une clé privée secrète ( Client secret) utilisé pour valider les échanges. Il met à disposition un certain nombre d'URLs nécessaires à la configuration du client.

Pour l'inscription il est demandé les informations suivantes:

  • le nom du service ;

  • une adresse électronique de contact ;

  • un logo représentant le fournisseur de service (logo EOLE, logo de l'académie...) qui apparaîtra sur la page d'authentification de France Connect ;

  • une adresse dite de callback : adresse sur laquelle est renvoyé l'utilisateur après authentification.

    Dans le cas d'EoleSSO cette adresse est :

    https://<adresse_serveur_eolesso>:8443/oidcallback

Les logos et bouton de connexion France Connect sont déjà fournis avec EoleSSO.

Complément

Pour plus d'informations sur le fonctionnement et la configuration, se reporter à : https://franceconnect.gouv.fr/fournisseur-service

Les conditions d'utilisation de France Connect et le processus de raccordement sont décrites dans le document PDF suivant :

https://franceconnect.gouv.fr/files/CGU FS - Annexe Processus d'implementation de FC par FS V2.1.pdf

À noter que parmi les conditions, une déclaration CNIL simplifiée est disponible et une recette de la solution technique mise en œuvre doit être effectuée par le SGMAP[111].

Une configuration prédéfinie est fournie pour France Connect.

Pour l'activer, choisissez fconnect dans la liste déroulante de la variable Référence du fournisseur d'identité OpenID, ne pas oublier de valider le choix pour faire apparaître les différentes variables.

Attention

L'identifiant client (Client ID) et la clé privée secrète ( Client secret) renvoyés par le fournisseur d'identité utilisés pour valider les échanges doivent être, pour des raisons de sécurité, stockés dans un fichier à part avec des droits restreints.

Pour chaque fournisseur d'identité, ajouter une ligne dans le fichier /etc/eole/eolesso_openid.conf :

<nom_fournisseur> = "<client id> :<client secret>"

Le nom_fournisseur doit correspondre au paramètre Référence du fournisseur d'identité OpenID renseigné dans l'interface de configuration du module.

Si ces informations ne sont pas renseignées pour l'un des fournisseurs déclarés, un message l'indiquera au lancement de la commande diagnose.

Configuration du fournisseur d'identité Google (Google APIs).
Déclaration d'EoleSSO comme fournisseur de service

Pour récupérer votre Client ID / Client Secret, vous devez créer un compte développeur depuis cette adresse : https://developers.google.com/

Rendez-vous dans la console développeur de Google afin de déclarer votre service EoleSSO comme application : https://console.developers.google.com

  • Créez un nouveau projet (barre supérieure de la console -> select a project -> create a project) ;

  • Une fois le projet créé, cliquez sur la barre de menu gauche (3 barres horizontales), puis sur API Manager. Cliquez ensuite sur Credentials (à gauche) ;

  • Cliquer sur Oauth Consent Screen et renseigner au minimum le champ Product name shown to users (par exemple 'établissement xxx') ;

  • Sauvegarder et dans Credentias, cliquer sur Create credentials, *Oauth Client ID" ;

  • Choisir Web application et renseigner les champs suivants :

  • Cliquer sur Create et recopier l'identifiant et la clé secrète fournis ;

Configuration du fournisseur d'identité (Google) dans l'interface de configuration du module

Une fois les identifiants récupérés, vous pouvez configurer les paramètres d'EoleSSO (gen_config, onglet Eole SSO en mode expert)

En cas de problème, les paramètres en cours de validité sont décrits ici : https://accounts.google.com/.well-known/openid-configuration

Pour plus d'informations sur le support d'OpenID de Google : https://developers.google.com/identity/protocols/OpenIDConnect

Attention

L'identifiant client (Client ID) et la clé privée secrète ( Client secret) renvoyés par le fournisseur d'identité utilisés pour valider les échanges doivent être, pour des raisons de sécurité, stockés dans un fichier à part avec des droits restreints.

Pour chaque fournisseur d'identité, ajouter une ligne dans le fichier /etc/eole/eolesso_openid.conf :

<nom_fournisseur> = "<client id> :<client secret>"

Le nom_fournisseur doit correspondre au paramètre Référence du fournisseur d'identité OpenID renseigné dans l'interface de configuration du module.

Si ces informations ne sont pas renseignées pour l'un des fournisseurs déclarés, un message l'indiquera au lancement de la commande diagnose.

Mise en oeuvre de LemonLDAP::NG

Installation et activation de LemonLDAP::NG

Installation de LemonLDAP::NG
Installation sur Scribe, AmonEcole ou Seth Éducation

Pour activer le serveur LemonLDAP::NG[100] sur les modules Scribe, AmonEcole ou Seth Éducation, il faut installer le paquet eole-lemonldap-ng-auto.

1
apt install eole-lemonldap-ng-auto

Le service sera alors pré-configuré pour utiliser l'annuaire du module.

Installation sur les autres modules

Pour activer le serveur LemonLDAP::NG sur les autres modules EOLE (Eolebase par exemple), il faut installer le paquet eole-lemonldap-ng.

1
apt install eole-lemonldap-ng

Les sources d'authentification seront à saisir dans l'interface de configuration du module.

AttentionModule Seth

L'installation du paquet eole-lemonldap-ng-auto sur un module Seth transformera ce dernier en Seth Éducation !

Truc & astuceLemonLDAP vs EoleSSO

L'installation des paquets eole-lemonldap-ng et/ou eole-lemonldap-ng-auto entraîne la désinstallation du paquet eole-sso-server par le jeu des dépendances de paquets (dpkg[24]).

Onglet Lemonldap : Configuration du service SSO pour l'authentification unique

Partie Configuration
Écran
  • 1
    Nom DNS du service d'authentification LemonLDAP-NG

    Variable calculée.

  • 2
    Configurer LemonLDAP-NG depuis l’interface d’administration

    Permet d’activer l’interface d’administration fournie par le projet LemonLDAP::NG.

    Par défaut, cette interface est désactivée, les cas classiques de configuration étant pris en charge via les mécanismes EOLE.

    AttentionConflit des modes de configuration

    La configuration de LemonLDAP::NG depuis son interface d’administration écrase et remplace celle générée via les mécanismes EOLE.

  • 3
    Nom DNS du manager LemonLDAP-NG

    Indique le nom de domaine avec lequel le manager de LemonLDAP::NG sera joignable. Cette variable est pré-remplie automatiquement.

  • 4
    Nom DNS du service Reload LemonLDAP-NG

    Indique le nom de domaine avec lequel le service de rechargement de LemonLDAP::NG sera joignable. Cette variable est pré-remplie automatiquement.

  • 5
    Nom de domaine des cookies

    Cette variable est pré-remplie.

  • 6
    Backend pour les comptes utilisateurs

    Permet d’adapter le protocole utilisé en fonction du type d’annuaire associé. Le choix s’effectue entre les types LDAP et AD (annuaire de type OpenLDAP ou annuaire de type Active Directory).

La variable Nom DNS du service d'authentification LemonLDAP-NG doit être renseignée avec le nom DNS du serveur précédé du nom du service.

La variable Configurer LemonLDAP-NG depuis l'interface d'administration permet d'activer l'interface d'administration de LemonLDAP::NG.

Si la variable est à oui une nouvelle variable apparaît en mode Normal et deux en mode Expert.

Écran
  • 1
    Nom DNS du manager LemonLDAP-NG

    Indique le nom de domaine avec lequel le manager de LemonLDAP::NG sera joignable. Cette variable est pré-remplie automatiquement.

  • 2
    Nom DNS du service Reload LemonLDAP-NG

    Indique le nom de domaine avec lequel le service de rechargement de LemonLDAP::NG sera joignable. Cette variable est pré-remplie automatiquement.

Attention

Si vous activez l'interface d'administration de LemonLDAP::NG vous perdrez la possibilité d'utiliser les outils EOLE pour interagir avec LemonLDAP::NG.

À ne choisir que si vous savez ce que vous faites !

La variable Nom de domaine des cookies à renseigner en cas d'utilisation d'un reverse proxy. Les cookies sont associés au nom utilisé par l'utilisateur pour accéder à un service web. Par défaut la valeur est celle du FQDN. Si vous utilisez un reverse proxy cette valeur n'est plus valable, il faut la remplacer par le chemin d'accès à la redirection du reverse proxy.

AttentionLa variable Backend pour les comptes utilisateurs permet de choisir entre LDAP ou AD. pour les échangent.

Si vous utilisez Scribe mettre en mode LDAP

Si vous utilisez un seth ou un amonecole passer en mode AD.

Partie Configuration LDAP

Dans cette partie vous avez accès aux paramètres propres à LemonLDAP::NG.

Écran
  • 1
    Protocole LDAP à utiliser

    Il est possible d’adapter le protocole à utiliser selon les capacités du serveur LDAP associé. Le choix se fait entre ldaps et ldap.

  • 2
    Port d'écoute du LDAP utilisé par LemonLDAP::NG

    Port utilisé pour contacter l’annuaire.

  • 3
    Vérifier les certificats SSL du serveur LDAP

    Active ou désactive la vérification du certificat SSL fourni par l’annuaire dans le cas du protocole LDAPS

  • 4
    Nombre de processus dédié à Lemon (équivalent au nombre de processeurs)

    Permet de limiter les ressources allouées

    Conseil

    Il est conseillé de ne pas allouer la totalité des files de traitement pour éviter de bloquer le système complètement en cas de charge excessive.

  • 5
    Verbosité des journaux

    Détermine la quantité d’informations rapportées par les services LemonLDAP::NG

    • Info : remonte uniquement les logs informatifs
    • notice : remonte les logs informatifs + notifications
    • warn : remonte les logs informatifs + notifications + warning
    • error : remonte les logs informatifs + notifications + warning + error
    • debug : remonte tous les logs possible
  • 6
    LemonLDAP Administrator username

    Personnalise le nom de l’utilisateur avec les droits d’administration.

Le serveur LemonLDAP::NG prend en charge LDAP over SSL (LDAPS). La fonction Strict SSL est définie par défaut. La fonction Strict SSL nécessite une certification de serveur.

La variable Protocole LDAP à utiliser permet de choisir entre LDAP et LDAPS

Attention

Pour des interactions en LDAP avec Active Directory, prendre en compte que certaines actions nécessitent l'utilisation de LDAPS (LDAP sur SSL) entre le client et Active Directory

La variable Port d'écoute du LDAP utilisé par LemonLDAP::NG permet de changer le port associé pour LDAP. Par défaut il s'agit du port 636

La variable Vérifier les certificats SSL du serveur LDAP permet de valider les certificats SSL pour l'authentification du serveur LemonLDAP::NG.

La variable Nombre de processus dédié à Lemon (équivalent au nombre de processeurs) indique le nombre de processus utilisés par LemonLDAP::NG. Par défaut cette variable est à 4, néanmoins il est préférable d'avoir ce nombre légèrement inférieur au nombre de processeurs.

Configuration CAS
Écran
  • 1
    Nom de l’attribut CAS

    Cette variable multivaluée permet d’associer des noms d’attribut CAS avec des noms d’attribut LDAP. Cette association permet de fournir au protocole CAS les attributs qui lui sont nécessaires quand ils n’existent pas avec le même nom dans l’annuaire.

  • 2
    Nom de l'attribut CAS

    Le nom de l’attribut CAS correspond au membre du couple utilisé côté CAS.

    Attention

    Les attributs sont sensibles à la casse.

  • 3
    Attribut LDAP équivalent

    Le nom de l’attribut LDAP correspond à l’attribut LDAP dont la valeur sera associée au nom de l’attribut CAS précédent.

    Attention

    Les attributs sont sensibles à la casse.

  • 4
    Endpoint du service cas

    Complément d’url qui permet d’accéder au service CAS.

  • 5
    Chemin de l'autorité de certification

    Emplacement du certificat de l’autorité de certification permettant de valider l’accès si nécessaire.

LemonLDAP::NG. peut être utilisé comme un serveur CAS[97]. Il peut permettre de fédérer LemonLDAP::NG. avec :

  • Un autre fournisseur d'authentification CAS LemonLDAP::NG.
  • Tout client CAS

LemonLDAP::NG. est compatible avec le protocole CAS versions 1.0, 2.0 et une partie de la 3.0 (échange d'attributs).

Partie Personnalisation de la mire SSO
Écran

La variable Skin utilisé par LemonLDAP::NG permet de choisir le skin utilisé par LemonLDAP::NG.

La variable Permettre aux utilisateurs d'afficher l'historique de connexion permet aux utilisateurs lorsqu'elle est à oui, d'afficher leur historique de connexion.

La variable Permettre aux utilisateurs de réinitialiser leurs mots de passe par mail met en place la possibilité pour les utilisateurs de modifier leurs mots de passe depuis la fenêtre de connexion. La méthode consiste à demander la confirmation de l'adresse mail de l'utilisateur, si celle-ci correspond il recevra un mail avec un lien pour changer son mot de passe.

La variable Permettre aux utilisateurs de changer leurs mots de passe depuis LemonLDAP permet aux utilisateurs de changer librement leur mot de passe de depuis la page de gestion LemonLDAP::NG correspondant par défaut à la variable Nom DNS du service d'authentification LemonLDAP-NG ou variable Creole authWebName

La variable Autoriser le renouvellement des mots de passe expirés autorise le renouvellement par l'utilisateur.

Dans ce cas il est possible avec la variable Adresse de l'application pour réinitialiser leurs mots de passe d'indiquer une application ou un service spécifique (compatible LDAP, LDAPS, et LemonLDAP::NG) pour cette opération.

La variable Permettre aux utilisateurs de créer un compte autorise les utilisateurs à créer des comptes supplémentaires en lieu et place de l'administrateur, depuis l'interface LemonLDAP::NG.

La Variable Base de comptes pour l'enregistrement vous permet de choisir le type de base que vous voulez parmi 4 possibilités :

  • Une base LDAP
  • Une base AD
  • Une base de démonstration
  • Une base personnalisable.

Si vous choisissez une base personnalisable une nouvelle variable apparaîtra. Adresse de l'application de création de compte qu'il faut remplir en indiquant le service ou l'application qui va remplir la base.

Écran

La variable Domaines vers lesquels le formulaire peut renvoyer, concerne tous services ou applications externes au domaine du serveur LemonLDAP::NG vers lesquels il doit cependant pouvoir, soit donner accès, soit interagir.

Les applications web sur le module AmonEcole

Le module AmonEcole est l'association du module Amon et du module Scribe.

Ce module intègre donc l'ensemble des applications web proposées sur le module Scribe.

La plupart sont le résultat de la mutualisation inter-académique Envole : https://envole.ac-dijon.fr.

Elles sont adaptées pour fonctionner avec un serveur d'authentification unique. Grâce à cette méthode d'authentification unique, les utilisateurs du module Scribe se connectent une seule fois pour accéder à l'ensemble des applications. Des rôles sont prédéfinis dans chacune d'elles. Il est possible dans certaines, de modifier les rôles prédéfinis pour l'utilisateur.

Parmi les services web qu'il est possible de proposer on trouve des cahiers de texte numériques, des gestionnaires de fichiers, des CMS[115] mais aussi un portail.

Le portail Envole permet de centraliser les différentes applications web et offre bien d'autres services : widgets, réseaux sociaux, délégation de droits ...

Le paramétrage du module Amon permet de rendre ces services web accessibles depuis l'extérieur de l'établissement.

Truc & astuceApplication par défaut

Si le portail Envole n'est pas installé, l'application web par défaut est Rouncube et l'adresse http://<adresse_serveur>/ pointe vers http://<adresse_serveur>/roundcube/

Il est possible de modifier ce comportement dans l'interface de configuration du module, dans l'onglet Applications WebApplication Web par défaut (redirection).

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Des applications web vous sont proposées dont certaines sont pré-installées et doivent être activées lors de la configuration du module.

D'autres sont pré-packagées et leur installation est laissée à votre initiative. Vous pouvez également ajouter vos propres applications.

Attention

La seule procédure valide pour mettre à jour les applications web d'un module EOLE est la procédure proposée par EOLE.

En aucun cas vous ne devez les mettre à jour par les moyens qui sont proposées via le navigateur.

Vous risquez d'endommager vos applications web et d'exposer votre module à des failles de sécurité.

Espace Numérique Personnel pour l'Éducation avec Envole

Envole est un Espace Numérique Personnel[116] pour l'Éducation.

Il propose une interface de type portail Web 2.0[117] qui permet l'interaction entre un utilisateur et son environnement numérique résultant de l'utilisation de services hétérogènes.

Il centralise dans une seule interface l'ensemble des applications de l'utilisateur : mail, agenda, dossier personnel, B2I, blog, gestion de notes, gestion des absences, etc ...

Panorama d'Envole
Panorama d'Envole

Envole est adapté pour mettre en œuvre un Portail Internet Académique (PIA), un Portail Internet Établissement (PIE) ou un Espace Numérique de Travail (ENT).

Envole est personnalisable par l'administrateur (changer le thème, imposer des onglets et des widgets, concevoir des widgets) et par l'utilisateur (ajouter des onglets et des boutons, gérer ses marque-pages, utiliser des widgets).

Portail et Bureau d'accès rapide aux applications
Portail et Bureau d'accès rapide aux applications

Le site Envole : https://envole.ac-dijon.fr/

Historique du projet

  • Envole 1 a été créé par l'académie de Créteil pour construire sa solution ENT : Cartable en ligne.

    À la demande du Ministère de l'Éducation nationale, les différentes évolutions ont permis la sortie d'une version 1.5 permettant l'utilisation d'Envole dans d'autres académies. Envole 1.5 est monolithique (modularité réduite) et n'évoluera plus (produit non porté sur EOLE 2.3).

  • Envole 2.0 (pour web 2.0) est un projet mutualisé entre les académies de Créteil et de Dijon. Cette version est modulaire et propose de nouvelles applications web.

  • Envole 3 correspond à la version d'Envole diffusée avec EOLE 2.3. Cette version propose de nouvelles applications web. Elle est le résultat de la mutualisation entre les académies d'Aix-Marseille, de Besançon, de Créteil, de Dijon, de La Réunion, d'Orléans-Tours, de Poitiers et de Reims.

  • Envole 4 correspond à la version d'Envole diffusée avec EOLE 2.4 (à partir de la version 2.4.2). Cette version propose de nouvelles applications web. Elle est le résultat de la mutualisation entre les académies d'Aix-Marseille, de Besançon, de Créteil, de Dijon, de La Réunion, d'Orléans-Tours, de Poitiers, de Caen, de Grenoble, de Nice et de Reims.

  • Envole 5 correspond à la version d'Envole diffusée avec EOLE 2.5 (à partir de la version 2.5.2). Cette nouvelle version s'appuie sur une version plus récente de PHP nécessaire pour le fonctionnement des dernières versions des applications web proposées.

  • Envole 6 correspond à la version d'Envole diffusée avec EOLE 2.6 (à partir de la version 2.6.1).

  • Envole 7 correspond à la version d'Envole diffusée avec EOLE 2.7 (à partir de la version 2.7.1).

  • Envole 8 correspond à la version d'Envole diffusée avec EOLE 2.8.

Le pôle EOLE est chargé de sa diffusion et participe à l'élaboration de la solution, en particulier sur les aspects annuaire LDAP et authentification SSO.

Principes de fonctionnement

L'authentification

Pour l'authentification des utilisateurs, Envole utilise un serveur SSO[16].

L'utilisation d'un serveur SSO permet de centraliser l'authentification. En s'authentifiant auprès du serveur SSO, les utilisateurs peuvent se connecter aux différentes applications web intégrées dans le portail sans avoir à se ré-identifier sur chacune d'entre-elles. Les applications web pré-configurées disponibles sur le module Scribe utilisent ce serveur SSO pour l'authentification. Lors de la phase d'authentification celui-ci renvoie des informations sur l'utilisateur, ce qui permet, par le biais d'un système de profils, de personnaliser le portail.

Le portail

Historiquement basé sur le logiciel POSH (http://sourceforge.net/projects/posh), le portail Envole propose :

  • un système d'onglet pour organiser ses applications ;
  • un bureau d'accès rapides aux applications ;
  • des widgets pour la gestion du flux d'informations ;
  • un réseau social ;
  • la gestion des profils (onglet, bureau) permettant de personnaliser l'environnement des utilisateurs ;
  • un espace d'administration.
Portail et Bureau d'accès rapide aux applications
Portail et Bureau d'accès rapide aux applications
Réseau social du portail Envole
Réseau social du portail Envole
Gestion des profils
Gestion des profils
Espace d'administration
Espace d'administration

Installation et paramétrage

La mise en place d'un portail dans Envole se décompose comme suit :

  • installation du portail Envole ;
  • activation du service SSO ;
  • configuration de l'authentification CAS ;
  • paramétrage du portail Envole ;
  • sélection des applications web pré-configurées ;
  • configuration pour un accès extérieur.

Ces différentes étapes s'effectuent à partir de l'interface de configuration du module.

Installation d'un portail Envole

Le portail historique d'Envole Posh est désormais obsolète.

Il est possible de le remplacer par l'un des portails suivants :

  • Ninegate
  • ePortail
Activation du serveur EoleSSO

Dans l'onglet Services,vérifier que Utiliser un serveur EoleSSO est bien configuré en local (ou en distant selon l'architecture cible envisagée).

Configuration de l'authentification CAS
Configuration d'un serveur EoleSSO local
Configuration d'un serveur EoleSSO local

Indiquer le chemin permettant aux applications web de rediriger les utilisateurs vers la mire en cas de connexion ou de déconnexion.

Dans l'onglet Eole sso, saisir le nom de domaine dans : Nom de domaine du serveur d'authentification SSO

Attention

Saisir une adresse IP est possible mais est incompatible avec un accès extérieur.

Configuration du serveur web

Dans l'onglet Application web :

  • Nom de domaine des applications web (sans http://) renseigner le nom de domaine avec lequel vous souhaitez accéder à votre portail ;

    Saisir une adresse IP est possible mais est incompatible avec un accès extérieur.

  • l'application web par défaut n'est disponible que si la variable Utiliser Envole comme application par défaut en frontal est à non dans l'onglet Envole ;

  • préciser si le serveur web est derrière un proxy inverse ;

  • pour gérer les bases de données via l'application web Adminer passer Activer Adminer à oui.

Envole thème est installé par défaut avec Envole et gère les thèmes de certaines applications web, de l'EAD et de la mire SSO. Il est possible de choisir parmi une liste de thèmes ou de désactiver Envole thème.

Sélection des applications web

Toujours dans l'onglet Applications web, choisir les applications à activer en les passant à oui.

L'onglet "Applications web"
L'onglet "Applications web"

Chaque application est documentée séparément, référez-vous à chacune d'entre-elles pour plus d'informations (installation, accessibilité, rôles des utilisateurs, etc).

Ninegate : portail

Présentation
Installation de Ninegate

Ninegate s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-ninegate

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accéder à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/ninegate/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

ePortail : portail d'entreprise

Présentation

ePortail est un portail d'entreprise tourné vers l'intranet comme l'extranet.

https://envole.ac-dijon.fr/presentation/eportail/

Installation

ePortail s'installe manuellement, saisir les commandes suivantes :

# Query-Auto

# apt-eole install eole-eportail

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accéder à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/eportail/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Tous les utilisateurs présents dans l'annuaire possèdent un accès à l'application.

  • administrateur

    Seul l'utilisateur admin est "administrateur" de l'application, il peut :

    - Configurer les onglets

    - Configurer des widgets

    - Administrer la gestion des profils.

Accès au portail

Une fois installé, si Envole est configuré pour être en frontal il est accessible à l'adresse http://<adresse_serveur>/ sinon à l'adresse http://<adresse_serveur>/envole/

Accès interne

Pour un accès interne, vous pouvez accéder au portail :

  • par le nom de machine ;

  • par l'adresse IP ;

  • par le nom de domaine si l'accès extérieur est configuré.

Accès externe

Pour un accès externe, vous pouvez accéder au portail :

  • par le nom de domaine.

Attention

Le serveur Amon doit être configuré pour permettre l'accès depuis l'extérieur.

Rôles des utilisateurs

Les comptes d'accès à Envole sont ceux de l'annuaire défini dans l'interface de configuration du module.

Seul l'utilisateur admin est l'administrateur du portail.

Il est possible de déléguer ce rôle dans l'interface d'administration du portail / utilisateurs / gestion des utilisateurs, cliquer sur le compte utilisateur choisi et passer champ Type d'utilisateur à administrateur.

Configurer le module Amon pour Envole

Pour un fonctionnement optimal des applications web hébergées sur le module Scribe derrière un serveur Amon ou hébergées sur module AmonEcole, il est impératif d'utiliser un nom de domaine[119] (exemple : monetab.ac-acad.fr). Celui-ci doit être résolvable depuis Internet et il faut le renseigner partout où cela est nécessaire.

Ce nom de domaine sera à utiliser tant depuis l'extérieur de l'établissement que depuis l'intérieur.

Pour rendre accessible Envole ou certaines applications web hébergées sur le module Scribe depuis l'extérieur, il faut activer et configurer le pare-feu et le proxy inverse.

Configurer le pare-feu

Par défaut, le module Amon propose des modèles de pare-feu facilitant la mise en place d'un serveur Scribe en DMZ. Pour configurer le pare-feu, il faut dans l'onglet Firewall, choisir un Modèle de filtrage compatible :

  • 3zones-dmz : gestion d'une zone pedago sur l'interface 1 et d'une zone DMZ publique pouvant accueillir un module Scribe sur l'interface 2 ;

  • 4zones : gestion d'une zone admin sur l'interface 1, d'une zone pedago sur l'interface 2 et d'une zone DMZ publique pouvant accueillir un module Scribe sur l'interface 3 ;

  • 5zones : gestion d'une zone admin sur l'interface 1, d'une zone pedago sur l'interface 2, d'une zone DMZ publique pouvant accueillir un module Scribe sur l'interface 3 et d'une zone DMZ privée sur l'interface 4.

Complément

Le modèle de zones proposées correspond à un modèle de filtrage ERA. Les modèles de filtrage ERA sont la description de pare-feu enregistrés dans des fichiers XML situés par défaut dans le répertoire /usr/share/era/modeles/.

Truc & astuce

Avec ERA il est possible de créer un nouveau modèle personnalisé dans le répertoire /usr/share/era/modeles/. Celui-ci apparaîtra dans la liste des modèles proposés par défaut.

Configuration du proxy inverse

Pour activer le proxy inverse, dans Services, passer Activer le reverse proxy Nginx à oui.

L'activation du service fait apparaître un nouvel onglet nommé Reverse proxy.

Vue de l'onglet Reverse proxy de l'interface de configuration du module
Vue de l'onglet Reverse proxy de l'interface de configuration du module
Redirection de services particuliers

Pour rediriger le service EoleSSO (port 8443) il faut indiquer l'adresse IP ou le nom de domaine interne de la machine de destination (adresse IP ou le nom de domaine interne du module Scribe). Si le service EoleSSO est activé localement il est impossible de réaliser une redirection pour ce service.

Attention

Le service SSO local du module Amon ne devra pas être activé si vous renseignez l'adresse d'un service SSO distant au niveau du proxy inverse.

Redirection HTTP et HTTPS

Pour rediriger HTTP et HTTPS il est nécessaire de passer la variable Activer le reverse proxy Nginx pour le http/https à oui et de renseigner plus d'informations :

  • le Nom de domaine ou IP à rediriger : le nom de domaine diffusé auprès des utilisateurs. Ce nom de domaine est celui qui permet d'accéder au module Amon ou AmonEcole ;

  • Activer la redirection pour tous les sous-domaines : cette variable est disponible à partir de la version 2.6.2 d'EOLE, elle permet la prise en charge de tous les sous-domaines par le proxy inverse ;

  • Demander un certificat à Let's Encrypt pour ce domaine ? : cette variable est disponible à partir de la version 2.6.2 d'EOLE si la redirection pour tous les sous-domaines n'est pas activé et que le certificat SSL est Let's Encrypt ;

  • le Répertoire ou nom de la page à rediriger permet de rediriger un sous-répertoire vers une machine. La valeur par défaut est / ;

  • l'IP ou domaine de destination (avec http:// ou https://) ou URI complète permet de saisir l'adresse IP (exemple : http://192.168.10.1), le nom de domaine (exemple : http://scribe.monetab.fr) ou l'URI[120] (exemple : http://scribe.monetab.fr/webmail/) du serveur de destination hébergeant la ou les applications.

Il est possible de forcer l'utilisation du protocole HTTPS pour les requêtes utilisant le protocole HTTP de façon transparente. De cette manière, un utilisateur web se connectant à l'adresse http://monetab.fr sera automatiquement redirigé vers https://monetab.fr

Ainsi les communications sont automatiquement chiffrées protégeant la transmission de données sensibles (nom d'utilisateur, mot de passe, etc.).

Le proxy inverse peut être utilisé pour ne rediriger que le HTTPS en passant les valeurs Reverse proxy HTTP à non et Reverse proxy HTTPS à oui.

Il est possible d'ajouter plusieurs redirections en cliquant sur le bouton + Nom de domaine ou IP à rediriger.

Truc & astuce

Un répertoire déterminé peut également être redirigé vers un serveur différent. Par exemple le lien vers l'application Pronote[121], https://monetab.fr/pronote/ peut être redirigé vers http://pronote.monetab.fr/ (attention, le "/" final est important, puisqu'il faut rediriger à la racine du serveur de destination).

Activation de l'authentification unique

Si vous voulez activer le service EoleSSO sur le module Amon, Utiliser un serveur EoleSSO à distant dans l'onglet Services, dans l'onglet Eole sso, seuls les paramètres Nom de domaine du serveur d'authentification SSO et Port utilisé par le service EoleSSO sont requis et les autres options ne sont pas disponibles car elles concernent le paramétrage du serveur local.

Configuration d'un serveur EoleSSO distant
Configuration d'un serveur EoleSSO distant

L'option Nom de domaine du serveur d'authentification SSO doit être configurée avec le nom de domaine public utilisé dans Envole (typiquement : monetab.ac-monacad.fr).

Dans ce cas l'utilisateur admin du module Scribe sera administrateur du module Amon.

Dans le cas de l'utilisation du serveur EoleSSO local, Nom de domaine du serveur d'authentification SSO doit être renseigné avec le nom DNS du serveur.

Nom de domaine et récapitulatif de la configuration

Le nom de domaine doit être renseigner à de multiples endroits de la configuration.

  • onglet Général : choisir le modèle de filtrage ;

  • onglet Services :

    • Activer le proxy inverse Nginx : oui ;
  • onglet Eole sso :

    • Nom de domaine du serveur d'authentification SSO : etab.ac-acad.fr ;
  • onglet Applications web si module AmonEcole :

    • Nom de domaine des applications web (sans http://) : etab.ac-acad.fr ;
  • onglet Reverse proxy :

    • Nom de domaine par défaut : etab.ac-acad.fr ;
    • Nom de domaine du serveur SSO : etab.ac-acad.fr ;
    • Activer la configuration automatique pour les applications locales à oui.
  • onglet Certificats ssl uniquement en mode expert :

    • Nom DNS/IP alternatif du serveur : etab.ac-acad.fr (ré-générer les certificats si nécessaire).
Activer le portail Envole dans l'EAD

Pour activer la règle optionnelle permettant l'accès au portail depuis l'extérieur, il faut se rendre dans l'EAD du module Amon, dans Configuration Générale / Règles du pare-feu, et passer à Actif Ouvrir le portail Envole 2.0 sur internet et valider.

Configuration EAD pour Envole
Configuration EAD pour Envole
Configuration sans module Amon

L'onglet EAD du portail Envole pointe vers l'EAD du serveur Scribe sur le port 4203.

Envole est configuré par défaut pour fonctionner derrière un Amon.

Si vous souhaitez utiliser autre chose qu'un module Amon, la valeur du port est modifiable depuis l'interface de configuration du module :

En Mode / Expert onglet Ead-web passer Utilisation d'un reverse proxy pour l'accès à l'EAD à non .

Personnalisations visuelles

Personnalisation avec Envole Thèmes
Présentation

Envole Thèmes permet de récupérer des thèmes pour les différents éléments visuels propre à Envole : mire SSO, EAD, portail Envole, les diverses applications supportées par la mutualisation, …

Vue de la mire SSO avec le thème Envole
Vue de la mire SSO avec le thème Envole
Vue du portail avec le thème Envole
Vue du portail avec le thème Envole
Installation d'Envole Thèmes

Installation du paquet eole-envole-themes

Envole Thèmes s'installe manuellement, saisir les commandes suivantes :

# Query-Auto

# apt-eole install eole-envole-themes

Pour choisir le thème parmi la liste proposée il faut se rendre dans l'interface de configuration du module dans l'onglet Applications web et choisir le thème dans Nom du Thèmes.

Envole Thèmes n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Attention

Cette solution n'est pas compatible avec certaines des personnalisations manuelles de la mire SSO.

Changer la page d'accueil

Envole démarre par défaut sur la page intitulé Mon carnet qui est l'accueil du réseau social.

Plusieurs configurations sont disponibles.

Depuis l'interface d'administration :

  • Dans l'onglet Configuration / Configuration générale de l'application ;

  • Dans A chaque connexion, charger par défaut ;

    • Choisissez parmi :
    • Le premier onglet : ouvrira le premier onglet de l'utilisateur (pas Mon carnet) ;
    • La page ouverte à la dernière fermeture : ouvre le dernier onglet ouvert par l'utilisateur ou le premier onglet ;
    • L'accueil (si applicable) : ouvrira la page Mon carnet si le réseau social est activé.
Personnalisation de la mire SSO

Ce chapitre répertorie les différentes possibilités offertes pour personnaliser l'apparence de la page d'authentification du serveur EoleSSO (pour une meilleure intégration dans l'environnement existant, et en particulier dans le cadre d'un portail d'accès aux ressources d'un établissement).

Message d'avertissement (CNIL)

Il est prévu de pouvoir afficher un message relatif à la déclaration CNIL du site.

  • mettre le texte du message d'avertissement (formaté en HTML) dans un fichier avertissement.txt qui est à placer dans le répertoire /usr/share/sso/interface/theme ;
  • relancer le service  : CreoleService eole-sso restart
ExempleExemple de déclaration

Conformément à la loi, nous vous informons que ce site a fait l'objet d'une déclaration de traitement automatisé d'informations nominatives auprès de la CNIL Loi du 6 janvier 1978 relative à l' « Informatique et aux Libertés » :<br />

Conformément à la loi n° 78-17 du 6 janvier 1978, vous pouvez à tout moment accéder aux informations personnelles vous concernant et détenues par l'établissement, demander leur modification ou leur suppression. Ainsi, vous pouvez, à titre irrévocable, demander que soient rectifiées, complétées, clarifiées, mises à jour ou effacées les informations vous concernant qui sont inexactes, incomplètes, équivoques, périmées ou dont la collecte ou l'utilisation, la communication ou la conservation est interdite.<br/>

Pour toutes demandes, veuillez contacter l'administrateur à l'adresse : administrateur@etablissement.fr

CSS : Méthode 1

La feuille de style par défaut /usr/share/sso/interface/main.css importe les feuilles de style ./theme/style/theme.css et ./leaves.css :

[ …]

@import url(./leaves.css);

@import url(./theme/style/theme.css);

[…]

Comme le fichier ./theme/style/theme.css est appelé en deuxième dans la feuille il va permettre une surcharge de la première feuille de style ./leaves.css.

Éditer le fichier vide ./theme/style/theme.css appelé dont le chemin absolu est /usr/share/sso/interface/theme/style/theme.css.

S'inspirer des balises de style utilisées dans le fichier /usr/share/sso/interface/leaves.css pour les surcharger.

Utiliser le répertoire /usr/share/sso/interface/theme/images pour ajouter vos images.

Recharger votre page d'authentification sans même redémarrer le service eole-sso, la feuille de style est importée avec les modifications.

Attention

Cette méthode n'est pas compatible avec la personnalisation Envole Thèmes. Celui-ci écrase le contenu du fichier /usr/share/sso/interface/theme/style/theme.css à chaque reconfigure. Il est possible d'enlever Envole Thèmes avec la commande suivante : # apt-get remove eole-envole-themes

CSS : Méthode 2

Un certain nombre de thèmes sont fournis dans le répertoire /usr/share/sso/interface/themes/.

Il suffit de copier le thème voulu pour le rendre actif :

# /bin/cp -R /usr/share/sso/interface/themes/<nomDuTheme>/* /usr/share/sso/interface/theme

Recharger votre page d'authentification sans même redémarrer le service eole-sso, la feuille de style est importée avec les modifications.

Truc & astuce

N'hésitez pas à proposer votre thème, il sera ajouté au paquetage et reversé à la communauté d'utilisateurs.

CSS : Méthode 3

La feuille de style CSS par défaut utilisée lors de l'affichage de la page d'authentification au portail est :

/usr/share/sso/interface/leaves.css

Il est possible d'utiliser une feuille de style CSS personnalisée pour la mire SSO.

Les fichiers CSS à utiliser sont à placer dans :

/usr/share/sso/interface/

Dupliquer la feuille de style originale sous un autre nom.

Modifier à volonté votre_nouvelle_feuille.css

Renseigner le nom de votre feuille sans l'extension (.css) dans l'onglet Eole sso depuis l'interface de configuration du module.

Réaliser autant de feuilles de style que souhaités.

Remarque
  • Si vous faites appel à des images, placez-les dans :

    /usr/share/sso/interface/images/

  • Il est possible de passer le nom de la CSS en paramètre dans URL :

    http://<adresse_serveur>/css=<nom_de_la_feuille_CSS>

  • Si vous utilisez un client phpCAS, il faudra modifier le client pour utiliser cette méthode (les URLs sont calculées par le client).

Truc & astuceChoix de la CSS par le filtre SSO

Si un fichier CSS porte le même nom qu'un filtre d'application (par exemple, ead2.css), cette feuille de style CSS sera automatiquement utilisée lors des demandes à cette application (dans le cadre d'un portail web par exemple).

Applications pré-installées

Il est possible d'ajouter au module utilisé (AmonEcole, Scribe) des applications web pré-installées et de les intégrer à Envole.

Il y différentes méthodes de mise en œuvre et les rôles des utilisateurs sont très différents d'une application à l'autre.

Reportez-vous à la documentation de chacune d'elles pour plus d'informations.

Truc & astuceReconfiguration du module

De nombreuses applications nécessitent d'être activées depuis l'interface de configuration du module et une reconfiguration du serveur est indispensable.

Cette procédure est relativement longue, il est donc possible d'activer plusieurs applications et de ne lancer qu'une fois la commande reconfigure.

Adminer : gestionnaire de base de données

Présentation

Adminer est une application Web offrant une interface graphique pour plusieurs systèmes de gestion de base de données (MySQL, SQLite, PostgreSQL, Oracle, etc), réalisée en PHP et distribuée sous licence Apache.

Il se présente comme une alternative légère à phpMyAdmin et a pour particularité d'être entièrement contenu dans un seul fichier PHP. On peut toutefois ajouter un fichier CSS, pour modifier la présentation ; il y en a de nombreux disponible le site officiel.

Source : https://fr.wikipedia.org/wiki/Adminer

https://www.adminer.org/

Installation

Cette application est pré-installée sur les modules Scribe, Horus, Seshat, Thot ainsi que sur AmonEcole et toutes ses variantes.

Accéder à l'application

Pour accéder à l'application, se rendre à l'adresse : https://<adresse_serveur>/adminer/

Dans le mode MySQL, l'utilisateur peut être l'utilisateur root de MySQL ou un autre utilisateur de la base.

Le champ Base de données peut être laissé vide pour accéder à l'ensemble des bases de données.

Attention

L'accès à l'application ne peut se faire que depuis une adresse IP autorisée dans l'interface de configuration du module (Onglet Interface-n, sous-menu Administration distante sur l'interface, mettre Autoriser les connexions pour administrer le serveur à oui, remplir le champ Adresse IP réseau autorisé avec l'adresse IP ou la plage d'adresses IP souhaitée).

Rôles de utilisateurs

Les utilisateurs autorisés à se connecter sont les utilisateurs de MySQL.

Il est possible de déléguer tout ou une partie des droits d'administration.

Remarques

Le mot de passe root de MySQL est réinitialisé avec une chaîne de caractères aléatoires à chaque reconfiguration du serveur.

Le mot de passe de l'utilisateur root de MySQL peut être réinitialisé avec la commande :

mysql_pwd.py

Truc & astuce

Si vous prévoyez d'utiliser régulièrement Adminer, il est préférable de créer un utilisateur MySQL dédié pour l'administration des bases de données.

Le mot de passe de ce compte ne sera pas écrasé après une reconfiguration du module.

Roundcube : interface pour le courrier électronique

Présentation

Roundcube est une interface web pour consulter son courrier électronique (webmail).

Il supporte les protocoles IMAP[122] et SMTP[46].

http://www.roundcube.net

Installation

Cette application est pré-installée sur les modules Scribe et AmonEcole 2.8.

Accéder à l'application

Pour accéder à l'application se rendre à l'adresse : https://<adresse_serveur>/roundcube/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Tous les utilisateurs présents dans l'annuaire et ayant une boite de courrier électronique locale ont accès à l'application.

Attention

Un utilisateur sans boîte locale réussira à s'authentifier auprès du serveur SSO[16] mais sera rejeté par le serveur IMAP[122].

Comptes de messagerie secondaires

À partir de la version 0.9.1 le greffon pop3fetcher est intégré à Rouncube. Il est désormais possible pour les utilisateurs de paramétrer des comptes de messagerie secondaires. Ainsi ils peuvent consulter dans Roundcube leurs courriels d'une autre messagerie.

Cette option est par défaut à oui mais est désactivable dans l'onglet Applications web de l'interface de configuration du module.

Activation du greffon "pop3fetcher" dans l'interface de configuration du module
Activation du greffon "pop3fetcher" dans l'interface de configuration du module

Dans Rouncube ce paramétrage s'effectue dans les préférences de l'utilisateur dans la section Autres comptes.

Déclaration de comptes de messagerie secondaire dans l'interface Roundcube
Déclaration de comptes de messagerie secondaire dans l'interface Roundcube
Attention

En mode conteneur, lorsqu'on active cette fonctionnalité, les ports 110 et 995 sont autorisés du conteneur web vers l'extérieur.

Nextcloud : stockage et partage de fichiers

Présentation

Nextcloud est un logiciel libre, de site d'hébergement de fichiers, et un fork[89] du logiciel ownCloud.

https://nextcloud.com/

https://envole.ac-dijon.fr/presentation/nextcloud/

Installation

Cette application est pré-installée sur les modules Scribe et AmonEcole 2.8.1.

Configuration

Des variables disponibles dans l'onglet Applications web de l'interface de configuration du module permettent d'adapter la configuration de l'application.

Activer nextcloud (gestionnaire de fichiers)

Cette variable permet d'activer/désactiver l'application web Nextcloud sur le module.

Nextcloud est une application web qui permet à l'utilisateur de gérer ses fichiers au travers d'un navigateur.

Une seconde variable permet de personnaliser la taille maximum autorisée pour les fichiers téléversés via l'application.

Truc & astuce

Si un proxy est déclaré dans l'onglet Général, Nextcloud l'utilisera pour accéder à des ressources externes.

La variable du mode expert : Domaines exclus du proxy permet de déclarer des exceptions.

Accéder à l'application

Pour accéder à l'application se rendre à l'adresse : https://<adresse_serveur>/nextcloud/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

EOP : outils à destination des enseignants

Présentation

L'objectif de l'application web EOP (EOLE Outils Profs) est de proposer une interface simple contenant un ensemble d'outils à destination des enseignants. Cette nouvelle application, indépendante, ne traite pas uniquement de la gestion des documents et peut être intégrée dans un portail. Le développement est basé sur le framework python Flask[86].

http://dev-eole.ac-dijon.fr/projects/eop

Principales fonctionnalités
  • gestion de documents (distribution simple, ou distribution et ramassage) ;

  • possibilité de changer le mot de passe d'un élève ;

  • possibilité de changer le mot de passe du compte enseignant.

Remarque

Pour désactiver l'application il faut se rendre dans l'interface de configuration du module en mode normal, dans l'onglet Applications web et passer Activer EOP (gestion de devoir) à non.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Accéder à l'application

Pour accéder à l'application il faut se rendre à l'adresse : https://<adresse_serveur>/eoleapps/eop/documents/

Rôles des utilisateurs

Seuls les enseignants et l'utilisateur admin (enseignant également) ont un accès à l'application.

Les professeurs principaux ont accès à quelques fonctionnalités supplémentaires.

Les élèves disposent des documents distribués dans leur répertoire personnel mais n'ont pas d'accès à l'application EOP.

Fonctionnalités

Le bandeau noir de l'interface permet un accès rapide aux différentes fonctionnalités.

L'icône EOP permet d'afficher les différentes fonctionnalités sous forme de bouton.

À droite de l'interface apparaît l'identifiant utilisé et le bouton Déconnexion.

Menu Documents
  • Distribuer : permet de gérer la distribution de documents ;

  • Ramasser : permet de récupérer un document distribué et nécessitant la modification par les utilisateurs ;

  • Rendre : permet d'annoter les documents ramassés et de les restituer ;

  • Historique : permet de lister les différents documents et de connaître leur état.

Menu Gestion
  • Mots de passe : visible uniquement avec le rôle de professeur principal, cette option permet de changer le mot de passe d'un ou de plusieurs utilisateurs.

  • Délégation de droits : visible uniquement avec le rôle de professeur principal, elle permet de déléguer la gestion des mots de passe (dans EOP et EAD) et des comptes élève (dans l'EAD) pour une classe donnée.

Menu Préférences
  • Mots de passe : permet de modifier son propre mot de passe.

EOE : outils à destination des élèves

Présentation

L'objectif de l'application web EOE (EOLE Outils Élèves) est de proposer une interface simple contenant un ensemble d'outils à destination des élèves. Cette nouvelle application permet, pour le moment, à l'élève de changer son mot de passe et peut être intégrée dans un portail. Le développement est basé sur le framework python Flask[86].

http://dev-eole.ac-dijon.fr/projects/eoe

Principale fonctionnalité
  • possibilité de changer le mot de passe du compte élève.

Installation

Cette application est pré-installée sur le module Scribe à partir de la version 2.4.2.

Sur une version antérieure EOE n'est pas disponible.

Pour désactiver l'application il faut se rendre dans l'interface de configuration du module en mode normal, dans l'onglet Applications web et passer Activer EOE (gestion de mot de passe élève) à non.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Accéder à l'application

Pour accéder à l'application il faut se rendre à l'adresse : https://<adresse_serveur>/eoleapps/eleves/passperso

Rôles des utilisateurs

Les enseignants, les élèves ainsi que l'utilisateur admin (enseignants également) ont un accès à l'application.

Applications pré-packagées

Il est possible d'ajouter au module utilisé (AmonEcole, Scribe) des applications web pré-packagées dont l'installation est laissée à votre initiative.

Il y différentes méthodes de mise en œuvre et les rôles des utilisateurs sont très différents d'une application à l'autre.

Reportez-vous à la documentation de chacune d'entre elles pour plus d'informations.

Attention

Applications plus maintenues par la mutualisation et supprimées d'Envole-6 :

  • Bergamote : indexation et recherche de fichier
  • Feng Office : plate-forme collaborative
  • ICONITO : Espace Numérique de Travail pour le 1er degré
  • Jappix : client web Jabber
  • SPIP Eva : gestion de contenu, remplacé par Wordpress
  • Webcalendar : agendas partagés

Attention

Applications plus maintenues par la mutualisation supprimées d'Envole-7 :

  • Calendrier : gestion des événements
  • CDC : carnet de correspondance
  • ownCloud : stockage et partage de fichiers, remplacé par Nextcloud
  • Posh : portail historique d'Envole, remplacé par Ninegate
  • Pydio : gestionnaire de fichiers, remplacé par Nextcloud
  • SAP : administration du réseau social d'Envole
  • Taskfreak : gestionnaire de projet

Attention

Applications plus maintenues par la mutualisation supprimées d'Envole-8 :

  • Etherhome : accès unifié aux applications collaboratives, remplacé par Nineboard

Balado : partager ses enregistrements

Présentation

Dans le domaine éducatif, l'espace Balad((O)) de l'académie de Créteil permet de s'enregistrer directement en ligne et de partager ses enregistrements. Mais il offre plus que cela. D'abord, grâce aux flux RSS, c'est également un site de podcasting. Ensuite, la possibilité d'associer aux fichiers audio des images, des textes et des vidéos lui donne une véritable dimension pédagogique. L'espace Balad((O)) peut être utilisé comme un « labo de langues » asynchrone en ligne pour mettre en place des activités de classe, hors de la classe, c'est-à-dire des activités distantes et différées.

https://balado.ac-creteil.fr/parallax/

https://envole.ac-dijon.fr/presentation/balado/

Installation de Balad((O))

Balad((o)) s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-balado

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accès à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/balado/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs
  • professeur : l'enseignant dispose d'un espace privé dans lequel il retrouve virtuellement ses élèves et ses groupes de classe. Après identification, il crée en ligne des activités qu'il diffusera à ses classes. Pour cela, il dispose d'un couple éditeur de texte / lecteur‑enregistreur qui autorise une grande souplesse pour la préparation du travail.

  • élève : chaque élève possède un accès personnalisé à l'espace Balad((O)). Une fois connecté, il accède aux activités préparées par ses professeurs avec tous leurs éléments : texte enrichi, enregistrement audio et pièces jointes qu'il télécharge d'un simple clic. Il écoute en ligne le fichier audio, mais il peut également le sauvegarder en local pour l'écouter ultérieurement, indépendamment de tout accès à Internet, et le transférer éventuellement sur son baladeur.

Cdt : cahier de textes numérique

Présentation
Utilisation de Cdt
Utilisation de Cdt

Cdt est un cahier de textes numérique.

Il permet aux enseignants la saisie des devoirs dans le cahier de textes et la consultation pour les élèves.

http://cnf3.free.fr/

https://envole.ac-dijon.fr/presentation/cdt/

Remarque

Cdt est également surnommé Chocolat.

Cette application est sous licence GPL mais en marge de cette licence vous êtes convié à offrir une tablette de chocolat au développeur de l'application.

http://cnf3.free.fr/?page_id=7

Installation

Cdt s'installe manuellement, saisir les commandes suivantes :

# Query-Auto

# apt-eole install eole-cdt

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accéder à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/cdt/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Tout utilisateur présent dans l'annuaire possède un accès à l'application.

Les profils administrateur, élève, responsable, professeur, direction (DIR) et vie scolaire (EDU) sont automatiquement associés aux rôles correspondants dans l'application.

Tout autre profil se voit créé un compte bloqué, charge à l'administrateur d'y associer le bon rôle.

Administrateur

L'utilisateur admin est administrateur de l'application, il peut notamment procéder à l'import des emplois du temps depuis les fichiers issus de SIECLE : sts_emp_xxx.xml / emp_sts_xxx.xml .

Professeur

Les enseignants ont un accès professeur à l'application, ils enregistrent leur emploi du temps afin de pouvoir ensuite gérer leurs séances de cours.

Élève

Les élèves peuvent seulement consulter le cahier de textes, ils ne peuvent pas l'éditer mais accèdent automatiquement au contenu de leur classe (séances et travail à faire).

Responsable

Les responsables peuvent seulement consulter le cahier de textes, ils ne peuvent pas l'éditer mais accèdent automatiquement au contenu des classes de leurs enfants (séances et travail à faire).

Personnel de direction

Ils gèrent les visas, diffusent des messages, planifient des événements et accèdent aux différentes données du cahier de textes.

Vie Scolaire

Ils diffusent des messages, planifient des événements et accèdent aux différentes données du cahier de textes.

Invité

Ce rôle permet de donner un accès à certains cahiers de textes.On peut être "invité" sans avoir de compte (ldap), pour cela la direction (pour chaque enseignant), ou un enseignant lui-même, dispose d'une url sécurisée à transmettre pour un accès anonyme.

Importation des emplois du temps

L'importation s'effectue depuis le menu de l'administrateur : Importation de données depuis SIECLE/STS-Web.

Pour plus de détails, consulter la page : http://dev-eole.ac-dijon.fr/projects/cdt/wiki/Wiki#Importation-des-emplois-du-temps

Activation des sondes piwik

Les sondes permettent de comptabiliser les accès enseignant et en consultation.

Elles ne sont pas actives par défaut.

On les active en renseignant les valeurs envole_piwik_url (sans le http://) et envole_piwik_idsite dans la table cdt_params qui sont présentes mais valant respectivement "" et 0.

Pour plus de détails, consulter la page : http://dev-eole.ac-dijon.fr/projects/envole/wiki/SondesPiwik

ExempleExemples de requêtes

UPDATE `cdt_params` SET `param_val`="etablissement.ac-creteil.fr/piwik2/" WHERE `param_nom`='envole_piwik_url';

UPDATE `cdt_params` SET `param_val`="2" WHERE `param_nom`='envole_piwik_idsite';

Application de redirection : Eole-dispatcher

Dans le cadre de l'utilisation du module Seshat en tant que point d'entrée d'un ENT centralisé, l'application Eole-dispatcher permet de rediriger les utilisateurs vers leur établissement d'origine. Elle se base sur les informations remontées lors de la mise en place de la réplication des serveurs Scribe.

Elle est également prévue pour gérer le cas de l'affectation multiple pour les enseignants et les responsables :

  • un enseignant qui aurait des services sur plusieurs établissements se verrait proposer le choix de l'établissement sur lequel il souhaite se connecter ;

  • un parent d'élève qui aurait plusieurs enfants dans des établissements différents se verrait également proposer le choix de l'établissement. Il est à noter que la problématique de la l'affectation multiple pour un élève ne se pose pas, puisque ce dernier ne peut pas être scolarisé dans deux établissements.

Eole-dispatcher est capable (au travers de ses filtres d'attributs) de gérer les sources d'authentification suivantes :

  • LDAP Académique pour les agents de l'Éducation nationale ;

  • LDAP Téléservices pour les parents et élèves ;

  • LDAP local (réplicat des serveurs Scribe) pour l'authentification des élèves et parents (si les téléservices ne sont pas déployés).

Remarque

Le terme affectation est à prendre au sens large, il désigne l'appartenance d'une personne à un établissement.

Pré-requis

Cette application nécessite :

  • la mise en place de la réplication LDAP des serveurs Scribe sur le serveur Seshat ;

  • l'alimentation des annuaires des serveurs Scribe avec des extractions AAF EXCLUSIVEMENT ;

  • la bonne saisie des numéros et libellés établissement sur les serveurs Scribe et Zéphir ;

  • la configuration d'une fédération entre chaque serveur Scribe et le serveur Seshat (voir documentation EoleSSO au chapitre : Fédération entre 2 serveurs EoleSSO).

Installation

Le dispatcher est à installer sur le module Seshat, afin d'utiliser son portail EoleSSO comme portail unique d'authentification vers les ENT (Envole).

L'application n'est pas installée par défaut. Via l'interface de configuration du module, configurer le serveur pour recevoir les applications web :

  • en mode normal dans l'onglet Services, passer Activer le serveur web Apache à oui ;

  • dans l'onglet Applications web, saisissez le nom de domaine des applications web dans Nom de domaine des applications web (sans http://);

  • enregistrer la configuration et quitter l'interface de configuration du module.

Puis saisir les commandes suivantes sur le module Seshat pour installer le paquet eole-dispatcher :

# Query-Auto

# apt-eole install eole-dispatcher

Configuration

Une fois les paquets installés, il faut de nouveau se rendre dans l'onglet Application web de l'interface de configuration du module et passer Activation de la redirection vers les portails ENT à oui. Des paramètres supplémentaires s'affichent.

  • Rediriger en automatique si un seul ENT ;

  • Proposer le PIA aux professeurs : permet de proposer le portail académique aux enseignants ;

  • RNE du Portail académique (PIA) : permet de saisir l'UAI du portail académique ;

  • Portail académique (PIA) : portail sur lequel seront redirigés les personnels académiques ;

  • Portail par défaut : adresse du site Internet dédié à l'ENT si aucun portail d'établissement n'est disponible pour l'utilisateur ;

  • webService Arena : URL complète du webService ARENA pour la récupération des ressources ;

  • Zone par défaut pour le webService Arena : zone par défaut du portail ARENA.

Il est possible de changer ou de désactiver le thème.

Une fois l'application paramétrée, il est nécessaire de reconfigurer le serveur à l'aide de la commande reconfigure.

Une fois le serveur reconfiguré, l'application est accessible à l'adresse : http://<adresse_serveur>/edispatcher/

Truc & astuce

Il est possible de rendre l'application directement accessible depuis l'adresse http://<adresse_serveur>/, en renseignant /edispatcher en tant qu'Application web par défaut (redirection) dans la famille Applications web

Fonctionnement

L'installation du dispatcher va mettre en place sur le serveur SSO les filtres d'attributs nécessaires afin de rediriger correctement la personne.

Extrait du fichier /usr/share/sso/app_filters/dispatcher.ini :

[user]

rne=ecs_rne

user=uid

uid=uid

source=SourceAuth

FederationKey=DispatcherKey

displayName=displayName

profils=DispatcherProfils

auth=auth

L'attribut calculé ecs_rne, va permettre de récupérer les codes RNE en fonction des établissements d'affectation de l'utilisateur.

Lors de la connexion d'une personne, Eole-dispatcher va prendre tous les RNE reçus de EoleSSO et présenter tous les liens de fédération pour l'accès aux portails Envole le concernant.

ExempleExemple d'URL de fédération

 https://<domaineSeshatSSO>/saml?sp_ident=<id_fs>&RelayState=https://<URL_du_portail_Établissement>

Cette URL effectue une fédération vers le fournisseur de service <id_fs> et redirige vers l'<URL_du_portail_Établissement> du client en fournissant un identifiant de session.

Eole-dispatcher et EoleSSO
RNE : id_fs

id_fs est :

  • soit l'identifiant du fournisseur de service (entityID tel que défini dans son fichier de méta-données) ;

  • soit le nom de son fichier de méta-données placé dans /usr/share/sso/metadata/ (sans l'extension .xml).

Par simplicité il est possible de nommer le fichier metadata de nos entités partenaires (Serveur Scribe des établissements) par <RNE>.xml ; id_fs est alors le code RNE de l'établissement.

Libellé et adresse du portail des établissements : URL_du_portail_Établissement

EoleSSO va générer automatiquement, à chaque redémarrage du service eole-sso, un fichier dans /var/www/html/edispatcher/utils/etabs.ini qui va contenir les entrées nécessaires pour chaque établissement :

[9740091F]

libelle = COLLEGE LECONTE DE LISLE

portail = https://portail.college-lecontedelisle.re

...

Ces entrées sont récupérées depuis Zéphir, il est donc nécessaire que les serveurs Scribe soient enregistrés sur le serveur Zéphir. Dans le cas contraire, ou si des informations sont incorrectes ou manquantes, il faudra remplir ce fichier à la main (voir le chapitre : Gestion des sources d'authentification multiples).

Vous pouvez vous baser sur le fichier d'exemple : /var/www/html/edispatcher/utils/etabs.ini.sample.

Truc & astuceMessage d'erreur : aucun portail trouvé

Il manque une section pour le code RNE dans le fichier /var/www/html/edispatcher/utils/etabs.ini.

Description de liens vers des applications web ou vers des portails.

Fichier /var/www/html/edispatcher/applications.ini :

  • Format des sections :

[<identifiant du lien>]

url="<adresse du lien>"

piwik=<identifiant piwik>

  • Paramétrage des URLs : il est possible d'insérer des étiquettes dynamiques dans les URLs

[SSO] : adresse du serveur SSO de Seshat

[PORTAILHOST] : portail dépendant de la zone d'accès du client (configuré dans portails.ini)

[TICKET] : identifiant de session

Configuration de l'accès à un portail en fonction de la plage IP du client

Eole-dispatcher est également utilisé dans certaines académies comme portail d'authentification unique pour l'accès aux portails ARENA[114].

Il peut exister plusieurs portails en fonction de l'endroit où se trouve l'utilisateur. Par exemple, dans l'académie de la Réunion il existe au moins trois portails d'accès aux application ARENA :

  • portail.ac-reunion.fr (accessible en externe) ;

  • scoens.ac-reunion.fr (depuis le réseau pédagogique des établissements) ;

  • scoweb.ac-reunion.fr (depuis le réseau administratif).

Chaque portail, en fonction de sa zone de confinement, ne présentera pas les mêmes ressources et l'utilisation d'une clé OTP[103] sera proposée ou non.

Il faut donc permettre à l'utilisateur d'obtenir le bon portail en fonction de la zone où il se trouve.

Complément

La fonction GetPortailHost du fichier /var/www/html/edispatcher/inc.php du dispatcher permet, en fonction de l'adresse IP du client, de rediriger l'utilisateur vers le bon portail. La récupération de l'adresse IP du client se base sur le champ HTTP_X_FORWARDED_FOR des headers HTTP.

Les différentes associations réseau / portail sont définies dans le fichier /var/www/html/edispatcher/utils/portails.ini.

Créer le fichier /var/www/html/edispatcher/utils/portails.ini et ajouter des sections décrivant une plage IP et l'adresse du portail correspondant :

[<adresse IP>]

mask=<masque IP>

portail="<adresse du portail pour cette plage IP>"

Un exemple de fichier est présent dans : /var/www/html/edispatcher/utils/portails.ini.sample.

Exemple

[172.16.0.0]

mask=13

portail="scoens.ac-reunion.fr"

arena="rev-proxy-peda"

[172.31.190.64]

mask=26

portail="portail.ac-reunion.fr"

arena="rev-proxy-id"

[172.31.16.0]

mask=16

portail="portail.ac-reunion.fr"

arena="rev-proxy-id"

[10.205.0.0]

mask=16

portail="scoweb.ac-reunion.fr"

arena="rev-proxy-agr"

Exemple

Dans cet exemple, tout utilisateur se présentant avec une adresse IP du réseau 10.205.0.0/16, se verra renvoyé vers l'URL du portail académique https://scoweb.ac-reunion.fr.

La variable arena, permet de spécifier la zone ClearTrust associée au portail. Elle est utilisée si vous souhaitez intégrer les ressources ARENA dans le bureau Envole.

Plus d'informations : https://envole.ac-dijon.fr/wordpress/2014/02/19/integration-de-arena-dans-le-bureau-envole.

Dokuwiki : rédaction à plusieurs

Présentation
Page d'accueil de Dokuwiki
Page d'accueil de Dokuwiki

DokuWiki est un Wiki simple d'utilisation. Il permet l'édition et la rédaction commune entre plusieurs utilisateurs.

https://www.dokuwiki.org/

https://envole.ac-dijon.fr/presentation/dokuwiki/

Installation

DokuWiki s'installe manuellement, saisir les commandes suivantes :

# Query-Auto

# apt-eole install eole-dokuwiki

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Attention

Il existe un paquet dokuwiki qu'il ne faut pas confondre avec le paquet eole-dokuwiki.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accéder à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/dokuwiki/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Les élèves, les enseignants et les administrateurs ayant un compte sur le module Scribe possèdent un accès à l'application.

  • administrateur

    Seul l'utilisateur admin est administrateur de l'application.

    Il a un accès complet à l'application et à sa configuration.

    Il peut déléguer se rôle à un autre utilisateur mais aussi à un groupe d'utilisateurs.

    Il peut aussi, ajouter des privilèges à un ou plusieurs utilisateurs.

  • @ALL

    Toute personne ayant un compte authentifié sur Scribe est "ALL" mais n'a aucun droit.

  • @professeurs

    Les enseignants peuvent créer des nouvelles pages et éditer.

  • @eleves

    Les élèves ont le droit de lecture sur l'ensemble du wiki.

  • @administratifs

    Les administratifs n'ont pas de droit sur le wiki

  • visiteur anonyme

    Ne peut pas accéder à l'application.

Sur le module Horus, l'utilisateur admin est administrateur de l'application et les autres utilisateurs n'ont par défaut aucun droit.

Remarque

Les rôles sont directement modifiables dans l'application par l'administrateur :

http://<adresse_serveur>/dokuwiki/doku.php?id=start&do=admin&page=acl

Remarques

Les données utilisateurs relatives à l'application sont stockées dans le répertoire data/ de l'application et sont sauvegardées par Bacula.

Il existe 3 fichiers de configuration pour Dokuwiki :

  • dokuwiki.php → le fichier principal ;

  • local.php → le fichier secondaire est vide pour utilisation ultérieure ;

  • local.protected.php → le fichier protégé qui contient les configurations sensibles :

    • la méthodes d'authentification ;
    • les informations relatives à l'annuaire LDAP ;
    • l'emplacement du répertoire qui contient les données de Dokuwiki.

eConnect : centralisation et mise à disposition de ressource en ligne

Présentation
Page d'accueil de Dokuwiki
Page d'accueil de Dokuwiki

eConnect une application permettant de centraliser l'activation/configuration via une interface web des connecteurs et la mise à disposition des ressources dans Envole pour les utilisateurs.

https://envole.ac-dijon.fr/presentation/econnect/

Installation

eConnect s'installe manuellement, saisir les commandes suivantes :

# Query-Auto

# apt-eole install eole-envole-connecteur

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accéder à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/econnect/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Tous les utilisateurs présents dans l'annuaire ont un accès à l'application.

Seul l'utilisateur admin est administrateur de l'application.

Remarques

eConnect, n'a pas vocation à gérer les abonnements avec l'éditeur, mais uniquement de configurer le serveur eoleSSO et de mettre à disposition les ressources. Il est donc toujours nécessaire que l'établissement prenne contact avec l'éditeur pour acheter la ressource. D'une manière générale, l'éditeur va configurer son service SSO et communiquer un code d'activation à l'établissement. Code d'activation que l'établissement pourra gérer directement dans eConnect.

eConnect, va permettre également de mettre à disposition des ressources ne nécessitant pas de connecteurs SSO. Comme par exemple, des ressources gratuites.

Truc & astuce

eConnect, pourra aussi bien s'installer sur un serveur Scribe que sur un serveur Seshat pour une centralisation académique. Dans le cas d'une centralisation académique, un profil administrateur local sera créé donnant ainsi à une (ou des) personne(s) d'un établissement les droits pour la mise à disposition des ressources en fonction de ses abonnements.

ePortail : portail d'entreprise

Présentation

ePortail est un portail d'entreprise tourné vers l'intranet comme l'extranet.

https://envole.ac-dijon.fr/presentation/eportail/

Installation

ePortail s'installe manuellement, saisir les commandes suivantes :

# Query-Auto

# apt-eole install eole-eportail

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accéder à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/eportail/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Tous les utilisateurs présents dans l'annuaire possèdent un accès à l'application.

  • administrateur

    Seul l'utilisateur admin est "administrateur" de l'application, il peut :

    - Configurer les onglets

    - Configurer des widgets

    - Administrer la gestion des profils.

EtherCalc : tableur collaboratif

Présentation

EtherCalc est un tableur collaboratif en temps réel, libre, écrit en JavaScript. Il s'agit donc d'une feuille de calcul où les contributions de chacun apparaissent immédiatement sur l'écran de tous les participants.

http://ethercalc.net/

https://envole.ac-dijon.fr/presentation/ethercalc/

Installation de EtherCalc

EtherCalc s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-ethercalc

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accès à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/ethercalc/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Attention

Le symbole / est obligatoire à la fin de l'URL pour pouvoir accéder à l'application : http://<adresse_serveur>/ethercalc/

À la connexion l'application propose la création d'un nouveau tableur.

Rôles des utilisateurs

Les élèves, les enseignants et les administrateurs ayant un compte sur le module Scribe possèdent un accès à l'application.

Remarques

Le port d'écoute d'EtherCalc est par défaut 9002, ce paramètre peut être changé dans l'onglet Applications web de l'interface de configuration du module.

EtherDraw : dessin collaboratif

Présentation

EtherDraw est un outil intuitif basé de dessin collaboratif.

https://www.npmjs.com/package/etherdraw

Installation de EtherDraw

EtherDraw s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-etherdraw

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Etherhome : accès unifié aux applications collaboratives

Présentation
Installation de Etherhome

Etherhome s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-etherhome

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

EtherPad : écriture collaborative

Présentation

EtherPad est un éditeur de texte libre en ligne fonctionnant en mode collaboratif et en temps réel. Il permet à plusieurs personnes (16 par défaut) de partager l'élaboration simultanée d'un texte, et d'en discuter en parallèle, via une messagerie instantanée.

Il peut avoir des usages pédagogiques, notamment pour l'apprentissage collaboratif.

http://etherpad.org/

https://envole.ac-dijon.fr/presentation/etherpad/

Installation de EtherPad

EtherPad s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-etherpad

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accès à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/etherpad/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Attention

Le symbole / est obligatoire à la fin de l'URL pour pouvoir accéder à l'application : http://<adresse_serveur>/etherpad/

À la connexion l'application propose la création d'un nouveau pad[123].

Rôles des utilisateurs

Les élèves, les enseignants et les administrateurs ayant un compte sur le module Scribe possèdent un accès à l'application.

Remarques

Le port d'écoute d'EtherPad est par défaut 9001, ce paramètre peut être changé dans l'onglet Applications web de l'interface de configuration du module.

FluxBB : forum de discussions

Présentation
Page d'accueil d'un forum FluxBB
Page d'accueil d'un forum FluxBB

FluxBB est une application web de forum de discussions basé sur PunBB.

Il offre moins de fonctionnalités que beaucoup d'autres forums, mais il est généralement plus rapide.

https://fluxbb.org/

https://envole.ac-dijon.fr/presentation/fluxbb/

Installation de FluxBB

FluxBB s'installe manuellement, saisir les commandes suivantes :

# Query-Auto

# apt-eole install eole-fluxbb

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accès à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/fluxbb/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Tous les utilisateurs présents dans l'annuaire possèdent un accès à l'application.

  • administrateur

    Seul l'utilisateur admin est "administrateur" de l'application, il peut :

    - Organiser les catégories et forums.

    - Définir les options et préférences pour chaque forum.

    - Contrôler les permissions pour les utilisateurs et les invités.

    - Afficher les statistiques IP des utilisateurs.

    - Exclure des utilisateurs.

    - Censurer des mots.

    - Paramétrer les statuts d'utilisateurs.

    - Élaguer d'anciens messages.

    - Traiter les signalements de messages.

  • modérateur

    Seuls les professeurs sont modérateurs du forum, ils peuvent :

    - Exclure des utilisateurs.

    - Censurer des mots.

    - Paramétrer les statuts d'utilisateurs.

    - Traiter les signalements de messages.

  • membre

    Les élèves sont membres du forum, ils peuvent :

    - créer de nouvelle discussion

    - répondre à une discussion

  • invité

    Les personnes non authentifiées, les responsables et les administratifs ont le rôle invité.

    Ils peuvent consulter le forum.

Gepi : gestion des notes, des absences, et des cahiers de texte

Présentation
Administration de Gepi
Administration de Gepi

Gepi est un logiciel libre de gestion des notes, des absences, et des cahiers de texte pour les établissements francophones du second degré.

https://www.sylogix.org/projects/gepi

https://envole.ac-dijon.fr/presentation/gepi/

Installation

Gepi s'installe manuellement, saisir les commandes suivantes :

# Query-Auto

# apt-eole install eole-gepi

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accéder à l'application

Pour accéder à l'application se rendre à l'adresse : https://<adresse_serveur>/gepi/

L'authentification peut se faire :

  • par le biais d'une authentification SSO (Utilisation du service SSO pour les applications de votre serveur scribe à oui) ;
  • par le biais d'une authentification LDAP.
Attention

Pour des raisons de sécurité évidentes, l'accès en HTTPS est fortement recommandé.

De plus il permet d'éviter l'affichage des messages d'avertissement lors d'une session en tant qu'utilisateur admin.

Importation des comptes

En début d'année, un outil de synchronisation des bases permet de créer l'ensemble des comptes utilisateurs depuis l'annuaire LDAP du module Scribe.

Attention

L'initialisation des bases supprime un grand nombre de données déjà entrées.

L'import ne doit donc être réalisé qu'une seule fois en début d'année.

La mise à jour des informations importées est réalisée lors de la connexion des utilisateurs.

  • se rendre dans  Gestion générale / Initialisation à partir de l'annuaire LDAP du serveur Eole Scribe NG ;
  • lancer les 7 étapes, dans l'ordre.

Les données importées nécessitent par la suite quelques réglages :

  • attribution des rôles adéquats au personnel administratif ;
  • regroupement d'enseignements inter-classe ;
  • ... .
ConseilAffectation des matières à des professeurs

En tant qu'utilisateur admin, aller dans :

Gestion des bases / Gestion des comptes d'accès des utilisateurs / Personnels de l'établissement / Affecter les matières aux professeurs.

ConseilAjouts d'enseignements
  • Aller dans Gestion des bases / Gestion des classes ;

  • Choisir une classe dans le tableau puis cliquer sur Enseignements ;

  • En haut à droite "Ajouter des enseignements" et choisir dans la liste "Sélectionner matière".

  • Cliquer sur Créer.

Il est possible par la suite de ré-éditer ces enseignements pour :

  • Ajouter un ou des professeurs à l'enseignement ;

  • Associer une autre ou d'autres classes à l'enseignement.

Lors de la création d'un enseignement, tous les élèves de la classe sont par défaut inscrits dans l'enseignement.

Il faut passer en revue les enseignements optionnels pour décocher les élèves qui ne suivent pas l'enseignement.

Pour cela, toujours dans la Gestion des classes :

  • Gestion des bases / Gestion des classes

  • Choisir une classe dans le tableau puis cliquer sur Enseignements.

  • Choisir dans le tableau l'enseignement puis cliquer sur <Enseignement> Élèves inscrits (XX-XX-XX).

  • Choisir un élève dans le tableau et utiliser les coches pour choisir les périodes ou utiliser la croix rouge pour tout décocher.

  • Enregister vos changements.

ConseilAjouter un enseignement à cheval sur plusieurs classes
  • Aller dans Gestion des bases / Gestion des classes ;
  • Choisir une classe dans le tableau puis cliquer sur Enseignements.
  • En haut à droite, "Ajouter des enseignements" et choisir dans la liste "Sélectionner matière" en précisant qu'il concerne plusieurs classes (bouton radio) ;
  • Cliquer sur Créer ;
  • Préciser le nom de l'enseignement (regroupement) ;
  • Cocher les classes et le(s) enseignant(s) ;
  • Cliquer ensuite sur le lien Eleves (XX-XX-XX) pour cocher / décocher les élèves qui doivent suivre ou non l'enseignement.
ConseilFusionner des enseignements

Dans le cas où l'on a créé des enseignements dans deux classes alors qu'il s'agit d'un même enseignement regroupant les deux classes, il est possible de fusionner les deux enseignements :

  • Aller dans Gestion des bases / Gestion des classes ;
  • Choisir un enseignement dans le tableau puis cliquer sur Enseignements ;
  • Cliquer sur le nom de l'enseignement, puis cliquer sur le lien Fusionner le groupe avec un ou des groupes existants.
Rôles des utilisateurs

Administrateur

Seul l'utilisateur admin a un accès à l'application, il est administrateur de celle-ci.

Il a un accès complet à l'application et à sa configuration. Il peut déléguer ce rôle en donnant les droits administrateur à un utilisateur.

Ce rôle permet notamment de :

  • gérer les comptes utilisateurs ;
  • gérer les groupes classes et autres ;
  • sauvegarder les données ;
  • bloquer l'accès à l'application ;
  • observer l'historique des connexions.

Les autres utilisateurs ont accès à l'application uniquement si leur compte créé lors de l'initialisation annuelle.

Les rôles sont assignés comme suit :

Professeur principal

Les enseignants responsables de classes ont un accès en tant que professeur principal.

Professeur

Les enseignants qui ne sont pas professeur principal ont un accès professeur leur permettant :

  • d'accéder au cahier de texte ;
  • d'accéder à l'outil de gestion des notes ;
  • de saisir les bulletins ;
  • de préparer les conseils de classe (impression des bulletins, tableaux, graphiques ...).

Scolarité

Les personnels administratifs ont un accès scolarité, ces comptes doivent être édités manuellement afin de leur attribuer des rôles plus précis.

L'accès scolarité permet :

  • une vérification détaillée de la saisie des notes et la saisie des appréciations sur les bulletins ;
  • de visualiser et d'imprimer des relevés de notes ;
  • de visualiser et d'imprimer des bulletins.

Élève

Les élèves ont un accès élève leur permettant de :

  • consulter le cahier de texte;
  • consulter leurs notes et leurs bulletins.

Responsable légaux

Les responsables légaux ont un accès responsable légal leur permettant de consulter les informations (notes, absences ...) concernant les élèves dont ils sont responsables.

Complément

Plus d'informations sur les fonctionnalités disponibles directement ici :

http://www.sylogix.org/wiki/gepi/ListeDesFonctionnalités

Remarques
Attention

Tant qu'un élève n'a pas de note dans un groupe, il est facile de le désinscrire.

Si un professeur s'aperçoit qu'un élève ne devrait pas être dans un groupe, il est important qu'il n'ajoute aucune donnée à cet élève.

Mécanisme de synchronisation des élèves / parents / profs disponible

Cela se situe dans posh-profil > Synchronisation > Gepi

Attention contrairement aux autres mécanismes de synchronisation, celui de Gepi ne se lance pas toute les nuits en automatique

Il est nécessaire de l'exécuter en allant dans l'écran de posh-profil et cliquer sur le bouton Synchroniser

GRR : gestion de réservation de salles et de matériels

Présentation
Administration de GRR
Administration de GRR

GRR (Gestion et Réservation de Ressources) est un outil de gestion de réservation de salles et de matériels.

https://grr.devome.com/fr/grr3

https://envole.ac-dijon.fr/presentation/grr/

Installation

GRR s'installe manuellement, saisir les commandes suivantes :

# Query-Auto

# apt-eole install eole-grr

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accéder à l'application

Pour accéder à l'application, se rendre à l'adresse : http://<adresse_serveur>/grr/

L'authentification peut être réalisée par le biais du serveur SSO ou être gérée par l'application.

Rôle des utilisateurs (SSO activé)

Il est possible dans le menu "Configuration SSO" de sélectionner le rôle à donner aux différents profils existants lors de leur première connexion.

Par défaut les rôles sont restreints, l'administrateur doit donc définir finement les rôles avant même le lancement de l'application.

  • Administrateur

    Seul l'utilisateur admin est "administrateur" de l'application.

    Il peut déléguer ce rôle en donnant les droits "administrateur" à un utilisateur ayant initialisé son compte.

  • Gestionnaire

    Le gestionnaire à les droits pour gérer telle ou telle ressource.

  • Gestionnaire utilisateur

    Le gestionnaire d'utilisateur peut ajouter, éditer, supprimer des utilisateurs ayant pour statut "usager" ou "visiteur",

    L'administrateur peut déléguer le droit de gérer les utilisateurs.

  • Usager

    Les professeurs ont par défaut un accès "usager" à l'application.

    L'usager peut créer, modifier ou effacer ses propres réservations.

  • Visiteur

    Les administratifs, les élèves, les responsables et les invités ont par défaut un accès "visiteur" à l'application.

    Un « visiteur » peut voir les réservations mais ne peut pas agir dessus.

Remarques
  • Si l'authentification est gérée par l'application et non pas le serveur SSO, il faut utiliser le compte "administrateur" avec pour mot de passe azerty (par mesure de sécurité le mot de passe doit absolument être changé).

  • Lors d'un changement de version, il se peut qu'une mise à jour de la base de données soit nécessaire. Dans ce cas, une page d'avertissement s'affiche avec un lien "Mettre à jour la base MySQL" permettant à l'administrateur d'effectuer cette action.

  • Les comptes sont créés dans GRR lors de la première connexion des utilisateurs (initialisation du compte).

Kanboard : gestion de projets et de tâches, basé sur la méthode Kanban

Présentation

KanBoard est un outil de gestion de projets et de tâches, basé sur la méthode Kanban.

Cette approche consiste à organiser et visualiser globalement des processus et activités, au sein d'un tableau de bord.

https://kanboard.org/

Installation de Kanboard

Kanboard s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-kanboard

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

LimeSurvey : sondage et enquête statistique

Présentation

LimeSurvey est un logiciel d'enquête statistique, de sondage, et autres types de formulaires en ligne. Il permet aux utilisateurs, enquêteurs et statisticiens, de publier des questionnaires pour en collecter les réponses.

https://www.limesurvey.org/fr/

https://envole.ac-dijon.fr/presentation/limesurvey/

Installation de LimeSurvey

LimeSurvey s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-limesurvey

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accès à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/limesurvey/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Les élèves, les enseignants et les administrateurs ayant un compte sur le module Scribe possèdent un accès à l'application.

Remarques

Pour administrer l'application il faut se rendre à l'adresse : http://<adresse_serveur>/limesurvey/index.php/admin/

Mahara : portfolio électronique

Présentation

Mahara est le trait d'union entre espace personnel et profil dans un réseau social, blogs, homepage, site professionnel, espace collaboratif virtuel...

Mahara est un système de gestion d'ePortfolios, mais aussi d'un système de réseau social, combinés.

Un système de gestion d'ePortfolios est un système qui permet aux étudiants de collecter et ordonnancer leurs preuves « d'apprentissage tout au long de la vie » — comme des essais littéraires, des travaux artistiques ou tous autres documents qu'ils produisent dans le monde numérique. Ces documents sont appelés artefacts ou productions dans Mahara.

En ce qui concerne les réseaux sociaux, ils sont déjà rentrés dans les mœurs et ne nécessitent pas beaucoup d'explication. En résumé, ils permettent à des personnes d'interagir avec des amis et de créer ses propres communautés dans un monde virtuel, en ligne.

Mahara est bien plus qu'un simple dépôt où stocker des documents, il comprend aussi des outils de blog, un système de création de curriculum vitae, ainsi qu'un système de collaboration avec Moodle.

http://mahara.org/

https://envole.ac-dijon.fr/presentation/mahara/

Installation de Mahara

Mahara s'installe manuellement, saisir les commandes suivantes :

# Query-Auto

# apt-eole install eole-mahara

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accès à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/mahara/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Tous les utilisateurs présents dans l'annuaire ont un accès à l'application.

mindmaps : conception de cartes cognitives

Présentation

mindmaps est un logiciel servant à dresser des cartes heuristiques. Une carte heuristique (carte cognitive, carte mentale), est un schéma, supposé refléter le fonctionnement de la pensée, qui permet de représenter visuellement et de suivre le cheminement associatif de la pensée.

Cela permet de mettre en lumière les liens qui existent entre un concept ou une idée, et les informations qui leur sont associées.

La structure même d'une carte heuristique est en fait un diagramme qui représente l'organisation des liens sémantiques entre différentes idées ou des liens hiérarchiques entre différents concepts.

http://github.com/drichard/mindmaps

Installation de mindmaps

mindmaps s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-mindmaps

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accès à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/mindmaps /

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Les élèves, les enseignants et les administrateurs ayant un compte sur le module Scribe possèdent un accès à l'application.

Moodle : plate-forme d'apprentissage en ligne

Présentation
Page d'accueil de Moodle
Page d'accueil de Moodle

Moodle est une plate-forme d'apprentissage en ligne (e-learning en anglais) servant à créer des communautés d'apprenants autour de contenus et d'activités pédagogiques

À un système de gestion de contenu, Moodle ajoute des fonctions pédagogiques ou communicatives pour créer un environnement d'apprentissage en ligne.

C'est une application permettant de créer, par l'intermédiaire du réseau, des interactions entre des pédagogues, des apprenants et des ressources pédagogiques.

http://moodle.org/

https://envole.ac-dijon.fr/presentation/moodle/

Installation

Moodle s'installe manuellement, saisir les commandes suivantes :

# Query-Auto

# apt-eole install eole-moodle-update

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Attention

Il existe un paquet moodle qu'il ne faut pas confondre avec le paquet eole-moodle.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accéder à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/moodle/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Tout utilisateur présent dans l'annuaire possède un accès à l'application.

Administrateur

Seul l'utilisateur admin est "administrateur" de l'application.

Il a un accès complet à l'application et à sa configuration.

Il peut déléguer ce rôle en donnant les droits "administrateur" à un utilisateur ayant initialisé son compte :

Utilisateurs / Attribution des rôles système / choisir un rôle -> ajouter un utilisateur pour le rôle choisi.

Par défaut les rôles sont très restreints, l'administrateur doit donc définir finement les rôles avant même le lancement de l'application :

Utilisateurs / Permissions / Définition des rôles -> choisir le rôle à modifier

Créateur de cours

Les enseignants sont "créateur de cours", ils peuvent créer des cours et y convier des élèves (ainsi que d'autres utilisateurs), il peut être intéressant de leur mettre un rôle enseignant (voir plus bas).

Utilisateur authentifié

Les élèves, les administratifs et les invités sont par défaut "utilisateur authentifié", par défaut ils peuvent voir les cours disponibles et s'y inscrire.

Remarques
  • Seul l'enseignant a le choix de son adresse de messagerie lors de sa première connexion.

  • Il existe des problèmes d'encodage pour certaines pages de l'application essentiellement dans la partie administration.

AttentionAttention !
  • Les données ajoutées à Moodle sont stockées dans /var/www/moodledata/ donc attention à l'espace dont vous disposez sur la partition.

  • Les règles d'authentification sont directement modifiables dans Moodle par l'administrateur.

    L'authentification : Utilisateurs / Authentification

    Une modification pourrait rendre inutilisable l'authentification par le biais du serveur SSO.

Premiers pas

Pour synchroniser les comptes de l'annuaire ldap de Scribe directement dans moodle.

L'opération nécessite le lancement de la commande suivante :

/usr/bin/php -c /etc/php5/cli/php.ini /var/www/html/moodle/auth/cas/cas_ldap_sync_users.php

Exemple

Nous allons décrire comment créer la classe de seconde 1 ainsi que le cours de mathématiques de cette classe.

  • Dans l'interface d'administration de l'application, aller dans Cours / Gestion des cours ;

  • Créer un cours "seconde_1" au format Informel (ce cours correspondra à votre classe) ;

  • Créer un cours "seconde_1_math" mettre S'agit-il d'un méta-cours ? à Oui  (ce cours correspondra au cours de mathématiques) ;

  • Choisir les options, valider, une page Cours descendants apparaît ;

  • Mettre le cours seconde_1 comme cours descendants, valider.

La classe et le cours sont alors créés.

Inscription des utilisateurs
Exemple

Inscrivons à présent les élèves dans leur classe.

  • Depuis la liste des cours disponibles, aller dans le cours seconde_1 ;

  • Dans Attribution des rôles, cliquer sur Etudiant ;

  • Ajouter les élèves de la classe ;

  • Cliquer sur Attribuer les rôles dans Cours : seconde_1.

Inscrivons l'enseignant de mathématique à son cours :

  • Depuis la liste des cours disponibles, aller dans le cours seconde_1_math ;

  • Dans Attribution des rôles, cliquer sur Enseignant ;

  • Ajouter l'enseignant ;

  • Cliquer sur Attribuer les rôles dans Cours : seconde_1_math.

Améliorer les accès

Un créateur de cours voit l'ensemble des cours ce qui rend la vue complexe.

Les enseignants sont créés par défaut avec ce rôle.

A l'usage, il peut être plus judicieux d'attribuer le rôle Enseignant.

Pour ce faire, dans l'interface d'administration :

  • Aller dans Utilisateurs / Permissions / Attribution des rôles système et cliquer sur Enseignant ;

  • Choisir les comptes Créateur de cours et cliquer sur Attribuer les rôles Système.

L'affichage par défaut d'un cours peut paraître surchargé, il est possible de supprimer des blocs d'affichage.

Pour ce faire, dans l'interface d'administration :

  • Aller dans Plugins / Blocs / Gestion des blocs ;

  • Désactiver les blocs inutiles.

Nineboard : gestion de projet

Présentation

Nineboard est un outil de Scrum participatif basé sur Symfony[118].

https://dev-eole.ac-dijon.fr/projects/nineboard

Installation de Nineboard

Nineboard s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-nineboard

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Ninegate : portail

Présentation
Installation de Ninegate

Ninegate s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-ninegate

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accéder à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/ninegate/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Nineschool : alternative à Balado

Présentation

Nineschool est une alternative à Balado.

https://dev-eole.ac-dijon.fr/projects/nineschool

Installation de Nineschool

Nineschool s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-nineschool

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Ninesurvey : alternative à OpenSondage

Présentation

Ninesurvey est une alternative à OpenSondage.

https://dev-eole.ac-dijon.fr/projects/ninesurvey

Installation de Ninesurvey

Ninegate s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-ninesurvey

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

OpenSondage : planification de rendez-vous et mini-sondage

Présentation

OpenSondage sert à faire des sondages pour déterminer à plusieurs une date de réunion qui convienne au plus grand nombre.

Vous pouvez également utiliser cette application pour proposer des choix multiples et ainsi se mettre d'accord sur un lieu de rendez-vous, un thème de réunion ou la marque de votre prochaine machine à café (à base de capsules libres bien entendu).

https://envole.ac-dijon.fr/presentation/opensondage/

Installation de OpenSondage

OpenSondage s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-opensondage

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accès à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/opensondage/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Les élèves, les enseignants et les administrateurs ayant un compte sur le module Scribe possèdent un accès à l'application.

phpLDAPadmin : gestionnaire d'annuaire LDAP

Présentation

phpLDAPadmin est une interface écrite en php qui permet de modifier facilement et via une interface conviviale un annuaire LDAP[79].

http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page

Installation de phpLDAPadmin

phpLDAPadmin s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-phpldapadmin

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Piwigo : gestionnaire de galerie photo

Présentation
Navigation dans une galerie de Piwigo
Navigation dans une galerie de Piwigo

Piwigo est une application de gestion de galerie photo en ligne.

http://fr.piwigo.org/

https://envole.ac-dijon.fr/presentation/piwigo/

Installation de Piwigo

Piwigo s'installe manuellement, en saisissant les commandes suivantes :

# Query-Auto

# apt-eole install eole-piwigo

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accès à l'application

Pour accéder à l'application, se rendre à l'adresse : http://<adresse_serveur>/piwigo/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Par défaut les rôles des utilisateurs sont assignés comme suit :

  • Administrateur

    Seul l'utilisateur admin est "webmaster" de l'application.

    Il a un accès complet à l'application et à sa configuration.

    Il peut déléguer ce rôle en donnant les droits "administrateur" à un utilisateur.

  • Enseignant

    Les enseignants peuvent téléverser des nouvelles images dans les galeries de leurs classes d'appartenance.

  • Élèves

    Ils peuvent consulter la galerie de leur classe d'appartenance.

  • Autres

    Par défaut, les autres utilisateurs peuvent se connecter à l'application mais n'ont pas accès à la consultation des galeries.

Remarques

Les comptes sont créés dans Piwigo lors de la première connexion à l'application (initialisation du compte).

L'application est configurée pour que chaque classe ait sa propre galerie photo.

Les galeries portant le nom d'une classe ne se créent qu'à l'initialisation d'un compte enseignant ou élève de cette classe.

Piwik : outil statistique

Présentation
La page d'accueil de Piwik
La page d'accueil de Piwik

Piwik est une application web de statistiques collectant des données dans une base MySQL dédiée.

Son interface très esthétique et totalement personnalisable via des modules que l'on choisit d'afficher ou non.

http://piwik.org/

Piwik est configuré pour dresser des statistiques sur l'utilisation du portail Envole.

Installation

Piwik s'installe manuellement, en saisissant les commandes suivantes :

# Query-Auto

# apt-eole install eole-piwik

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accès à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/piwik/

Nul besoin d'être authentifié pour accéder à l'application.

Rôles des utilisateurs
  • Administateur

    L'utilisateur admin peut suivre la procédure de récupération de mot de passe depuis Piwik en indiquant son adresse de courrier électronique.

    Il pourra notamment ajouter des applications à surveiller qui ne sont pas accessibles depuis Envole.

    Il peut aussi obtenir le code pour créer des widgets à ajouter dans Envole.

  • Anonymous

    Tous les utilisateurs ont ce rôle.

    Ils ont un rôle uniquement consultatif.

Remarques

Seul les clics sur l'onglet Mon bureau sont référencés dans les statistiques.

SACoche : évaluation et suivi d'acquisitions de compétences

Présentation

L'application SACoche permet :

  • d'évaluer les élèves par compétences ;

  • de conserver un historique de leur parcours ;

  • de déterminer un état d'acquisition de chaque compétence :

  • de collecter les compétences pour assister la validation du socle commun.

http://sacoche.sesamath.net/

http://envole.org/sacoche

Installation de SACoche

SACoche s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-sacoche

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accès à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/sacoche/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

Rôles des utilisateurs

Les élèves, les enseignants et les administrateurs ayant un compte sur le module Scribe possèdent un accès à l'application.

Remarques

Les utilisateurs sont auto-générés lors de leur première connexion.

Par contre il n'existe pas encore de synchronisation des classes, des matières et des niveaux.

Scrumblr : gestion de projet collaboratif en ligne

Présentation

Scrumblr est un service en ligne libre et minimaliste qui permet d'éditer et d'organiser collaborativement des idées sous forme de notes.

http://scrumblr.ca/

https://github.com/aliasaria/scrumblr

Installation de Scrumblr

Scrumblr s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-scrumblr

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

WordPress : système de gestion de contenu

Présentation
Edition d'un article dans Wordpress
Edition d'un article dans Wordpress

WordPress est un système de gestion de contenu (CMS).

Il permet de créer et gérer du contenu sous forme d'un site web ou plus simplement d'un blog.

http://fr.wordpress.org/

http://envole.org/wordpress

Installation

WordPress s'installe manuellement, saisir les commandes suivantes :

# Query-Auto

# apt-eole install eole-wordpress

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Accès à l'application

Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/wordpress/

L'authentification se fait obligatoirement par le biais du serveur SSO, ce service doit donc être actif.

L'accès à l'interface d'administration de l'application se fait par l'URL http://<adresse_serveur>/wordpress/wp-admin

Rôles des utilisateurs

Un utilisateur de WordPress peut avoir l'un des rôle suivant :

  • administrateur

    Seul l'utilisateur admin est "administrateur" de l'application.

    Il peut déléguer ce rôle en donnant les droits "administrateur" à un utilisateur ayant initialisé son compte.

  • éditeur

    L'éditeur peut gérer les catégories, les liens et les commentaires.

  • auteur

    L'auteur peut écrire des articles et les publier. Il peut également publier les articles proposés par les contributeurs.

  • contributeur

    Le contributeur peut écrire des articles.

  • abonné

    L'abonné peut lire les articles.

Par défaut, les utilisateurs ont le rôle d'abonné.

L'administrateur peut modifier ce comportement et modifier le rôle de chaque utilisateur.

Contrôle de l'accès aux articles

L'extension WP Sentry permet à l'administrateur de gérer les droits d'accès aux articles en fonction des profils du module Scribe.

Attention

La gestion des droits d'accès est totalement indépendante de celle des profils.

L'extension Private WP est pré-installée. Elle permet, après activation, de rendre WordPress complétement inaccessible par les visiteurs non authentifiés.

Multisite

Pour gérer plusieurs blogs sur la même instance de WordPress il faut se rendre dans la page dédiée nommée Sites en tant qu'utilisateur admin.

Pour cela il faut suivre le menu Mes sitesAdmin du réseauSites.

Sous l'entrée Admin du réseau du menu se trouve le nom de l'instance principale de WordPress. Il porte le nom de l'établissement saisi dans l'interface de configuration du module.

La page Sites permet d'ajouter, de modifier et de supprimer un blog.

Pour ajouter un blog il suffit de cliquer sur le bouton Ajouter et de saisir les paramètres demandés : le chemin, le titre et l'adresse de contact de l'administrateur de ce nouveau blog. Le chemin sera ajouté au domaine affiché.

Exemple de valeurs :

Le chemin : nouveausite

Titre du site : Nouveau Site

Le nouveau blog sera accessible à l'adresse https://<adresse_serveur>/wordpress/nouveausite

La personnalisation du blog s'effectue dans la liste des sites en cliquant sur le lien modifier.

Il est possible de choisir un thème et une langue spécifique pour le blog.

Il faut pour chaque nouvelle instance passer le site en français

La synchroniser des utilisateurs se fait via la gestion des profils sinon il faut ajouter manuellement les utilisateurs au blog.

Remarques
  • Si l'utilisateur est déjà authentifié auprès du serveur SSO son authentification auprès de WordPress est automatique sinon il accède à la partie publique de l'application ;
  • Les comptes sont créés dans WordPress lors de la première connexion des utilisateurs (initialisation) ;

xDesktop : bureau des applications

Présentation

xDesktop est un bureau d'accès rapide aux applications.

Il permet une navigation plein écran, une catégorisation des applications et une gestion de l'affichage de mémos par profils.

https://dev-eole.ac-dijon.fr/projects/xdesktop

Installation de xDesktop

xDesktop s'installe manuellement, saisir les commandes suivantes dans un terminal :

# Query-Auto

# apt-eole install eole-xdesktop

L'application n'est pas disponible immédiatement après l'installation.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Applications pré-packagées spécifiques

Il existe d'autres applications web spécifiques qui sont plus liées à un module de part leurs fonctionnalités.

Il y a différentes méthodes de mise en œuvre et les rôles des utilisateurs sont très différents d'une application à l'autre.

Reportez-vous à la documentation de chacune d'elles pour plus d'informations.

Truc & astuceReconfiguration du module

De nombreuses applications nécessitent d'être activées depuis l'interface de configuration du module et une reconfiguration du serveur est indispensable.

Cette procédure est relativement longue, il est donc possible d'activer plusieurs applications et de ne lancer qu'une fois la commande reconfigure.

AttentionOCS Inventory

L'application OCS Inventory n'a pas été portée en version 2.8.

GLPI

Présentation
Vue de l'application GLPI
Vue de l'application GLPI

GLPI est une application web permettant la gestion de parc informatique et de gestion des services d'assistance :

  • gestion et suivi des ressources informatiques ;

  • gestion et suivi des licences ;

  • gestion et suivi des consommables ;

  • base de connaissances ;

  • gestion des réservations ;

  • serviceDesk (helpdesk, SLA..) ;

  • inventaire automatisé (avec l’utilisation conjointe de la solution d’inventaire) ;

  • télé-déploiement (avec l'utilisation conjointe de la solution d'inventaire).

http://www.glpi-project.org/

Installation

Il est possible d'effectuer l'installation sur un module EoleBase.

GLPI s'installe manuellement en saisissant les commandes suivantes :

# Query-Auto

# apt-eole install eole-glpi

L'application n'est pas disponible immédiatement après l'installation.

L'activation de GLPI se fait dans l'interface de configuration du module, dans l'onglet Applications web en passant la variable Activer GLPI à oui.

Onglet Glpi de l'interface de configuration du module
Onglet Glpi de l'interface de configuration du module

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Truc & astuce

Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :

# a2dissite nom_de_l'application

Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/

Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :

# service apache2 reload

Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :

# a2ensite nom_de_l'application

# service apache2 reload

Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web.

L'opération nécessite une reconfiguration du module avec la commande reconfigure.

Configuration

L'activation de GLPI se fait dans l'interface de configuration du module, dans l'onglet Applications web en passant la variable Activer GLPI à oui.

L'opération nécessite une reconfiguration du serveur avec la commande reconfigure.

Accéder à l'application

Pour accéder à l'application, se rendre à l'adresse : http://<adresse_serveur>/glpi/

Attention

À la première connexion l'authentification ne se fait pas par le biais du serveur SSO.

Rôles des utilisateurs

Les profils par défaut sont ceux de l'application GLPI :

  • Super-Admin : accès à toute la console centrale de GLPI et au paramétrage de l'application ;

  • Admin : accès à toute la console centrale de GLPI et à la modification tous les éléments excepté la configuration ;

  • Normal : accès à toute la console centrale de GLPI uniquement en lecture seule ;

  • Post-only : accès à la partie d'assistance de GLPI (Nouveau ticket / Suivi des tickets / Réservation et FAQ publique).

Les comptes utilisateurs par défaut sont ceux fournis par GLPI et ont pour mot de passe le nom du compte (exemple : glpi / glpi) :

  • l'utilisateur glpi est de type Super-Admin et a les mêmes droits qu'un utilisateur admin, mais peut en plus configurer l'application, réaliser les sauvegardes de la base de de données, la restaurer, etc. Cet utilisateur sera plus orienté responsable de l'application et aura tous les droits sur l'application ;

  • l'utilisateur normal est de type Self-Service et a accès aux données du parc en lecture seulement, pas de modification, ni d'ajout, ni de suppression. Ce type de compte sert plus pour une personne qui a besoin de consulter des statistiques ou des rapports ;

  • l'utilisateur tech est de type administrateur.

Il convient de changer les comptes et les mots de passe immédiatement après l'installation.

Il est possible d'ajouter des utilisateurs afin qu'ils puissent se connecter sur l'interface de GLPI.

Pour ajouter des utilisateurs il faut utiliser le formulaire d'ajout d'utilisateur : menu AdministrationUtilisateursAjouter utilisateur….

Attention

N'oubliez pas, pour des raisons évidentes de sécurité, de changer le mot de passe du compte glpi. Il peut même être préférable de le renommer ou d'en créer un autre.

Remarques

Il est possible de paramétrer manuellement GLPI pour que l'authentification se fasse par CAS. La configuration se fait dans AccueilConfigurationAuthentificationAutres méthodes d'authentification.

Prise en charge d'applications supplémentaires

Les modules Scribe, Horus, Seshat et AmonEcole fournissent tous les éléments nécessaires à l'installation d'applications web indépendamment de celles pré-configurées.

Les exemples sont basés sur l'installation du logiciel EGroupware mais sont facilement transposables pour l'installation de n'importe quelle application PHP/MySQL.

EGroupware est un logiciel collaboratif professionnel. Il vous permet de gérer vos contacts, vos rendez-vous, vos tâches, et bien plus pour toute votre activité.

http://www.egroupware.org/

AttentionMode conteneur

L'installation d'applications sur les modules configurés en mode conteneur est plus complexe.

Certaines étapes de la mise en place diffèrent selon le mode, conteneur ou non conteneur.

Dans les exemples ci-dessous les modules Scribe et Horus sont en mode non conteneur et AmonEcole en mode conteneur.

Téléchargement et mise en place

Installation des fichiers

Pour télécharger une archive sur le module, il faut utiliser la commande wget :

# wget downloads.sourceforge.net/project/egroupware/eGroupware-14.2/eGroupware-14.2.20150310/egroupware-epl-14.2.20150310.tar.bz2

Il faut ensuite décompresser l'archive à l'aide de la commande tar (ou unzip, pour le format zip) :

# tar xzvf egroupware-epl-14.2.20150310.tar.bz2

Dans cet exemple, cela créera le répertoire egroupware

Ensuite, il faut envoyer les fichiers dans le répertoire de destination, soit :

  • sur les modules Scribe ou Horus :

    # cp -r egroupware /var/www/html/egroupware

  • sur un module Horus dépourvu d'application web :

    # mkdir /var/www/html

    # cp -r egroupware /var/www/html/egroupware

  • sur le module AmonEcole :

    # cp -r egroupware /opt/lxc/reseau/rootfs/var/www/html/egroupware

Affectation de droits

La plupart des applications nécessitent que l'utilisateur utilisé par le service Apache (ici, l'utilisateur système : www-data ) ait le droit d'écrire en certains endroits du disque.

Le propriétaire d'un fichier ou d'un répertoire se modifie à l'aide de la commande chown :

  • sur les modules Scribe/Horus :

    # chown -R www-data: /var/www/html/egroupware

    # chmod 770 /var/www/html/egroupware (le temps de l'installation)

  • sur le module AmonEcole :

    # ssh reseau

    # chown -R www-data: /var/www/html/egroupware

    # chmod 770 /var/www/html/egroupware (le temps de l'installation)

    # ctrl + d pour sortir du conteneur

Attention

Donner trop de droits à l'utilisateur www-data diminue la sécurité du serveur.

Consulter la documentation du logiciel pour n'attribuer que les droits nécessaires au fonctionnement de l'application.

Installation de paquets

Certaines applications nécessitent également des modules apache ou d'autres logiciels qui ne sont pas forcément présents sur le serveur.

Dans la majeure partie des cas, les éléments manquants sont disponibles en tant que paquet de la distribution.

ExempleInstallation du paquet php5-imap
  • sur les modules Scribe ou Horus :

    # apt-eole install php5-imap

  • sur le module AmonEcole :

    # apt-eole install-conteneur web php5-imap

Configuration Apache

Méthode Creole

Dans l'interface de configuration du module :

  • aller dans l'onglet Apache en mode expert ;

  • indiquer le chemin complet de l'application et l'alias de l'application /var/www/html/egroupware ;

  • indiquer le chemin de l'alias de l'application /egw ;

    Déclaration d'une application web dans gen_config
    Déclaration d'une application web dans gen_config
  • enregistrer la configuration et quitter ;

  • lancer la commande reconfigure ;

  • le logiciel doit répondre à l'adresse : http://<adresse_serveur>/egw

Truc & astuce

Le fichier de configuration apache pour cette application est /etc/apache2/sites-available/eole

Attention

La directive php_admin_flag allow_url_fopen On est nécessaire au bon fonctionnement d'EGroupware.

Méthode manuelle
  • créer le fichier de configuration apache nommé egroupware

    • sur les modules Scribe ou Horus : /etc/apache2/sites-available/egroupware.conf
    • sur le module AmonEcole : /opt/lxc/reseau/rootfs/etc/apache2/sites-available/egroupware.conf

# Exemple basique de configuration de site #

Alias /egw /var/www/html/egroupware

<Directory "/var/www/html/egroupware">

    php_admin_flag allow_url_fopen On

    AllowOverride None

    DirectoryIndex index.php

    Order Allow,Deny

    Allow from All

</Directory>

  • activer l'application à l'aide de la commande :

    # CreoleRun "a2ensite egroupware" web

  • recharger la configuration d'Apache à l'aide de la commande CreoleService[124] :

    # CreoleService apache2 reload

  • le logiciel doit répondre à l'adresse : http://<adresse_serveur>/egw

Remarque

Pour obtenir une configuration apache optimale, consulter la documentation de l'application.

En cas de problème, consulter le fichier de journal /var/log/rsyslog/local/apache2/apache2.err.log

Dans le cas d'EGroupware, il est nécessaire de supprimer le fichier .htaccess situé dans le répertoire racine du logiciel :

# rm -f /var/www/html/egroupware/.htaccess

La directive php_admin_flag allow_url_fopen On est également nécessaire au bon fonctionnement d'EGroupware.

Configuration MySQL

Méthode EOLE

Utiliser le script mysql_add.py :

Nom de la base de données à créer : egroupware

Nom de l'utilisateur MySQL administrant la base : egroupware

Mot de passe de l'utilisateur Mysql administrant la base : pwdsecret

## Création de la base egroupware ##

Remarque

Sur le module AmonEcole, il y a une question supplémentaire :

Nom du conteneur source : web

En répondant web cela permet que les requêtes vers MySQL soient autorisées depuis le conteneur dans lequel se trouvent les applications web.

Méthode semi-manuelle
  • utiliser le script mysql_pwd.py ;
  • réinitialiser le mot de passe root de MySQL à la valeur de votre choix ;
  • utiliser l'interface Adminer pour faire les manipulations nécessaires.
Conseil

Il est recommandé de créer un utilisateur et une base MySQL spécifiques par application.

Sur le module AmonEcole, il faudra veiller à ce que l'utilisateur MySQL utilisé ait le droit d'accéder à la base de données depuis l'adresse IP du conteneur web, en l'occurrence 192.0.2.51.

Configuration du logiciel

Vous pouvez maintenant utiliser le système automatique d'installation du logiciel disponible à l'adresse  : http://<adresse_serveur>/egw

Un /install ou /config sera à ajouter au chemin en fonction de l'application à installer.

Attention

Sur le module AmonEcole, l'adresse de la base de données à mettre dans l'interface de configuration de l'application est celle du conteneur bdd (192.0.2.50) et non localhost.

Affectation de droits après l'utilisation du système automatique d'installation du logiciel

Changer les droits d'accès :

# chmod 750 /var/www/html/egroupware

Changer le propriétaire des fichiers :

# chown -R root :www-data /var/www/html/egroupware

Authentification CAS

Informations utiles à la configuration d'une authentification CAS :

  • adresse du serveur CAS : adresse IP (ou nom DNS) de votre module EOLE
  • port d'écoute par défaut du serveur CAS : 8443 (CAS EOLE)
  • URI sur le serveur CAS : rien
  • Destination après la sortie : rien
Truc & astuce

Par défaut EoleSSO, fournit uniquement l'identifiant de l'utilisateur.

Pour chaque application, il est possible d'ajouter des filtres définissant des attributs supplémentaires à fournir.

Pour plus d'informations, consulter la documentation EoleSSO.

Authentification LDAP

Informations utiles à la configuration d'une authentification LDAP :

  • adresse du service LDAP :

    • sur le module Scribe/Horus : adresse IP (ou nom DNS) de votre module EOLE
    • sur le module AmonEcole : adresse IP du conteneur bdd : 192.0.2.50
  • port d'écoute du serveur LDAP : 389 (port standard)

  • base DN : o=gouv,c=fr

Truc & astuce

La majeure partie des informations stockées dans l'annuaire est accessible par des requêtes anonymes.

Si l'application a besoin d'accéder à des attributs LDAP protégés par une ACL[25] et non fournis par EoleSSO, il est possible d'utiliser le compte spécial cn=reader,o=gouv,c=fr dont le mot de passe est stocké dans le fichier /root/.reader

Externalisation des bases de données MySQL avec EoleDB

EoleDB est disponible depuis la version 2.5.2 d'EOLE. C'est une re-implémentation de l'ancien gestionnaire des bases de données EOLE (eole-sql) dont les objectifs principaux sont :

  • n'utiliser qu'un seul fichier de configuration ;

  • supporter nativement plusieurs types de bases de données (MySQL, PostgreSQL, SQLite, ...) ;

  • supporter nativement l'externalisation des bases de données sur d'autres serveurs ;

  • ne plus avoir à fournir des scripts python dans les paquets d'application web du projet EOLE pour pouvoir générer ou mettre à jour des bases de données (cf eole-sql : /usr/share/eole/applications/gen/, /usr/share/eole/applications/passwords/, /usr/share/eole/applications/updates/).

EoleDB rend possible l'externalisation des bases de données d'un module EOLE.

Remarque

Pour le moment, EoleDB gère uniquement les bases de données MySQL[80] et PostgreSQL[91].

Installation d'EoleDB

EoleDB est pré-installé sur les modules où des applications web le requièrent.

Sur les autres modules l'installation d'EoleDB se fait manuellement sur le serveur qui héberge l'application web avec la commande apt-eole :

# apt-eole install eole-db

Configuration

Par défaut le serveur de base de données est paramétré comme étant local. Dans le cas où le serveur est distant quelques variables sont à renseigner.

  • Adresse du serveur de base de données : adresse IP, nom de machine ou nom de domaine du serveur de base de données distant. Cette valeur est utilisée pour toutes les applications web qui ne définiront pas elles-mêmes un serveur de base de données.

  • Port du serveur de base de données : port du serveur de base de données utilisé, par exemple 3306 pour le serveur MySQL fourni par EOLE.

  • Nom d'utilisateur d'administration : identifiant du gestionnaire de la base de données distante.

  • Fichier de mot de passe : chemin d'accès vers le fichier qui contient le mot de passe du gestionnaire, par exemple /root/bdpass.txt. Ce fichier doit être accessible par EoleDB, idéalement le fichier doit avoir les droits 600.

  • Machines qui peuvent utiliser le serveur de BDD : permet d'autoriser des machines à accéder à l'administration des bases distantes #fixme, si rien n'est renseigné l'adresse IP du serveur utilisant EoleDB est ajoutée automatiquement dans le fichier de configuration.

EoleDB dispose d'un fichier de configuration principale, /etc/eole/eole-db.conf, géré par Creole.

Ce fichier est au format YAML[125], il défini le comportement par défaut d'EoleDB si aucune configuration spécifique n'est définie par l'application web.

Exemple
1
dbhost: 192.168.0.24
2
dbport: 3306
3
dbroot: root
4
client_hosts: ['192.168.0.26']
5
dbrootpwd: /root/bdpass.txt

Les application web disponible sur EOLE fournissent un fichier de configuration au format YAML[125] qui surcharge le fichier de configuration principal d'EoleDB.

Ces fichiers de configuration spécifiques aux applications redéfinissent le comportement par défaut d'EoleDB, ils sont stockés dans /etc/eole/eole-db.d/.

Pour des raisons pratiques, EoleDB réalise également le changement de mots de passe dans les fichiers de configuration des applications, les mots de passes sont changées à chaque lancement de la commande eole_db_gen.

Dans le cas de EOLE cette commande est lancée au minimum à chaque reconfigure.

Pour utiliser EoleDB il faut donc mettre en place les fichiers de configuration et utiliser la commande eole_db_gen.

Sans paramètre, la commande eole_db_gen utilise les paramètres par défaut.

Pour utiliser une autre configuration des options sont disponibles :

  • -h, --help: Affiche le message d'aide à l'utilisation de la commande ;

  • -c, --config : Définir un fichier de configuration a utiliser à la place de /etc/eole/eole-db.conf ;

  • -d, --dbdir : Définir un répertoire qui contiens les fichiers de configuration des applications qui n'est pas /etc/eole/eole-db.d/ ;

  • -b, --backup-dir : Définir un répertoire pour copier les sauvegardes des fichiers modifiés par EoleDB.

Truc & astuce

Pour obtenir de l'aide, utiliser la manuel de la commande :

# man eole_db_gen

Pour connaître les différents paramètres de la commande eole_db_gen :

# eole_db_gen --help

Changement de mot de passe par l'utilisateur

Le changement de mot de passe peut s'effectuer à différents endroits suivant le profil de l'utilisateur :

  • dans l'EAD : un enseignant peut changer son mot de passe dans la rubrique Préférences ;

  • depuis un poste Windows : tout utilisateur ayant un compte sur le module Scribe et ayant accès à une station de travail peut changer son mot de passe à l'invite de connexion en effectuant la combinaison de touches ctrl + alt + suppr ;

  • l'application web EOE : un élève peut changer son mot de passe par l'intermédiaire de l'outil EOE ;

  • l'application web EOP : un enseignant peut changer son mot de passe par l'intermédiaire de l'outil EOP dans la rubrique Préférences ;

Quelque soit la méthode utilisée le changement de mot de passe suit la politique (longueur et classe de caractère composant un mot de passe) mise en place dans l'interface de configuration du module.

ERA, éditeur de règles pour le module Amon

Introduction

Présentation

Présentation et fonctionnalités

L'outil EOLE de génération de règles de pare-feu[126] pour les modules Amon et AmonEcole se nomme ERA[127].

Il permet de gérer la description de la politique de sécurité d'un pare-feu[126]. Cette politique est sauvegardée intégralement dans un fichier de type XML avec un format spécifique à l'application.

Par un processus de compilation, ERA transforme le fichier XML en un bloc de règles iptables[128], de manière à instancier ces règles sur un pare-feu[126] cible.

ERA et sa documentation sont sous licence libre.

AttentionInterface ERA

À partir d'EOLE 2.9, l'interface ERA s'exécute dans un conteneur[17] logiciel Podman[101].

L'image era est téléchargée depuis le site hub.eole.education.

Le serveur doit donc pouvoir accéder à ce domaine au même titre qu'aux serveurs de mise à jour des modules.

Un logiciel en deux parties
  • L'interface de conception permet d'organiser la politique de filtrage et l'enregistre dans un fichier XML ;
  • le compilateur génère le script iptables, par compilation, à partir du fichier XML de description du pare-feu.
Remarque

Seul le format XML est utilisé par le module Amon. L'exportation au format iptables[128] permet d'être utilisable sur un autre pare-feu disposant de Netfilter.

Il n'est bien sûr pas nécessaire de connaître la syntaxe iptables pour manipuler ERA. Le but d'un tel logiciel est justement de s'abstraire de la syntaxe iptables, afin de pouvoir concevoir un pare-feu sans pour autant être un expert. Pour cela, l'interface graphique de ERA est un outil intéressant :

L'interface graphique d'ERA
L'interface graphique d'ERA
Truc & astucele fichier lance.firewall

Sur le pare-feu Amon, le fichier lance.firewall  présent dans /sbin/ est un fichier de règles iptables qui a été généré par ERA.

Remarquons que si le serveur sur lequel est lancé le compilateur de règles est en mode conteneurs, ERA va générer autant de fichiers de règles iptables que de conteneurs.

Les fichiers XML de modèles

Un modèle[129] est un fichier de description du pare-feu. Le format d'enregistrement est un format XML[130].

Divers modèles caractéristiques de description de pare-feu sont disponibles dans le répertoire /usr/share/era/modeles et sont des exemples de types de pare-feu (deux, trois, quatre ou cinq cartes réseau).

Création d'un modèle personnalisé

En général il est préférable, pour commencer un pare-feu, de partir d'un des modèles exemples, et d'y ajouter des directives (ou bien d'en enlever).

Partez de préférence d'un modèle qui correspond au nombre de cartes réseau dont vous disposez sur le serveur.

Boite de dialogue d'ouverture d'un modèle
Boite de dialogue d'ouverture d'un modèle
Attention

Lorsque vous modifiez un modèle exemple, il faut impérativement l'enregistrer sous un autre nom, sinon les modifications seront perdues à la prochaine mise à jour du paquet era.

Le nouveau fichier XML doit être enregistré dans le répertoire /usr/share/era/modeles/.

Enfin, pour que le serveur utilise ce modèle, il faut modifier la variable type_amon (Modèle de filtrage dans l'onglet Firewall de l'interface de configuration du module).

Truc & astuceCharger un modèle à la ligne de commande.

Il est possible d'ouvrir directement un modèle à la ligne de commande. Pour cela, il suffit de spécifier l'option -f avec le nom du fichier.

Par exemple :

era -f /usr/share/era/modeles/3zones-amonecole.xml

Le format XML interne est facilement lisible avec un éditeur de texte (ou un éditeur XML) si l'on est familiarisé avec :

  • la notation XML ;
  • les différents concepts propres à ERA (tableau des flux, services, directives, ...).
Version des modèles ERA

Les modèles XML ERA sont versionnés.

Dans les modèles fournis, la version est indiquée dans l'attribut version de la balise <firewall>.

1
<firewall name="Concatenated_Do_Not_Edit" netbios="1" qos="0" version="2.4">

Le numéro de version des modèles XML ERA est incrémenté lorsque des changements importants sont apportés à la DTD[131].

Les numéros de version sont généralement corrélés avec les versions des modules EOLE : 2.0, 2.3, 2.4, 2.42.

Remarque

Les commandes instance, reconfigure et le redémarrage du service bastion affichent un avertissement si le modèle de pare-feu utilisé possède une version inférieure à celle gérée par l'outil ERA du module.

Truc & astuce

Il est possible de mettre à niveau un modèle XML existant en l'éditant et en le sauvegardant à l'aide du logiciel ERA.

Utilisation de variables Creole

ERA[127] a été conçu dans le cadre du projet EOLE et pour le pare-feu Amon. Il peut très bien être utilisé en dehors de ce cadre, mais c'est sur un module Amon qu'il devient vraiment possible de déployer toutes les possibilités du logiciel.

Il est possible, à plusieurs endroits de l'interface, d'insérer des variables Creole[21] (elles commencent par %%) plutôt que des valeurs fixes.

Le fichier XML de description de pare-feu devient alors un template[42] Creole.

Exemple

Dans la fenêtre d'édition d'une zone, entrer une valeur du type %%ip_variable plutôt qu'une valeur IP fixe.

Une adresse IP de zone peut être templatisée (IP en variable Creole)
Une adresse IP de zone peut être templatisée (IP en variable Creole)
Variables multi-valuées

Creole propose un concept de variables multi-valuées qui peuvent également être utilisées dans ERA.

Si une variable %%variable est multi-valuée (au sens de Creole, c'est-à-dire que la variable contient une liste de valeurs), et que cette variable est présente dans une règle iptables, alors la règle sera répétée autant de fois que de valeurs dans %%variable puisque cette fonctionnalité génère du code avec une boucle for :

%for %%v in %%variable /sbin/iptable bla bla %%v bla bla %end for

Limitations de l'intégration entre ERA et Creole

Cette intégration des variables Creole dans ERA a des limites dans le cas des variables multivaluées. Une variable multivaluée au sens de Creole est une variable dont les valeurs sont multiples (c'est une liste d'ips, de networks, etc...).

Il est autorisé d'utiliser des variables multivaluées dans ERA, mais il y a une limitation : si dans une directive donnée plusieurs variables multivaluées sont utilisées (par exemple au niveau d'une extrémité source, d'une extrémité de destination ou d'un service, ou d'un port de redirection...), alors il faut que les autres variables multivaluées utilisées soient déclarées dans le dictionnaire Creole comme esclaves de la première variable multi-valuée, sinon le cas d'utilisation ne sera pas géré.

Le support des groupes de variables multivaluées est très partiel dans ERA, si dans une directive une variable multivaluée est utilisée alors elle doit être déclarée comme maître dans le dictionnaire Creole, et il ne faut pas qu'il y ait dans cette directive une deuxième variable multivaluée indépendante, donc les autres variables impliquées sont soit des variables multivaluées esclaves, soit simplement des variables Creole non-multivaluées.

Utilisation

Les zones de sécurité

Présentation

L'éditeur ERA est un outil de conception par zones[132]. Une zone[132] correspond physiquement à une carte réseau. Cela permet de découper le parc de machines en réseau ou sous-réseau.

Le pare-feu lui-même étant une zone à part, appelée par convention bastion.

Les zones sont ensuite ordonnées par niveau de sécurité[133] sous forme d'entiers de 0 à 100.

100 est le niveau de sécurité maximal et correspond à la zone bastion. Cela permet de "cartographier" tout le réseau.

Par convention, le niveau de sécurité le plus faible de toutes les zones est affecté à la zone "extérieur".

Les machines de la zone ont un accès complet aux zones de niveau inférieur et aucun accès à celles de niveau supérieur.

Les niveaux de sécurités des différentes zones (vue centrée sur le bastion)
Les niveaux de sécurités des différentes zones (vue centrée sur le bastion)

Une zone correspond à un réseau et dans cette zone, on retrouve des sous-réseaux et des machines, correspondant à la notion d'extrémité[134] utilisée dans ERA.

Une extrémité est un sous-ensemble d'une zone :

  • Elle est définie par un ensemble d'adresses IP ou une adresse réseau.

  • Elle hérite du niveau de sécurité de la zone à laquelle elle appartient.

Ajouter une zone

Il est possible à tout moment, même après la conception initiale du modèle, d'ajouter une zone de sécurité. L'ajout d'une zone de sécurité se fait en cliquant sur le bouton Ajouter Zone de la barre d'icônes.

Ajouter une zone au tableau des flux
Ajouter une zone au tableau des flux

Les cases des noms des zones sont cliquables.

Un clic droit dans une case des noms de zones permet d'afficher les zones ainsi que les extrémités[134] qui y sont associées.

Fenêtre d'édition de zone
Fenêtre d'édition de zone
Truc & astuceles trigrammes (préfixes) de zones

Dans le choix des noms de zone :

  • les trois premières lettres (trigramme) du nom de la zone sont discriminantes, par exemple : statistique et station sont des noms de zone incompatibles (c'est la même zone sta) ;

  • le mot clef bastion est réservé (pour la zone du bastion lui-même) ;

  • le mot clef extérieur est également réservé (pour la zone extérieure, internet).

Conseilla gestion des VLAN

Une zone peut aussi représenter un VLAN.

C'est une bonne pratique de créer une nouvelle zone pour gérer un VLAN.

Il n'est pas possible de créer une zone pour tous les VLAN.

S'il y en a plusieurs il faut les créer un à un manuellement.

Truc & astuceSyntaxe Creole pour la création des VLAN

Il est fréquent que les valeurs des IP des VLAN soient stockées dans une variable Creole, et que cette variable soit multiple (une variable multiple au sens Creole est une variable qui contient une liste de valeurs). Il faut alors manier correctement la syntaxe Creole pour créer une zone de VLAN.

Exemple Exemple de création d'un VLAN de l'interface 1

Dans la widget de création d'une zone, il faut mettre une IP et un netmask variable :

ip variable : %%id_vlan_eth1[0].adresse_ip_vlan_eth1

netmask variable : %%id_vlan_eth1[0].adresse_netmask_vlan_eth1

Ajouter une extrémité

La liste des extrémités est disponible dans le menu bibliothèque / extrémités.

Il est également possible de lister les extrémités d'une zone, en cliquant droit sur le bouton de la zone et en sélectionnant voir la liste des extrémités.

Liste des extrémités
Liste des extrémités

Pour créer une nouvelle extrémité, faire un clic droit dans la zone dans laquelle vous voulez l'inclure. Ensuite, choisir définir un ensemble de machines ou définir un sous-réseau suivant que vous voulez inclure un groupe d'IP ou un sous-réseau.

Un clic droit sur le nom d'une zone affiche le menu contextuel relatif à cette zone
Un clic droit sur le nom d'une zone affiche le menu contextuel relatif à cette zone
Ajout d'une extrémité dans le cas d'une liste de machines
Ajout d'une extrémité dans le cas d'une liste de machines
Ajout d'une extrémité de type sous réseau
Ajout d'une extrémité de type sous réseau
Attention

Les alias IP doivent être gérés comme des extrémités et non comme une zone : un alias n'est pas une zone.

Pour ajouter une extrémité de type alias, il faut spécifier le type "alias" dans l'éditeur d'extrémité :

Il est fréquent que les valeurs des IP des alias soient stockées dans une variable Creole, et il est fréquent aussi que cette variable soit multiple (une variable multiple au sens Creole est une variable qui contient une liste de valeurs). Il faut alors manier correctement la syntaxe Creole pour créer une extrémité qui est un alias.

Dans la widget de création d'une extrémité, il faut alors mettre une IP et un netmask variable.

Dans la zone correspondant à la carte, créer une extrémité (clic droit sur la case de la zone).

Exemple

Un alias de l'interface 2 doit être créé de la façon suivante :

ip variable : %%alias_ip_eth2[0]

network variable : %%alias_network_eth2[0]

Il sera possible ensuite de créer une directive avec cette extrémité plutôt qu'avec l'extrémité correspondant à l'IP de la zone elle-même.

AttentionLes mauvaises fausses bonnes idées pour créer un alias
  • créer une zone supplémentaire avec une carte eth0:X ;
  • aller de suite dans les inclusions statiques ;
  • utiliser la variable eth0 de Creole comme IP multivaluée.

Les extrémités de type conteneur

Il est possible également de créer une extrémité dans la zone bastion. Dans la zone bastion il y a depuis la version 2.4 un nouveau type d'extrémité, le type conteneur. Ce type d'extrémité permet de créer des directives à destination des conteneurs (directives de type INPUT).

Une extrémité de type conteneur est à destination du conteneur. Elle nécessite deux informations : le nom de l'interface (typiquement : "br0", "eth1", ... ), et le nom du conteneur (typiquement : "bdd", "internet"...)

Les flux

Présentation

Dans ERA, les règles sont systématiquement classées d'après la zone d'origine et la zone de destination. ERA est donc conçu autour du concept de flux[135] plutôt que centré sur la notion de règle. Par voie de conséquence, chaque zone est reliée à une autre zone par des flux.

A l'intérieur d'un flux, on trouve deux flux orientés, le "flux montant[136]" et le "flux descendant[137]".

Les "flux montants[136]" concernent les zones[132] d'un niveau de sécurité plus faible vers un niveau de sécurité plus élevé, et réciproquement pour les "flux descendants[137]".

Pour pouvoir ordonner les flux en vue d'une cohérence globale, il convient ensuite de modéliser le "tableau des flux[138]".

Ce tableau correspond à l'ensemble des flux du modèle de sécurité à l'intérieur duquel seront rangées les règles (ou directives).

Directives montantes et descendantes dans la matrice de flux
Directives montantes et descendantes dans la matrice de flux

Lorsque les flux montants et les flux descendants sont définis, une politique par défaut est automatiquement spécifiée. Ici, la politique de sécurité par défaut qui résulte de la matrice de flux est :

Repérage des types de directives (autorisation ou interdiction) dans la matrice de flux
Repérage des types de directives (autorisation ou interdiction) dans la matrice de flux
Truc & astuceNiveaux de sécurité égaux

Lorsque deux zones ont deux niveaux de sécurité égaux, alors la politique par défaut est une interdiction des deux côtés (flux montants et descendants).

AttentionChangement de la politique par défaut

Il est possible d'inverser le comportement de la politique par défaut. On peut choisir d'interdire les flux d'une zone vers une autre par défaut.

L'interface de conception

La fenêtre principale représente un tableau composé de cases de zones et de cases de flux.

Interface d'ERA avec un modèle chargé
Interface d'ERA avec un modèle chargé

Les cases des flux sont colorés. Les cases de couleur verte sont en "autorisation" par défaut et les cases de couleur rouge sont en "interdiction" par défaut.

La couleur rouge indique que le flux orienté est interdit, tandis que la couleur verte montre que le flux orienté est autorisé.

Les directives

Présentation

Une directive[129] est une règle concernant un service ou un groupe de services entre deux extrémités.

Cette règle peut être de type "interdiction", "redirection", "source NET" ou "destination NAT".

Les services et les groupes de services

Avant de pouvoir créer une directive, il faut d'abord créer un service[139].

Exemple

Par exemple, le service "serveur web" est défini par le protocole HTTP sur le port 80.

Truc & astuce

Il y a déjà une bibliothèque de services prédéfinis dans ERA.

Pour lister ces services, aller dans le menu : Bibliothèque > services.

Pour créer un service, aller dans le menu : Bibliothèque > services.

Liste et édition des services
Liste et édition des services

Créer ou modifier un service signifie renseigner les noms, descriptions, protocoles et ports.

Ajout d'un service
Ajout d'un service

Remarquons que si on choisit un port égal à 0, cela équivaut à saisir de 0 à 65535.

Truc & astuce

Si on veut que le service ne concerne qu'un seul port, il faut mettre deux fois le même numéro de port.

Attention

Depuis EOLE 2.4, l'utilisation d'une variable Creole pour définir le type de protocole à utiliser n'est plus fonctionnelle.

Cette fonctionnalité n'est plus disponible dans l'interface à partir d'EOLE 2.6.

Truc & astuceimplémenter un service avec tcpwrapper

Pour prendre en compte le tcpwrapper avec ERA, ça se passe au niveau des services. Il suffit de renseigner le nom tcpwrapper du service (le nom tel qu'il doit apparaître dans le fichier hosts.allow) et le tcpwrapper sera pris en compte dès qu'une directive utilisant ce service sera créée.

Truc & astucele tcpwrapper en mode conteneur

Remarquons que ERA va générer un fichier tcpwrapper, classiquement le fichier /etc/hosts.allow, mais que en mode conteneur autant de fichiers seront générés que de conteneurs.

L'éditeur de directives

Un clic droit ou un double clic dans une case de flux du tableau permet de visualiser la liste des directives de façon synthétique.

Fenêtre de liste des directives dans un flux donné
Fenêtre de liste des directives dans un flux donné

Les directives sont triées par ordre croissant. C'est l'ordre dans lequel seront appliquées les règles sur le pare-feu cible.

Attention

Les directives de nat et redirection sont appliquées forcément avant les autres. Ceci est le comportement de Netfilter[140].

Depuis cette fenêtre, il est possible d'éditer une nouvelle directive (en double-cliquant dessus) ou d'en ajouter une si nécessaire.

Fenêtre d'édition des directives
Fenêtre d'édition des directives

Pour construire une directive, il faudra au moins deux extrémités (entre deux zones) et un service (ou groupe de services), qui doit être renseigné par glisser-déplacer.

Glisser-déposer d'une extrémité pour la source et la destination d'une directive
Glisser-déposer d'une extrémité pour la source et la destination d'une directive

Lors de la création de la directive, il est possible de mettre une liste d'extrémité de n'importe quel type (machine, sous-réseau...) comme source ou comme destination. Dans ce cas, la fonctionnalité "tout sauf" d'inversion des extrémités est désactivée.

Truc & astuce

Si vous ne renseignez pas les extrémités, c'est la zone entière qui est prise (plus précisément l'extrémité désignant la zone entière).

AttentionDifférence entre zone entière et zone restreinte

La zone entière est le réseau correspondant à une carte réseau du pare-feu. Cela correspond au réseau local ainsi que d'éventuels sous-réseaux derrière une passerelle. Elle est nommée <nom de la zone>.

La zone restreinte ne correspond qu'au sous-réseau. Elle est nommée <nom de la zone>_restreint.

A chaque directive est associé un service ou un groupe de services qu'il est nécessaire de renseigner par glisser-déposer.

Sélection d'un service depuis l'éditeur de directive
Sélection d'un service depuis l'éditeur de directive
Les types de directives
Les types de directives

Il y a plusieurs types de directives :

  • autorisation
  • interdiction
  • redirection
  • SNAT
  • DNAT
  • FORWARD
Les directives d'autorisation et d'interdiction

Une directive est dans une case de flux et elle s'oppose à la politique par défaut du flux. Si le flux est en autorisation, la directive propose une interdiction et inversement.

Type standard de directive (autorisation/interdiction)
Type standard de directive (autorisation/interdiction)

En plus du filtrage simple, d'autres fonctionnalités sont proposées.

Les directives de redirection

Une directive de type redirection permet de rediriger une requête d'un port déterminé vers un port de la machine elle-même (bastion).

Directive de redirection
Directive de redirection
Exemple

Cette fonctionnalité est particulièrement intéressante dans le cas du proxy transparent. Toutes les requêtes destinées à des serveurs web seront redirigées automatiquement vers le service proxy installé sur le serveur.

Les directives de DNAT/SNAT

Le NAT permet de modifier l'adresse source (SNAT) ou destination (DNAT) d'une requête.

Glisser-déposer de l'extrémité de redirection
Glisser-déposer de l'extrémité de redirection
Exemple

Le SNAT est utilisé pour toutes les requêtes provenant de la zone pédago vers l'extérieur. Cela permet de transformer les adresses source locales en adresses source extérieures.

Attention

Le DNAT et le SNAT ne sont pas autorisés si la directive est authentifiée.

Les directives FORWARD

Le FORWARD permet d'autoriser la translation un réseau vers un autre

Les plages horaires
Création d'une plage horaire

Les plages horaires sont définies depuis le menu Bibliothèque > plage horaire.

Il y a trois manières de définir une plage horaire :

  • les heures de début et de fin ;
  • les dates de l'année de début et de fin ;
  • les jours de la semaine.

Les informations indispensables sont : le nom et une ou plusieurs de ces trois manières.

Ajouter des plages horaires
Ajouter des plages horaires

Le filtrage et les restrictions basées sur des plages horaires sont appliquées par l'utilisation du module time du logiciel iptables.

iptables interprète les dates en UTC[33], il y a donc un décalage normal entre ce qui est saisi dans l'interface et les informations renvoyées par la commande iptables-save.

Affectation d'une plage horaire à une directive

Il est possible de définir une plage horaire à l'intérieur de laquelle la directive sera activée.

Depuis l'éditeur de directives, glisser-déposer une plage horaire. Affecter une plage horaire à une directive.

La plage horaire d'une directive
La plage horaire d'une directive
La journalisation

La case "journaliser" permet de tenir un journal des événements (logs) de la directive (grâce à ULOG).

Journaliser la directive
Journaliser la directive
Gérer des exceptions

Dans l'éditeur de directives il est possible d'ajouter des exceptions.

L'éditeur d'exceptions permet :

  • d'ajouter une exception ;

  • d'éditer une exception ;

  • de supprimer une exception.

L'exception peut se faire :

  • sur une adresse IP ;

  • sur un nom de domain  ;

  • sur une variable Creole.

Le marquage

Le marquage est une fonctionnalité avancée de iptables[128] permettant d'identifier un paquet grâce à une marque spécifiée dans l'interface.

Les directives optionnelles
Présentation

Une directive optionnelle[11] est une directive qui va être activable ou désactivable depuis l'interface EAD[9].

Pour cela, il est indispensable d'affecter un libellé optionnel à cette directive. Il est aussi possible de choisir un libellé optionnel préexistant dans la liste des libellés affectés aux directives, ce qui crée une notion de groupe de directives optionnelles.

La directive est étiquetée comme optionnelle
La directive est étiquetée comme optionnelle
Truc & astuce

Les directives optionnelles activées/désactivées dans l'EAD sont enregistrées dans le fichier : /var/lib/eole/config/regles.csv

Attention

Un libellé optionnel sert de tag (d'identifiant). Il peut être composé de caractères alphanumériques [1-9] [a-z] [A-Z] et éventuellement de "_" ou d'espaces. Il est impératif de ne utiliser d'autres caractères accentués.

Directive optionnelle active

Une directive optionnelle n'est pas active par défaut dans ERA, c'est-à-dire que la directive ne sera pas appliquée sur le serveur cible. Pour l'appliquer, il faut aller la cocher comme active dans l'interface EAD. Mais il est possible de rendre une directive active par défaut dans ERA. Dans ce cas, il faudra aller dans l'interface EAD pour la désactiver.

L'état actif et la possibilité de marquer une directive comme optionnelle sont deux notions différentes.

Pour activer une directive, aller dans Bibliothèque / Directives optionnelles.

Fenêtre de la bibliothèque permettant d'étiqueter une directive comme optionnelle
Fenêtre de la bibliothèque permettant d'étiqueter une directive comme optionnelle
AttentionDirective optionnelle active et inactive

Dans le cas de l'activation/désactivation d'une directive optionnelle, il faut bien comprendre que c'est l'EAD qui prime par rapport à ERA. À la première instanciation du serveur, ERA détermine si la directive optionnelle est active ou inactive, mais une fois le serveur est instancié c'est depuis l'interface EAD qu'il faut renseigner le statut actif/inactif de la directive optionnelle en question.

Les directives optionnelles cachées

Une directive optionnelle cachée est une directive optionnelle qui n'apparaîtra pas dans l'EAD. Elle est activable uniquement par une procédure particulière.

Pour créer une directive optionnelle cachée, aller dans Bibliothèque / Directives Optionnelles et cocher directives cachées.

Les directives cachées
Les directives cachées

Une directive cachée est désactivée par défaut. Pour l'activer, il faut patcher le template active_tags afin d'y ajouter le libellé optionnel de la directive (un libellé par ligne).

Attention

Il est préférable d'utiliser un libellé optionnel court (par exemple "ActiverProxy" plutôt que "activer le proxy").

Dans le template active_tags, ne pas mettre de commentaire.

La qualité de service

La qualité de service ne concerne que les flux des zones internes vers l'extérieur. C'est une QOS[141] externe.

Le qualité de service est un système de minimum garanti.

Elle n'entraîne pas de sous-utilisation de la bande passante, car si une zone n'atteint pas son minimum d'utilisation, ce qui reste est réparti dynamiquement entre les autres zones.

Il est possible d'accéder à la fenêtre de gestion de la QOS[141] de deux manières :

  • depuis le menu Bibliothèque / Qualité de service (QOS) ;
  • en cliquant sur la zone Extérieur depuis le tableau des flux.
Gestion de la Qualité de Service
Gestion de la Qualité de Service

Dans cette boîte de dialogue, il faut :

  • fixer des valeurs de bande passante en upload et en download (c'est-à-dire les flux globaux disponibles entre l'intérieur et l'extérieur), en kilo bits par seconde (soit un débit de 1000 bits par seconde) ;
  • à l'aide des poignées de manipulation des différentes boîtes représentant chaque zone, affecter un pourcentage de flux relatif à chaque zone.
Truc & astuce

Remarquons que il est tout-à-fait possible de mettre des variables Creole comme valeurs possibles de QOS en upload et en download

Attention

La QOS peut être définie dans un modèle sans être activée !

Pensez à l'activer dans les options du modèle (Bibliothèque->Options du modèle).

Attention

La désactivation de la QOS n'est effective que si le fichier /etc/qoseole.conf est supprimé.

Les options du modèle

Il est possible d'ajouter des règles spécifiques à netbios et à la QOS depuis le menu Bibliothèque / Options du modèle.

Fenêtre des options du modèle
Fenêtre des options du modèle

Activer netbios permet d'ajouter des règles permettant de bloquer les requêtes du réseau Microsoft vers l'extérieur. Cette règle est activée par défaut.

Si vous voulez utiliser les règles de Qualité de Service (QOS), il est indispensable de l'activer dans cette fenêtre. Par défaut, les règles de QOS ne sont pas actives.

L'inclusion statique

Il est possible d'ajouter des règles iptables personnalisées. Ces règles peuvent utiliser des variables Creole[21].

On accède à la fenêtre des inclusions statiques par le menu Bibliothèque / Inclusion Statique.

Il s'agit d'une zone de saisie de texte. Ces règles seront exécutées en dernier.

Fenêtre d'insertion des inclusions statiques
Fenêtre d'insertion des inclusions statiques
Attention

Aucune validation n'est faite par ERA sur ces règles insérées directement par l'utilisateur. Précisons que cette possibilité est réservée à un utilisateur avancé, qui maîtrise parfaitement la syntaxe iptables.

Truc & astuce

Les règles statiques obtenues après traitement sont consultables dans le script dédié : /etc/eole/inclusion_statique.

Imbriquer des modèles : l'héritage

Il est possible d'imbriquer des modèles, c'est-à-dire de faire dépendre des modèles les uns des autres. Un modèle devient un modèle père, les autres modèles héritent de toutes ses caractéristiques (directives, bibliothèques, flux, zones, ...).

Pour imbriquer des modèles, créez d'abord un modèle de manière habituelle. Ce modèle deviendra le modèle père. Ensuite, créez un nouveau fichier dans l'éditeur, et choisissez dans le menu Fichier / importer un modèle.

Le modèle est chargé comme d'habitude mais les directives importées ne sont plus éditables (elles sont grisées).

Ne seront éditables que les directives que vous allez rajouter. En plus de l'existant, vous pouvez faire toute modification utile (ajout de zone, création de directives, etc...).

Attention

Vous ne pouvez plus changer le fichier père de place ni le renommer, le chemin du fichier père est enregistré comme attribut.

Truc & astuceL'héritage multiple entre modèles

L'héritage d'un modèle XML est donc la possibilité de d'utiliser plusieurs fichiers XML liés entre eux par référence. Le fichier référencé dans un autre fichier est appelé le fichier père. On peut voir si on édite le fichier XML avec un éditeur de texte, que le chemin du fichier XML père est renseigné dans l'attribut **model** à la racine de la balise **firewall**.

Il est possible, mais ce n'est pas une action qui est accessible depuis l'interface gtk, d'hériter de plusieurs fichiers. Il suffit dans ce cas de mentionner dans l'attribut **model** une liste de noms longs de fichiers, séparés par des virgules. Pour des exemples de ces fonctionnalités, regarder dans le dossier **template** dans les sources du projet ERA, car les modèles XML eux-mêmes sont générés à partir de templates qui sont imbriqués entre eux avec cette fonctionnalités de l'héritage multiple.

Communication avec Zéphir

La connexion au Zéphir est possible depuis le menu Zephir.

Connexion à Zéphir
Connexion à Zéphir
Attention

Sur les versions récentes d'EOLE, du fait des vérifications ajoutées au niveau des certificats, il n'est plus possible d'utiliser directement l'adresse IP du serveur Zéphir.

Importer un modèle

ERA intègre la possibilité d'échanger des modèles avec un serveur Zéphir.

Lors du première utilisation des fonctions d'importation Zéphir, des informations de connexion vous seront demandées.

Vous devez spécifier ici l'adresse du serveur Zéphir, et le nom et le mot de passe d'un utilisateur ayant les droits nécessaires (lecture pour l'import et écriture pour l'export). Une fois connecté, vous pourrez saisir l'identifiant du serveur.

Le modèle est alors téléchargé et ouvert dans ERA. Cette procédure n'est valable que si vous avez déjà remonté le modèle de pare-feu dans Zéphir.

Importation d'un modèle XML depuis le Zéphir
Importation d'un modèle XML depuis le Zéphir

A l'enregistrement, il vous sera demandé si vous voulez remonter le modèle sur Zéphir.

Exporter un modèle Zéphir

Lorsque vous avez construit un modèle de pare-feu, vous pouvez l'envoyer directement sur un serveur Zéphir avec le menu Envoi à zephir. Si vous ne les avez pas encore renseignées, ERA vous demandera les informations nécessaires à la connexion.

Les options suivantes vous sont proposées pour la sauvegarde sur Zéphir :

  • pour un serveur : sauvegarde le modèle sur le serveur et change le modèle actif dans la configuration du serveur ;
  • pour une variante : le fichier est ajouté à la liste des fichiers de la variante ;
  • pour un groupe : idem que pour un seul serveur, mais sur tous les Amon présents dans le groupe choisi.
Exportation vers Zéphir
Exportation vers Zéphir

Directives optionnelles ERA depuis l'EAD

Les modèles de pare-feu ERA peuvent contenir des directives optionnelles[11].

Une règle peut être :

  • générale, si elle concerne uniquement l'interface externe ;
  • spécifique à une zone de configuration, si elle concerne une interface interne de la zone, dans ce cas, elle apparaîtra dans les règles du filtre web auquel est rattaché l'interface source de la directive.

La configuration générale est accessible par le menu EAD : Configuration générale / Règles du pare-feu.

La configuration spécifique est accessible par le menu EAD : Filtre web X / Règles du pare-feu :

Pour valider une directive optionnelle :

  • choisir Actif ;
  • valider.
Activation des directives optionnelles dans l'EAD
Activation des directives optionnelles dans l'EAD

Truc & astuce

Les directives optionnelles activées/désactivées dans l'EAD sont enregistrées dans le fichier : /var/lib/eole/config/regles.csv

AttentionLien entre ERA et les directives optionnelles de l'EAD

Pour les règles optionnelles, l'EAD prime sur l'ERA : elles sont pilotées par l'EAD. Une directive peut être marquée comme étant active par défaut dans ERA et ne pas être active car désactivée dans l'interface EAD.

Compléments techniques

Le format XML interne

Les composantes du tableau des flux sont :

  • les flux ;
  • les zones ;
  • les directives montantes et descendantes.

Le format XML interne suit une DTD qui correspond à la modélisation par flux. Les noms des balises correspondent aux noms des objets ERA. Il y a la liste des zones, puis les extrémités et les services, les groupes de services, et enfin les flux contenant les directives.

La représentation interne en objets est la suivante :

La représentation interne (objets)
La représentation interne (objets)
  • Directive(FwObject) : directive ;
  • Service(FwObject), ServiceGroupe(FwObject) : service et liste de services ;
  • Zone(FwObject), Extremite(FwObject) ;
  • Flux(FwObject).
Les directives optionnelles

Dans le fichier era.noyau.constants.py il y a deux constantes intéressantes ici

  • DIRECTIVE_OPTIONAL = 1
  • DIRECTIVE_ACTIVE = 2

Ces filtres permettent de savoir si une directive est optionnelle ou non. Pour cela, il faut regarder l'attribut attrs de la directive.

Si directive.attrs = 0, alors la directive n'est ni optionnelle, ni active.

  • attrs=0 : pas optionnelle
  • attrs=1 : optionnelle mais pas active
  • attrs=3 : optionnelle et active
  • la valeur 2 correspond à non optionnelle mais active, ce qui n'a pas de sens. Les valeurs autorisées sont donc [0,1,3]
  • ACTION_DENY = 1 : barrage
  • ACTION_ALLOW = 2 : pont
  • ACTION_FORWARD = 4 : redirect
  • ACTION_DNAT = 8 : dnat
  • ACTION_MASK = 16 : masque
Exemple

Exemple d'une directive de type masque :

action="16" attrs="0" nat_extr="exterieur_bastion" nat_port="0"

Exemple d'une directive de type dnat :

action="8" attrs="0" nat_extr="serveur_web" nat_port="80"

Comportement du Backend

Règles implicites : le REDIRECT

Un redirect doit inclure aussi une chaine input chaine xxx-bas. A une règle de forward vient donc se greffer une règle de type input.

règles implicites : le redirect
règles implicites : le redirect

Il y a une règle de forward (une redirection) :

La règle de forward
La règle de forward

la chaine input qui vient se greffer sur le redirect (sur le forward) est implicite.un forward z1->z2 doublé d'une redirection, ajoute une règle de type input vers le bastion.

Une directive de redirection génère donc deux règles :

  • une règle input vers le bastion
  • une règle forward z1->z2

La règle dite "implicite" est la règle de type INPUT. Une règle implicite se place en fin de pile pour chaque flux (elle n'est pas placée directement à côté de sa règle de FORWARD dans le fichier de règles générées).

Règles implicites : Le DNAT et le SNAT

Lors d'un DNAT, une règle de type input est doublée d'un forward (elle s'ajoute à un FORWARD).

Même chose pour le masque de SNAT.

Exemple : un serveur de la DMZ répond à une requête sur le port 80 du bastion.

Un INPUT est transformé en FORWARD.

requète de DNAT
requète de DNAT
Une règle de type SNAT
Une règle de type SNAT

Un poste de travail peut surfer sur le web avec l'IP publique du bastion. Cela permet de surfer masqué.

Le compilateur

La génération des règles iptables

A la compilation du fichier XML, un certain nombre d'actions sont effectuées. Ce sont des règles iptables :

  • définition d'une sous-chaîne pour chaque flux (liaison entre zone/extrémité) ;
  • création de la politique par défaut (en fonction du niveau des zones) ;
  • ajout des règles correspondant aux directives ;
  • ajout de règles implicites liées au directives ;
  • insertion des inclusions statiques (règle iptables de bas niveau).

Sur Amon, le compilateur gère aussi l'affichage des règles optionnelles dans l'EAD et récupère leur configuration en cas de mise à jour, et contrôle l'activation des directives cachées.

C'est aussi au moment de la compilation que sont gérées les directives cachées. Elles sont activées ou désactivées selon ce qui a été spécifié.

Utilisation du compilateur en ligne de commande

Aller dans le répertoire /usr/share et exécuter le compilateur avec un fichier de modèle de pare-feu adapté :

1
root@amon:/usr/share# ./era/backend/compiler --help
2
Usage: 
3
Script de generation de regles iptables a partir d'un modele ERA.
4
5
compiler [options] era_model_file.xml

Par exemple :

root@amon:/usr/share# ./era/backend/compiler era/modeles/3zones.xml

Différentes options sont possibles, taper --help pour les détails ou consulter le fichier /usr/share/era/bastion.sh qui correspond à ce qui est exécuté par le service bastion.

Gestion des tunnels : RVP

Pré-requis

Le réseau virtuel privé (RVP)[142] est activé au moment de la configuration et de l'instanciation du module.

Sur le module Amon, il faut au préalable avoir activé et configuré le réseau virtuel privé dans l'interface de configuration du module.

Sur le module Sphynx, ce paramètre est forcé et n'apparaît pas.

ARV[143] permet de gérer les RVP de plusieurs serveurs Sphynx. Un serveur Sphynx autre que le serveur Sphynx-ARV sera appelé Sphynx distant. Sur un serveur de ce type, la mise en place du RVP se fera comme sur un serveur Amon.

Attention

On ne peut pas utiliser le logiciel ARV d'un Sphynx 2.6 ou inférieur pour générer des configurations IPSec d'Amon 2.7/2.8.

Il faut obligatoirement générer les configurations IPSec d'un Amon 2.8 à partir du logiciel ARV d'un Sphynx 2.7 ou 2.8.

Toutefois, si vous utilisez les fonctionnalités de Zéphir, il faudra un serveur Sphynx 2.8 pour importer/générer/diffuser les configurations serveurs et VPN.

Activation du RVP au moment de l'installation du serveur Amon

La configuration du Réseau Virtuel Privé peut se faire avec un serveur Zéphir ou manuellement.

Dans le cas d'une configuration manuelle il faut préparer la configuration avant l'instanciation :

  • copier le répertoire /home/data/vpn/<UAI>/<UAI>-amon.tar.gz présent sur le module Sphynx sur le module Amon dans /tmp/sphynx.tar.gz ;
  • sur le module Amon créer le répertoire ConfIpsec : # mkdir -p /root/tmp/ConfIpsec ;
  • se rendre dans le répertoire /root/tmp/ConfIpsec : # cd /root/tmp/ConfIpsec ;
  • désarchiver sphynx.tar.gz : # tar xzf /tmp/sphynx.tar.gz

Au lancement de la première instanciation, la question suivante vous sera posée :

Voulez-vous configurer le Réseau Virtuel Privé maintenant ? [oui/non]

[non] :

Vous devez répondre oui à cette question.

Puis le choix 1.Manuel ou 2.Zéphir est proposé.

  • Le choix 1.Manuel permet de prendre en compte la configuration RVP présente sur le serveur, attention cette opération doit être effectuée avant d'exécuter l'instanciation ;

  • Le choix 2.Zéphir active la configuration RVP présente sur le serveur Zéphir. Cela suppose que le serveur est déjà enregistré sur le serveur Zéphir. Il sera demandé un utilisateur et mot de passe Zéphir et l'identifiant Zéphir du serveur Sphynx.

Dans les deux cas, la phrase de passe (passphrase) de la clé privée est demandée. Si le mot de passe est correct le RVP est configuré pour cette machine et l'instanciation peut se poursuivre...

Commandes

Activation du RVP sur des modules Amon déjà en exploitation

Pour activer un RVP sur un module Amon déjà instancié, il faut lancer en tant qu'utilisateur root la commande active_rvp init.

Attention

Lors de cette phase de configuration du VPN sur Amon, les tunnels peuvent se couper dans les secondes qui suivent et dans certaines circonstances uniquement. Le problème est corrigé à partir de la version strongSwan 5.5.0 qui n'est pas disponible sur cette version d'EOLE.

Toutefois, le problème est très ponctuel et les tunnels seront relancés automatiquement par l'agent Zéphir assez rapidement.

Suppression du RVP

Pour supprimer un RVP, il faut lancer en tant qu'utilisateur root la commande active_rvp delete.

Gestion du service

Les opérations du service rvp ont été intégrées dans le service strongswan, il faut donc l'utiliser en remplacement :

root@amon:~# service strongswan start

et

root@amon:~# service strongswan stop

Résoudre des dysfonctionnements liés au MTU

Le PMTUd (Path MTU[144] discovery), activé par défaut sur les modules EOLE, est une technique permettant de déterminer, dans un réseau informatique, la taille du MTU[144] sur le chemin entre deux hôtes IP, afin d'éviter la fragmentation des paquets.

Truc & astuce

Cette configuration peut poser problème, notamment avec le réseau virtuel privé (VPN), lorsque les paquets ICMP[145] de type 3 (Destination Unreachable) / code 4 (Fragmentation Needed and Don't Fragment was Set) sont bloqués quelque part sur le réseau.

Un des phénomènes permettant de diagnostiquer un problème lié au PMTUd est l'accès à certains sites (ou certaines pages d'un site) n'aboutissant pas (la page reste blanche) ou les courriels n'arrivant pas dans le client de messagerie.

Il est possible de forcer la valeur du MTU pour une interface donnée dans l'onglet Réseau avancé de l'interface de configuration du module en mode expert.

Truc & astuce

Les commandes ping, ip route et tracepath sont utilisées pour ajuster les valeurs.

Utilisation de la commande ping

La commande ping permet de réaliser des tests en forçant la taille des paquets :

  • ping OK avec une taille forcée à la valeur 1400 :
1
root@amon:~#  ping -M do -s 1400 pcll.ac-dijon.fr -c1
2
PING listeseole.ac-dijon.fr (194.167.18.17) 1400(1428) bytes of data.
3
1408 bytes from platon.ac-dijon.fr (194.167.18.17): icmp_seq=1 ttl=62 time=1.38 ms
4
5
--- listeseole.ac-dijon.fr ping statistics ---
6
1 packets transmitted, 1 received, 0% packet loss, time 0ms
7
rtt min/avg/max/mdev = 1.380/1.380/1.380/0.000 ms
  • ping KO avec une taille forcée à la valeur 1500 :
1
root@amon:~#  ping -M do -s 1500 pcll.ac-dijon.fr -c1
2
PING listeseole.ac-dijon.fr (194.167.18.17) 1500(1528) bytes of data.
3
ping: local error: Message too long, mtu=1500
4
5
--- listeseole.ac-dijon.fr ping statistics ---
6
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

Utilisation de la commande ip route

La commande ip route get to permet de visualiser les problèmes de MTU.

1
# ip route get to 172.X.Y.Z
2
172.X.Y.Z dev eth0 src 10.67.V.W
3
cache expires 508sec mtu 1400

La commande ip route flush cache permet quant à elle de vider le cache.

Utilisation de la commande tracepath

La commande tracepath permet d'identifier où se trouvent les limitations du MTU.

1
# tracepath 172.X.Y.Z
2
1?: [LOCALHOST] pmtu 1500
3
1?: [LOCALHOST] pmtu 1438
4
1: 192.168.A.B 1.353ms
5
1: 192.168.C.D 1.972ms
6
2: 192.168.E.F 2.014ms
7
3: 192.168.G.H 1.657ms
8
4: 192.168.I.J 3.026ms
9
5: 192.168.K.L 2.543ms pmtu 1400
10
5: 172.M.N.O 9.930ms
11
6: no reply
12
...