GLPI 10.0.7 est disponible !

GLPI 10.0.7 : Une nouvelle version de GLPI est disponible.

Cette version corrige plusieurs problèmes de sécurité qui ont été découverts récemment. La mise à jour est conseillée !

L’archive de GLPI version 10.0.7 est disponible sur GitHub.
Nous continuons de maintenir la branche 9.5 pour les corrections de sécurité et nous sortons une nouvelle version pour celle ci : GLPI 9.5.13 archive

Vous trouverez ci-dessous la liste des corrections de problèmes de securité corrigés dans cette version :

  • Injection SQL et XSS stockée via une requête de l’agent d’inventaire (CVE-2023-28849).
  • Prise de contrôle de compte par un utilisateur authentifié (CVE-2023-28632).
  • Injection SQL via les rapports dynamyques (CVE-2023-28838).
  • XSS stockée via l’administration des tableaux de bord (CVE-2023-28852).
  • XSS stockée sur les liens externes (CVE-2023-28636).
  • XSS reflétée in search pages (CVE-2023-28639).
  • Escalade de privilèges d’un technicien à super-administrateur (CVE-2023-28634).
  • SSRF aveugle dans les flux RSS (CVE-2023-28633).

De plus, voici une liste des principaux changements de cette version :

  • Routeur GLPI optionnel pour permettre d’utiliser un dossier racine plus sécurisé sur le serveur web.
  • Support de l’authentification Oauth pour SMTP.
  • Amélioration de la fonctionnalité de téléversement des fichiers d’inventaire.
  • Nombreux correctifs et améliorations sur l’inventaire natif.
  • Quelques bugs sur PHP 8.2.
  • Problème liés au cache sur les entités.
  • Les opérateurs booléens FullText ne fonctionnent pas sur la recherche de base de connaissance.
  • Résultats innatendus lors de l’utilisation de conditions négatives sur les acteurs des tickets.
  • Problèmes avec les filtres/DN DAP.
  • Résultats innatendus lors d’une recherche surs les catégories de la base de connaissances.

Voir le journal des changements complet pour plus de détails.

Nous remercions toutes les personnes qui ont contribué à cette nouvelle version et plus généralement toutes celles et ceux qui soutiennent régulièrement le projet GLPI.

Cordialement.

Nouvelle version 10.0.6 de GLPI !

La version 10.0.6 de GLPI est disponible !

Cette version corrige plusieurs problèmes de sécurité qui ont été découverts récemment. La mise à jour est conseillée !

L’archive de GLPI version 10.0.6 est disponible sur GitHub.
Nous continuons de maintenir la branche 9.5 pour les corrections de sécurité et nous sortons une nouvelle version pour celle ci : GLPI 9.5.12 archive

Vous trouverez ci-dessous la liste des corrections de problèmes de securité corrigés dans cette version :

  • Accès non autorisé aux fichiers d’inventaire (CVE-2023-22500)
  • XSS sur les vues de navigation (CVE-2023-22500)
  • XSS sur les liens externes (CVE-2023-22722)
  • XSS dans les liens de desription RSS (CVE-2023-22725)
  • Accès non autorisé à l’export de données (CVE-2023-23610)
  • XSS stockée dans l’attribut href du lien d’aide de l’interface standard (CVE-2022-41941)

De plus, voici une liste des principaux changements de cette version :

  • Les équipements non gérés peuvent maintenant être traités comme de véritables équipements.
  • Gestion de plus d’actions pour les agents d’inventaire obsolètes.
  • Ajout d’un nouveau dictionnaire pour les systèmes d’exploitation.
  • Suppression du préfixe glpi: dans la console.
  • Support de PHP 8.2.
  • Nombreux correctifs et améliorations sur l’inventaire natif.
  • Affichage des réservations sur le profil self-service.
  • Problèmes sur les collecteurs avec les e-mails envoyés depuis Outlook.
  • Problèmes du tableau de bord sur l’onglet “Tous”.
  • La saisie du ticket est restaurée lorsque le formulaire soumis n’est pas complet.
  • La notification n’était pas été envoyée lorsque le statut du ticket était défini sur “en attente”.

Voir le journal des changements complet pour plus de détails.

Nous remercions toutes les personnes qui ont contribué à cette nouvelle version et plus généralement toutes celles et ceux qui soutiennent régulièrement le projet GLPI.

Cordialement.

Nouvelles de GLPI et travaux en cours (automne 2022).

La présentation est animée par Alexandre Delaunay, responsable de l’équipe de développement de GLPI et propriétaire du produit pour GLPI.

