Retour

Configuration

La deuxième des quatre phases

Configuration
Configuration
  • La phase de configuration s'effectue au moyen de l'interface de configuration du module, celle-ci se lance avec la commande gen_config.

    Cet outil permet de renseigner et de stocker en un seul fichier (config.eol) tous les paramètres nécessaires à l'utilisation du serveur dans son environnement (l'adresse IP de la première interface réseau est un exemple de paramètre à renseigner). Ce fichier sera utilisé lors de la phase d'instanciation.

    Suivant les modules, le nombre de paramètres à renseigner est plus ou moins important.

    Cette phase de configuration peut permettre de prendre en compte des paramétrages de fichiers de configuration de produits tels que Squid[1], e2guardian[2], etc.

Configuration généralités

Configuration
Configuration

La configuration suit la phase d'installation du serveur.

Il s'agit de collecter et de renseigner les paramètres nécessaires au fonctionnement du serveur.

Les paramètres saisis peuvent être internes au serveur (par exemple le nombre d'interfaces réseau) ou externes (par exemple l'adresse du DNS[3], l'adresse du serveur de temps NTP[4], ...). Cette étape nécessite une bonne connaissance de l'architecture réseau dans laquelle sera installé le serveur.

À condition d'avoir renseigné les valeurs obligatoires vous pouvez enregistrer la configuration pour l'effectuer en plusieurs temps.

On obtient alors un fichier config.eol, dans lequel sont stockées toutes les valeurs saisies.

Remarque

La configuration du module porte aussi bien sur les paramètres propres à EOLE que sur le paramétrage d'applications tierces embarquées dans le module. On retrouve par exemple les paramètres du fichier squid.conf dans l'interface de configuration du module.

Il existe deux modes de configuration :

  • mode autonome

    Le mode autonome est l'utilisation de l'interface de configuration du module pour paramétrer le serveur.

    À son lancement, l'interface de configuration du module récupère dans les différents dictionnaires, les variables, leur valeur par défaut et les libellés qui seront affichés dans l'interface.

    Après instance ou reconfigure, si votre adresse IP est autorisée pour l'administration du serveur, vous bénéficier d'un accès distant à l'interface de configuration du module au travers d'un navigateur web.

  • mode Zéphir

    Le mode Zéphir consiste à configurer le module au travers de l'application Zéphir depuis le module du même nom. Ce module permet la mise en place d'un serveur de gestion de parc de serveurs EOLE. Par le mécanisme de variante, vous pouvez avoir des configurations pré-définies pour un ensemble de serveurs.

Configuration en mode autonome

La configuration en mode autonome signifie que la configuration est réalisée directement sur le serveur à l'aide de l'interface de configuration du module.

Ce mode est recommandé pour la configuration d'un petit nombre de serveurs.

La méthode autonome permet d'exporter et/ou d'importer le fichier config.eol.

Il est donc possible d'utiliser le fichier config.eol d'un serveur en production pour en instancier un nouveau.

Truc & astuce

En mode autonome le fichier config.eol peut être préparé avant l'installation du serveur et peut être confié à une personne tierce, comme par exemple la personne en charge d'installer le serveur dans l'établissement. Celui-ci n'aura plus qu'à instancier le serveur.

L'interface de configuration du module se lance avec la commande : gen_config.

Écran d'accueil de l'interface de configuration du module
Écran d'accueil de l'interface de configuration du module

Une fois la commande gen_config lancée, comme indiqué dans la mire, vous devez ouvrir une session avec l'utilisateur root et le mot de passe aléatoire généré à l'installation.

Ce mot de passe sera bien évidement changé lors de l'étape d'instanciation.

Lors de son premier lancement l'interface de configuration du module propose un assistant de configuration rapide.

Seules les variables indispensables pour un fonctionnement minimum sont proposées dans l'assistant.

L'interface se découpe en quatre zones :

  • la zone Menu ;

  • la zone Onglet ;

  • la zone Formulaire ;

  • la zone Validation.

Certains onglets sont générés dynamiquement en fonction des éléments activés ou non dans le formulaire.

Les onglets correspondant au mode expert apparaissent si ce dernier est activé.

Accès distant

Accès distant via le port 443

Après instance ou reconfigure, l'interface de configuration du module est accessible pour les adresses IP autorisées à administrer le serveur via SSH, depuis un navigateur web en HTTPS à l'adresse suivante :

https://<adresse_serveur>/genconfig/

Vue de l'interface de configuration au travers d'un navigateur web (port 443)
Vue de l'interface de configuration au travers d'un navigateur web (port 443)

En fonction des certificats mis en place sur le module, il peut s'avérer nécessaire de les accepter pour accéder à l'interface.

La variable experte Activer l’interface de configuration du module (GenConfig) de l'onglet Services permet de désactiver la publication de l'interface sur le port 443.

Truc & astuce

Pour autoriser l'accès distant depuis une ou plusieurs adresses IP, il faut le déclarer explicitement dans l'onglet Interface-n de l'interface de configuration du module en passant la variable Autoriser les connexions SSH à oui.

Accès distant via le port historique

Après instance ou reconfigure, l'interface de configuration du module est accessible pour les adresses IP autorisées à administrer le serveur via SSH, depuis un navigateur web en HTTPS à l'adresse suivante :

https://<adresse_serveur>:7000/genconfig/

Ne pas oublier d'utiliser le protocole HTTPS et de préciser le numéro de port 7000.

Vue de l'interface de configuration au travers d'un navigateur web (port 7000)
Vue de l'interface de configuration au travers d'un navigateur web (port 7000)

En fonction des certificats mis en place sur le module, il peut s'avérer nécessaire de les accepter pour accéder à l'interface.

Truc & astuce

Pour autoriser l'accès distant depuis une ou plusieurs adresses IP, il faut le déclarer explicitement dans l'onglet Interface-n de l'interface de configuration du module en passant la variable Autoriser les connexions SSH à oui.

Remarque

Cette fonctionnalité est désactivable dans l'onglet Eoleflask en mode expert.

Passer la variable En écoute depuis l'extérieur à non.

La zone Menu

La zone de Menu, en haut de l'interface, propose les items suivants :

  • Fichier : gestion de la configuration

  • Aide : permet de lancer l'assistant et d'afficher l'aide de l'application

  • Mode : choix des modes de configuration à activer

  • Langue : choix de la langue pour l'interface

  • Session : permet de se déconnecter.

Sous-menu Fichier
  • Enregistrer la configuration

  • Recharger/Annuler les modifications

  • Re-syncroniser la configuration

  • Exporter la configuration

  • Importer une configuration

  • Quitter GenConfig

Sous menu Fichier
Sous menu Fichier

Enregistrer la configuration permet l'enregistrement du paramétrage dans le fichier config.eol du serveur.

Recharger/Annuler les modifications permet de revenir à l'état initial à l'ouverture.

Re-synchroniser la configuration permet de récupérer les informations stockées en session sur le serveur si une coupure arrivait pendant la configuration.

Exporter la configuration propose le téléchargement du fichier config.eol du serveur.

Importer une configuration permet de téléverser un fichier config.eol sur le serveur.

Sous-menu Aide
  • Assistant

  • Légende

Sous menu Aide
Sous menu Aide

L'assistant bascule l'interface de configuration du module en mode Basique et propose une page synthétique qui récapitule l'essentiel des variables à configurer.

Il est démarré par défaut si aucun fichier de configuration n'a été trouvé.

La légende présente un récapitulatif des différentes icônes que l'on peut rencontrer dans l'interface.

Sous-menu Mode
  • Debug

  • Basique

  • Normal

  • Expert

Sous menu Mode
Sous menu Mode

Le mode Debug permet d'afficher le nom des variables utilisées dans les dictionnaires (en rouge à droite du libellé). Le mode Debug est cumulable avec chacun des autres modes.

Le mode Basique n'affiche que les onglets et variables indispensables permettant une configuration rapide du module, il est le mode par défaut.

Le mode Normal active les onglets et les variables pour une configuration personnalisée du module.

Le mode Expert active les onglets et les variables pour une configuration avancée.

Ce mode demande une très bonne maîtrise du système GNU/Linux et de ses composants.

Par exemple, pour le module Amon, l'activation du mode expert fait apparaître les onglets Filtrage web, Proxy parent, Squid, Zone-dns, ...).

Sous-menu Langue
  • Français

  • Anglais

Langue permet de choisir la langue utilisé dans l'interface.

Sous-menu Session
  • Connecté comme

  • Déconnexion

Session permet de connaître l'utilisateur courant et de se déconnecter.

La zone Onglet

La zone Onglet, côté gauche de l'interface, présente des onglets de trois types :

  • les onglets de base sont systématiquement présents au lancement de l'outil gen_config ;

  • les onglets optionnels s'affichent si un paramètre du formulaire est activé.

    Exemple : si dans l'onglet Services le paramètre Activer DHCP est passé à oui, l'onglet Dhcp s'affiche dynamiquement au même niveau que les onglets de base ;

  • les onglets experts correspondent essentiellement au paramétrage de fichiers de configuration d'outils spécifiques.

    Ils sont disponibles si le mode Expert est activé.

L'onglet en cours est en sous-brillance, dans l'image ci-dessous l'onglet Dhcp est actif.

L'onglet courant
L'onglet courant

La zone Formulaire

La zone Formulaire est la partie centrale de l'interface. Elle regroupe les paramètres de l'onglet activé.

Le bouton Modifier ou un clic dans le champ de saisie permet de modifier la valeur.

La modification de la valeur affiche deux boutons supplémentaires permettant l'annulation des modifications (pictogramme en forme de croix) et l'autre la réinitialisation de la valeur par défaut (pictogramme en forme de flèche tournant dans le sens anti-horaire).

Bouton modifier sur la première ligne à droite, la deuxième ligne a le focus
Bouton modifier sur la première ligne à droite, la deuxième ligne a le focus
Truc & astuce

La légende de chaque icône se trouve dans l'aide de l'interface : Aide / Légende.

Regroupement des paramètres par bloc

Les paramètres de chaque onglet sont répartis dans des blocs thématiques.

Chaque bloc regroupe un ou plusieurs paramètres.

Les blocs thématiques
Les blocs thématiques
Les variables obligatoires

Les variables obligatoires sont des variables pour lesquelles il est nécessaire de spécifier une valeur, sans quoi il sera impossible d'enregistrer le fichier de configuration.

Les variables obligatoires se distinguent à l'aide du pictogramme en forme d'étoile placé devant le champ.

Les variables obligatoires sont précédées d'une étoile
Les variables obligatoires sont précédées d'une étoile
Les variables des modes basiques, normales et expertes

Le mode détermine l'affiche de variable plus ou moins complexes : basiques, normales ou expertes.

Lorsque l'on passe d'un mode à l'autre, un ensemble de nouvelles variables peuvent apparaître ou disparaître de l'interface.

Ces variables sont identifiables grâce au pictogramme B, N ou E qui précède l'étiquette de la variable.

Un code couleur est également utilisé pour le pictogramme et le libellé :

  • vert pour basique ;

  • gris pour normale ;

  • rouge pour experte.

Les variables et leur niveau de complexité
Les variables et leur niveau de complexité
Les variables simples

La valeur des variables simples s'affiche en couleur sur fond blanc :

  • bleu pour une variable dont la valeur est la valeur par défaut ;

  • noir pour une variable dont la valeur est modifiée par l'utilisateur et validée ;

  • gris pour une variable verrouillée (dans le cas d'une ré-édition de la configuration après instanciation du module).

Les variables multiples

Certains paramétrages peuvent accueillir plusieurs valeurs, nous parlons alors de variable multiple.

Les variables multiples se présentent sur fond coloré :

  • bleu pour une variable dont la valeur est la valeur par défaut ;

  • noir pour une variable dont la valeur est modifiée par l'utilisateur et validée ;

  • gris pour une variable sans valeur.

Apparence graphique des variables multiples
Apparence graphique des variables multiples

Pour ajouter une valeur, il faut cliquer sur modifier pour faire apparaître le champ de saisie.

Pour supprimer une valeur, il faut d'abord cliquer sur modifier puis sur la croix à droite du champ.

Édition d'une variable multiple
Édition d'une variable multiple
Les variables multiples groupées

Certains groupes de variables réunies au sein d'un même cartouche peuvent accueillir plusieurs valeurs, nous parlons alors de variable multiple groupée.

Les variables multiples groupées se présentent sur fond blanc dont la valeur s'affiche en couleur :

  • bleu pour une variable dont la valeur est la valeur par défaut ;

  • noir pour une variable dont la valeur est modifiée par l'utilisateur et validée.

Les variables brouillées

Certaines variables sensibles ont un affichage brouillé dès lors qu’elles sont validées. Le contenu de la variable est remplacé par une série de points.

Ces variables sont de nouveau visibles lorsqu’elles sont éditées.

Validation des variables

Suivant les variables, il est possible que des validations soient faites.

Si la valeur ne correspond pas aux critères de validation de l'interface de configuration du module, un message d'erreur avertira l'utilisateur.

Il existe de nombreux critères de validation : le type de valeur, leur construction (séparateur), etc.

Validation d'une variable
Validation d'une variable

La zone Validation

Cette zone est visible lors de l'enregistrement des modifications. Elle propose un récapitulatif des informations saisies.

Elle affiche également les variables obligatoires qui ne sont pas renseignées.

Lors d'une réédition de la configuration cette zone ne montre que les changements qui ont eu lieu.

Zone de validation
Zone de validation

Enregistrer la configuration

L'utilisation du mode assistant propose l'enregistrement de la configuration en bas de page avec le bouton Enregistrer la configuration.

Dans les autres cas l'enregistrement de la configuration se fait en cliquant sur Enregistrer la configuration dans le menu Fichier.

Une page récapitulative propose l'enregistrement de la configuration en bas de page avec le bouton Enregistrer la configuration.

Les différentes valeurs attribuées aux variables sont enregistrées dans un fichier config.eol au format JSON[5] 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.

L'utilisation de la nouvelle interface de configuration du module sur une petite configuration peut poser problème.

Cela se traduit par des erreurs de timeout[6] avec Nginx ou une erreur 504 (méthode not allowed) dans l'interface de configuration du module et [ERROR] WORKER TIMEOUT (pid:XXXX) dans les logs de Gunicorn[7].

Truc & astuce

La valeur de timeout peut être changée à la ligne timeout = '120' dans le fichier de configuration de eoleflask : /etc/eole/flask/eoleflask.conf. Celui-ci n'est pas templatisé et n'est donc pas écrasé en cas de reconfiguration du serveur.

Le changement de valeur doit être suivi d'une relance du service eoleflask :

# CreoleService eoleflask restart

Le mode Debug

Dans la zone de Menu le sous-menu Mode propose le mode Debug.

Le mode Debug permet d'afficher le nom des variables utilisées dans les dictionnaires (en rouge à droite du libellé).

Les valeurs des variables peuvent être modifiées par différentes applications.

En gris, à droite du nom de la variable, est précisé le nom de l'application et/ou de l'action ayant modifié en dernier sa valeur :

  • default : valeur par défaut et/ou calculée (n'est jamais enregistrée dans le fichier config.eol) ;

  • forced : valeur par défaut enregistrée d'office pour les variables à verrouillage automatique (auto_freeze) ou à enregistrement obligatoire (auto_save) ;

  • gen_config : valeur modifiée par l'interface de configuration du module ;

  • creoleset : valeur modifiée avec la commande CreoleSet ;

  • zephir : valeur modifiée pour un serveur donné dans l'interface web de Zéphir ;

  • variante : valeur par défaut de la variante Zéphir ;

  • module : valeur par défaut du module dans Zéphir ;

  • import : valeur récupérée depuis un fichier de configuration importé dans l'interface de configuration du module ;

  • zephir_import : valeur récupérée depuis un fichier de configuration importé dans l'interface web de Zéphir ;

  • upgrade : valeur récupérée depuis un fichier de configuration d'une version antérieure d'EOLE ;

  • zephir_upgrade : valeur récupérée depuis un fichier de configuration d'une version antérieure d'EOLE dans l'interface web de Zéphir.

Complément

Cette information est également enregistrée dans le fichier de configuration config.eol du module.

La clé associée à cette valeur est owner :

"numero_etab": {"owner": "gen_config", "val": "0000000A"}

Le mode Debug permet également d’afficher les valeurs des variables verrouillées de type password, dont l’affichage est normalement brouillé.

Lorsque le champ est trop petit par rapport à la valeur, celle-ci est tronquée. L’info-bulle qui s’affiche au survol du champ permet toutefois de prendre connaissance de la valeur complète.

Édition synchronisée avec l'application Zéphir

Lorsque le module est enregistré sur un module Zéphir, il est possible de gérer la configuration en mode synchronisé.

Pour cela, il est nécessaire de se connecter à l’application de configuration du module avec un compte de l’application Zéphir disposant des droits suffisants (Lecture et Configuration et action sur les serveurs). La mire de connexion de l’application de configuration du module propose cette option.

En mode synchronisé, la configuration locale du module est comparée à la configuration associée au module dans l’application Zéphir.

En cas de différence, une page spéciale est affichée avant de pouvoir accéder à la modification de la configuration.

Cette page indique que la configuration a correctement été importée depuis l’application Zéphir en rappelant l’ID associé au module dans cette même application, ainsi que l’adresse du serveur Zéphir interrogé.

Cette page avertit également que le mode synchronisé, activé depuis la mire de connexion, implique que les modifications apportées à la configuration seront appliquées localement et sur l’application Zéphir.

Cette synchronisation interdisant la divergence entre la configuration appliquée localement et la configuration associé au module dans l’application Zéphir, la page propose de choisir quelle version, globalement, doit devenir la nouvelle référence en l’utilisant pour remplacer l’autre.

Les différences sont affichées sous la forme d’un tableau avec l’origine en colonnes et les variables en lignes. Seules les variables dont les valeurs sont différentes localement et dans l’application Zéphir sont affichées.

Sous la colonne de gauche, reprenant les valeurs locales, le bouton rouge permet de remplacer les valeurs de l’application Zéphir par ces valeurs locales.

Symmétriquement, sous la colonne de droite, reprenant les valeurs de l’application Zéphir, le bouton bleu permet de remplacer les valeurs locales par ces valeurs de l’application Zéphir.

Dans le cas très particulier où la synchronisation n’est finalement pas souhaitée, la page des différences permet de se déconnecter et de quitter ainsi le mode synchronisé et donner l’occasion de se connecter avec un compte d’administration local, avant que les configurations, locale et distante, ne soient altérées.

Attention

Les droits attribués aux utilisateurs de l’application Zéphir dissocient la lecture et la sauvegarde de la configuration. Ainsi, le droit Lecture est nécessaire et suffisant pour se connecter en mode synchronisé et afficher la configuration. Par contre il ne permet pas de mettre à jour la configuration associée au module sur l’application Zéphir.

FAQ

Certaines interrogations reviennent souvent et ont déjà trouvées une ou des réponses.

Accéder à l'interface de configuration du module depuis un navigateur web

Je n'arrive pas à accéder à l'interface de configuration du module depuis mon navigateur web.

Truc & astuce

Pour pouvoir accéder à l'interface de configuration du module depuis un navigateur web il faut que les deux pré-requis suivants soient respectés :

  1. activer l'écoute de l'interface sur l'extérieur en passant la variable En écoute depuis l'extérieur à oui dans l'onglet Eoleflask.

  2. autoriser votre adresse IP pour administrer le serveur dans l'onglet de l'interface réseau concernée.

Après instance ou reconfigure, l'interface de configuration du module est accessible depuis un navigateur web en HTTPS à l'adresse suivante :

https://<adresse_serveur>/genconfig/

ou : https://<adresse_serveur>:7000/genconfig/

Revenir au dernier état fonctionnel du serveur

Un mauvais paramétrage du serveur ne permet plus d'aller au bout de la reconfiguration 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.

Comment modifier la valeur d'une variable verrouillée

Il est vivement recommandé de ne pas éditer manuellement le fichier config.eol pour éviter les erreurs de frappe ou de type de données.

Truc & astuce

Exporter puis importer le fichier de configuration courant permet de passer outre le verrouillage des variables.

Attention

Cette astuce demande une bonne maîtrise des implications que peut avoir le changement d'une valeur verrouillée. Et une valeur n'est jamais verrouillée sans raison.

Par exemple, le changement de l'identifiant de l'établissement ne se répercute pas sur l'annuaire dont le schéma n'est construit qu'une fois au moment de l'instance du serveur.

Exemple

Pour modifier la valeur verrouillée Identifiant de l'établissement :

  • ouvrir l'interface de configuration du module ;

  • importer le fichier de configuration courant : FichierImporter une Configuration/etc/eole/config.eol ;

  • modifier la valeur de l'identifiant de l'établissement ;

  • enregistrer la configuration : FichierEnregistrer la configuration ;

  • procéder à une reconfiguration du serveur à l'aide de la commande reconfigure.

Erreurs de timeout ou erreur 504 avec Nginx

L'utilisation de la nouvelle interface de configuration du module sur une petite configuration peut poser problème.

Cela se traduit par des erreurs de timeout[6] avec Nginx ou une erreur 504 (méthode not allowed) dans l'interface de configuration du module et [ERROR] WORKER TIMEOUT (pid:XXXX) dans les logs de Gunicorn[7].

Truc & astuce

La valeur de timeout peut être changée à la ligne timeout = '120' dans le fichier de configuration de eoleflask : /etc/eole/flask/eoleflask.conf. Celui-ci n'est pas templatisé et n'est donc pas écrasé en cas de reconfiguration du serveur.

Le changement de valeur doit être suivi d'une relance du service eoleflask :

# CreoleService eoleflask restart

Interface de configuration en mode console

Impossible de trouver le mode console de l'interface de configuration du module.

Truc & astuce

Le mode console a été supprimé par contre il est possible :

  • d'accéder à distance à l'interface de configuration du module via un navigateur web ;
  • d'utiliser la commande CreoleSet pour configurer une variable en ligne de commande.
Consultation des mots de passe dans l’interface de configuration

Sur les versions d'EOLE supérieures à 2.6.0, les valeurs des variables de type password sont masquées lorsque le champ n’est pas en mode édition, donc inaccessibles lorsque le champ est verrouillé.

Truc & astuce

La consultation d’un mot de passe non éditable (stocké dans une variable verrouillée par exemple) est possible en passant en mode Debug. Le mot de passe pouvant malgré tout apparaître tronqué, sa valeur intégrale est accessible dans l’info-bulle qui s’affiche lors du survol du champ.

Configuration en mode Zéphir

La configuration en mode Zéphir permet, au lancement de l'interface de configuration du module à l'aide de la commande gen_config, de faire apparaître un fenêtre d'identification qui permet de s'identifier avec un compte Zéphir. Les modifications apportées dans la configuration locale seront synchronisées avec le serveur Zéphir.

La configuration en mode Zéphir se fait en deux étapes :

  • configuration :

    • soit sur le serveur à enregistrer
    • soit sur le serveur Zéphir (utilisation éventuelle de variantes)
  • enregistrement du serveur et synchronisation de la configuration.

Pré-requis

L'établissement d'appartenance du serveur doit déjà exister dans la base des serveurs.

Attention

La procédure d'enregistrement nécessite d'être en possession du certificat de la CA locale du serveur Zéphir ou d'avoir les droits suffisants pour le récupérer en SSH.

Enregistrement d'un établissement

Pour ajouter un établissement il faut se rendre dans l'application Zéphir et cliquer sur l'entrée établissement du menu.

Puis cliquer sur Ajout d'un établissement.

L'identifiant à saisir correspond au RNE de l'établissement (8 caractères maximum).

Attention

Le RNE est la seule information que l'on ne pourra pas modifier. Il faut donc prendre garde à saisir le bon numéro. En cas d'erreur, la seule solution sera de supprimer l'établissement fraîchement créé et le recréer.

Il faut ensuite renseigner la description de l'établissement (adresse physique, moyens de communication, ...).

Seuls les champs pourvus d'une * sont obligatoires (nom du site, ville, code postal et type d'établissement). Des types d'établissement peuvent être ajoutés dans établissement / Gestion des types d'établissement mais il faut le faire avant d'ajouter un nouvel établissement. Un fois validé avec le bouton OK, l'établissement est créé.

Enregistrement d'un lot d'établissements

Il est possible d'importer un fichier texte comprenant la liste des établissements depuis l'application web Zéphir.

Pour cela il faut cliquer sur le menu établissements et choisir Importer des établissements.

L'importation nécessite un fichier (par exemple extrait de la base de donnée Ramsese[8]) CSV[9] avec comme séparateur un "|".

Les champs suivants sont attendus :

1
RNE|LIBELLE CODE NATURE|CODE NATURE|LIBELLE ETAB|NOM ETAB|CODE POSTAL|LOCALITE|MAIL|FAX|TEL
Exemple
1
210024M|CLG|340|COLLEGE|CHAMPOLLION|21000|DIJON|ce.0210024M@ac-dijon.fr|0380732080|0380715585
2
0210026P|CLG|340|COLLEGE|EPIREY|21000|DIJON|ce.0210026P@ac-dijon.fr|0380732916|0380713554

Après l'importation un rapport est affiché.

L'enregistrement d'un serveur

La procédure d'enregistrement est requise pour tous les serveurs à administrer avec Zéphir. Elle permet de créer les données nécessaires dans la base de données et de configurer la transmission sécurisée entre Zéphir et le serveur. L'enregistrement est effectué manuellement sur le module avec la commande enregistrement_zephir.

Attention

Dans le cas d'utilisation de certificats non reconnus par une autorité de certification la procédure d'enregistrement nécessite d'être en possession du certificat de la CA locale du serveur Zéphir ou d'avoir les droits suffisants pour le récupérer en SSH.

Configuration minimale du réseau

Si le réseau n'est pas paramétré sur le module il est possible d'appeler manuellement le script network_zephir pour une mise en place rapide.

root@eolebase:~# network_zephir

interface connectée sur l'extérieur (ens4 par défaut) :

adresse_ip ens4 : 192.168.240.100

masque de réseau pour ens4 : 255.255.255.0

adresse de la passerelle : 192.168.240.254

adresse du serveur DNS (ou rien) : 192.168.240.1

root@scribe:~#

Attention

À partir de la version 2.7.0 du module Amon, le support du protocole PPPoE[10] comme méthode de connexion de l'interface externe est supprimé.

Si le réseau n'est pas paramétré sur le module à enregistrer et que vous n'avez pas appelé manuellement le script network_zephir, sa configuration vous sera proposée par le script enregistrement_zephir :

voulez-vous établir une configuration réseau minimale (O/N), répondre oui à la question ;

Truc & astuce

Si une configuration réseau particulière est nécessaire au moment de l'enregistrement, exécuter la commande enregistrement_zephir avec l'option --force.

Déroulement de l'enregistrement
  • lancer la procédure d'enregistrement à l'aide de la commande enregistrement_zephir ;

  • saisir l'adresse du serveur Zéphir, ainsi qu'un nom d'utilisateur et un mot de passe autorisé en écriture dans l'application web Zéphir ;

  • dans le cas d'utilisation de certificats non reconnus par une autorité de certification, il faut, pour procéder à l'enregistrement d'un serveur, copier le certificat de la CA locale du serveur Zéphir /etc/ssl/certs/ca_local.crt sur la machine à enregistrer dans le répertoire /usr/local/share/ca-certificates/ et mettre à jour les certificats sur la machine locale à l'aide de la commande update-ca-certificates ;

  • relancer la procédure d'enregistrement avec la commande enregistrement_zephir ;

  • si le serveur n'a pas été pré-créé sur le serveur Zéphir, répondre oui à la question Créer le serveur dans la base Zéphir ? ;

  • saisir le numéro RNE qui doit au préalable exister dans l'application Zéphir ;

  • saisir le libellé du serveur ;

  • répondre aux diverses questions sur le matériel ;

  • répondre aux diverses questions sur l'installateur ;

  • choisir un module et une variante dans les listes proposées ;

  • synchronisation de la configuration :

    • si la configuration a été faite en mode autonome sur le module à enregistrer choisir Sauver la configuration actuelle sur Zephir

    • si la configuration a été réalisé sur le serveur Zéphir choisir Récupérer les fichiers de variante sur Zéphir

  • un message indiquera que la configuration est bien sauvegardée et que les communications avec Zéphir sont configurées. Dans le cas où des paramètres du serveur ne seraient pas renseignés (paramètres provenant d'une variante), un message vous préviendra que ceux-ci doivent être saisis.

Remarque

Un numéro sera indiqué (id du serveur) à la fin de la procédure d'enregistrement. Ce numéro permettra d'accéder directement aux informations de ce serveur dans l'application web Zéphir.

Exemple

Exemple de l'enregistrement d'un serveur déjà instancié :

1
root@eolebase:~# enregistrement_zephir
2
3
 Procédure d'enregistrement sur le serveur Zéphir
4
5
Entrez l'adresse du serveur Zéphir : 192.168.240.254
6
Entrez votre login pour l'application Zéphir (rien pour sortir) : admin_zephir
7
Mot de passe pour l'application Zéphir pour admin_zephir :
8
9
## Saisir l'adresse du serveur Zéphir, le compte et le mot de passe pour l'application Zéphir.
10
11
Certificat de Zéphir non validé !
12
13
 utiliser sur Zéphir un certificat signé par une autorité reconnue,
14
  ou
15
 Copier le fichier /etc/ssl/certs/ca_local.crt de Zéphir dans
16
 /usr/local/share/ca-certificates et lancer update-ca-certificates.
17
root@eolebase:~#
18
19
root@eolebase:~# scp root@zephir.ac-test.fr:/etc/ssl/certs/ca_local.crt /usr/local/share/ca-certificates/
20
Warning: Permanently added 'zephir.ac-test.fr,192.168.0.20' (ECDSA) to the list of known hosts.
21
root@zephir.ac-test.fr's password: 
22
ca_local.crt                                                                                                                100% 1736     1.7KB/s   00:00    
23
root@eolebase:~#
24
25
root@eolebase:~# update-ca-certificates
26
Updating certificates in /etc/ssl/certs...
27
WARNING: Skipping duplicate certificate eole.pem
28
WARNING: Skipping duplicate certificate eole.pem
29
WARNING: Skipping duplicate certificate infrastructures.pem
30
WARNING: Skipping duplicate certificate infrastructures.pem
31
WARNING: Skipping duplicate certificate ca.crt
32
WARNING: Skipping duplicate certificate ca.crt
33
1 added, 0 removed; done.
34
Running hooks in /etc/ca-certificates/update.d...
35
done.
36
root@eolebase:~#
37
38
root@eolebase:~# enregistrement_zephir
39
40
 Procédure d'enregistrement sur le serveur Zéphir
41
42
Entrez l'adresse du serveur Zéphir : 192.168.240.254
43
Entrez votre login pour l'application Zéphir (rien pour sortir) : admin_zephir
44
Mot de passe pour l'application Zéphir pour admin_zephir :
45
46
## Saisir l'adresse du serveur Zéphir, le compte et le mot de passe pour l'application Zéphir.
47
48
créer le serveur dans la base du serveur Zéphir (O/N) : o
49
50
## Le script détecte que le module n'a jamais été enregistré et demande si vous souhaitez le créer.
51
52
Etablissement du serveur (n° RNE) (0000G123 par défaut) :
53
libellé du serveur (eolebase Lycée de Dijon par défaut) :
54
matériel (Bochs () par défaut) :
55
processeur ( QEMU Virtual CPU version 1.0 2294 MHz par défaut) :
56
disque dur (43 Go par défaut) :
57
nom de l'installateur (admin_zephir par défaut) :
58
telephone de l'installateur :
59
commentaires :
60
Délai entre deux connexions à zephir
61
minutes (30 par défaut) :
62
63
** liste des modules disponibles **
64
65
47 amon-2.4
66
46 eolebase-2.4
67
42 horus-2.4
68
45 scribe-2.4
69
43 sentinelle-2.4
70
44 sphynx-2.4
71
48 thot-2.4
72
73
module (eolebase-2.4 par défaut):
74
75
** liste des variantes de ce module **
76
77
45 * standard
78
79
variante (45 par défaut):
80
81
## Ici les paramètres proposés par défaut sont validés par un retour chariot.
82
83
** Configuration des communications vers le serveur Zéphir **
84
85
1 -> Ne rien faire
86
2 -> Récupérer les fichiers de variante sur le serveur Zéphir
87
3 -> Sauver la configuration actuelle sur le serveur Zéphir
88
4 -> Modifier la variante du serveur
89
90
Entrez le numéro de votre choix : 3
91
Pour l'enregistrement il faut choisir l'option 3.
92
93
-- sauvegarde en cours (veuillez patienter) --
94
-- OK --
95
96
--récupération des patchs et dictionnaires (veuillez patienter)--
97
** le numéro attribué à ce serveur sur le serveur Zéphir est : 1 **
98
root@eolebase:~#

Le module est correctement enregistré sur le serveur Zéphir.

Enregistrement sans question

À partir d'EOLE 2.8.0, il est possible d'enregistrer un module sans interagir avec la commande enregistrement_zephir.

Pour cela, il suffit de passer en argument les réponses aux questions normalement posées par la commande.

Les arguments possibles à donner dans la commande sont :

-h, --help Affiche le message d'aide

-c, --check Vérification seulement, affiche l'identifiant du serveur stocké dans l'application Zéphir et retourne 0 si le serveur est enregistré, 1 sinon

-p, --pppoe Si le réseau n'est pas encore configuré, cette option permet la mise en place d'une connexion par PPPoE

-f, --force Force la mise en place d'un configuration minimale du réseau même si le serveur est déjà configuré

--adresse_zephir ADRESSE_ZEPHIR Nom DNS du serveur Zéphir

--user USER Login pour l'application Zéphir

--password PASSWORD Mot de passe pour l'application Zéphir

--id_serveur ID_SERVEUR N° identifiant le serveur l'application Zéphir

--choix {1,2,3,4} Numéro de votre choix d'échange avec le Zéphir

--force_enregistrement Force l'enregistrement même si un serveur est déjà enregistré

Les 4 choix possibles sont :

1 -> Ne rien faire

2 -> Utiliser la configuration définie sur le serveur Zéphir

3 -> Sauver la configuration actuelle sur le serveur Zéphir

4 -> Modifier la variante du serveur

Exemple

Exemple : pour enregistrer mon serveur numéro 25 et sauver la configuration actuelle sur le serveur Zéphir, je me connecte sur mon serveur (n°25) puis :

1
root@eolebase:~# enregistrement_zephir --adresse_zephir zephir.ac-test.fr --user admin_zephir --password mdp_admin_zephir --id_serveur 25 --choix 3
2
  Procédure d'enregistrement sur le serveur Zéphir 
3
4
5
6
** utilisation d'un serveur existant dans la base du serveur Zéphir **
7
8
9
Vérification des informations sur le matériel
10
11
12
Mise à jour des informations sur le matériel
13
14
** Configuration des communications vers le serveur Zéphir **
15
16
17
  -- sauvegarde en cours (veuillez patienter) -- 
18
INFO:zephir-client:save_files()
19
  -- OK --
20
21
 --récupération de la configuration en cours (veuillez patienter)-- 
22
** attente de la mise en place des fichiers **
23
24
** Vérification des dictionnaires et de la configuration **
25
26
** le numéro attribué à ce serveur sur le serveur Zéphir est : 25 **
27
Attention

Il n'est pas possible de désinscrire un module avec un enregistrement_zephir sans question.

Il n'est pas possible d'enregistrer un module déjà enregistré à moins qu'il n'ait été désinscrit entre temps. Si le module a bien été désinscrit, l'utilisation de l'argument --force_enregistrement est alors nécessaire pour un nouvel enregistrement.

Lancement de l'interface de configuration

Une fois la procédure terminée, la configuration du module peut être effectuée depuis le serveur selon le mode autonome synchronisé ou depuis l’application Zéphir.

Sur l’application Zéphir, l’application de configuration du module est accessible depuis la page d’état du serveur via le lien modifier affiché dans la section Configuration du tableau,

Cette application de configuration du module se comporte de manière semblable à celle exécutée depuis le serveur lui-même à quelques détails près :

  • certains calculs et contraintes nécessitant l’accès direct au serveur configuré sont désactivés ;

  • la page de différences entre la configuration appliquée sur le module et la configuration associée au module dans l’application Zéphir n’est disponible que pour les modules à jour à partir de la version 2.8.1 et à condition qu’une première synchronisation ait été effectuée sans erreur.

  • cette page de différences est simplifiée.

En cas de différences entre la configuration appliquée sur le module et la configuration associée au module dans l’application Zéphir, il est demandé à l’administrateur de choisir quelle version, globalement, servira comme base de configuration pour l’édition.

La configuration éditée via cette application de configuration du module intégrée à l’application Zéphir n’est pas directement synchronisée avec celle du serveur mais nécessite une action pour l’envoyer.

Désinscription d'un serveur

Pour désinscrire un serveur il faut exécuter la commande enregistrement_zephir et la désinscription est proposée.

1
root@eolebase:~# enregistrement_zephir 
2
3
  Procédure d'enregistrement sur le serveur Zéphir 
4
5
6
** Ce serveur est déjà enregistré sur le serveur Zéphir **
7
8
 - n°identifiant : 454
9
 - adresse de Zéphir : zephir.ac-test.fr 
10
11
1 -> Désinscrire ce serveur du serveur Zéphir
12
2 -> Relancer l'enregistrement
13
3 -> Ne rien faire
14
15
  Entrez le numéro de votre choix : 1
16
17
Désinscription auprès du serveur Zéphir terminée
18
19
root@eolebase:~#

Configuration commune en mode basique

Dans l'interface de configuration du module voici les onglets propres à la configuration d'EoleBase :

  • Général ;

  • Interface-0 (configuration de l'interface réseau) ;

  • Messagerie.

Onglet Général

Présentation des différents paramètres de l'onglet Général.

Informations sur l'établissement

Deux informations sont importantes pour l'établissement :

  • l'Identifiant de l'établissement, qui doit être unique ;
  • le Nom de l'établissement.

Ces informations sont notamment utiles pour Zéphir, les applications web locales, ....

Sur les modules fournissant un annuaire LDAP[11] local, ces variables sont utilisées pour créer l'arborescence.

Attention

Il est déconseillé de modifier ces informations après l'instanciation du serveur sur les modules utilisant un serveur LDAP local.

Nom DNS du serveur

En premier lieu, il convient de configurer le nom DNS du serveur.

Cette information est découpée en 2 champs :

  • le nom de la machine dans l'établissement ;
  • le nom DNS du réseau local.

Le Nom de la machine est laissé à l'appréciation de l'administrateur.

Le Nom DNS du serveur utilise fréquemment des domaines de premier niveau du type .lan

C'est ce nom qui configurera le serveur DNS (sur un module Amon par exemple) comme zone de résolution par défaut. Il sera utilisé par les machines pour résoudre l'ensemble des adresses locales.

Rappel : les outils mDNS (Avahi, Bonjour, ... ) utilise la racine '.local'. Pour éviter les problèmes de DNS, nous vous déconseillons d'utiliser cette racine.

Remarque

Les domaines de premier niveau .com, .fr sont en vigueur sur Internet, mais sont le résultat d'un choix arbitraire.

Sur un réseau local les noms de domaine sont privés et on peut tout à fait utiliser des domaines de premier niveau, et leur donner la sémantique que l'on veut.

Remarque

Les informations sur les noms de domaine sont importantes car elles sont notamment utilisées pour l'envoi des courriels et pour la création de l'arborescence de l'annuaire LDAP.

Attention

L'usage d'un domaine de premier niveau utilisé sur Internet n'est pas recommandé, car il existe un risque de collision entre le domaine privé et le domaine public.

Paramètres réseau globaux

En deuxième lieu, il convient de configurer les noms de domaine de la machine.

Cette information est découpée en plusieurs champs :

  • le nom du domaine privé utilisé à l'intérieur de l'établissement ;
  • le nom de domaine académique et son suffixe.

Proxy

Si le module doit utiliser un proxy pour accéder à Internet, il faut activer cette fonctionnalité en passant la variable Utiliser un serveur mandataire (proxy) pour accéder à Internet à oui.

Il devient alors possible de saisir la configuration du serveur proxy :

  • nom de domaine ou adresse IP du serveur proxy ;
  • le port du proxy.
Attention

La déclaration du proxy est nécessaire pour effectuer les mises à jour d'un module qui serait protégé par un module Amon.

Déchiffrement et interception du protocole HTTPS

Par rapport au protocole HTTP[12], le protocole HTTPS permet de chiffrer la communication entre le navigateur du poste client et le serveur du site distant.

Dans ce cas, le serveur proxy ne journalise qu'une seule connexion vers le site distant (exemple : https://pcll.ac-dijon.fr) mais pas les différentes requêtes d'accès aux pages ou aux fichiers se trouvant sur ce serveur (exemple : https://pcll.ac-dijon.fr/eole/).

En HTTPS, le serveur Proxy ne peut pas filtrer le contenu des pages consultées ni scanner les fichiers téléchargés avec un antivirus.

Le déchiffrement HTTPS sur le serveur Proxy permet d'intercepter l'ensemble des requêtes et de les journaliser, de filtrer le contenu des pages visitées et de scanner les fichiers téléchargés.

Fonctionnement HTTPS normal
Fonctionnement HTTPS normal
Fonctionnement HTTPS déchiffré par le Proxy
Fonctionnement HTTPS déchiffré par le Proxy
Certificat Racine de l'autorité de certification

Un certificat HTTPS est émis par une autorité de certification[13].

Let's Encrypt[14], par exemple, est une autorité de certification publique et connue des navigateurs ; son certificat racine est pré-installé dans les navigateurs et les systèmes d'exploitation.

Autorité de certification AC (Certificate Authority CA)
Autorité de certification AC (Certificate Authority CA)

À partir de la version 2.8.1, le module Amon est équipé d'une fonctionnalité d'interception du trafic HTTPS. Il est possible de déclarer son certificat racine servant à sur-signer les ressources servies par le protocole HTTPS et transitant par le proxy filtrant. Cette déclaration permet d'en automatiser l'intégration dans le magasin de certificats local.

Si la variable Utiliser un serveur mandataire (proxy) pour accéder à Internet est passée à oui, la variable Le serveur mandataire intercepte les communications HTTPS est proposée et permet elle-même de faire apparaître deux variables permettant d’identifier le certificat racine employé par le proxy filtrant.

En passant la variable Le serveur mandataire intercepte les communications HTTPS à oui, il est possible de renseigner les variables suivantes en utilisant les données affichées par la commande diagnose sur le module Amon :

  • Type d’empreinte du certificat racine du proxy : SHA256 (par défaut sur Amon 2.8.1)
  • Empreinte du certificat racine du proxy : information donnée par le diagnose du serveur Amon dans le cas où celui-ci fait office de proxy filtrant

Cette configuration est nécessaire uniquement lorsque le module Amon est configuré pour l’interception des communications HTTPS.

Truc & astuce

Sur un module Amon configuré pour l'interception des communications HTTPS, la commande diagnose permet de connaître le chemin et l'empreinte du certificat :

1
*** Validité du certificat racine du proxy (/etc/eole/squid_CA.crt)
2
.               signingCA.crt => Ok
3
.                   Empreinte => SHA256 Fingerprint=62:1B:BF:25:28:44:31:02:7E:09:31:A6:EA:FD:A5:A8:7C:D4:EB:B6:3D:83:88:62:0F:98:85:1A:DC:50:99:E0
4

DNS et fuseau horaire

La variable Adresse IP du serveur DNS donne la possibilité de saisir une ou plusieurs adresses IP du ou des serveur(s) de noms DNS[3].

La variable Fuseau horaire du serveur vous permet de choisir votre fuseau horaire dans une liste conséquente de propositions.

Choix du certificat SSL

Trois types de certificats peuvent être utilisés pour sécuriser les connexions avec TLS[15] :

  • autosigné : le certificat est généré localement et signé par une CA[13] locale ;

  • letsencrypt : le certificat est généré et signé par l'autorité Let's Encrypt[14] ;

  • manuel : le certificat est mis en place manuellement par l'administrateur. Pour ce faire, il faut disposer au préalable des certificats fournis par l'autorité de certification, si ce n'est pas encore le cas, le choix autosigné permet d'utiliser le serveur de façon non optimale. Le répertoire /etc/ssl/certs/ est recommandé pour placer les certificats.

Remarque

Par défaut, le type de certificat par défaut est autosigné et aucun paramétrage n'est nécessaire.

Cette configuration est déconseillée car elle nécessite l'installation de l'autorité de certification locale sur tous les postes clients.

Truc & astuce

Pour plus d'informations, consulter la partie consacrée à l'onglet expert Certificats ssl.

Onglet Interface-0

Configuration de l'interface

Avant toute chose, il faut décider comment la carte réseau est configurée.

Pour cela, il existe trois possibilités : statique[16], DHCP[17] ou non géré.

Méthode d'attribution statique

Dans le cas de la configuration statique, il faut renseigner l'adresse IP, le masque et la passerelle.

Truc & astuce

EOLE est pleinement fonctionnel avec une connexion en IP fixe. Si vous ne disposez pas d'IP fixe, certaines fonctionnalités ne seront plus disponibles.

Méthode d'attribution DHCP

La configuration DHCP ne nécessite aucun paramétrage particulier.

Attention

Lors du passage d'une configuration statique à une configuration DHCP, il faut procéder à deux reconfigure successifs.

Méthode d'attribution "non géré"

L'utilisation de la nouvelle valeur non gérée permet de déléguer la configuration réseau à cloud-init[18] ou à un autre outil de contextualisation.

Administration à distance

Configuration de l'administration à distance sur une interface
Configuration de l'administration à distance sur une interface

Par défaut les accès SSH[19] et aux différentes interfaces d'administration (EAD, Adminer, CUPS, ARV... selon le module) sont bloqués.

Pour chaque interface réseau activée (onglets Interface-n), il est possible d'autoriser des adresses IP ou des adresses réseau à se connecter.

Les adresses autorisées à se connecter via SSH sont indépendantes de celles configurées pour accéder aux interfaces d'administration.

Il est possible d'autoriser plusieurs adresses en cliquant sur Adresse IP réseau autorisée pour….

Truc & astuce

Le masque réseau d'une station isolée est 255.255.255.255.

Dans le cadre de test sur un module l'utilisation de la valeur 0.0.0.0 dans les champs Adresse IP réseau autorisée pour les connexions SSH et Masque du sous réseau pour les connexions SSH autorise les connexions SSH depuis n'importe quelle adresse IP.

Truc & astuce

La commande suivante permet d'observer les connexions SSH arrivant sur un serveur EOLE : tcpdump -ni $(CreoleGet nom_carte_eth0) port 22

Complément

Des restrictions supplémentaires au niveau des connexions SSH sont disponibles dans l'onglet Onglet Interface-0 partie Administration à distance

Onglet Messagerie

Même sur les modules ne fournissant aucun service directement lié à la messagerie, il est nécessaire de configurer une passerelle SMTP valide car de nombreux outils sont susceptibles de nécessiter l'envoi de courriers électroniques.

La plupart des besoins concernent l'envoi d'alertes ou de rapports.

Exemples : rapports de sauvegarde, alertes système, ...

Serveur d'envoi/réception (SMTP)

Les paramètres communs à renseigner sont les suivants :

  • Nom de domaine de la messagerie de l'établissement (ex : monetab.ac-aca.fr), saisir un nom de domaine valide, par défaut un domaine privé est automatiquement créé avec le préfixe i-;

  • Adresse électronique d'envoi pour le compte root, saisir l'adresse que l'on souhaite utiliser pour l'envoi de courriers électroniques depuis le compte root.

  • Adresse électronique recevant les courriers électroniques à destination du compte root, permet de configurer une adresse pour recevoir les éventuels messages envoyés par le système.

Attention

Le Nom de domaine de la messagerie de l'établissement (onglet Messagerie) ne peut pas être le même que celui d'un conteneur. Le nom de la machine (onglet Général) donne son nom au conteneur maître aussi le Nom de domaine de la messagerie de l'établissement ne peut pas avoir la même valeur.

Dans le cas contraire les courriers électroniques utilisant le nom de domaine de la messagerie de l'établissement seront réécris et envoyés à l'adresse électronique d'envoi du compte root.

Cette contrainte permet de faire en sorte que les courriers électroniques utilisant un domaine de type @<NOM CONTENEUR>.* soient considérés comme des courriers électroniques systèmes.

Attention

Dans le cas où le Nom de domaine de la messagerie de l’établissement n’est pas le même que la concaténation du Nom de la machine et du Nom DNS du réseau local, il peut être nécessaire d’activer la réécriture des en-têtes pour avoir des informations cohérentes avec l’enveloppe des courriels.

Relai des messages

La variable Passerelle SMTP, permet de saisir l'adresse IP ou le nom DNS de la passerelle SMTP à utiliser.

Remarque

Afin d'envoyer directement des courriers électroniques sur Internet il est possible de désactiver l'utilisation d'une passerelle en passant Router les courriels par une passerelle SMTP à non.

Sur les modules possédant un serveur SMTP (Scribe, AmonEcole), ces paramètres sont légèrement différents et des services supplémentaires sont configurables.

Configuration commune en mode normal

Certains onglets et certaines options ne sont disponibles qu'après avoir activé le mode normal de l'interface de configuration du module.

Dans l'interface de configuration du module voici les onglets propres à la configuration d'EoleBase :

  • Général ;

  • Services ;

  • Interface-0 (configuration de l'interface réseau) ;

  • Onduleur * ;

  • Nginx * ;

  • Reverse proxy * ;

  • Messagerie.

Certains des onglets ne sont disponibles qu'après activation du service dans l'onglet Services et sont marqués avec une * dans la liste ci-dessus.

Onglet Général

Présentation des différents paramètres de l'onglet Général.

Informations sur l'établissement

Deux informations sont importantes pour l'établissement :

  • l'Identifiant de l'établissement, qui doit être unique ;
  • le Nom de l'établissement.

Ces informations sont notamment utiles pour Zéphir, les applications web locales, ....

Sur les modules fournissant un annuaire LDAP[11] local, ces variables sont utilisées pour créer l'arborescence.

Attention

Il est déconseillé de modifier ces informations après l'instanciation du serveur sur les modules utilisant un serveur LDAP local.

Nom DNS du serveur

En premier lieu, il convient de configurer le nom DNS du serveur.

Cette information est découpée en 2 champs :

  • le nom de la machine dans l'établissement ;
  • le nom DNS du réseau local.

Le Nom de la machine est laissé à l'appréciation de l'administrateur.

Le Nom DNS du serveur utilise fréquemment des domaines de premier niveau du type .lan

C'est ce nom qui configurera le serveur DNS (sur un module Amon par exemple) comme zone de résolution par défaut. Il sera utilisé par les machines pour résoudre l'ensemble des adresses locales.

Rappel : les outils mDNS (Avahi, Bonjour, ... ) utilise la racine '.local'. Pour éviter les problèmes de DNS, nous vous déconseillons d'utiliser cette racine.

Remarque

Les domaines de premier niveau .com, .fr sont en vigueur sur Internet, mais sont le résultat d'un choix arbitraire.

Sur un réseau local les noms de domaine sont privés et on peut tout à fait utiliser des domaines de premier niveau, et leur donner la sémantique que l'on veut.

Remarque

Les informations sur les noms de domaine sont importantes car elles sont notamment utilisées pour l'envoi des courriels et pour la création de l'arborescence de l'annuaire LDAP.

Attention

L'usage d'un domaine de premier niveau utilisé sur Internet n'est pas recommandé, car il existe un risque de collision entre le domaine privé et le domaine public.

Paramètres réseau globaux

En deuxième lieu, il convient de configurer les noms de domaine de la machine.

Cette information est découpée en plusieurs champs :

  • le nom du domaine privé utilisé à l'intérieur de l'établissement ;
  • le nom de domaine académique et son suffixe.

Nombre d'interfaces

Un module EOLE peut avoir de 1 à 5 cartes réseau.

Suivant le module installé, un nombre d'interface est pré-paramétré. Il est possible d'en ajouter en sélectionnant la valeur du nombre total d'interfaces souhaitées dans le menu déroulant. Cela ajoute autant d'onglet Interface-n que le nombre d'interfaces à activer choisi.

Attention

Il est possible, en fonction du module, que la configuration ne permette pas toujours de choisir le nombre d'interfaces et que l'ensemble des paramétrages ne soit pas proposé.

Proxy

Si le module doit utiliser un proxy pour accéder à Internet, il faut activer cette fonctionnalité en passant la variable Utiliser un serveur mandataire (proxy) pour accéder à Internet à oui.

Il devient alors possible de saisir la configuration du serveur proxy :

  • nom de domaine ou adresse IP du serveur proxy ;
  • le port du proxy.
Attention

La déclaration du proxy est nécessaire pour effectuer les mises à jour d'un module qui serait protégé par un module Amon.

Déchiffrement et interception du protocole HTTPS

Par rapport au protocole HTTP[12], le protocole HTTPS permet de chiffrer la communication entre le navigateur du poste client et le serveur du site distant.

Dans ce cas, le serveur proxy ne journalise qu'une seule connexion vers le site distant (exemple : https://pcll.ac-dijon.fr) mais pas les différentes requêtes d'accès aux pages ou aux fichiers se trouvant sur ce serveur (exemple : https://pcll.ac-dijon.fr/eole/).

En HTTPS, le serveur Proxy ne peut pas filtrer le contenu des pages consultées ni scanner les fichiers téléchargés avec un antivirus.

Le déchiffrement HTTPS sur le serveur Proxy permet d'intercepter l'ensemble des requêtes et de les journaliser, de filtrer le contenu des pages visitées et de scanner les fichiers téléchargés.

Fonctionnement HTTPS normal
Fonctionnement HTTPS normal
Fonctionnement HTTPS déchiffré par le Proxy
Fonctionnement HTTPS déchiffré par le Proxy
Certificat Racine de l'autorité de certification

Un certificat HTTPS est émis par une autorité de certification[13].

Let's Encrypt[14], par exemple, est une autorité de certification publique et connue des navigateurs ; son certificat racine est pré-installé dans les navigateurs et les systèmes d'exploitation.

Autorité de certification AC (Certificate Authority CA)
Autorité de certification AC (Certificate Authority CA)

À partir de la version 2.8.1, le module Amon est équipé d'une fonctionnalité d'interception du trafic HTTPS. Il est possible de déclarer son certificat racine servant à sur-signer les ressources servies par le protocole HTTPS et transitant par le proxy filtrant. Cette déclaration permet d'en automatiser l'intégration dans le magasin de certificats local.

Si la variable Utiliser un serveur mandataire (proxy) pour accéder à Internet est passée à oui, la variable Le serveur mandataire intercepte les communications HTTPS est proposée et permet elle-même de faire apparaître deux variables permettant d’identifier le certificat racine employé par le proxy filtrant.

En passant la variable Le serveur mandataire intercepte les communications HTTPS à oui, il est possible de renseigner les variables suivantes en utilisant les données affichées par la commande diagnose sur le module Amon :

  • Type d’empreinte du certificat racine du proxy : SHA256 (par défaut sur Amon 2.8.1)
  • Empreinte du certificat racine du proxy : information donnée par le diagnose du serveur Amon dans le cas où celui-ci fait office de proxy filtrant

Cette configuration est nécessaire uniquement lorsque le module Amon est configuré pour l’interception des communications HTTPS.

Truc & astuce

Sur un module Amon configuré pour l'interception des communications HTTPS, la commande diagnose permet de connaître le chemin et l'empreinte du certificat :

1
*** Validité du certificat racine du proxy (/etc/eole/squid_CA.crt)
2
.               signingCA.crt => Ok
3
.                   Empreinte => SHA256 Fingerprint=62:1B:BF:25:28:44:31:02:7E:09:31:A6:EA:FD:A5:A8:7C:D4:EB:B6:3D:83:88:62:0F:98:85:1A:DC:50:99:E0
4

DNS et fuseau horaire

La variable Adresse IP du serveur DNS donne la possibilité de saisir une ou plusieurs adresses IP du ou des serveur(s) de noms DNS[3].

La variable Fuseau horaire du serveur vous permet de choisir votre fuseau horaire dans une liste conséquente de propositions.

NTP

Une liste de serveurs de temps (NTP[4]) à utiliser est proposée par défaut.

Il est possible de modifier ces valeurs afin d'utiliser un serveur de temps personnalisé.

RemarquePorts utilisés par ntpdate

Le service ntp utilisant et bloquant le port 123, ntpdate utilise un port source aléatoire dans la plage des ports non privilégiés.

Les éventuelles règles de pare-feu ne peuvent donc pas présumer que le port source est le port 123.

Par contre, le port de destination reste inchangé (port : 123).

Choix du certificat SSL

Trois types de certificats peuvent être utilisés pour sécuriser les connexions avec TLS[15] :

  • autosigné : le certificat est généré localement et signé par une CA[13] locale ;

  • letsencrypt : le certificat est généré et signé par l'autorité Let's Encrypt[14] ;

  • manuel : le certificat est mis en place manuellement par l'administrateur. Pour ce faire, il faut disposer au préalable des certificats fournis par l'autorité de certification, si ce n'est pas encore le cas, le choix autosigné permet d'utiliser le serveur de façon non optimale. Le répertoire /etc/ssl/certs/ est recommandé pour placer les certificats.

Remarque

Par défaut, le type de certificat par défaut est autosigné et aucun paramétrage n'est nécessaire.

Cette configuration est déconseillée car elle nécessite l'installation de l'autorité de certification locale sur tous les postes clients.

Truc & astuce

Pour plus d'informations, consulter la partie consacrée à l'onglet expert Certificats ssl.

Mise à jour

Il est possible de définir d'autres adresses pour le serveur de mise à jour EOLE que celles fournies par défaut, dans le cas où vous auriez, par exemple, un miroir des dépôts.

Onglet Services

L'onglet Services permet d'activer et de désactiver une partie des services proposés par le module.

Suivant le module installé et le mode utilisé pour la configuration, la liste des services activables ou désactivables est très différente.

Truc & astuce

Le principe est toujours le même, l'activation d'un service va, la plupart du temps, ajouter un onglet de configuration propre au service.

Vue de l'onglet Services en mode normal
Vue de l'onglet Services en mode normal

Le service de base commun à tous les modules est la gestion de l'onduleur NUT[20].

L'activation d'applications web par Nginx[21] et du proxy inverse sont également disponibles sur ce module.

Onglet Interface-0

Configuration de l'interface

Avant toute chose, il faut décider comment la carte réseau est configurée.

Pour cela, il existe trois possibilités : statique[16], DHCP[17] ou non géré.

Méthode d'attribution statique

Dans le cas de la configuration statique, il faut renseigner l'adresse IP, le masque et la passerelle.

Truc & astuce

EOLE est pleinement fonctionnel avec une connexion en IP fixe. Si vous ne disposez pas d'IP fixe, certaines fonctionnalités ne seront plus disponibles.

Méthode d'attribution DHCP

La configuration DHCP ne nécessite aucun paramétrage particulier.

Attention

Lors du passage d'une configuration statique à une configuration DHCP, il faut procéder à deux reconfigure successifs.

Méthode d'attribution "non géré"

L'utilisation de la nouvelle valeur non gérée permet de déléguer la configuration réseau à cloud-init[18] ou à un autre outil de contextualisation.

Administration à distance

Configuration de l'administration à distance sur une interface
Configuration de l'administration à distance sur une interface

Par défaut les accès SSH[19] et aux différentes interfaces d'administration (EAD, Adminer, CUPS, ARV... selon le module) sont bloqués.

Pour chaque interface réseau activée (onglets Interface-n), il est possible d'autoriser des adresses IP ou des adresses réseau à se connecter.

Les adresses autorisées à se connecter via SSH sont indépendantes de celles configurées pour accéder aux interfaces d'administration.

Il est possible d'autoriser plusieurs adresses en cliquant sur Adresse IP réseau autorisée pour….

Truc & astuce

Le masque réseau d'une station isolée est 255.255.255.255.

Dans le cadre de test sur un module l'utilisation de la valeur 0.0.0.0 dans les champs Adresse IP réseau autorisée pour les connexions SSH et Masque du sous réseau pour les connexions SSH autorise les connexions SSH depuis n'importe quelle adresse IP.

Truc & astuce

La commande suivante permet d'observer les connexions SSH arrivant sur un serveur EOLE : tcpdump -ni $(CreoleGet nom_carte_eth0) port 22

Complément

Des restrictions supplémentaires au niveau des connexions SSH sont disponibles dans l'onglet Onglet Interface-0 partie Administration à distance

Configuration des alias sur l'interface

EOLE supporte les alias sur les cartes réseau. Définir des alias IP consiste à affecter plus d'une adresse IP à une interface.

Pour cela, il faut activer le support des alias (Ajouter des IP alias sur l'interface à oui) et configurer l'adresse IP et le masque de sous-réseau.

Truc & astuce

Il est possible d'ajouter d'autres adresses IP alias sur l'interface en cliquant sur le bouton + Adresse IP alias pour l'interface n.

Configuration des VLAN sur l'interface

Il est possible de configurer des VLAN[22] (réseau local virtuel) sur une interface déterminée du module.

Pour cela, il faut activer le support des VLAN (Activer le support des VLAN sur l'interface à oui) puis ajouter un VLAN à l'aide du bouton + Numéro d'identifiant du VLAN et configurer l'ensemble des paramètres obligatoires :

  • le numéro du VLAN ;

  • l'adresse IP de l'interface dans ce VLAN ;

  • le masque de sous-réseau de l'interface dans ce VLAN.

Il est possible de configurer une passerelle particulière pour un VLAN de l'interface 0.

Truc & astuce

Il est possible d'ajouter d'autres VLAN sur l'interface en cliquant sur le bouton + Numéro d'identifiant du VLAN.

Onglet Onduleur

Sur chaque module EOLE, il est possible de configurer votre onduleur.

Le logiciel utilisé pour la gestion des onduleurs est NUT[20]. Il permet d'installer plusieurs clients sur le même onduleur. Dans ce cas, une machine aura le contrôle de l'onduleur (le maître/master) et en cas de coupure, lorsque la charge de la batterie devient critique, le maître indiquera aux autres machines (les esclaves) de s'éteindre avant de s'éteindre lui-même.

Schéma d'Olivier Van Hoof sous licence GNU FDL Version 1.2 - http://ovanhoof.developpez.com/upsusb/
Schéma d'Olivier Van Hoof sous licence GNU FDL Version 1.2 - http://ovanhoof.developpez.com/upsusb/

Certains onduleurs sont assez puissants pour alimenter plusieurs machines.

http://www.networkupstools.org/

Le projet offre une liste de matériel compatible avec le produit mais cette liste est donnée pour la dernière version du produit :

http://www.networkupstools.org/stable-hcl.html

Truc & astuce

Pour connaître la version de NUT qui est installée sur le module :

# apt-cache policy nut

ou encore :

# apt-show-versions nut

Si la version retournée est 2.7.1 on peut trouver des informations sur la prise en charge du matériel dans les notes de version à l'adresse suivante :

http://www.networkupstools.org/source/2.7/new-2.7.1.txt

Si le matériel n'est pas dans la liste, on peut vérifier que sa prise en charge soit faite par une version plus récente et donc non pris en charge par la version actuelle :

http://www.networkupstools.org/source/2.7/new-2.7.3.txt

L'onglet Onduleur n'est accessible que si le service est activé dans l'onglet Services.

Si l'onduleur est branché directement sur le module il faut laisser la variable Configuration sur un serveur maître à oui, cliquer sur le bouton + Nom de l'onduleur et effectuer la configuration liée au serveur maître.

La configuration sur un serveur maître

Même si le nom de l'onduleur n'a aucune conséquence, il est obligatoire de remplir cette valeur dans le champ Nom pour l'onduleur.

Il faut également choisir le nom du pilote de l'onduleur dans la liste déroulante Pilote de communication de l'onduleur et éventuellement préciser le Port de communication si l'onduleur n'est pas USB.

Les champs Numéro de série de l'onduleur, Productid de l'onduleur et Upstype de l'onduleur sont facultatifs si il n'y a pas de serveur esclave. Il n'est nécessaire d'indiquer ce numéro de série que dans le cas où le serveur dispose de plusieurs onduleurs et de serveurs esclaves.

Remarque

Le nom de l'onduleur ne doit contenir que des chiffres ou des lettres en minuscules : [a-z][0-9] sans espaces, ni caractères spéciaux.

NUT SNMP

À partir d'EOLE 2.7.2, les onduleurs utilisant une connexion SNMP[23] (driver snmp-ups) sont gérés nativement et des variables supplémentaires apparaissent dans l'interface.

La configuration ci-dessous convient, par exemple, pour un onduleur NITRAM Cyberpower :

Si le driver snmp-ups est sélectionné, le paramétrage de la Fréquence d'interrogation de upsmon est également proposé mais en mode expert uniquement.

Configuration d'un second onduleur sur un serveur maître

Si le serveur dispose de plusieurs alimentations, il est possible de les connecter chacune d'elle à un onduleur différent.

Il faut cliquer sur le bouton + Nom de l'onduleur pour ajouter la prise en charge d'un onduleur supplémentaire dans l'onglet Onduleur de l'interface de configuration du module.

Si les onduleurs sont du même modèle et de la même marque, il faut ajouter de quoi permettre au pilote NUT de les différencier.

Cette différenciation se fait par l'ajout d'une caractéristique unique propre à l'onduleur. Ces caractéristiques dépendent du pilote utilisé, la page de man du pilote vous indiquera lesquelles sont disponibles.

Exemple pour le pilote Solis :

# man solis

Afin de récupérer la valeur il faut :

  • ne connecter qu'un seul des onduleurs ;
  • le paramétrer comme indiqué dans la section précédente ;
  • exécuter la commande : upsc <nomOnduleurDansGenConfig>@localhost|grep <nom_variable> ;
  • débrancher l'onduleur ;
  • brancher l'onduleur suivant ;
  • redémarrer nut avec la commande : # service nut restart ;
  • exécuter à nouveau la commande pour récupérer la valeur de la variable.

Une fois les numéros de série connus, il faut les spécifier dans les champ Numéro de série de l'onduleur de chaque onduleur.

ExempleDeux onduleurs de même marque

Pour deux onduleurs de marque MGE, reliés à un module Scribe par câble USB, il est possible d'utiliser la valeur "serial", voici comment la récupérer :

# upsc <nomOnduleurDansGenConfig>@localhost | grep serial

driver.parameter.serial: AV4H4601W

ups.serial: AV4H4601W

ExempleDeux onduleurs différents

Un onduleur sur port série :

  • Nom de l'onduleur : eoleups ;
  • Pilote de communication de l'onduleur : apcsmart ;
  • Port de communication de l'onduleur : /dev/ttyS0.

Si l'onduleur est branché sur le port série (en général : /dev/ttyS0), les droits doivent être adaptés.

Cette adaptation est effectuée automatiquement lors de l'application de la configuration.

Onduleur sur port USB :

  • Nom de l'onduleur : eoleups ;
  • Pilote de communication de l 'onduleur : usbhid-ups ;
  • Port de communication de l'onduleur : auto.

La majorité des onduleurs USB sont détectés automatiquement.

Attention

Attention, seul le premier onduleur sera surveillé.

Autoriser des esclaves distants à se connecter

Pour déclarer un serveur esclave, il faut passer la variable Autoriser des esclaves distants à se connecter à oui puis ajouter un utilisateur sur le serveur maître afin d'autoriser l'esclave a se connecter avec cet utilisateur.

Idéalement, il est préférable de créer un utilisateur différent par serveur même s'il est possible d'utiliser un unique utilisateur pour plusieurs esclaves. Pour configurer plusieurs utilisateurs il faut cliquer sur le bouton + Utilisateur de surveillance de l'onduleur.

Pour chaque utilisateur, il faut saisir :

  • un Utilisateur de surveillance de l'onduleur ;

  • un Mot de passe de surveillance de l'onduleur associé à l'utilisateur précédemment créé ;

  • l'Adresse IP du réseau de l'esclave (cette valeur peut être une adresse réseau plutôt qu'une adresse IP) ;

  • le Masque de l'IP du réseau de l'esclave (comprendre le masque du sous réseau de l'adresse IP de l'esclave)

Remarque

Le nom de l'onduleur ne doit contenir que des chiffres ou des lettres en minuscules : [a-z][0-9] sans espaces, ni caractères spéciaux.

Attention

Chaque utilisateur doit avoir un nom différent.

Les noms root et localmonitor sont réservés.

Complément

Pour plus d'informations, vous pouvez consulter la page de manuel : man ups.conf

ou consulter la page web suivante : http://manpages.ubuntu.com/manpages/focal/en/man5/ups.conf.5.html

Configurer un serveur esclave

Une fois qu'un serveur maître est configuré et fonctionnel, il est possible de configurer le ou les serveurs esclaves.

Pour configurer le module en tant qu'esclave, il faut activer le service dans l'onglet Services puis, dans l'onglet Onduleur, passer la variable Configuration sur un serveur maître à non.

Il faut ensuite saisir les paramètres de connexion à l'hôte distant :

  • le Nom de l'onduleur distant (valeur renseignée sur le serveur maître) ;

  • l'Hôte gérant l'onduleur (adresse IP ou nom d'hôte du serveur maître) ;

  • l'Utilisateur de l'hôte distant (nom d'utilisateur de surveillance créé sur le serveur maître ) ;

  • le Mot de passe de l'hôte distant (mot de passe de l'utilisateur de surveillance créé sur le serveur maître).

Truc & astuce

À partir d'EOLE 2.7.2, il est possible de déclarer plusieurs onduleurs distants.

Exemple de configuration

Exemple

Sur le serveur maître :

  • Nom de l'onduleur : eoleups ;
  • Pilote de communication de l'onduleur : usbhid-ups ;
  • Port de communication de l'onduleur : auto ;
  • Utilisateur de surveillance de l'onduleur : scribe ;
  • Mot de passe de surveillance de l'onduleur : 99JJUE2EZOAI2IZI10IIZ93I187UZ8 ;
  • Adresse IP du réseau de l'esclave : 192.168.30.20 ;
  • Masque de l'IP du réseau de l'esclave : 255.255.255.255.
Exemple

Sur le serveur esclave :

  • Nom de l'onduleur distant : eoleups ;
  • Hôte gérant l'onduleur : 192.168.30.10 ;
  • Utilisateur de l'hôte distant : scribe ;
  • Mot de passe de l'hôte distant : 99JJUE2EZOAI2IZI10IIZ93I187UZ8.

Onglet Nginx

L'onglet Nginx est disponible si au moins l'un des deux paramètres suivants est activé dans l'onglet Services :

  • Activer la publication d’applications web par Nginx ;
  • Activer le reverse proxy Nginx.

Nom de domaine par défaut

En mode normal, cet onglet permet de saisir le Nom de domaine par défaut vers lequel sera redirigé un client qui accède au serveur avec un nom de domaine non déclaré.

Restriction Nginx

À partir d'EOLE 2.8.1, la variable : Appliquer des restrictions pour les ports Nginx permet de restreindre l'accès aux ports ouverts pour Nginx aux adresses autorisées à administrer le serveur.

Remarque

Des restrictions supplémentaires au niveau des connexions SSH sont disponibles dans le bloc Administration à distance de l'onglet Interface-0.

Onglet Reverse proxy : Configuration du proxy inverse

EOLE propose un serveur proxy inverse (reverse proxy) basé sur le logiciel libre Nginx[21].

Le proxy inverse est un type de serveur proxy, habituellement placé en frontal de serveurs web, qui permet de relayer des requêtes web provenant de l'extérieur vers les serveurs internes (situés en DMZ[24] par exemple). Cela le différencie grandement d'un proxy classique comme Squid[1].

Concrètement, le proxy inverse permet d'ouvrir des services web installés sur des serveurs situées "derrière" le pare-feu l'accès sur Internet sans avoir recours à des règles iptables[25]/DNAT.

Diagramme d'un proxy inverse - Licence CC0
Diagramme d'un proxy inverse - Licence CC0

Le proxy inverse EOLE peut relayer des requêtes vers les services suivants : 

  • serveur EoleSSO ;

  • outil d'administration EAD[26] ;

Avant toute chose, le proxy inverse doit être activé dans l'onglet Services en passant Activer le reverse proxy Nginx à oui.

L'activation du service fait apparaître un nouvel onglet.

Redirection de services particuliers

Redirection du service EoleSSO

Pour rediriger le service EoleSSO (port 8443), il faut indiquer l'adresse IP ou le nom de domaine interne de la machine de destination (en général l'adresse IP ou le nom de domaine interne du module Scribe).

Remarque

Cette fonctionnalité n'est disponible que dans le cas ou le serveur EoleSSO n'est pas activé en local (Utiliser un serveur EoleSSO doit être différent de local dans l'onglet Services).

Redirection de l'application EOP

Afin d'être totalement fonctionnelle derrière un reverse proxy, l'application EOP nécessite des règles de redirection particulières (redirection du port 6080 pour l’observation VNC[27]).

Pour rediriger l'application EOP, il faut indiquer l'adresse IP ou le nom de domaine interne de la machine de destination (en général l'adresse IP ou le nom de domaine interne du module Scribe).

Redirection de l'interface d'administration EAD

Pour accéder de manière sécurisée à l'EAD d'un serveur depuis l'extérieur de l'établissement, il est recommandé :

  • d'activer l'interface web de l'EAD du serveur interne sur un second port (4203 par défaut) dans l'onglet expert Ead-web de ce module ;
  • d'activer la redirection sur le serveur faisant office de reverse proxy en configurant l'adresse IP ou le nom de domaine interne de la machine de destination et son port d'écoute.

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[28] (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[29], 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).

Redirection de domaines

Le reverse proxy permet de rediriger automatiquement les utilisateurs voulant accéder à une page particulière vers une autre page.

L'exemple ci-dessus illustre le remplacement de SquirrelMail par Roundcube : si l'utilisateur cherche à accéder à l'adresse http://etb1.ac-test.fr/squirrelmail/, la page se recharge automatiquement avec l'URL de la nouvelle messagerie : http://etb1.ac-test.fr/roundcube/.

Onglet Messagerie

Même sur les modules ne fournissant aucun service directement lié à la messagerie, il est nécessaire de configurer une passerelle SMTP valide car de nombreux outils sont susceptibles de nécessiter l'envoi de courriers électroniques.

La plupart des besoins concernent l'envoi d'alertes ou de rapports.

Exemples : rapports de sauvegarde, alertes système, ...

Serveur d'envoi/réception (SMTP)

Les paramètres communs à renseigner sont les suivants :

  • Nom de domaine de la messagerie de l'établissement (ex : monetab.ac-aca.fr), saisir un nom de domaine valide, par défaut un domaine privé est automatiquement créé avec le préfixe i-;

  • Adresse électronique d'envoi pour le compte root, saisir l'adresse que l'on souhaite utiliser pour l'envoi de courriers électroniques depuis le compte root.

  • Adresse électronique recevant les courriers électroniques à destination du compte root, permet de configurer une adresse pour recevoir les éventuels messages envoyés par le système.

  • Taille maximale d'un message à envoyer en Mo, indiquer la taille maximale des courrier électroniques qui seront envoyés par exim.

Attention

Le Nom de domaine de la messagerie de l'établissement (onglet Messagerie) ne peut pas être le même que celui d'un conteneur. Le nom de la machine (onglet Général) donne son nom au conteneur maître aussi le Nom de domaine de la messagerie de l'établissement ne peut pas avoir la même valeur.

Dans le cas contraire les courriers électroniques utilisant le nom de domaine de la messagerie de l'établissement seront réécris et envoyés à l'adresse électronique d'envoi du compte root.

Cette contrainte permet de faire en sorte que les courrier électroniques utilisant un domaine de type @<NOM CONTENEUR>.* soient considérés comme des courriers électroniques systèmes.

Attention

Dans le cas où le Nom de domaine de la messagerie de l’établissement n’est pas le même que la concaténation du Nom de la machine et du Nom DNS du réseau local, il peut être nécessaire d’activer la réécriture des en-têtes pour avoir des informations cohérentes avec l’enveloppe des courriels.

En mode normal, il est possible de configurer le nom de l'émetteur des messages pour le compte root.

Attention

Certaines passerelles n'acceptent que des adresses de leur domaine.

Il est également possible de configurer la taille maximale des messages électroniques.

Attention

Sur les modules utilisant le webmail Roundcube, elle ne devrait pas dépasser la taille maximale d'un fichier à charger définie pour Apache.

Relai des messages

La variable Passerelle SMTP, permet de saisir l'adresse IP ou le nom DNS de la passerelle SMTP à utiliser.

Remarque

Afin d'envoyer directement des courriers électroniques sur Internet il est possible de désactiver l'utilisation d'une passerelle en passant Router les courriels par une passerelle SMTP à non.

Sur les modules possédant un serveur SMTP (Scribe, AmonEcole), ces paramètres sont légèrement différents et des services supplémentaires sont configurables.

Il est possible d'activer le support du TLS[15] pour l'envoi de messages.

Si la passerelle SMTP[30] accepte le TLS, il faut choisir le port en fonction de la prise en charge de la commande STARTTLS[31].

Pour cela il suffit d'indiquer le port spécifique dans l'option Utilisation de TLS (SSL) par la passerelle SMTP il y a cinq possibilités.

  1. non

  2. port 25

  3. port 465

  4. port 587

  5. port personnalisé

Le dernier choix permet à l'utilisateur de saisir un port différent de ceux proposés dans une nouvelle option appelée Port de la passerelle SMTP.

Dans le cas où la passerelle nécessiterait une authentification il est nécessaire de le signaler en passant la variable La passerelle requiert une authentification à oui.

Cette action affiche deux nouvelles variables :

Configuration commune en mode expert

Certains onglets et certaines options ne sont disponibles qu'après avoir activé le mode expert de l'interface de configuration du module.

Dans l'interface de configuration du module voici les onglets propres à la configuration d'EoleBase :

  • Général ;

  • Services ;

  • Système ;

  • Sshd ;

  • Ntp ;

  • Logs * ;

  • Interface-0 (configuration de l'interface réseau) ;

  • Réseau avancé ;

  • Certificats ssl ;

  • Dépôt tiers ;

  • Schedule ;

  • Onduleur * ;

  • Ead3 * ;

  • Ead-web ;

  • Nginx ;

  • Applications web nginx * ;

  • Reverse proxy * ;

  • Messagerie ;

  • Eoleflask.

Certains des onglets ne sont disponibles qu'après activation du service dans l'onglet Services et sont marqués avec une * dans la liste ci-dessus.

Onglet Général

Présentation des différents paramètres de l'onglet Général.

Informations sur l'établissement

Deux informations sont importantes pour l'établissement :

  • l'Identifiant de l'établissement, qui doit être unique ;
  • le Nom de l'établissement.

Ces informations sont notamment utiles pour Zéphir, les applications web locales, ....

Sur les modules fournissant un annuaire LDAP[11] local, ces variables sont utilisées pour créer l'arborescence.

Attention

Il est déconseillé de modifier ces informations après l'instanciation du serveur sur les modules utilisant un serveur LDAP local.

Nom DNS du serveur

En premier lieu, il convient de configurer le nom DNS du serveur.

Cette information est découpée en 2 champs :

  • le nom de la machine dans l'établissement ;
  • le nom DNS du réseau local.

Le Nom de la machine est laissé à l'appréciation de l'administrateur.

Le Nom DNS du serveur utilise fréquemment des domaines de premier niveau du type .lan

C'est ce nom qui configurera le serveur DNS (sur un module Amon par exemple) comme zone de résolution par défaut. Il sera utilisé par les machines pour résoudre l'ensemble des adresses locales.

Rappel : les outils mDNS (Avahi, Bonjour, ... ) utilise la racine '.local'. Pour éviter les problèmes de DNS, nous vous déconseillons d'utiliser cette racine.

Remarque

Les domaines de premier niveau .com, .fr sont en vigueur sur Internet, mais sont le résultat d'un choix arbitraire.

Sur un réseau local les noms de domaine sont privés et on peut tout à fait utiliser des domaines de premier niveau, et leur donner la sémantique que l'on veut.

Remarque

Les informations sur les noms de domaine sont importantes car elles sont notamment utilisées pour l'envoi des courriels et pour la création de l'arborescence de l'annuaire LDAP.

Attention

L'usage d'un domaine de premier niveau utilisé sur Internet n'est pas recommandé, car il existe un risque de collision entre le domaine privé et le domaine public.

Paramètres réseau globaux

En deuxième lieu, il convient de configurer les noms de domaine de la machine.

Cette information est découpée en plusieurs champs :

  • le nom du domaine privé utilisé à l'intérieur de l'établissement ;
  • le nom de domaine académique et son suffixe.

Nombre d'interfaces

Un module EOLE peut avoir de 1 à 5 cartes réseau.

Suivant le module installé, un nombre d'interface est pré-paramétré. Il est possible d'en ajouter en sélectionnant la valeur du nombre total d'interfaces souhaitées dans le menu déroulant. Cela ajoute autant d'onglet Interface-n que le nombre d'interfaces à activer choisi.

Attention

Il est possible, en fonction du module, que la configuration ne permette pas toujours de choisir le nombre d'interfaces et que l'ensemble des paramétrages ne soit pas proposé.

Proxy

Si le module doit utiliser un proxy pour accéder à Internet, il faut activer cette fonctionnalité en passant la variable Utiliser un serveur mandataire (proxy) pour accéder à Internet à oui.

Il devient alors possible de saisir la configuration du serveur proxy :

  • nom de domaine ou adresse IP du serveur proxy ;
  • le port du proxy.
Attention

La déclaration du proxy est nécessaire pour effectuer les mises à jour d'un module qui serait protégé par un module Amon.

Déchiffrement et interception du protocole HTTPS

Par rapport au protocole HTTP[12], le protocole HTTPS permet de chiffrer la communication entre le navigateur du poste client et le serveur du site distant.

Dans ce cas, le serveur proxy ne journalise qu'une seule connexion vers le site distant (exemple : https://pcll.ac-dijon.fr) mais pas les différentes requêtes d'accès aux pages ou aux fichiers se trouvant sur ce serveur (exemple : https://pcll.ac-dijon.fr/eole/).

En HTTPS, le serveur Proxy ne peut pas filtrer le contenu des pages consultées ni scanner les fichiers téléchargés avec un antivirus.

Le déchiffrement HTTPS sur le serveur Proxy permet d'intercepter l'ensemble des requêtes et de les journaliser, de filtrer le contenu des pages visitées et de scanner les fichiers téléchargés.

Fonctionnement HTTPS normal
Fonctionnement HTTPS normal
Fonctionnement HTTPS déchiffré par le Proxy
Fonctionnement HTTPS déchiffré par le Proxy
Certificat Racine de l'autorité de certification

Un certificat HTTPS est émis par une autorité de certification[13].

Let's Encrypt[14], par exemple, est une autorité de certification publique et connue des navigateurs ; son certificat racine est pré-installé dans les navigateurs et les systèmes d'exploitation.

Autorité de certification AC (Certificate Authority CA)
Autorité de certification AC (Certificate Authority CA)

À partir de la version 2.8.1, le module Amon est équipé d'une fonctionnalité d'interception du trafic HTTPS. Il est possible de déclarer son certificat racine servant à sur-signer les ressources servies par le protocole HTTPS et transitant par le proxy filtrant. Cette déclaration permet d'en automatiser l'intégration dans le magasin de certificats local.

Si la variable Utiliser un serveur mandataire (proxy) pour accéder à Internet est passée à oui, la variable Le serveur mandataire intercepte les communications HTTPS est proposée et permet elle-même de faire apparaître deux variables permettant d’identifier le certificat racine employé par le proxy filtrant.

En passant la variable Le serveur mandataire intercepte les communications HTTPS à oui, il est possible de renseigner les variables suivantes en utilisant les données affichées par la commande diagnose sur le module Amon :

  • Type d’empreinte du certificat racine du proxy : SHA256 (par défaut sur Amon 2.8.1)
  • Empreinte du certificat racine du proxy : information donnée par le diagnose du serveur Amon dans le cas où celui-ci fait office de proxy filtrant

Cette configuration est nécessaire uniquement lorsque le module Amon est configuré pour l’interception des communications HTTPS.

Truc & astuce

Sur un module Amon configuré pour l'interception des communications HTTPS, la commande diagnose permet de connaître le chemin et l'empreinte du certificat :

1
*** Validité du certificat racine du proxy (/etc/eole/squid_CA.crt)
2
.               signingCA.crt => Ok
3
.                   Empreinte => SHA256 Fingerprint=62:1B:BF:25:28:44:31:02:7E:09:31:A6:EA:FD:A5:A8:7C:D4:EB:B6:3D:83:88:62:0F:98:85:1A:DC:50:99:E0
4

DNS et fuseau horaire

La variable Adresse IP du serveur DNS donne la possibilité de saisir une ou plusieurs adresses IP du ou des serveur(s) de noms DNS[3].

La variable Fuseau horaire du serveur vous permet de choisir votre fuseau horaire dans une liste conséquente de propositions.

NTP

Une liste de serveurs de temps (NTP[4]) à utiliser est proposée par défaut.

Il est possible de modifier ces valeurs afin d'utiliser un serveur de temps personnalisé.

RemarquePorts utilisés par ntpdate

Le service ntp utilisant et bloquant le port 123, ntpdate utilise un port source aléatoire dans la plage des ports non privilégiés.

Les éventuelles règles de pare-feu ne peuvent donc pas présumer que le port source est le port 123.

Par contre, le port de destination reste inchangé (port : 123).

Choix du certificat SSL

Trois types de certificats peuvent être utilisés pour sécuriser les connexions avec TLS[15] :

  • autosigné : le certificat est généré localement et signé par une CA[13] locale ;

  • letsencrypt : le certificat est généré et signé par l'autorité Let's Encrypt[14] ;

  • manuel : le certificat est mis en place manuellement par l'administrateur. Pour ce faire, il faut disposer au préalable des certificats fournis par l'autorité de certification, si ce n'est pas encore le cas, le choix autosigné permet d'utiliser le serveur de façon non optimale. Le répertoire /etc/ssl/certs/ est recommandé pour placer les certificats.

Remarque

Par défaut, le type de certificat par défaut est autosigné et aucun paramétrage n'est nécessaire.

Cette configuration est déconseillée car elle nécessite l'installation de l'autorité de certification locale sur tous les postes clients.

Truc & astuce

Pour plus d'informations, consulter la partie consacrée à l'onglet expert Certificats ssl.

Mise à jour

Il est possible de définir d'autres adresses pour le serveur de mise à jour EOLE que celles fournies par défaut, dans le cas où vous auriez, par exemple, un miroir des dépôts.

Il est possible de définir d'autres adresses pour le serveur de mise à jour Ubuntu que celles fournies par défaut, dans le cas où vous auriez, par exemple, un miroir des dépôts.

La variable Événements de mise à jour à notifier par courriel permet d'activer les notifications par courriel pour certains événements liés à la mise à jour :

  • aucun : aucune notification ;
  • queryauto : notification en cas de mise à jour disponible (nécessite l'activation de la tâche schedule queryauto dans l'onglet Schedule) ;
  • kernel : notification en cas de redémarrage nécessaire suite à l'installation d'un nouveau noyau[32] ;
  • tous : notification en cas de mise à jour disponible ou de redémarrage nécessaire.

La variable Redémarrer automatiquement après mise à jour planifiée permet de désactiver le redémarrage automatique du serveur qui intervient après sa reconfiguration lorsque la mise à jour planifiée a installé un nouveau noyau[32].

Onglet Services

L'onglet Services permet d'activer et de désactiver une partie des services proposés par le module.

Suivant le module installé et le mode utilisé pour la configuration, la liste des services activables ou désactivables est très différente.

Truc & astuce

Le principe est toujours le même, l'activation d'un service va, la plupart du temps, ajouter un onglet de configuration propre au service.

Vue de l'onglet Services en mode normal
Vue de l'onglet Services en mode normal

Le service de base commun à tous les modules est la gestion de l'onduleur NUT[20].

L'activation d'applications web par Nginx[21] et du proxy inverse sont également disponibles sur ce module.

En mode expert, les services de base communs à tous les modules sont :

  • la gestion des logs centralisés  ;
  • l'activation de l'interface web de l'EAD[26] ;
  • l'activation de l'interface d'administration du module EAD3[33] ;
  • l'activation de l'accès web à l'interface de configuration du module (GenConfig) sur le port 443.

Truc & astuce

Une fois le module instancié, l'accès web à l'interface de configuration du module est activé par défaut sur le port 443.

L'interface reste également accessible en https sur le port historique 7000.

Onglet Système

Les paramètres de l'onglet Système permettent de régler le comportement de la console et de déterminer le niveau de complexité requis pour les mots de passe des utilisateurs système.

Paramétrage de la console

  • Activer l'auto-complétion étendue sur la console : l'auto-complétion facilite l'utilisation de la ligne de commande mais peut ralentir son affichage, elle est activée par défaut ;
  • Temps d'inactivité avant déconnexion bash : si aucune activité n'est constatée sur la console utilisateur pendant cette durée (en secondes), sa session est automatiquement coupée, avec le message : attente de données expirée : déconnexion automatique. La valeur 0 permet de désactiver cette fonctionnalité.
  • Activer le reboot sur ctrl-alt-suppr : si cette variable est passée à non, la séquence ctrl - alt - suppr est désactivée.
  • Nuance du fond d’écran dans VIM : l’éditeur VIM peut utiliser différents thèmes pour la coloration syntaxique et adapter ceux-ci en fonction de la valeur de la couleur d’arrière-plan pour en améliorer la lisibilité. La variable prend une valeur parmi dark et light, permettant d’adapter la coloration syntaxique à un arrière-plan sombre et clair respectivement.

Optimisations système

  • Poids relatif de l'utilisation de la swap par rapport à la mémoire vive : Le swappiness est un paramètre du noyau Linux permettant de définir avec quelle sensibilité il va écrire dans la swap si la quantité de RAM à utiliser devient trop importante. Le système accepte des valeurs comprises entre 0 et 100. La valeur 0 empêchera au maximum le système d'utiliser la partition d'échange.
Truc & astuce

La commande suivante permet de connaître les réglages de swappiness appliqués :

cat /proc/sys/vm/swappiness

  • Activer le service de génération de nombres aléatoires rng-tools : Le démon rngd agit comme une passerelle entre un vrai générateur de nombres aléatoires, matériel (TRNG), tel que ceux que l'on peut trouver dans les puces Intel/AMD/VIA et le pseudo-générateur de nombres aléatoires du noyau (PRNG).
Attention

Sur les serveurs virtualisés, le service rngd ne sera généralement pas fonctionnel et affichera, au démarrage, un message du type :

erreur Starting Hardware RNG entropy gatherer daemon: (failed)

Validation des mots de passe

EOLE propose un système de vérification des mots de passe évolué pour les utilisateurs système.

Un paramétrage par défaut est proposé mais il est possible d'adapter.

La complexité des mots de passe peut être réglée finement à l'aide des paramètres suivants :

  • Taille minimum du mot de passe utilisant une seule classe de caractères ;
  • Taille minimum du mot de passe utilisant deux classes de caractères ;
  • Taille minimum du mot de passe utilisant trois classes de caractères ;
  • Taille minimum du mot de passe utilisant quatre classes de caractères ;
  • Taille maximale du mot de passe.

La valeur 0 permet de désactiver une classe de caractères.

Exemple

Pour obliger l'utilisation de 2 classes de caractères minimum et d'un minimum de 7 caractères :

  • Taille minimum du mot de passe utilisant une seule classe de caractères : 0
  • Taille minimum du mot de passe utilisant deux classes de caractères : 7
  • Taille minimum du mot de passe utilisant trois classes de caractères : 7
  • Taille minimum du mot de passe utilisant quatre classes de caractères : 7
Exemple

Pour obliger l'utilisation de 3 classes de caractères minimum et d'un minimum de 7 caractères :

  • Taille minimum du mot de passe utilisant une seule classe de caractères : 0
  • Taille minimum du mot de passe utilisant deux classes de caractères : 0
  • Taille minimum du mot de passe utilisant trois classes de caractères : 7
  • Taille minimum du mot de passe utilisant quatre classes de caractères : 7
Exemple

Il est impossible d'obliger l'utilisation de 3 classes minimum sans obliger l'utilisation de 2 classes minimum, exemple de valeur impossible :

  • Taille minimum du mot de passe utilisant une seule classe de caractères : 7
  • Taille minimum du mot de passe utilisant deux classes de caractères : 0
  • Taille minimum du mot de passe utilisant trois classes de caractères : 7
  • Taille minimum du mot de passe utilisant quatre classes de caractères : 7

Les valeurs doivent être respectivement : 0, 0, 7 et 7.

Truc & astuce

Deux librairie sont utilisées pour vérifier la validité des mots de passe : pam_passwdqc.so et pam_unix.so.

Les réglages de la première librairie s'effectuent via les variables proposées. Si les règles établies par la première librairie ne sont pas suffisamment sécurisées, d'autres règles seront imposées par la seconde :

  • le mot de passe ne peut être basé sur l'identifiant du compte ;

  • le mot de passe ne peut être basé sur l'ancien mot de passe ;

  • le mot de passe ne peut pas comporter des mots du dictionnaire ;

  • le mot de passe ne peut être basé sur une séquence connue (suite de lettre sur le clavier par exemple) ;

  • le mot de passe doit contenir suffisamment de caractères différents ;

  • les lettres majuscules au début du mot de passe et les chiffres à la fin du mot de passe ne comptent pas comme l'utilisation d'une classe de caractère.

Truc & astuce

Plus d'informations sur le site du projet : http://www.openwall.com/passwdqc/

Attention

Il est possible de désactiver la validation des mots de passe en passant Vérifier la complexité des mots de passe à non.

Il ne faut bien évidement pas désactiver cette fonctionnalité dans un contexte de production.

Cette fonctionnalité est intéressante pour faciliter la mise en place d'une infrastructure de test.

Attention

Ce paramétrage concerne uniquement les comptes système du serveur. Les utilisateurs LDAP ne sont pas soumis aux mêmes restrictions.

Ajustement du partitionnement

Attention

L'ajustement du partitionnement est disponible dans l'interface de configuration du module en mode expert et ce uniquement :

  • avant l'instance
  • si le partitionnement à l’installation depuis l’ISO n’a pas été modifié

Pour maîtriser correctement ce qui va être fait il faut consulter l'état du partitionnement avant de saisir les paramètres souhaités à l'aide de la commande df -h / et des commandes vgdisplay et lvdisplay.

1
root@eolebase:~# df -h
2
Sys. de fichiers              Taille Utilisé Dispo Uti% Monté sur
3
udev                            980M       0  980M   0% /dev
4
tmpfs                           200M    3,2M  197M   2% /run
5
/dev/mapper/eolebase--vg-root   9,1G    2,1G  6,5G  25% /
6
tmpfs                          1000M     28K 1000M   1% /dev/shm
7
tmpfs                           5,0M       0  5,0M   0% /run/lock
8
tmpfs                          1000M       0 1000M   0% /sys/fs/cgroup
9
/dev/sda1                       687M    107M  531M  17% /boot
10
/dev/mapper/eolebase--vg-tmp    1,8G    2,9M  1,7G   1% /tmp
11
tmpfs                           200M       0  200M   0% /run/user/0
12
root@eolebase:~#
1
root@scribe:~# vgdisplay 
2
  --- Volume group ---
3
  VG Name               scribe-vg
4
  System ID             
5
  Format                lvm2
6
  Metadata Areas        1
7
  Metadata Sequence No  8
8
  VG Access             read/write
9
  VG Status             resizable
10
  MAX LV                0
11
  Cur LV                5
12
  Open LV               5
13
  Max PV                0
14
  Cur PV                1
15
  Act PV                1
16
  VG Size               39,30 GiB
17
  PE Size               4,00 MiB
18
  Total PE              10060
19
  Alloc PE / Size       5550 / 21,68 GiB
20
  Free  PE / Size       4510 / 17,62 GiB
21
  VG UUID               ctPVcP-76Se-EpMp-FLO3-13aR-Ghg9-PdIdUW
22
   
23
root@scribe:~#
1
root@scribe:~# lvdisplay
2
3
  --- Logical volume ---
4
  LV Path                /dev/scribe-vg/root
5
  LV Name                root
6
  VG Name                scribe-vg
7
  LV UUID                uN8emF-hD9j-eNwv-zdaC-mEeK-9XGe-uBu2OU
8
  LV Write Access        read/write
9
  LV Creation host, time scribe, 2017-10-05 18:37:11 +0200
10
  LV Status              available
11
  # open                 1
12
  LV Size                8,94 GiB
13
  Current LE             2288
14
  Segments               1
15
  Allocation             inherit
16
  Read ahead sectors     auto
17
  - currently set to     256
18
  Block device           252:0
19
20
[...]
Ajuster le partitionnement

Ajuster le partitionnement permet d'ajouter un ou plusieurs volumes logiques et d'ajouter de l'espace à des partitions existantes.

Pour ajuster le partitionnement à partir de la version 2.6.2 d'EOLE, ouvrir l'interface de configuration du module, passer en mode Expert et se rendre dans l'onglet Système. Puis il faut passer Utiliser le modèle d'extension standard EOLE à non pour ajuster le partitionnement.

Ajustement du partitionnement à partir d'EOLE 2.6.2
Ajustement du partitionnement à partir d'EOLE 2.6.2

Après avoir passer Ajuster le partitionnement à oui, les partitions existantes sont affichées et un certain nombre de paramètres s'affichent.

  • nom du volume ;

  • pourcentage de l'espace disponible à utiliser ;

  • format du système de fichier à utiliser : sans précision le système de fichier est ext4 ;

  • point de montage ;

  • les options du montage (indispensable pour la gestion des quotas par exemple).

Pour ajouter un nouveau volume logique, cliquer sur le bouton + Nom du volume à créer.

Attention

Les nouveaux volumes ne sont pas montés automatiquement, il faut renseigner le fichier /etc/fstab.

Allouer l'espace restant

Positionner la variable Allouer l'espace restant à oui permet de choisir un volume existant auquel ajouter la totalité de l'espace libre restant.

La valeur à saisir est la partie du nom du volume qui permet d'identifier le point de montage, par exemple pour le volume /dev/mapper/eolebase--vg-root il faut saisir root dans le nom du Volume logique à étendre. S’il ne reste pas d’espace, ce jeu de paramètres est sans effet.

Résultat après instance

Le paramétrage est effectif après l'instanciation du module.

1
root@eolebase:~# df -h
2
Sys. de fichiers              Taille Utilisé Dispo Uti% Monté sur
3
udev                            980M       0  980M   0% /dev
4
tmpfs                           200M    3,2M  197M   2% /run
5
/dev/mapper/eolebase--vg-root   9,1G    1,9G  6,7G  22% /
6
tmpfs                          1000M       0 1000M   0% /dev/shm
7
tmpfs                           5,0M       0  5,0M   0% /run/lock
8
tmpfs                          1000M       0 1000M   0% /sys/fs/cgroup
9
/dev/sda1                       687M    107M  531M  17% /boot
10
/dev/mapper/eolebase--vg-tmp    1,8G    3,6M  1,7G   1% /tmp
11
tmpfs                           200M       0  200M   0% /run/user/0
12
/dev/mapper/eolebase--vg-var     27G    311M   25G   2% /var
13
root@eolebase:~#

Le nouveau volume logique est présent et la partition /root s'est vu augmentée du reste de l'espace libre.

Onglet Sshd : Gestion SSH avancée

Les paramètres disponibles dans cet onglet permettent d'affiner la configuration des accès SSH au serveur et viennent en complément des variables définissant les autorisations d'administration à distance saisies au niveau de chacune des interfaces (onglets Interface-n).

Autoriser les connexions SSH pour l'utilisateur root

Permet d'interdire les connexions SSH avec le compte utilisateur root (paramètre PermitRootLogin).

Autoriser les connexions SSH par mot de passe (si non clef RSA obligatoire)

Permet d'interdire les connexions SSH par mot de passe. Dans ce cas, seules les connexions par clef RSA seront autorisées (paramètre PasswordAuthentication).

Remarque

Si les connexions par mots de passe sont interdites, une tentative de connexion sans clé valide entraînera l'affichage du message suivant :

Permission denied (publickey).

Autoriser les connexions SSH pour les groupes

Permet de déclarer des groupes Unix supplémentaires autorisés à se connecter en SSH au serveur (paramètre AllowGroups).

Par défaut, les groupes Unix autorisés sont root et adm.

Critères à appliquer pour le blocage des tentatives de connexions par force brute

La première valeur est le nombre de tentatives de connexions échouées tolérées. La dernière valeur est le nombre de connexions échouées maximales. La deuxième valeur fixe le pourcentage de refus aléatoire une fois le nombre de connexions tolérées atteint. Ce pourcentage de refus augmente à chaque échec supplémentaire jusqu'à ce que le nombre de connexions maximales soit atteint (paramètre MaxStartups).

Onglet NTP : Options supplémentaires pour la synchronisation de l'horloge système

Le paramètre disponible dans cet onglet du mode expert permet de désactiver l’utilisation d’un pool de serveurs de secours pour la synchronisation de l’horloge.

Recourir aux serveurs de ce pool permet de pallier une défaillance du ou des serveurs NTP renseignés dans l’onglet Général (variable serveur_ntp).

Par défaut, l’utilisation du pool est activée.

Sa désactivation est parfois requise pour limiter la bande passante utilisée par le service de synchronisation du temps, celui-ci cherchant à contacter un grand nombre de sources de temps pour déterminer l’heure du serveur.

Onglet Logs : Gestion des journaux

La journalisation des événements des applications est un élément important de la maintenance et de l’analyse du fonctionnement d'un module.

Les modules disposent de deux dispositifs de journalisation en partie complémentaire pour la conservation des événements localement. En outre, ils proposent la configuration avancée de Rsyslog pour la centralisation des journaux de plusieurs modules.

Conservation locale des journaux

En plus d’être envoyés a Rsyslog[34], la plupart des événements des applications sont également stockés dans des fichiers binaires par journald[35].

Sur les modules EOLE, les journaux de référence sont ceux gérés via Rsyslog.

journald offre néanmoins d'autres modalités de recherche, utiles notamment pour l'analyse des incidents. Aussi, les modules mettent en place une configuration permettant de conserver une quantité restreinte de journaux binaires afin de limiter la place occupée mais néanmoins permettre de profiter de capacités d'interrogation étendues sur les journaux récents.

L’espace occupé par les journaux gérés par journald[35] est configuré via deux variables disponibles en mode expert dans l’onglet Logs.

  • Taille maximale du journal (Mo) : définit une limite de taille du journal en Mo.

  • Objectif de nombre maximal de journaux à conserver : définit la cible du nombre de journaux à conserver, étant donné que seuls les journaux archivés peuvent être supprimés pour atteindre cet objectif.

Remarque

Une configuration équivalente des fichiers gérés par Rsyslog et logrotate n’est pas disponible pour l’administrateur et répond, notamment, aux exigences légales.

Centralisation des journaux

La possibilité de centraliser des logs a été dissociée de la mise en place d'un serveur ZéphirLog[36]. Cela rend possible un transfert croisé des journaux ou une centralisation.

Le support des logs centralisés peut être activé dans l'onglet Service en mode expert.

Cette activation affiche un nouvel onglet nommé Logs dans l'interface de configuration du module.

Vue de l'onglet Logs
Vue de l'onglet Logs

Les options de cet onglet sont réparties en plusieurs sections :

  • la configuration de la réception des logs permet de spécifier les protocoles de communication entre des machines distantes émettrices identifiées par leur adresse IP et le poste configuré ;

  • la configuration de l'envoi des logs permet de spécifier l'adresse de la machine distante réceptrice. Le protocole (TCP[37] ou RELP[38]) utilisé est contraint par l'activation ou non du chiffrement (TLS[15]) ;

  • la configuration des journaux à envoyer permet de sélectionner les journaux à envoyer ainsi que l'heure de début et de fin de transfert.

Réception des journaux

Si la réception des journaux est activée (Activer la réception des logs de machines distantes à oui), il faut activer au moins l'un des 3 protocoles de réception : RELP, UDP et TLS over TCP.

L'activation des protocoles ouvre les ports adéquats sur le module.

Attention

Pour les clients EOLE, l'envoi de journaux avec le protocole TCP n'est possible que si le TLS est activé.

Attention

Lors du choix des protocoles d'envoi et de réception des journaux, pensez à suivre les préconisations de l'ANSSI[39].

Envoi des journaux

L'activation de l'envoi des journaux (Activer l'envoi des logs à une machine distante à oui) nécessite la saisie de l'adresse IP du serveur centralisateur de journaux.

Le protocole (TLS over TCP ou RELP) utilisé est contraint par l'activation ou non du chiffrement (TLS).

Attention

Lors du choix des protocoles d'envoi et de réception des journaux, pensez à suivre les préconisations de l'ANSSI[39].

Certificats

Si le protocole utilisé pour la réception ou l'envoi des journaux nécessite un chiffrement (TLS), il est possible de spécifier les chemins associés aux certificats utilisés par rsyslog.

Par défaut, les certificats du module sont utilisés et leur validité n'est pas vérifiée.

Choix des journaux à envoyer

Si l'envoi des journaux est activé, il est possible d'envoyer tous les journaux ou de choisir les journaux à envoyer.

Il est également possible d'envoyer les journaux en temps réel ou en différé. L'heure de début et de fin (plage temporelle) de transfert des journaux est également paramétrable.

Configuration de journald

En plus d’être envoyés a Rsyslog, la plupart des événements des applications sont également stockés dans des fichiers binaires par journald.

Sur les modules EOLE, les journaux de référence sont ceux gérés via Rsyslog. journald offre néanmoins d’autres modalités de recherche, utile notamment pour l’analyse des incidents. Aussi, les modules mettent en place une configuration permettant de conserver une quantité restreinte de journaux binaires pour limiter la place occupée mais néanmoins permettre de profiter de capacités d’interrogation étendues sur les journaux récents.

Onglet Interface-0

Configuration de l'interface

Avant toute chose, il faut décider comment la carte réseau est configurée.

Pour cela, il existe trois possibilités : statique[16], DHCP[17] ou non géré.

Méthode d'attribution statique

Dans le cas de la configuration statique, il faut renseigner l'adresse IP, le masque et la passerelle.

Truc & astuce

EOLE est pleinement fonctionnel avec une connexion en IP fixe. Si vous ne disposez pas d'IP fixe, certaines fonctionnalités ne seront plus disponibles.

Méthode d'attribution DHCP

La configuration DHCP ne nécessite aucun paramétrage particulier.

Attention

Lors du passage d'une configuration statique à une configuration DHCP, il faut procéder à deux reconfigure successifs.

Méthode d'attribution "non géré"

L'utilisation de la nouvelle valeur non gérée permet de déléguer la configuration réseau à cloud-init[18] ou à un autre outil de contextualisation.

En mode expert quelques variables supplémentaires sont disponibles.

Nom de l'interface réseau

Afin de respecter la convention Consistent Network Device Naming[40], le nom de l'interface réseau proposé dans l'interface de configuration du module correspond à son emplacement physique.

L'ordre de chargement des cartes réseau n'est donc plus susceptible d'être modifié en cas de changement matériel, contrairement aux versions précédentes qui utilisaient les adresses MAC[41] des cartes pour les identifier.

De ce fait, l'ancien fichier de configuration /etc/udev/rules.d/70-persistent-net.rules n'existe plus.

Truc & astuce

Ajouter des interfaces physiques supplémentaires à la variable Nom de l'interface réseau permet d’activer l’agrégation de liens Ethernet[42].

Remarque

Les noms réels des interfaces sont visibles dans le répertoire /sys/class/net/ :

# ls -d /sys/class/net/*

/sys/class/net/ens4 /sys/class/net/lo

Les interfaces gérées par EOLE sont enregistrées dans le fichier spécial : /var/lib/eole/config/persistent-net.cfg.

Nom de l'interface réseau de la zone

Ce champ permet de personnaliser le nom de l'interface logique associée à l'interface physique pour cette zone.

Mode de connexion pour l'interface

Le paramètre nommé Mode de connexion pour l'interface pour l'interface-0 et nommé Mode de connexion pour l'interface interne-x pour les autres interfaces permet de forcer les propriétés de la carte réseau.

Par défaut, toutes les interfaces sont en mode auto négociation.

Ces paramètres ne devraient être modifiés que s'il y a un problème de négociation entre un élément actif et une des cartes réseau, tous les équipements modernes gérant normalement l'auto-négociation.

Liste des valeurs possibles :

  • speed 100 duplex full autoneg off : permet de forcer la vitesse à 100Mbits/s en full duplex sans chercher à négocier avec l'élément actif en face ;

  • autoneg on : active l'auto-négociation (mode par défaut) :

  • speed 10 duplex half autoneg off : permet de forcer la vitesse à 10Mbits/s en half duplex et désactiver l'auto-négociation ;

  • speed 1000 duplex full autoneg off : permet de forcer la vitesse à 1Gbits/s en full duplex et désactiver l'auto-négociation.

Administration à distance

Configuration de l'administration à distance sur une interface
Configuration de l'administration à distance sur une interface

Par défaut les accès SSH[19] et aux différentes interfaces d'administration (EAD, Adminer, CUPS, ARV... selon le module) sont bloqués.

Pour chaque interface réseau activée (onglets Interface-n), il est possible d'autoriser des adresses IP ou des adresses réseau à se connecter.

Les adresses autorisées à se connecter via SSH sont indépendantes de celles configurées pour accéder aux interfaces d'administration.

Il est possible d'autoriser plusieurs adresses en cliquant sur Adresse IP réseau autorisée pour….

Truc & astuce

Le masque réseau d'une station isolée est 255.255.255.255.

Dans le cadre de test sur un module l'utilisation de la valeur 0.0.0.0 dans les champs Adresse IP réseau autorisée pour les connexions SSH et Masque du sous réseau pour les connexions SSH autorise les connexions SSH depuis n'importe quelle adresse IP.

Truc & astuce

La commande suivante permet d'observer les connexions SSH arrivant sur un serveur EOLE : tcpdump -ni $(CreoleGet nom_carte_eth0) port 22

Complément

Des restrictions supplémentaires au niveau des connexions SSH sont disponibles dans l'onglet Onglet Interface-0 partie Administration à distance

Configuration des alias sur l'interface

EOLE supporte les alias sur les cartes réseau. Définir des alias IP consiste à affecter plus d'une adresse IP à une interface.

Pour cela, il faut activer le support des alias (Ajouter des IP alias sur l'interface à oui) et configurer l'adresse IP et le masque de sous-réseau.

Truc & astuce

Il est possible d'ajouter d'autres adresses IP alias sur l'interface en cliquant sur le bouton + Adresse IP alias pour l'interface n.

Configuration des VLAN sur l'interface

Il est possible de configurer des VLAN[22] (réseau local virtuel) sur une interface déterminée du module.

Pour cela, il faut activer le support des VLAN (Activer le support des VLAN sur l'interface à oui) puis ajouter un VLAN à l'aide du bouton + Numéro d'identifiant du VLAN et configurer l'ensemble des paramètres obligatoires :

  • le numéro du VLAN ;

  • l'adresse IP de l'interface dans ce VLAN ;

  • le masque de sous-réseau de l'interface dans ce VLAN.

Il est possible de configurer une passerelle particulière pour un VLAN de l'interface 0.

Truc & astuce

Il est possible d'ajouter d'autres VLAN sur l'interface en cliquant sur le bouton + Numéro d'identifiant du VLAN.

Accès au backend EAD

À partir de la version EOLE 2.6.2, pour permettre à un frontend EAD[26] distant de se connecter au serveur de commandes de l'EAD local, il faut l'autoriser explicitement pour chaque interface.

Par défaut, l'accès au backend est bloqué pour chaque interface.

Remarque

Si le pare-feu est désactivé (mode expert dans l'onglet Réseau avancé), ces autorisations ne sont plus visibles et l'accès est autorisé à tous les frontend depuis toutes les interfaces.

Onglet Interface-n

Un module EOLE peut avoir de 1 à 5 cartes réseau.

Le nombre d'interfaces activées se définit en mode expert dans l'onglet Général de l'interface de configuration du module.

Cela ajoute autant d'onglet Interface-n que le nombre d'interfaces à activer choisi.

Attention

Il est possible, en fonction du module, que la configuration ne permette pas toujours de choisir le nombre d'interfaces et que l'ensemble des paramétrages ne soit pas proposé.

Configuration de l'interface

En mode expert, il est possible de configurer l'interface en mode DHCP[17].

Si l'interface est configurée avec un adressage statique[16], il faut renseigner l'adresse IP et le masque de sous-réseau.

En mode expert quelques variables supplémentaires sont disponibles.

Nom de l'interface réseau

Afin de respecter la convention Consistent Network Device Naming[40], le nom de l'interface réseau proposé dans l'interface de configuration du module correspond à son emplacement physique.

L'ordre de chargement des cartes réseau n'est donc plus susceptible d'être modifié en cas de changement matériel, contrairement aux versions précédentes qui utilisaient les adresses MAC[41] des cartes pour les identifier.

De ce fait, l'ancien fichier de configuration /etc/udev/rules.d/70-persistent-net.rules n'existe plus.

Truc & astuce

Ajouter des interfaces physiques supplémentaires à la variable Nom de l'interface réseau permet d’activer l’agrégation de liens Ethernet[42].

Remarque

Les noms réels des interfaces sont visibles dans le répertoire /sys/class/net/ :

# ls -d /sys/class/net/*

/sys/class/net/ens4 /sys/class/net/lo

Les interfaces gérées par EOLE sont enregistrées dans le fichier spécial : /var/lib/eole/config/persistent-net.cfg.

Nom de l'interface réseau de la zone

Ce champ permet de personnaliser le nom de l'interface logique associée à l'interface physique pour cette zone.

Mode de connexion pour l'interface

Le paramètre nommé Mode de connexion pour l'interface pour l'interface-0 et nommé Mode de connexion pour l'interface interne-x pour les autres interfaces permet de forcer les propriétés de la carte réseau.

Par défaut, toutes les interfaces sont en mode auto négociation.

Ces paramètres ne devraient être modifiés que s'il y a un problème de négociation entre un élément actif et une des cartes réseau, tous les équipements modernes gérant normalement l'auto-négociation.

Liste des valeurs possibles :

  • speed 100 duplex full autoneg off : permet de forcer la vitesse à 100Mbits/s en full duplex sans chercher à négocier avec l'élément actif en face ;

  • autoneg on : active l'auto-négociation (mode par défaut) :

  • speed 10 duplex half autoneg off : permet de forcer la vitesse à 10Mbits/s en half duplex et désactiver l'auto-négociation ;

  • speed 1000 duplex full autoneg off : permet de forcer la vitesse à 1Gbits/s en full duplex et désactiver l'auto-négociation.

Administration à distance

Configuration de l'administration à distance sur une interface
Configuration de l'administration à distance sur une interface

Par défaut les accès SSH[19] et aux différentes interfaces d'administration (EAD, Adminer, CUPS, ARV... selon le module) sont bloqués.

Pour chaque interface réseau activée (onglets Interface-n), il est possible d'autoriser des adresses IP ou des adresses réseau à se connecter.

Les adresses autorisées à se connecter via SSH sont indépendantes de celles configurées pour accéder aux interfaces d'administration.

Il est possible d'autoriser plusieurs adresses en cliquant sur Adresse IP réseau autorisée pour….

Truc & astuce

Le masque réseau d'une station isolée est 255.255.255.255.

Dans le cadre de test sur un module l'utilisation de la valeur 0.0.0.0 dans les champs Adresse IP réseau autorisée pour les connexions SSH et Masque du sous réseau pour les connexions SSH autorise les connexions SSH depuis n'importe quelle adresse IP.

Truc & astuce

La commande suivante permet d'observer les connexions SSH arrivant sur un serveur EOLE : tcpdump -ni $(CreoleGet nom_carte_eth0) port 22

Complément

Des restrictions supplémentaires au niveau des connexions SSH sont disponibles dans l'onglet Onglet Interface-0 partie Administration à distance

Configuration des alias sur l'interface

EOLE supporte les alias sur les cartes réseau. Définir des alias IP consiste à affecter plus d'une adresse IP à une interface.

Pour cela, il faut activer le support des alias (Ajouter des IP alias sur l'interface à oui) et configurer l'adresse IP et le masque de sous-réseau.

Truc & astuce

Il est possible d'ajouter d'autres adresses IP alias sur l'interface en cliquant sur le bouton + Adresse IP alias pour l'interface n.

Configuration des VLAN sur l'interface

Il est possible de configurer des VLAN[22] (réseau local virtuel) sur une interface déterminée du module.

Pour cela, il faut activer le support des VLAN (Activer le support des VLAN sur l'interface à oui) puis ajouter un VLAN à l'aide du bouton + Numéro d'identifiant du VLAN et configurer l'ensemble des paramètres obligatoires :

  • le numéro du VLAN ;

  • l'adresse IP de l'interface dans ce VLAN ;

  • le masque de sous réseau de l'interface dans ce VLAN.

Truc & astuce

Il est possible d'ajouter d'autres VLAN sur l'interface en cliquant sur le bouton + Numéro d'identifiant du VLAN.

Accès au backend EAD

À partir de la version EOLE 2.6.2, pour permettre à un frontend EAD[26] distant de se connecter au serveur de commandes de l'EAD local, il faut l'autoriser explicitement pour chaque interface.

Par défaut, l'accès au backend est bloqué pour chaque interface.

Remarque

Si le pare-feu est désactivé (mode expert dans l'onglet Réseau avancé), ces autorisations ne sont plus visibles et l'accès est autorisé à tous les frontend depuis toutes les interfaces.

Onglet Réseau avancé

Présentation des différents paramètres de l'onglet Réseau avancé accessible en mode expert.

Configuration IP

Le support du pare-feu peut être désactivé en passant Activer le support du firewall à non.

La valeur par défaut de la variable Restreindre le ping aux réseaux autorisés pour administrer le serveur est à oui par défaut mais cette restriction peut être levée en passant la variable à non.

Sur les modules disposant de la fonctionnalité serveur de fichiers comme Scribe et Horus, cette restriction est déjà levée puisque la variable est par défaut à non.

Attention

Il est recommandé de laisser la variable Restreindre le ping aux réseaux autorisés pour administrer le serveur à non sur les serveurs disposant de la fonctionnalité serveur de fichiers, principalement pour que les postes clients puissent fonctionner correctement.

Si la variable Activer le routage IPv4 entre les interfaces est à oui, alors le routage IPv4 est activé au niveau du noyau (/proc/sys/net/ipv4/ip_forward passe à 1)

Sécurité

Si la variable Journaliser les "martian sources" est à oui, tous les passages de paquets utilisant des adresses IP réservées à un usage particulier (http://tools.ietf.org/html/rfc5735) seront enregistrées dans les journaux.

Par défaut, l'anti-spoofing[43] est activé sur l'interface-0 des modules EOLE.

Sur les serveurs ayant 2 interfaces réseau ou plus d'activées (cas par défaut sur les modules Amon, Sphynx et Hâpy), il est possible de demander l'activation de l'anti-spoofing sur les autres interfaces en passant la variable Activer l'anti-spoofing sur toutes les interfaces à oui.

Ajout d'hôtes

Passer la variable Déclarer des noms d'hôtes supplémentaires à oui, permet de déclarer des noms d'hôtes qui seront ajoutés au fichier /etc/hosts.

Il est possible d'ajouter plusieurs hôtes supplémentaires en cliquant sur le bouton +Adresse IP de l'hôte.

Le champ Nom court de l'hôte est optionnel.

Attention

Sur les serveurs EOLE faisant office de serveur DNS, comme les modules Amon et AmonEcole, pour que le logiciel BIND[44] puisse résoudre un nom, il faut que le suffixe DNS de ce nom long corresponde au Nom de domaine privé du réseau local saisi dans l'onglet Général.

Si ce n'est pas le cas, il faut déclarer un Nom de domaine local supplémentaire dans l'onglet Zones-dns pour permettre au serveur de résoudre ce nom d'hôte.

Ajout de routes statiques

Ce bloc de paramètres permet d'ajouter, manuellement, des routes afin d'accéder à des adresses ou à des plages d'adresses par un chemin différent de celui par défaut (défini par le routeur par défaut).

Après avoir passé la variable Ajouter des routes statiques à oui il faut configurer les paramètres suivants :

  • Adresse IP ou réseau à ajouter dans la table de routage : permet de définir l'adresse de sous-réseau (ou l'adresse de l'hôte) vers lequel le routage doit s'effectuer ;

  • Masque de sous réseau : permet de définir le masque du réseau défini ci-dessus (s'il s'agit d'une machine seule, il faut mettre l'adresse du masque à 255.255.255.255) ;

  • Adresse IP de la passerelle pour accéder à ce réseau : permet de renseigner l'adresse de la passerelle permettant d'accéder au sous-réseau ou à l'hôte défini ci-dessus.

  • Interface réseau reliée à la passerelle : permet d'associer la route à une interface donnée ;

  • Numéro d'identifiant du VLAN ou rien : permet d'associer une route à un VLAN ;

Les deux paramètres suivants apparaissent uniquement si le service eole-dns est installé sur le module :

  • Autoriser ce réseau à utiliser les DNS du serveur : les postes du réseau cible peuvent interroger le service DNS du serveur ;

  • Autoriser ce réseau à utiliser les DNS des zones forward additionnelles : les postes du réseau cible sont autorisés à interroger les DNS des zones de forward.

Le paramètre suivant apparaît uniquement si le réseau virtuel privé RVP est activé :

  • Passer par le VPN pour accéder à ce réseau : ce réseau n'est pas un réseau local. C'est un réseau distant accessible par le VPN.

Configuration du MTU

La variable Configurer manuellement le MTU permet d'activer ou non le path MTU discovery[45] (paramètre : /proc/sys/net/ipv4/ip_no_pmtu_disc).

Cette option est à non par défaut (ip_no_pmtu_disc=0) ce qui est le fonctionnement normal.

Cette valeur peut poser problème, notamment avec le réseau virtuel privé (VPN), lorsque les paquets ICMP[46] de type 3 (Destination Unreachable) / code 4 (Fragmentation Needed and Don't Fragment was Set) sont bloqués quelque part sur le réseau.

Truc & astuce

Un des phénomènes permettant de diagnostiquer un problème lié au PMTU discovery est que l'accès à certains sites (ou certaines pages d'un site) n'aboutit pas (la page reste blanche) ou que les courriels n'arrivent pas dans le client de messagerie.

Si vous rencontrez des problèmes d'accès à certains sites (notamment messagerie ou site intranet via le VPN, Gmail ou Gmail Apps), vous pouvez passer ce paramètre à oui (ip_no_pmtu_disc=1).

Il est possible de forcer une valeur de MTU[45] pour chacune des interfaces activées dans l'interface de configuration du module.

Si le champ n'est pas renseigné, la valeur par défaut est utilisée (1500 octets pour un réseau de type Ethernet).

Attention

À partir de la version 2.7.0 du module Amon, le support du protocole PPPoE[10] comme méthode de connexion de l'interface externe est supprimé.

Truc & astuce

Les commandes ping, ip route et tracepath sont utilisées pour ajuster les valeurs.

Configuration de la "neighbour table"

Les variables ipv4_neigh_default_gc_thresh1, ipv4_neigh_default_gc_thresh2 et ipv4_neigh_default_gc_thresh3 servent à gérer la façon dont la table ARP évolue :

  • gc_thresh1 : seuil en-deçà duquel aucun recyclage des entrées de la table qui ne sont plus utilisées n'est effectué ;
  • gc_thresh2 : seuil qui, s'il est dépassé depuis un certain temps (5 secondes par défaut), déclenche le recyclage des entrées de la table qui ne sont plus utilisées ;
  • gc_thresh3 : seuil au-delà duquel le recyclage est immédiatement déclenché pour contenir la taille de la table.

Test de l'accès distant

Cette variable permet de définir le ou les domaines qui sont utilisés lorsque le module EOLE a besoin de tester son accès à Internet.

En pratique, seul l'accès au premier domaine déclaré est testé sauf dans le cas où il n'est pas accessible.

Les domaines définis sont utilisés dans les outils diagnose et dans l'agent Zéphir.

Onglet Certificats ssl : gestion des certificats SSL

Afin de faciliter la mise en œuvre des certificats, leur gestion a été standardisée.

Le choix du type de certificat à mettre en place sur le serveur s'effectue dans l'onglet Général.

Certificat de type Let's Encrypt

L'autorité de certification[13] Let's Encrypt[14] permet de mettre en place, gratuitement, des certificats dont la distribution et le renouvellement sont automatisés.

Vous pouvez à présent gérer des certificats Let's Encrypt pour des serveurs accessibles depuis Internet ou au travers d'un proxy inverse.

Nom DNS supplémentaires

Il est possible de faire des requêtes supplémentaires pour d'autres noms DNS connus d'Internet que celui du serveur en renseignant la variable Nom de domaines supplémentaires.

Remarque

Il y aura autant de certificats supplémentaires que de noms DNS déclarés dans la variable Nom de domaines supplémentaires.

Paramètres du client Let's Encrypt

L'utilisation de certificats Let's Encrypt requiert l'utilisation de noms DNS connus d'Internet.

Le certificat sera créé avec le nom DNS résultant de la concaténation du nom de la machine et du nom de DNS du réseau local saisis dans l'onglet Général.

Seule la variable Mode de fonctionnement du client Let's Encrypt nécessite un paramétrage en fonction de l'accessibilité du serveur :

  • accessible depuis Internet → utiliser la valeur standalone ;

  • accessible au travers d'un proxy inverse → utiliser la valeur webroot.

Écran
  • 1
    le_config_dir

    Chemin du répertoire du client Let's Encrypt

  • 2
    le_log_dir

    Chemin du répertoire de travail du client Let's Encrypt

  • 3
    le_logs_dir

    Chemin du répertoire de journalisation du client Let's Encrypt

  • 4
    le_server_addr

    Adresse du serveur Let's Encrypt

  • 5
    le_server_port

    Port d'écoute du serveur Let's Encrypt

  • 6
    le_client_mode

    Mode de fonctionnement du client Let's Encrypt

  • 7
    le_http_01_port

    Port d'écoute pour http-01

  • 8
    le_tls_sni_port

    Port d'écoute pour TLS

  • 9
    le_expire_delay

    Nombre de jours avant le déclenchement du renouvellement des certificats

Détail
  • Les trois premiers points concernent l'emplacement des fichiers/données gérés par le client Let's Encrypt qui peuvent êtres modifiés.
  • Les point 4 et 5 sont utiles dans le cas où vous souhaitez spécifier un serveur Let's Encrypt spécifique.
  • Les points 7 et 8 permettent de modifier les ports associés aux défis http-01 et TLS-SNI.
  • Le point 9 permet de déclencher le renouvellement des certificats avant la fin de validité des certificats Let's Encrypt déjà acquis.
Mode Let's Encrypt

Le point 6 permet de spécifier le mode de fonctionnement de Let's Encrypt, soit :

  • webroot

  • standalone

Le choix du mode de vérification n’est pas anodin, et peut engendrer des effets de bord.

webroot : Obtenir un certificat en écrivant dans la racine d'un serveur web fonctionnel.

standalone : Obtenir un certificat en lançant un serveur web autonome (le port 80 doit être disponible)

Conseil

Pour plus d'information consulter la documentation Let's Encrypt

Certificat de type manuel

Le type manuel vous permet d'utiliser le certificat de votre choix (en général, un certificat signé par une autorité tierce).

Pour que les services d'un module EOLE l'utilisent, il faut placer vos fichiers aux endroits définis au préalable dans la section Choix du certificat SSL de l'onglet Général.

Dans le cas d'un certificat signé par une autorité externe, il faut copier le certificat de la CA en question dans /etc/ssl/local_ca/ afin qu'il soit pris en compte automatiquement (non nécessaire pour les certificats de l'IGC nationale).

Pour appliquer les modifications, utiliser la commande reconfigure.

Attention

Le répertoire /etc/ssl/local_ca/ accueille uniquement des certificats CA.

Attention

Si les certificats configurés ne sont pas trouvés, ils sont générés à partir de la CA locale.

Emplacement et contenu des fichiers
Chemin du fichier contenant le certificat SSL

Le certificat SSL est contenu dans un fichier au format PEM.

Ce fichier débute par la chaîne :

-----BEGIN CERTIFICATE-----

et se termine par :

-----END CERTIFICATE-----

Le chemin doit pointer vers le fichier contenant le certificat ainsi que les éventuels certificats intermédiaires.

Si la chaîne de certification du serveur contient une ou plusieurs autorités intermédiaires, vous devez concaténer le certificat du serveur avec les certificats des autorités intermédiaires en respectant l'ordre depuis la chaîne de certification vers l'autorité racine.

ExempleConstruction du fichier avec plusieurs autorités intermédiaires

Soit la chaîne de certification suivante :

  1. CA-ROOT

  2. CA-SUB1 signée par CA-ROOT

  3. CA-SUB2 signée par CA-SUB1

  4. mon-serveur signé par CA-SUB1

Si le chemin du fichier contenant le certificat SSL est /etc/ssl/cert/mon-serveur.crt, les différents certificats devront être concaténés dans l'ordre suivant :

cat mon-serveur.crt ca-sub2.crt ca-sub1.crt > /etc/ssl/cert/mon-serveur.crt

Chemin du fichier contenant la clé privée du certificat SSL

</etc/ssl/private/ca.key>

La clé privée débute par la chaîne :

-----BEGIN RSA PRIVATE KEY-----

et se termine par :

-----END RSA PRIVATE KEY----

Chemin du fichier contenant la chaîne de certification

Ce fichier est la concaténation du fichier du certificat (sans les intermédiaires) et de la clé privée.

Cette dernière est au format PEM et est généralement fournie dans un fichier avec l'extension .pem.

Obtention d'un certificat signé par l'IGC de l’Éducation nationale

Étapes à suivre :

  1. récupérer la requête du certificat située dans le répertoire /etc/ssl/req/ : eole.p10 ;

  2. se connecter sur l'interface web de demande des certificats et suivre la procédure ;

  3. récupérer le certificat depuis l'interface (copier/coller dans un fichier) ;

  4. copier le fichier dans le répertoire /etc/ssl/certs/.

Attention

Seuls les ISR/OSR des académies sont accrédités pour effectuer les demandes.

Attention

En attendant que la prise en compte des certificats intermédiaires soit automatisée pour l'ensemble des services de base (fixme #13362), les manipulations nécessaires pour éviter des avertissements dans les navigateurs sont documentées dans la page wiki suivante : https://dev-eole.ac-dijon.fr/projects/modules-eole/wiki/Gestion_certificats

Certificat de type autosigné

En mode autosigné le certificat est généré localement et signé par une autorité de certification[13] locale.

Paramètres SSL

Les variables de la section Paramètres SSL permettent de personnaliser la configuration OpenSSL[47] à utiliser pour générer les certificats auto-signés.

Taille de la clé

Cette variable permet de définir le paramètre default_bits de la section [req] du fichier de configuration d'OpenSSL.

Par défaut la taille de la clé est de 2048 bits.

Durée de validité du certificat

Cette variable permet de définir le paramètre default_days des sections [ CA_default ] et [req] du fichier de configuration d'OpenSSL.

Par défaut la CA et les certificats générés expirent au bout de 3 ans (1096 jours).

Sujet du certificat

Les variables de la section Subject (DN) permettent de configurer le nom complet du serveur (distinguished name[48]) à utiliser pour générer les certificats auto-signés.

Nom du pays (C=)

Cette variable permet de définir le paramètre countryName de la section [req_distinguished_name] du fichier de configuration d'OpenSSL.

Il s'agit du code du nom de pays sur deux lettres, par défaut FR pour la France.

Nom de l'organisation (O=)

Cette variable permet de définir le paramètre organizationName de la section [req_distinguished_name] du fichier de configuration d'OpenSSL.

Il s'agit du nom de la structure, par défaut Ministere Education Nationale (MENESR) dans le cadre de l'Éducation Nationale.

Nom de l'unité de l'organisation (OU=)

Cette variable est utilisée pour ajouter des unités organisationnelles[49] dans le paramètre organizationalUnitName de la section [req_distinguished_name] du fichier de configuration d'OpenSSL.

La valeur par défaut 110 043 015 représente le numéro SIREN du Ministère de l'Éducation Nationale.

Nom DNS du serveur (CN=)

Cette variable permet de définir le paramètre commonName de la section [req_distinguished_name] du fichier de configuration d'OpenSSL.

Le CN[50] du serveur est pré-renseigné à l'aide des informations fournies dans l'onglet Général.

Truc & astuce

La commande suivante permet d'afficher les DN de l'émetteur et du sujet du certificat généré :

1
root@dc1:~# openssl x509 -in /etc/ssl/certs/eole.crt -noout -issuer -subject
2
issuer=C = FR, O = Ministere Education Nationale (MENESR), OU = 110 043 015, OU = ac-test, CN = CA-dc1.domseth.ac-test.fr
3
subject=C = FR, O = Ministere Education Nationale (MENESR), OU = 110 043 015, OU = ac-test, CN = dc1.domseth.ac-test.fr
Nom DNS alternatif

La section Nom Alternatif de la machine permet de renseigner tous les noms DNS associés au serveur.

Nom DNS alternatif du serveur

Cette variable permet d'ajouter tous les noms DNS nécessaires dans la section [ ALIASES ] du fichier de configuration d'OpenSSL.

Elle doit notamment contenir les noms de domaine utilisés pour accéder aux applications web (l'EAD[26] par exemple).

Attention

Pour que les modifications soient prises en compte, il faut reconfigurer le serveur puis re-générer les certificats.

Création de nouveaux certificats

Le script /usr/share/creole/gen_certif.py permet de générer rapidement un nouveau certificat SSL.

ExempleGénération d'un certificat avec gen_certif.py

root@eole:~# /usr/share/creole/gen_certif.py -fc /etc/ssl/certs/test.crt

Generation du certificat machine

* Certificat /etc/ssl/certs/test.crt généré

Re-génération des certificats

Si les certificats auto-signés sont expirés ou si ils ne sont plus adaptés à la configuration du serveur, il est possible de les re-générer à l'aide de la commande suivante :

/usr/share/creole/gen_certif.py -f

Certificats par défaut

Un certain nombre de certificats sont mis en place lors de la mise en œuvre d'un module EOLE :

  • /etc/ssl/certs/ca_local.crt : autorité de certification propre au serveur (certificats auto-signés) ;
  • /etc/ssl/private/ca.key : clef privée de la CA ci-dessus ;
  • /etc/ssl/certs/ACInfraEducation.pem : contient les certificats de la chaîne de certification de l'Éducation nationale (igca/education/infrastructure) ;
  • /etc/ssl/req/eole.p10 : requête de certificat au format pkcs10, ce fichier contient l'ensemble des informations nécessaires à la génération d'un certificat ;
  • /etc/ssl/certs/eole.crt : certificat serveur signé par la CA locale, il est utilisé par les applications (apache, ead2, eole-sso, ...) ;
  • /etc/ssl/private/eole.key : clé du certificat serveur ci-dessus.

Après génération de la CA locale, un fichier /etc/ssl/certs/ca.crt est créé qui regroupe les certificats suivants :

  • ca_local.crt ;
  • ACInfraEducation.pem ;
  • tout certificat présent dans le répertoire /etc/ssl/local_ca.
Truc & astuce

Les certificats émis par l'IGC/A[51] suivants sont déployés par défaut sur les modules EOLE :

  • menesr/igca.crt pour le Ministère de l'Éducation nationale ;
  • medde/antsv3racine.crt pour le Ministère de l'Ecologie, de l'Energie, du Développement durable et de la Mer.

Pour plus d'informations sur ces certificats, consulter le site de l'ANSSI[39] : https://www.ssi.gouv.fr/administration/services-securises/igca/certificats-emis-par-ligca-rsa-2048/.

Attention

À partir d'EOLE 2.7.1, la chaîne de certificats dépréciée ACInfraEducation.crt n'est plus fournie.

Onglet Dépôt tiers

L’utilisation de dépôts tiers permet d’ajouter de nouveaux paquets absents des dépôts officiels, ou de proposer des versions plus récentes.

Attention

L'introduction de paquets tiers n'est pas sans risque et peut présenter des dangers pour votre système.

Cette onglet permet la prise en charge de dépôts de paquet de type .deb.

Un dépôt nouvellement configuré s'ajoute dans le fichier /etc/apt/sources.list.d/additional.list.

1
root@scribe:~# cat /etc/apt/sources.list.d/additional.list 
2
#template genere par Maj-Auto
3
#
4
# dépôt Scenari
5
deb https://download.scenari.org/deb xenial main
6
# dépôt Firefox - team
7
deb http://ppa.launchpad.net/mozillateam/firefox-next/ubuntu xenial main
8
root@scribe:~#

L'ajout du dépôt est effectif après l'exécution de Query-Auto ou de Maj-Auto. L'installation d'un paquet supplémentaire s'effectue en ligne de commande.

Il est possible d'ajouter plusieurs dépôts en cliquant sur le bouton + Libellé du dépôt.

La clé de signature d'un paquet permet de vérifier l'émetteur et l'intégrité du paquet, 2 méthodes sont disponibles pour récupérer la clé publique :

  • serveur de clés ;

  • URL de la clé.

ExempleMéthode de téléchargement de la clé publique : URL de la clé

Libellé du dépôt : Scenari

Déclaration du dépôt : deb https://download.scenari.org/deb xenial main

Méthode de récupération de la clé publique du dépôt : URL

URL de la clé : https://download.scenari.org/deb/scenari.asc

ExempleMéthode de téléchargement de la clé publique : serveur de clés

Libellé du dépôt : Firefox - team

Déclaration du dépôt : deb http://ppa.launchpad.net/mozillateam/firefox-next/ubuntu xenial main

Méthode de récupération de la clé publique du dépôt : serveur de clés

URL du serveur de clés : hkp://keyserver.ubuntu.com:80/

Empreinte de la clé : 0AB215679C571D1C8325275B9BDB3D89CE49EC21

Remarque

Si le serveur fonctionne conjointement avec le module Amon et que le proxy est activé, il faut paramétrer une exception pour le domaine du dépôt dans le champ Liste des domaines de destination à ne pas authentifier de l'onglet Exceptions proxy.

ExemplePrise en charge du nouveau dépôt

1
root@scribe:~# Query-Auto 
2
Mise à jour le jeudi 13 avril 2017 11:01:17
3
*** scribe 2.6.1 (0000000A) ***
4
5
Configuration du dépôt Ubuntu avec la source test-eole.ac-dijon.fr
6
Configuration du dépôt EOLE avec la source test-eole.ac-dijon.fr
7
Configuration du dépôt Envole avec la source test-eole.ac-dijon.fr
8
Configuration du dépôt Scenari avec la source download.scenari.org
9
Configuration du dépôt Firefox - team avec la source ppa.launchpad.net
10
Action update pour root                                                                                                                                     
11
Action list-upgrade pour root
12
Mise à jour OK
13
Aucun paquet à installer.
14
root@scribe:~#

Utiliser un fichier meta-release-lts alternatif

Le fichier meta-release-lts contient les adresses de tous les dépôts Ubuntu.

Dans un environnement sans accès direct à internet, on peut définir, via ce fichier, l'emplacement interne des dépôts à utiliser par Upgrade-Auto.

Dans l'interface de configuration du module, en mode expert, aller dans l'onglet Dépôt tiers.

La variable upgrade_auto_meta_release_repo permet de définir où est téléchargé le fichier meta-release-lts.

Onglet Schedule

L'onglet Schedule permet de personnaliser la fréquence ou de désactiver les tâches eole-schedule[52] liées à la mise à jour.

La tâche schedule queryauto sert à vérifier la disponibilité des mises à jour. Il est possible de lui associer une notification par courriel dans l'onglet Général.

La tâche schedule majauto installe les mises à jour, reconfigure et redémarre le serveur si nécessaire. Une variable permet de désactiver le redémarrage automatique du serveur dans l'onglet Général.

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.

Onglet Onduleur

Sur chaque module EOLE, il est possible de configurer votre onduleur.

Le logiciel utilisé pour la gestion des onduleurs est NUT[20]. Il permet d'installer plusieurs clients sur le même onduleur. Dans ce cas, une machine aura le contrôle de l'onduleur (le maître/master) et en cas de coupure, lorsque la charge de la batterie devient critique, le maître indiquera aux autres machines (les esclaves) de s'éteindre avant de s'éteindre lui-même.

Schéma d'Olivier Van Hoof sous licence GNU FDL Version 1.2 - http://ovanhoof.developpez.com/upsusb/
Schéma d'Olivier Van Hoof sous licence GNU FDL Version 1.2 - http://ovanhoof.developpez.com/upsusb/

Certains onduleurs sont assez puissants pour alimenter plusieurs machines.

http://www.networkupstools.org/

Le projet offre une liste de matériel compatible avec le produit mais cette liste est donnée pour la dernière version du produit :

http://www.networkupstools.org/stable-hcl.html

Truc & astuce

Pour connaître la version de NUT qui est installée sur le module :

# apt-cache policy nut

ou encore :

# apt-show-versions nut

Si la version retournée est 2.7.1 on peut trouver des informations sur la prise en charge du matériel dans les notes de version à l'adresse suivante :

http://www.networkupstools.org/source/2.7/new-2.7.1.txt

Si le matériel n'est pas dans la liste, on peut vérifier que sa prise en charge soit faite par une version plus récente et donc non pris en charge par la version actuelle :

http://www.networkupstools.org/source/2.7/new-2.7.3.txt

L'onglet Onduleur n'est accessible que si le service est activé dans l'onglet Services.

Si l'onduleur est branché directement sur le module il faut laisser la variable Configuration sur un serveur maître à oui, cliquer sur le bouton + Nom de l'onduleur et effectuer la configuration liée au serveur maître.

La configuration sur un serveur maître

Même si le nom de l'onduleur n'a aucune conséquence, il est obligatoire de remplir cette valeur dans le champ Nom pour l'onduleur.

Il faut également choisir le nom du pilote de l'onduleur dans la liste déroulante Pilote de communication de l'onduleur et éventuellement préciser le Port de communication si l'onduleur n'est pas USB.

Les champs Numéro de série de l'onduleur, Productid de l'onduleur et Upstype de l'onduleur sont facultatifs si il n'y a pas de serveur esclave. Il n'est nécessaire d'indiquer ce numéro de série que dans le cas où le serveur dispose de plusieurs onduleurs et de serveurs esclaves.

Remarque

Le nom de l'onduleur ne doit contenir que des chiffres ou des lettres en minuscules : [a-z][0-9] sans espaces, ni caractères spéciaux.

NUT SNMP

À partir d'EOLE 2.7.2, les onduleurs utilisant une connexion SNMP[23] (driver snmp-ups) sont gérés nativement et des variables supplémentaires apparaissent dans l'interface.

La configuration ci-dessous convient, par exemple, pour un onduleur NITRAM Cyberpower :

Si le driver snmp-ups est sélectionné, le paramétrage de la Fréquence d'interrogation de upsmon est également proposé mais en mode expert uniquement.

Configuration d'un second onduleur sur un serveur maître

Si le serveur dispose de plusieurs alimentations, il est possible de les connecter chacune d'elle à un onduleur différent.

Il faut cliquer sur le bouton + Nom de l'onduleur pour ajouter la prise en charge d'un onduleur supplémentaire dans l'onglet Onduleur de l'interface de configuration du module.

Si les onduleurs sont du même modèle et de la même marque, il faut ajouter de quoi permettre au pilote NUT de les différencier.

Cette différenciation se fait par l'ajout d'une caractéristique unique propre à l'onduleur. Ces caractéristiques dépendent du pilote utilisé, la page de man du pilote vous indiquera lesquelles sont disponibles.

Exemple pour le pilote Solis :

# man solis

Afin de récupérer la valeur il faut :

  • ne connecter qu'un seul des onduleurs ;
  • le paramétrer comme indiqué dans la section précédente ;
  • exécuter la commande : upsc <nomOnduleurDansGenConfig>@localhost|grep <nom_variable> ;
  • débrancher l'onduleur ;
  • brancher l'onduleur suivant ;
  • redémarrer nut avec la commande : # service nut restart ;
  • exécuter à nouveau la commande pour récupérer la valeur de la variable.

Une fois les numéros de série connus, il faut les spécifier dans les champ Numéro de série de l'onduleur de chaque onduleur.

ExempleDeux onduleurs de même marque

Pour deux onduleurs de marque MGE, reliés à un module Scribe par câble USB, il est possible d'utiliser la valeur "serial", voici comment la récupérer :

# upsc <nomOnduleurDansGenConfig>@localhost | grep serial

driver.parameter.serial: AV4H4601W

ups.serial: AV4H4601W

ExempleDeux onduleurs différents

Un onduleur sur port série :

  • Nom de l'onduleur : eoleups ;
  • Pilote de communication de l'onduleur : apcsmart ;
  • Port de communication de l'onduleur : /dev/ttyS0.

Si l'onduleur est branché sur le port série (en général : /dev/ttyS0), les droits doivent être adaptés.

Cette adaptation est effectuée automatiquement lors de l'application de la configuration.

Onduleur sur port USB :

  • Nom de l'onduleur : eoleups ;
  • Pilote de communication de l 'onduleur : usbhid-ups ;
  • Port de communication de l'onduleur : auto.

La majorité des onduleurs USB sont détectés automatiquement.

Attention

Attention, seul le premier onduleur sera surveillé.

Autoriser des esclaves distants à se connecter

Pour déclarer un serveur esclave, il faut passer la variable Autoriser des esclaves distants à se connecter à oui puis ajouter un utilisateur sur le serveur maître afin d'autoriser l'esclave a se connecter avec cet utilisateur.

Idéalement, il est préférable de créer un utilisateur différent par serveur même s'il est possible d'utiliser un unique utilisateur pour plusieurs esclaves. Pour configurer plusieurs utilisateurs il faut cliquer sur le bouton + Utilisateur de surveillance de l'onduleur.

Pour chaque utilisateur, il faut saisir :

  • un Utilisateur de surveillance de l'onduleur ;

  • un Mot de passe de surveillance de l'onduleur associé à l'utilisateur précédemment créé ;

  • l'Adresse IP du réseau de l'esclave (cette valeur peut être une adresse réseau plutôt qu'une adresse IP) ;

  • le Masque de l'IP du réseau de l'esclave (comprendre le masque du sous réseau de l'adresse IP de l'esclave)

Remarque

Le nom de l'onduleur ne doit contenir que des chiffres ou des lettres en minuscules : [a-z][0-9] sans espaces, ni caractères spéciaux.

Attention

Chaque utilisateur doit avoir un nom différent.

Les noms root et localmonitor sont réservés.

Complément

Pour plus d'informations, vous pouvez consulter la page de manuel : man ups.conf

ou consulter la page web suivante : http://manpages.ubuntu.com/manpages/focal/en/man5/ups.conf.5.html

Configurer un serveur esclave

Une fois qu'un serveur maître est configuré et fonctionnel, il est possible de configurer le ou les serveurs esclaves.

Pour configurer le module en tant qu'esclave, il faut activer le service dans l'onglet Services puis, dans l'onglet Onduleur, passer la variable Configuration sur un serveur maître à non.

Il faut ensuite saisir les paramètres de connexion à l'hôte distant :

  • le Nom de l'onduleur distant (valeur renseignée sur le serveur maître) ;

  • l'Hôte gérant l'onduleur (adresse IP ou nom d'hôte du serveur maître) ;

  • l'Utilisateur de l'hôte distant (nom d'utilisateur de surveillance créé sur le serveur maître ) ;

  • le Mot de passe de l'hôte distant (mot de passe de l'utilisateur de surveillance créé sur le serveur maître).

Truc & astuce

À partir d'EOLE 2.7.2, il est possible de déclarer plusieurs onduleurs distants.

Exemple de configuration

Exemple

Sur le serveur maître :

  • Nom de l'onduleur : eoleups ;
  • Pilote de communication de l'onduleur : usbhid-ups ;
  • Port de communication de l'onduleur : auto ;
  • Utilisateur de surveillance de l'onduleur : scribe ;
  • Mot de passe de surveillance de l'onduleur : 99JJUE2EZOAI2IZI10IIZ93I187UZ8 ;
  • Adresse IP du réseau de l'esclave : 192.168.30.20 ;
  • Masque de l'IP du réseau de l'esclave : 255.255.255.255.
Exemple

Sur le serveur esclave :

  • Nom de l'onduleur distant : eoleups ;
  • Hôte gérant l'onduleur : 192.168.30.10 ;
  • Utilisateur de l'hôte distant : scribe ;
  • Mot de passe de l'hôte distant : 99JJUE2EZOAI2IZI10IIZ93I187UZ8.

Onglet Ead3

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[53] 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.

Onglet Ead-web : EAD et proxy inverse

Si l'interface web de l'EAD est activée sur le module (onglet Services), les paramètres de l'onglet Ead-web permettent de régler le port d'accès à l'interface EAD depuis l'extérieur si un proxy inverse est utilisé.

Par défaut l'utilisation d'un proxy inverse pour accéder à l'EAD est à non.

Si la variable est passée à oui, le port proposé pour accéder à l'EAD depuis l'extérieur est par défaut 4203.

Onglet Nginx

L'onglet Nginx est disponible si au moins l'un des deux paramètres suivants est activé dans l'onglet Services :

  • Activer la publication d’applications web par Nginx ;
  • Activer le reverse proxy Nginx.

Nom de domaine par défaut

En mode normal, cet onglet permet de saisir le Nom de domaine par défaut vers lequel sera redirigé un client qui accède au serveur avec un nom de domaine non déclaré.

Restriction Nginx

À partir d'EOLE 2.8.1, la variable : Appliquer des restrictions pour les ports Nginx permet de restreindre l'accès aux ports ouverts pour Nginx aux adresses autorisées à administrer le serveur.

Remarque

Des restrictions supplémentaires au niveau des connexions SSH sont disponibles dans le bloc Administration à distance de l'onglet Interface-0.

En mode expert, la configuration du service peut être affinée.

Dégrader la sécurité en HTTP

Il est possible de dégrader la sécurité du service Nginx en désactivant l'utilisation du HTTPS.

Remarque

Si le protocole HTTPS est désactivé, certaines applications critiques publiées par Nginx telles que l'outil d'administration EAD3 ou l'interface de configuration du module ne seront plus disponibles.

Longueur maximum pour un nom de domaine

Sur une installation recevant de très nombreuses connexions, diminuer la valeur de la Longueur maximum pour un nom de domaine (server_names_hash_bucket_size) pourra améliorer les performances du proxy inverse. La valeur optimale varie d'une installation à l'autre.

Attention

Avec une valeur trop basse, le service Nginx refusera de démarrer et affichera un message d'erreur ressemblant à :

could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32

Nginx Optimization : http://nginx.org/en/docs/http/server_names.html#optimization

Taille maximale des données reçues par la méthode POST

L'option Taille maximale des données reçues par la méthode POST (en Mo) permet de spécifier la taille des données HTTP au delà de laquelle Nginx renverra une erreur (message : Request Entity Too Large).

Remarque

Sur les versions antérieures à 2.6.2, cette variable était située dans l'onglet Reverse Proxy.

Dans le cas où, sur un module, le service eole-web est installé en plus du service eole-reverseproxy (ce qui est le cas sur les modules AmonEcole), le paramétrage de cette option s'effectue dans l'onglet Apache. Sa valeur est alors utilisée à la fois pour le serveur web Apache et pour le proxy inverse Nginx.

Onglet Applications web nginx

L'onglet Applications web nginx n'est visible qu'après activation de l'une des applications utilisant ce service (interface de configuration du module, interface d'administration du module…) dans l'onglet Services en mode expert. Dans cet onglet Activer la publication d'applications web par Nginx doit également être à oui ce qui est le cas par défaut.

Le chemin d'accès aux applications activées est personnalisable.

Onglet Reverse proxy : Configuration du proxy inverse

EOLE propose un serveur proxy inverse (reverse proxy) basé sur le logiciel libre Nginx[21].

Le proxy inverse est un type de serveur proxy, habituellement placé en frontal de serveurs web, qui permet de relayer des requêtes web provenant de l'extérieur vers les serveurs internes (situés en DMZ[24] par exemple). Cela le différencie grandement d'un proxy classique comme Squid[1].

Concrètement, le proxy inverse permet d'ouvrir des services web installés sur des serveurs situées "derrière" le pare-feu l'accès sur Internet sans avoir recours à des règles iptables[25]/DNAT.

Diagramme d'un proxy inverse - Licence CC0
Diagramme d'un proxy inverse - Licence CC0

Le proxy inverse EOLE peut relayer des requêtes vers les services suivants : 

  • serveur EoleSSO ;

  • outil d'administration EAD[26] ;

Avant toute chose, le proxy inverse doit être activé dans l'onglet Services en passant Activer le reverse proxy Nginx à oui.

L'activation du service fait apparaître un nouvel onglet.

Redirection de services particuliers

Redirection du service EoleSSO

Pour rediriger le service EoleSSO (port 8443), il faut indiquer l'adresse IP ou le nom de domaine interne de la machine de destination (en général l'adresse IP ou le nom de domaine interne du module Scribe).

Remarque

Cette fonctionnalité n'est disponible que dans le cas ou le serveur EoleSSO n'est pas activé en local (Utiliser un serveur EoleSSO doit être différent de local dans l'onglet Services).

Redirection de l'application EOP

Afin d'être totalement fonctionnelle derrière un reverse proxy, l'application EOP nécessite des règles de redirection particulières (redirection du port 6080 pour l’observation VNC[27]).

Pour rediriger l'application EOP, il faut indiquer l'adresse IP ou le nom de domaine interne de la machine de destination (en général l'adresse IP ou le nom de domaine interne du module Scribe).

Redirection de l'interface d'administration EAD

Pour accéder de manière sécurisée à l'EAD d'un serveur depuis l'extérieur de l'établissement, il est recommandé :

  • d'activer l'interface web de l'EAD du serveur interne sur un second port (4203 par défaut) dans l'onglet expert Ead-web de ce module ;
  • d'activer la redirection sur le serveur faisant office de reverse proxy en configurant l'adresse IP ou le nom de domaine interne de la machine de destination et son port d'écoute.

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[28] (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[29], 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).

Réécriture d'URL

L'activation de la réécriture d'URL permet d'ajouter une expression rationnelle et une valeur de remplacement.

Il n'y a pas de lien automatique entre une "redirection" Nginx renseignée et une réécriture d'URL.

Pour que la réécriture d'URL s'applique à une règle il faut que le nom de domaine, le protocole et le répertoire de la réécriture correspondent aux paramètres saisis dans la règle de "redirection" renseignée.

Redirection de domaines

Le reverse proxy permet de rediriger automatiquement les utilisateurs voulant accéder à une page particulière vers une autre page.

L'exemple ci-dessus illustre le remplacement de SquirrelMail par Roundcube : si l'utilisateur cherche à accéder à l'adresse http://etb1.ac-test.fr/squirrelmail/, la page se recharge automatiquement avec l'URL de la nouvelle messagerie : http://etb1.ac-test.fr/roundcube/.

Onglet Messagerie

Même sur les modules ne fournissant aucun service directement lié à la messagerie, il est nécessaire de configurer une passerelle SMTP valide car de nombreux outils sont susceptibles de nécessiter l'envoi de courriers électroniques.

La plupart des besoins concernent l'envoi d'alertes ou de rapports.

Exemples : rapports de sauvegarde, alertes système, ...

Serveur d'envoi/réception (SMTP)

Les paramètres communs à renseigner sont les suivants :

  • Nom de domaine de la messagerie de l'établissement (ex : monetab.ac-aca.fr), saisir un nom de domaine valide, par défaut un domaine privé est automatiquement créé avec le préfixe i-;

  • Adresse électronique d'envoi pour le compte root, saisir l'adresse que l'on souhaite utiliser pour l'envoi de courriers électroniques depuis le compte root.

  • Adresse électronique recevant les courriers électroniques à destination du compte root, permet de configurer une adresse pour recevoir les éventuels messages envoyés par le système.

  • Taille maximale d'un message à envoyer en Mo, indiquer la taille maximale des courrier électroniques qui seront envoyés par exim.

Attention

Le Nom de domaine de la messagerie de l'établissement (onglet Messagerie) ne peut pas être le même que celui d'un conteneur. Le nom de la machine (onglet Général) donne son nom au conteneur maître aussi le Nom de domaine de la messagerie de l'établissement ne peut pas avoir la même valeur.

Dans le cas contraire les courriers électroniques utilisant le nom de domaine de la messagerie de l'établissement seront réécris et envoyés à l'adresse électronique d'envoi du compte root.

Cette contrainte permet de faire en sorte que les courrier électroniques utilisant un domaine de type @<NOM CONTENEUR>.* soient considérés comme des courriers électroniques systèmes.

Attention

Dans le cas où le Nom de domaine de la messagerie de l’établissement n’est pas le même que la concaténation du Nom de la machine et du Nom DNS du réseau local, il peut être nécessaire d’activer la réécriture des en-têtes pour avoir des informations cohérentes avec l’enveloppe des courriels.

En mode normal, il est possible de configurer le nom de l'émetteur des messages pour le compte root.

Attention

Certaines passerelles n'acceptent que des adresses de leur domaine.

Il est également possible de configurer la taille maximale des messages électroniques.

Attention

Sur les modules utilisant le webmail Roundcube, elle ne devrait pas dépasser la taille maximale d'un fichier à charger définie pour Apache.

En mode expert, il est possible d'écraser les en-têtes des courriers électroniques.

La réécriture des adresses doit prendre en compte la distinction entre l'enveloppe SMTP (« MAIL FROM » et « RCPT TO ») et les en-têtes des messages (« From: », « Reply-To:», « To: », « Cc: », « Bcc: »).

Les adresses électroniques systèmes ont par défaut une des formes suivante :

  • user@%%domaine_messagerie_etab si l'expéditeur ne précise pas le nom de domaine, par exemple :

    root@internet:~# echo "Test" | mail -s "Test mail from shell" -r root root

  • user@%%nom_machine.%%domaine_messagerie_etab pour le maître si l'expéditeur utilise la configuration définie dans /etc/mailname

  • user@%%conteneur.%%nom_machine.%%domaine_messagerie_etab pour les conteneurs[54] si l'expéditeur utilise la configuration définie dans /etc/mailname

Si la valeur de %%nom_domaine_local est différente de la valeur de %%domaine_messagerie_etab, alors on force les formes suivantes pour le maître et les conteneurs uniquement :

  • user@%%nom_machine.%%domaine_messagerie_etab pour le maître

  • user@%%conteneur.%%nom_machine.%%domaine_messagerie_etab pour les conteneurs

Les adresses destinataires root@%%nom_domaine_local et root@%%domaine_messagerie_etab sont remplacées par %%system_mail_to si cette dernière est définie.

Les adresses expéditeurs et destinataires systèmes sont ensuite réécrites selon les tableaux suivants en fonction de variables expertes :

  • system_mail_from_for_headers : écraser les en-têtes « From: », « Reply-To: » et « Sender: » du message, par défaut à non

  • system_mail_to_for_headers : écraser les en-têtes « To: », « Cc: » et « Bcc: » du message, par défaut à non

Réécriture de l’expéditeur :

system_mail_from_for_headers = non

system_mail_from_for_headers = oui

MAIL FROM

system_mail_from

system_mail_from

From :

user@conteneur.machine.domaine

system_mail_from

Reply-To :

user@conteneur.machine.domaine

system_mail_from

Sender :

user@conteneur.machine.domaine

system_mail_from

Réécriture du destinataire :

system_mail_to_for_headers = non

system_mail_to_for_headers = oui

RCPT TO

system_mail_to

system_mail_to

To :

user@conteneur.machine.domaine

system_mail_to

Cc :

user@conteneur.machine.domaine

system_mail_to

Bcc :

user@conteneur.machine.domaine

system_mail_to

Par défaut, la distribution locale des messages est désactivée, sauf sur les modules Scribe et AmonEcole sur lesquels cette variable est masquée.

Son activation (forcée sur les modules Scribe et AmonEcole) permet d’avoir un domaine local et un domaine privé.

Lorsqu'elle est activée, il est possible d'agir sur le quota et sur le pourcentage d'occupation des boîtes, qui entraîne un message électronique d'avertissement.

La variable Nombre de jours avant de rejeter les messages non distribués permet d'ajuster la durée de rétention des messages qui n'ont pas pu être envoyés (frozen).

Truc & astuce

La commande exiqgrep permet d'afficher la liste des messages en attente.

La ligne de commande suivante permet de purger la file d'attente :

exiqgrep -i | xargs exim -Mrm

Le support du TLS[15] pour l'envoi de message est activé par défaut. La commande StartTLS[31] est supportée sur le port 25 (la connexion est initiée en mode non chiffré) et permet de basculer en TLS sur le port 465.

Attention

Passer cette variable à non rend l'authentification SMTP impossible ce qui empêche les utilisateurs d'envoyer des messages.

Relai des messages

La variable Passerelle SMTP, permet de saisir l'adresse IP ou le nom DNS de la passerelle SMTP à utiliser.

Remarque

Afin d'envoyer directement des courriers électroniques sur Internet il est possible de désactiver l'utilisation d'une passerelle en passant Router les courriels par une passerelle SMTP à non.

Sur les modules possédant un serveur SMTP (Scribe, AmonEcole), ces paramètres sont légèrement différents et des services supplémentaires sont configurables.

Il est possible d'activer le support du TLS[15] pour l'envoi de messages.

Si la passerelle SMTP[30] accepte le TLS, il faut choisir le port en fonction de la prise en charge de la commande STARTTLS[31].

Pour cela il suffit d'indiquer le port spécifique dans l'option Utilisation de TLS (SSL) par la passerelle SMTP il y a cinq possibilités.

  1. non

  2. port 25

  3. port 465

  4. port 587

  5. port personnalisé

Le dernier choix permet à l'utilisateur de saisir un port différent de ceux proposés dans une nouvelle option appelée Port de la passerelle SMTP.

Dans le cas où la passerelle nécessiterait une authentification il est nécessaire de le signaler en passant la variable La passerelle requiert une authentification à oui.

Cette action affiche deux nouvelles variables :

Par défaut le relai des messages n'est pas activé sur les modules sauf sur le module Seshat. Si la variable est passée à oui, elle active les listes d'adresses IP autorisées à utiliser ce serveur comme relai de messagerie et la liste des noms de domaines autorisés à être relayés par ce serveur.

Configuration experte

Dans la rubrique Configuration experte plusieurs paramètres peuvent être modifiés.

  • FQDN utilisé par Exim

    Personnalisation du nom de domaine complètement qualifié utilisé par Exim dans le protocole SMTP. C'est utile pour les vérifications anti-spam des MX externes

    Les valeurs possibles sont :

    • automatique : laisser Exim décider ;
    • nom_machine.domaine_messagerie_etab : utiliser le nom de la machine complété par le nom de domaine de la messagerie établissement ;
    • nom_machine.nom_domaine_local : utiliser le nom de la machine complété par le nom de domaine local.
  • Domaine utilisé pour qualifier les adresses

    Nom de domaine ajouté aux adresses :

    • nom de domaine local ;
    • domaine privé de messagerie établissement ;
    • domaine public de messagerie établissement.
  • Envoyer les logs à rsyslog

    Permet de désactiver l'envoi des logs.

  • Dupliquer les logs dans des fichiers

    Dupliquer les logs dans des fichiers gérés directement par Exim. Si vous envoyez les logs à syslog, vous pouvez conserver la gestion des fichiers traditionnelle d'Exim. Ces fichiers étant gérés directement par Exim, ils se trouveront dans le conteneur du service.

  • Activer les règles de réécriture étendue

    Permettre de définir des règles de réécriture personnalisées. Si non, seuls les courriers électroniques en localhost sont réécrits avec le nom_domain_local.

    http://exim.org/exim-html-current/doc/html/spec_html/ch31.html.

    Les trois variables à saisir sont :

Fermeture de la messagerie

Le service de messagerie peut-être coupé sur la base de la présence d’un drapeau (fichier sur le système de fichiers).

Optionnellement, lorsque le serveur de messagerie est configuré pour accéder à l’annuaire (via la configuration du client LDAP), la coupure peut être conditionnée sur l’appartenance de l’utilisateur émetteur à un groupe de l’annuaire.

La configuration de la coupure repose sur l’identification du ou des drapeaux et sur l’identification optionnelle d'un groupe d’utilisateurs par drapeau.

L’accès à ces paramètres est conditionné à la variable Conditionner la coupure du service de courriels.

  • Drapeau : nom du fichier qui sera recherché dans le répertoire /var/run/eole/flags par le serveur de courriels.

    La présence du fichier est interprétée par le serveur de courriels comme un ordre de coupure du service. La coupure affecte tous les utilisateurs sauf si le paramètre optionnel suivant est renseigné.

  • Groupe ciblé : groupe de l’annuaire permettant de restreindre la coupure à ses membres.

Onglet Eoleflask

Dans cet onglet se trouvent les options concernant le service Eoleflask et les options des applications reposant sur ce service.

Passer la variable En écoute depuis l'extérieur à oui permet d'accéder à l'interface de configuration du module depuis un poste client.

Accès distant (port 7000)

Truc & astuce

Pour autoriser l'accès distant depuis une ou plusieurs adresses IP, il faut le déclarer explicitement dans l'onglet Interface-n de l'interface de configuration du module en passant la variable Autoriser les connexions SSH à oui.

Mise en place de l'agrégation de liens Ethernet (bonding)

Activation de l'agrégation de liens Ethernet

L’activation de l’agrégation de liens Ethernet[42] s'effectue en déclarant au minimum deux interfaces réseau dans la variable experte Nom de l'interface réseau dans un onglet Interface-n.

L’utilisation de l’agrégation de liens Ethernet[42] nécessite de disposer d’un Commutateur réseau[55] compatible et configuré.

Attention

Pour configurer l’agrégation de liens Ethernet, il faut rafraîchir l’onglet (cliquer sur un autre onglet et revenir #21016).

Configuration de l'agrégation de liens Ethernet

Il est possible de choisir le mode d’agrégation en accord avec la configuration de votre Commutateur réseau[55] parmi :

  • balance-rr ;

  • active-backup ;

  • balance-xor ;

  • broadcast ;

  • 802.3ad ;

  • balance-tlb ;

  • balance-alb.

Les autres variables permettent d’adapter la sensibilité de la détection de la perte et du retour de lien.