Dans cette vidéo, il parle de la roadmap et de certaines fonctionnalités que l’équipe de développement souhaite dans GLPI pour la prochaine version majeure. Voici la retranscription :

« Pour que la présentation soit courte, nous ne discuterons que de :

– Principaux sujets

– Ou très graphiques

Et je tiens à insister sur le fait qu’il n’y a aucune promesse de délai concernant la livraison.

Nous ferons de notre mieux pour ajouter les fonctionnalités, mais en fonction du déroulement de l’année, certaines seront OK, d’autres non.

  1. Généricité des actifs.

Désormais, nous avons sur notre place de marché 2 plugins pour traiter les publicités génériques :

– Objet générique

– Fields

Nous voulons ajouter la possibilité de vous laisser personnaliser chaque type d’objets affichés dans le menu Assets (dans un premier temps).

La première partie consiste à vous permettre de définir vos types.

Nous fournirons une liste de types prédéfinis correspondant à la liste actuelle des actifs et vous permettrons d’en ajouter de nouveaux si vous le souhaitez. Comme les serveurs en plus des ordinateurs de bureau ou portables. Ou pour faire quelque chose de complètement différent de la gestion informatique, par exemple : des voitures, des bureaux, etc.

Certains des types actuels ne seront toujours pas amovibles comme les logiciels, les racks, les câbles, les cartouches et les consommables. La raison en est leur comportement, ou leur présentation diffère des autres actifs.

Vous pourrez toujours les désactiver si vous le souhaitez mais la suppression sera impossible.

Ainsi, GENERICITY couvre la création de nouveaux types d’actifs.

  1. Assets composition

De plus, sur la même page de configuration, vous pourrez définir quelle capacité un type d’actif utilise.

Par exemple. contrats, gestion, etc., COMPOSITION d’un type d’actif, avec quelques cases à cocher pour sélectionner les capacités.

Cela vous permet de supprimer ou d’ajouter des onglets à l’objet.

Ou si un objet peut être inventorié par un agent.

  1. GLPI Agent

Parlons un peu des fonctionnalités liées à l’agent d’inventaire GLPI.

Rappel d’inventaire à distance.

Avant de parler de roadmap, faisons un petit rappel sur la fonctionnalité d’inventaire à distance

Il s’agit d’une tâche que vous pouvez configurer pour qu’un agent lui permette d’interroger d’autres ordinateurs de votre réseau afin de créer un fichier d’inventaire pour chacun.

L’agent unique regroupera tous les fichiers d’inventaire et les enverra en un seul passage à l’API d’inventaire de GLPI.

Ainsi, l’objectif principal est de n’avoir qu’un seul agent déployé.

Nous utilisons les protocoles SSH et WinRM pour y parvenir.

GLPI Agent – Roadmap (1/2).

Le premier point que nous souhaitons améliorer est de faciliter le processus d’inventaire de votre réseau.

Nous avons actuellement deux missions :

– découvrir quelles adresses « ping » dans une plage IP

– l’inventaire du réseau, qui prend le résultat de la découverte pour faire un inventaire SNMP complet pour les équipements réseau et les imprimantes.

Nous allons changer le processus en :

– ajout d’inventaire à distance des ORDINATEURS

– et laisser la tâche de découverte faire directement un inventaire COMPLET si elle connaît le type du périphérique distant. Une requête SNMP pour les équipements réseaux, des requêtes SSH ou WinRm pour les ordinateurs.

Avec une tâche unifiée et une configuration, notre objectif est de vous permettre de découvrir tous vos périphériques réseau.

Les deux derniers points décrivent les éléments requis par la découverte unifiée. La nouvelle interface UI de la boîte à outils recevra des formulaires :

– de planifier les tâches de l’agent.

– pour enregistrer les informations d’identification, comme la communauté SNMP, le couple de mots de passe de connexion pour le domaine Windows ou la clé publique pour une connexion SSH. En résumé, toute information permettant à l’agent de se connecter à un appareil distant.

GLPI Agent – Roadmap (2/2)

Nous avons pensé à réécrire une grande partie des agents, et nous avons présélectionné Golang pour cela.

Le fait que l’agent soit écrit avec le langage PERL.

Récemment, trouver des développeurs à l’aise avec ce langage a été difficile.

Nous essaierons un prototype dans l’année pour mesurer notre capacité à passer à ce nouveau langage.

Nous prévoyons également de renforcer les échanges entre les agents et le backend en ajoutant des flux d’authentification et d’enregistrement. Cela vous sera recommandé mais vous pourrez faire des échanges simples si vous préférez.

Et nous devons encore refaire tous les formulaires pour piloter à distance l’agent dans GLPI UI.

C’est toujours prévu.

  1. GLPI

Parlons un peu des fonctionnalités liées à l’application web GLPI.

High-level API (1/2)

Tout d’abord, nous ajouterons une nouvelle API, encore une fois.

Nous observons que, bien que l’ancien autorise plus d’utilisation, en raison de sa connexion de bas niveau avec le framework, il est difficile de maintenir sa stabilité et d’éviter la régression.

Nous maintenons une interface pour gérer la dépréciation de cette API précédente, mais cela devient de plus en plus difficile à faire.

Donc, une nouvelle API connectée à un niveau supérieur avec des points de terminaison et des paramètres stabilisés.

Et nous en avons profité pour ajouter quelques éléments de confort :

– nous avons une interface utilisateur dédiée basée sur Swagger UI pour faciliter la découverte et le test des terminaux et de leurs paramètres

– nous utilisons également RSQL, un langage de requête commun pour filtrer l’API.

High-level API (2/2)

Pour la deuxième diapositive, vous pouvez voir en action une requête GET pour lister les utilisateurs dans la base de données GLPI.

  1. DCIM

Nous voulons étendre les fonctionnalités du centre de données dans la prochaine version. Principalement sur l’ajout de vues graphiques.

DCIM – Panneaux d’équipements réseau

Le premier et le plus simple est le panneau graphique pour la liste des ports réseau dans les formulaires d’équipement.

Nous prendrons les photos avant et arrière définies dans le modèle de l’équipement et les afficherons au-dessus de la liste des ports.

L’utilisateur obtiendra des informations sur chaque port directement sur le panneau d’image en les survolant.

Un simple clic sur un port fera défiler la page jusqu’à la bonne ligne pour obtenir plus d’informations.

Dans la configuration du modèle, vous aurez un nouvel onglet pour dessiner la position de chaque port.

DCIM – Graphical enclosures (1/2)

De la même manière, les emplacements d’une enceinte peuvent être dessinés et indexés pour indiquer à GLPI où les sous-éléments peuvent être placés.

DCIM – Graphical enclosures (2/2)

Sur une vue de rack où un boîtier est inséré, au lieu d’un seul rectangle vide, les emplacements seront affichés et les commandes habituelles disponibles, comme le survol ou le clic pour obtenir plus d’informations.

DCIM – Graphical connections

Enfin, pour la partie DCIM, nous essaierons d’ajouter une représentation pour les connexions réseau ou d’alimentation.

Le but est d’obtenir des liens entre les équipements.

Il est trop tôt pour en parler, nous avons un petit cahier des charges pour cela, et cela demande plus de recherche pour trouver une bibliothèque, par exemple.

Gardez à l’esprit que la capture d’écran actuelle ne représente aucun développement existant.

  1. Divers

Workflows – Processus

Nous avons un prototype fonctionnel pour cela.

Une nouvelle vue pour permettre aux administrateurs de GLPI de paramétrer leurs processus métier.

Avec des étapes, des transitions, des conditions et des actions, une boîte à outils complète pour décrire un flux de workflow.

Cela vise à remplacer les règles héritées.

Et pour commencer, il sera disponible pour les objets d’assistance comme les tickets ou les changements

Importation d’inventaire Nutanix

Un autre développement actuellement en alpha est le connecteur à l’API Nutanix pour obtenir :

– Clusters

– Hôtes

– Machines virtuelles

– Disques

Le module analyse les API distantes et les envoie à l’API d’inventaire native de GLPI.

La fusion avec les appareils existants se fait avec le moteur de règles comme d’habitude.

SCIM

Un autre connecteur, GLPI servira un point de terminaison SCIM pour votre instance Microsoft Azure.

Ce protocole pousse les changements d’utilisateurs de l’annuaire vers l’application connectée.

Ainsi, au lieu de synchroniser toute la base de données de l’utilisateur et de faire correspondre tout le monde, tout changement dans l’annuaire sera immédiatement poussé vers GLPI.

  1. Sécurité

Maintenant, une fonction de sécurité, une authentification à deux facteurs !

Les administrateurs peuvent appliquer les connexions des utilisateurs dans la configuration de la sécurité pour leur demander d’enregistrer une application externe comme Google Authenticator ou Authy.

Sécurité – 2 facteurs (2/2)

Après une connexion réussie, un nouveau champ apparaîtra demandant aux utilisateurs de coller un code PIN à partir de l’application d’authentification.

Security – Oauth Server

Nous allons ajouter un serveur Oauth à GLPI dans 2 buts :

– connecter les applications à GLPI pour déléguer la fonctionnalité de connexion et la gestion des identités

– sécurisez nos différentes API comme l’inventaire ou celle à usage général.

Sécurité – divers

– Gestion des vulnérabilités

– Intégration de scanners (vuls, tsunamin)

– Correspondance CVE

Quelques points divers :

Dans le menu de gestion, une nouvelle entrée pour lister les vulnérabilités.

L’objectif est, avec l’aide de scanners externes, comme vuls ou tsnunamin, ainsi que certaines API, d’obtenir CVE et de les faire correspondre à des logiciels connus pour voir si un hôte présente des vulnérabilités de sécurité.

Certaines cartes de tableau de bord et alertes seront également ajoutées pour améliorer les rapports sur ce sujet.

Modifications techniques

– La racine Web de l’application sera `/public`

– continuer à travailler sur twig (removing legacy echo)

– removal of legacy auto escaping

– modularisation des fonctionnalités critiques

– bibliothèque de graphiques électroniques pour les tableaux de bord

Dernière slide pour vous dire qu’on continue d’améliorer le coeur de GLPI.

Le plus impactant pour vous sera le déplacement de la racine web de l’application.

Maintenant, ce sera un sous-dossier nommé /public.

Ainsi, tous les autres sous-dossiers (comme les fichiers par exemple) ne seront pas disponibles sur le web lorsque le serveur web n’est pas bien configuré.

Le point suivant est la base de code héritée que nous devons nettoyer.

Et pour finir, nous sommes passés à une nouvelle bibliothèque de cartes appelée e-charts.

Il est plus simple à utiliser de notre côté et vous appréciez les nouvelles couleurs et son interactivité.

Timeline?

– Actuellement, terminer la stabilisation de la version 10.0

– Fin 2023, bêta de la prochaine version majeure

Nous travaillons toujours sur la correction des bugs de la version 10. Ce dernier a apporté des changements substantiels, notamment sur la partie assistance.

Mais nous visons à travailler sur les résultats annuels entrants entièrement sur la dernière version.

Découvrez l’inventaire natif GLPI

Voici quelques temps que nous n’avions pas présenté nos travaux : inventaire natif GLPI

Très bientôt sortira la nouvelle version majeure de GLPI avec de nombreuses nouveautés dont notamment une refonte majeure de l’interface.

Mais aujourd’hui, voici quelques mots à propos des fonctionnalités d’inventaire automatique.

Agent GLPI Desktop / Server

Fork de l’agent Perl FusionInventory, ce nouvel agent se voit aggrémenté de plusieurs nouvelles fonctionnalités, notamment :

  • Une nouvelle interface autonome (nommée Toolbox) permettant la configuration des découvertes et inventaires réseaux.
  • Un mode proxy amélioré pour permettre la remontée d’inventaires depuis des réseaux distants.
  • Le support d’inventaire distants (agentless), pour le moment avec le support des protocoles WinRM (windows) et SSH (Linux/Unix).
  • L’inventaire des serveurs de bases de données.
  • Un nouveau protocole d’échange avec le serveur GLPI au format JSON supportant l’inventaire partiel.
  • Bientôt, la gestion des tâches d’inventaire distant, y compris pour les interrogations ESX.
  • Un support amélioré de windows avec notamment des paquets MSI.
  • Le support natif de MacOSX Big Sur et de la nouvelle puce Apple Silicon M1.

L’agent GLPI peut remplacer avantageusement l’agent FusionInventory car il reste totalement compatible avec l’inventaire automatique du plugin FusionInventory For GLPI.

Ce nouvel agent est déjà disponible, vous pouvez le télécharger et tester depuis l’adresse suivante : https://github.com/glpi-project/glpi-agent/releases

Des paquets construits toutes les nuits sont aussi disponibles pour obtenir les derniers développements : https://nightly.glpi-project.org/glpi-agent/

Nous mettons à la disposition de la communauté une documentation détaillant l’installation, l’usage et la configuration de ce nouvel agent. A noter qu’il peut encore rester quelques parties à complèter (les trous seront comblés dans les semaines à venir).

Nous fournissons par ailleurs un script perl (voir la documentation dédiée) permettant d’installer l’agent sur votre linux avec un paquet adapté (rpm, deb, snap.)

Quelques captures pour illustrer l’interface ToolBox de ce nouvel agent:

scan local
Resultats d'inventaire
Support des MIB

Agent GLPI Android

Depuis quelques semaines, l’agent android est de retour sur le google play store. Il supporte les versions de 4 à 10 de l’os.

Pour les clients sous souscriptions, nous avons aussi ajouté la possibilité de configurer l’url du serveur via un mécanisme nommé « Deeplink ». Via un QRCode, l’agent récupère automatiquement la configuration pour se connecter au serveur.

Inventaire Natif GLPI

Nouvelle fonctionnalité prévue avec la sortie de GLPI 10.0 et accompagnant les agents GLPI présentés plus haut, nous ajoutons un support des inventaires automatiques directement dans GLPI.

Une nouvelle api REST (front/inventory.php) sera disponible pour recevoir des fichiers d’inventaire au format historique (OCS, fusioninventory) ou via le nouveau format json.
Nous conservons donc une compatibilité avec les précédents agents (il sera juste nécessaire de reconfigurer les urls serveur des agents historiques, ou de mettre en place un proxy web pour effectuer une redirection vers la nouvelle url).

Nous gerons maintenant, avec ce nouveau format, la plupart des objets d’inventaire de GLPI, comme par exemple, les télephones, les applicatifs, les racks, etc.
Cela est permis par une ré-écriture complètement nouvelle du code sous jacent. Les interfaces sont inspirées des projets communautaires mentionnés ci dessus, le code par contre est neuf.

Ce code permet désormais de recevoir des inventaires partiels.
Cela consiste à envoyer seulement une partie des informations concernant l’objet concerné, et en indiquant au serveur, via un drapeau, de ne mettre à jour que les données concernées.
Ainsi, le transport, le traitement, l’insertion et la mise à jour de données se fait de façon significativement plus rapide.

Configuration Inventaire Natif
Regles d'import et de liaison

Tâches avancées

Comme vu plus haut, GLPI intègre désormais la brique de base concernant l’inventaire automatique.
Cependant, nous n’avons pas encore repris les tâches avancées permises par les projets précédents.
Voici un point concernant ces tâches:

  • Découverte et inventaire réseau : maintenant configurables de façon autonome par l’agent GLPI via son interface Toolbox.
  • Interrogation ESX, bientôt supportée par cette même interface
  • Collecte (WMI, fichiers, registres) : non supportée.
  • Télé-déploiement : non supporté.

Sur ces deux dernières fonctionnalités, plusieurs scénarios sont envisageables :

  • Tout d’abord, conserver le plugin précédent (si celui-ci est mis à jour)
  • Utiliser notre paquet de transition. Un fork du plugin FusionInventory (GLPI inventory plugin) sera mis à disposition. Il redirigera les inventaires classiques vers la partie native et conservera les tâches avancées.

Il est prévu dans notre roadmap de travailler sur des ré-écritures de ces parties, mais la version 10 étant presque mature (et ces travaux conséquents), nous reportons à quelques mois leurs mise à disposition.

Plus de renseignement ? Contactez-nous : https://glpi-project.org/fr/contact/

Nouvel agent 1.4 disponible

L’agent GLPI 1.4 est disponible.

Nous vous encourageons à mettre à jour vos agents GLPI ou à les migrer si vous utilisez encore des agents FusionInventory.

Vous pouvez le télécharger le nouvel agent 1.4 depuis la page du projet sur github:

Cette version apporte quelques correctifs et améliorations.

La plus importante corrige une régression introduite avec la version 1.3 de l’agent GLPI qui empêchait les agents windows ou macosx de communiquer avec un serveur GLPI en HTTPS utilisant un certificat SSL signé par une autorité publique.

Pour les autres, nous avons :

  • la nouvelle fonctionnalité apportée par l’option ssl-fingerprint fonctionne maintenant sur CentOS7,
  • l’agent rapporte une erreur plus détaillée en cas de problème de communication SSL,
  • nous avons ajouté le support de l’inventaire des conteneurs linux systemd-nspawn,
  • nous avons ajouté le support d’un nouveau model de moniteur ACER : B226WL,
  • nous avons corrigé le support de port non-standard pour l’inventaire distant en ssh,
  • les paquets MacOSX ont été mis à jour pour utiliser OpenSSL 3.0.4,
  • l’installeur perl pour linux supporte maintenant l’installation sur Oracle Linux 8.

Comme toujours, vous pouvez consulter le journal complet des changements (en anglais) depuis: