Notre expertise et la puissance des technologies open source dans Azure

Logos Microsoft + Savoir-faire Linux  

 

 

 

Nous sommes heureux de vous annoncer la sortie d’une vidéo promotionnelle produite par Microsoft eux-même ! Fruit d’une collaboration autour de la plateforme Azure, cette vidéo souligne la pertinence et l’essor des technologies open source dans l’environnement infonuagique Azure de Microsoft ainsi que notre capacité d’innovation en combinant technologies open source et solutions infonuagiques hybrides.

Premier  «partenaire Microsoft Open Source» au Canada

Savoir-faire Linux est, depuis 2015, le premier  «partenaire Microsoft Open Source» au Canada. Ce partenariat rappelle notre force : la conception et l’intégration de technologies libres et open source dans des écosystèmes complexes ou hybrides, comme la plateforme Azure. Nous aidons nos clients grâce à l’innovation des technologies ouvertes et à des alliances stratégiques pour maximiser la puissance des systèmes d’information complexes ou hétérogènes et créer des environnements spécifiques pour nos clients.

Pour Microsoft, l’open source fait désormais partie intégrante de l’approche quotidienne de l’innovation cloud. En tant qu’expert et chef de file de l’industrie du logiciel libre et  des technologies open source au Canada, Savoir-faire Linux se devait d’offrir des moyens d’améliorer l’expérience des utilisateurs et des développeurs en ajoutant à son éventail de solutions, la plateforme Azure, désormais compatible avec de nombreuses technologies open source.

Apprenez-en plus sur notre expertise et notre offre de services

 

 

Un nouveau standard de SSO pour les gouverner tous

L’authentification unique (en anglais Single Sign On ou SSO) est aujourd’hui bien implantée dans les systèmes d’information, grâce à une large offre de produits et surtout de nombreux standards comme CAS, SAML ou OpenID Connect, pour ne citer que les plus importants.

Cependant, ce domaine reste difficile d’accès car chaque nouvelle norme demande un temps d’apprentissage non négligeable et l’adaptation des applications. Afin d’éviter que ces technologies finissent dans un cul-de-sac, un nouveau standard unifiant les protocoles actuels a vu le jour : le standard des anneaux !

La fraternité de l’anneau

Ce standard part du principe que tous les protocoles de SSO fonctionnent sur le même modèle : une requête non authentifiée à un fournisseur de servicesls (application) est renvoyée à un fournisseur d’identité (portail) qui authentifie l’utilisateur puis transmet son identité au fournisseur de service dans un jeton.

Le fournisseur de service et le fournisseur d’identité font partie d’un anneau de confiance (ou cercle de confiance) grâce à l’échange préalable de données de configuration (métadonnées).

Le standard des anneaux conserve donc tout simplement ce fonctionnement en simplifiant les échanges (uniquement des requêtes HTTP GET) mais en exigeant une validation des signatures des messages au bit près.

Les deux tours

Le processus d’authentification se joue en deux tours :

  1. Redirection de l’utilisateur via son navigateur entre fournisseur de services et fournisseur d’identité pour récupérer un jeton opaque (canal frontal)
  2. Validation du jeton directement entre les fournisseurs (canal dorsal)

Concrètement, le standard des anneaux va comme OpenID Connect reposer sur OAuth 2.0, à la différence que les jetons d’accès sont rebaptisés « access tolkien » pour les distinguer justement des jetons OAuth 2.0 classiques.

La redirection initiale est inspirée du protocole CAS (notion de service dans l’URL) et la gestion des signatures du protocole SAML (clé publique publiée dans les metadonnées).

Ainsi, ce nouveau standard tire parti du meilleur des protocoles existants en masquant la complexité de leurs implémentations.

Le retour du R.O.I.

Pour les applications devant intégrer le standard des anneaux, le retour sur investissement est immédiat : le nouveau protocole est simple, basé sur des composants existants, robuste et sûr.

En résumé, la gestion de l’identité de l’utilisateur peut se traduire du point de vue des applications vis-à-vis de utilisateurs par « Vous le savez ? Nous le saurons ! ».

Le standard des anneaux, un nouveau protocole sur lequel il faudra compter !

LemonLDAP::NG, le choix de Villeurbanne pour son système d’authentification

La Ville de Villeurbanne mise sur l’Open Source et choisit LemonLDAP::NG pour contrôler les droits d’accès de ses utilisateurs.

La Ville de Villeurbanne possédait plusieurs applications Web dont l’authentification était déjà déléguée à un serveur central CAS (Central Authentification Services), modifié pour les besoins de Villeurbanne pour donner accès à la fois aux utilisateurs internes présents dans Active Directory et à des utilisateurs externes stockés dans une base de données.

L’arrivée de nouvelles applications dans le système d’information nécessitait de pouvoir contrôler les droits d’accès afin d’éviter que certains utilisateurs accèdent à des données confidentielles.

Une solution éprouvée pour répondre aux enjeux « d’authentification unique» de la Ville de Villeurbanne

Après une veille poussée et une consultation des principaux acteurs du marché, leur choix s’est porté sur le système d’authentification unique LemonLDAP::NG.
Solution de gestion des identités distribuée sous licence GPL, LemonLDAP::NG est un logiciel d’authentification unique adaptée au monde des entreprises (gestion centralisée des autorisations, interopérabilité avec tous les protocoles d’échange d’identité tels CAS, OpenID Connect, SAML,…). Très simple d’installation, la configuration peut se faire en mode texte ou graphique. LemonLDAP::NG est également compatible avec des nombreuses applications web.

« Dans le cadre d’un projet d’intranet composé de briques Open Source, nous recherchions un outil d’authentification unique permettant d’affecter des droits d’accès en fonction de caractéristiques de comptes de l’active directory. Après analyse de diverses solutions, nous avons retenu LemonLDAP::NG qui répondait parfaitement à nos besoins », explique Jean-Patrick Trauet, responsable technique et sécurité de la ville de Villeurbanne.
« C’est également devenu une opportunité pour créer un portail d’authentification pour nos applications web. Nous envisageons désormais de faire évoluer LemonLDAP::NG vers de l’authentification forte. »

« Après analyse de diverses solutions, nous avons retenu LemonLDAP::NG qui répondait parfaitement à nos besoins. C’est également devenu une opportunité pour créer un portail d’authentification pour nos applications web. »
Jean-Patrick Trauet, responsable technique et sécurité


Un projet mené par Savoir-faire Linux

La ville de Villeurbanne a fait appel à nous pour les accompagner dans la mise en place de LemonLDAP::NG. Le projet a été découpé en plusieurs phases :

  • Mise en place d’un annuaire OpenLDAP pour remplacer la base
    de données en tant que référentiel des identités externes.
  • Création de connecteurs pour synchroniser automatiquement les
    comptes et les groupes Active Directory dans l’annuaire OpenLDAP.
  • Gestion de groupes de droits dans OpenLDAP associant utilisateurs internes et externes. .
  • Mise en place de LemonLDAP::NG en tant que serveur CAS pour remplacer l’ancien et personnalisation de la mire d’authentification.
  • Migration des applications sur le nouveau serveur CAS.

Le nouveau portail d’authentification

Les principaux bénéfices pour la ville de Villeurbanne

La ville de Villeurbanne dispose désormais d’un annuaire central des identités (internes et externes) et d’un outil de WebSSO et contrôle d’accès. La possibilité d’utiliser LemonLDAP::NG comme serveur CAS, mais également comme fournisseur d’en-têtes ou fournisseur SAML ou OpenID Connect, permet de connecter un large périmètre d’applications.

Données clés

  • Nombre d’utilisateurs touchés : environ 1000 utilisateurs
  • Nombre de jours de charge du projet : 10 jours
  • Nombre d’applications concernées : entre 5 et 10
  • Technologies utilisées : OpenLDAP, LSC et LemonLDAP::NG , EZPublish, Alfresco, iTop, Piwik, Orchestra, développements internes en PHP

E-commerçants, préparez-vous !

visuel-article-infra

Les fêtes approchent et si votre activité dépend grandement d’Internet et de votre site Web, vous vous posez sans doute la question : « Mon site va-t-il tenir le coup ? ».

Nombreux sont les commerçants qui misent beaucoup sur leur site e-commerce et cette période de fête est cruciale, voire vitale.
Il ne suffit pas de disposer de son site Web hébergé chez 1and1 ou Hostpapa à moindre coût pour assurer sa présence en ligne en tout temps et en toute circonstance.
Même si ce genre d’offre peut suffire à beaucoup et pour la majorité de l’année, les fêtes et autres périodes de soldes génèrent un trafic (beaucoup) plus élevé pour votre site.
Le défi, c’est de faire en sorte que votre boutique en ligne reste disponible et fluide pour le visiteur, augmentant ainsi la satisfaction client et votre taux de transformation.

Voici 5 points importants pour préparer votre site à affronter cette période de trafic intense :

  • Backups : L’assurance vie
    On ne le répète jamais assez, mais un incident est vite arrivé. Erreur humaine ou défaillance matériel, ce n’est jamais le bon moment. Il faut être prêt et disposer de procédures de sauvegarde et de restauration propres et éprouvées.
    Prenez donc le temps de vérifier l’état de vos sauvegardes et de corriger en cas de soucis.
  • Le CDN : La qualité a un prix
    Voilà une solution performante mais onéreuse. Le CDN (ou Content Delivery Network) vous permet d’assurer « un point de présence » au plus proche du visiteur en mettant à disposition des nœuds de « cache » géographiques.
    Si votre budget vous le permet, souscrire à un service de CDN est une option plus que viable pour la tenue en charge de votre site Web.
    Si cet élément est un des premiers de la liste, c’est surtout parce que sa mise en place doit être anticipée et réfléchie. Nombreux sont les acteurs du monde des CDNs (Akamaï, CDNetworks, CloudFlare, etc.) et chacun propose de plus en plus d’offres. Il s’agit surtout de vous poser les bonnes questions pour faire le bon choix. Où souhaitez-vous être présent ? Que souhaitez-vous accélérer ?
    Bref, prenez le temps d’y penser.
  • Le test de charge : La preuve par 3
    Indispensable à toute plateforme ayant pour vocation d’accueillir des visiteurs/utilisateurs, un test de charge est un moyen empirique de vous donner une idée des performances de votre site.
    Ce genre de benchmark ne se réalise bien entendu pas pendant la période fatidique mais bien avant. L’idéal étant de réaliser ces tests sur la plateforme telle qu’elle sera au moment des fêtes (i.e : code source, produits, infrastructure, etc.).
    Un seul changement, et le test ne sera plus représentatif.
    Il existe plusieurs outils OpenSource pour réaliser ce genre de tests par vous-même, notamment JMeter (http://jmeter.apache.org/) qui vous permettra de définir un scénario de navigation et de le « jouer » plusieurs fois, en parallèle, selon des critères que vous aurez définis, et ce, jusqu’à atteindre les limites de votre hébergement. Il ne tient qu’à vous, ensuite, d’analyser les résultats pour en tirer les conclusions les plus pertinentes.
  • Le cache : À tous les niveaux
    Pour améliorer les performances de votre site Web, il faut faire en sorte de le solliciter le moins possible ; et si vous ne pouvez pas jouer sur le nombre de visiteurs, vous pouvez « soulager » votre infrastructure par la mise en place et/ou l’optimisation du cache à plusieurs niveaux.

    • Cache navigateur : c’est le niveau de cache le plus important. C’est celui qui est géré par le navigateur de l’utilisateur. En définissant la politique de cache (via les en-têtes Cache-Control et Expire) des éléments et leur durée de mise en cache, vous permettez au navigateur de conserver, en local, certains éléments et ainsi, de ne pas solliciter continuellement votre serveur Web. L’utilisateur y gagne en rapidité et vous en performance.
    • Cache code : Situé côté serveur, le cache de code (géré par APC, OPCache, etc.) va permettre la mise en cache des fichiers pré-compilés de votre application (PHP par exemple). Le gain est significatif puisqu’on évite les étapes lourdes de parsing et compilation du code.
    • Cache Applicatif : En plus du cache de code, vous pouvez utiliser un serveur de cache applicatif tel que Redis ou Memcached. Basés sur du stockage clé-valeur, en RAM, le gain de performances est également fortement appréciable. Attention, votre application doit être conçue pour utiliser ces serveurs de cache ; via plugin ou développement spécifique.
    • Reverse Proxy : Le reverse proxy ou proxy inverse est une brique intermédiaire entre l’application et le client. Possédant son propre cache, il va décharger votre serveur web en utilisant ce qu’il possède déjà plutôt que de faire suivre la requête. La configuration de ce genre de logiciel est très fine et vous permet de mettre en cache quasiment tout et « n’importe quoi ». On peut même y faire de la mise en cache de page « partielle » via les blocs ESI (cf: https://fr.wikipedia.org/wiki/Edge_Side_Includes). On peut citer Varnish (https://varnish-cache.org/), un projet opensource populaire et performant.
    • CDN : Comme précédemment dit, le CDN est un réseau de livraison de contenus qui  diminuera sensiblement le temps d’ouverture de vos pages Internet et facilitera également l’accès à vos différentes applications Web. Un service CDN se révèle particulièrement judicieux voire indispensable pour desservir efficacement des régions éloignées.
  • Le Jour-J : On ne touche à rien !
    Ça peut paraître extrême, mais il faut limiter au maximum les actions en back-office. Peu importe votre CMS, les actions significatives (changement des prix, contributions, réindexations, etc.) sont lourdes pour votre application et donc pour votre infrastructure. Votre site étant déjà en train de supporter un trafic inhabituel, laissez-le tranquille et contentez vous de regarder.

Voilà un petit tour de quelques points à avoir en tête lorsqu’on est e-commerçant pour optimiser ses activités sans craindre les incidents techniques. La liste n’est bien entendu pas exhaustive et on peut citer d’autres pistes d’améliorations comme l’optimisation des médias de votre site pour gagner en légèreté, l’augmentation temporaire de la puissance de votre infrastructure ou encore l’utilisation du Responsive Web Design pour les nombreux terminaux mobiles qui envahissent de plus en plus le marché.

Vous l’aurez compris, les options sont donc infinies. Pour une expérience utilisateur optimale, tenez compte des caractéristiques spécifiques de vos visiteurs et prenez des décisions qui répondent à vos enjeux stratégiques d’affaires. Avec un investissement minime et des choix éclairés, les résultats peuvent être bluffants. Sachez que l’équipe Infrastructure de Savoir-faire Linux peut vous guider dans vos démarches pour un temps des fêtes couronné de succès !

Des nouvelles du projet LDAP Tool Box, la boîte à outils pour les annuaires LDAP

Le projet LDAP Tool Box rassemble différents outils pour aider les administrateurs LDAP, que ce soit des paquets OpenLDAP, des scripts de supervision ou encore des applications Web. L’objectif est de simplifier la vie des administrateurs LDAP, car comme l’indique la description du projet :

Même les administrateurs LDAP ont besoin d’aide

Tous les outils proposés sont sous licence libre et disponibles sur GitHub.

Supervision

Des greffons de supervision sont fournis pour Nagios (ou tout autre logiciel compatible) et Cacti. Ils permettent par exemple de vérifier le statut de la réplication OpenLDAP, de collecter les statistiques sur les opérations LDAP ou encore surveiller le taux de remplissage d’une base MDB.

16c97f6538278bee29e8b9de1aac3516-media-593x381

Des configurations sont également disponibles pour la pile logicielle ELK (ElasticSearch, Logstash, Kibana) afin de tracer en temps réel l’utilisation des annuaires OpenLDAP.

openldap-elk-ldap-operations

Paquets OpenLDAP

OpenLDAP est le serveur LDAP le plus répandu, très proche du standard et offrant d’excellentes performances. Il est présent dans la plupart des distributions GNU/Linux mais celles-ci font souvent des choix de compilations non avalisées par les développeurs du projet, l’exemple le plus représentatif étant la bibliothèque SSL/TLS.

Le projet LDAP Tool Box fournit des paquets pour les environnements Debian/Ubuntu et Red Hat/CentOS. Ils sont compilés avec OpenSSL et embarquent les overlays officiels ainsi que certains overlays contribués comme « lastbind » et « smbk5pwd ».

Ils offrent également des modules spécifiques de gestion de la qualité des mots de passe comme check_password et ppm. Un script de gestion du service est installé par défaut, permettant les sauvegardes/restaurations des données et de la configuration.

Interface de gestion du mot de passe

L’application Self Service Password permet de fournir aux utilisateurs une interface simple pour changer son mot de passe, ou le réinitialiser quand celui-ci est perdu (ou expiré). Cette réinitialisation peut se faire :

  • Par un lien envoyé par mail
  • Par un code envoyé par SMS
  • Par la réponse à une question

Cette interface est compatible avec différents annuaires LDAP dont Active Directory et Samba 4.

ssp_1_0_change_password

La version 1.0 de ce logiciel est sortie en octobre 2016 (voir l’article sur LinuxFR).

Interface de consultation des données

L’application White Pages est une interface de consultation des données d’un annuaire LDAP, avec les fonctionnalités suivantes :

  • Recherche rapide : une invite de recherche dans le menu permet de retrouver directement des entrées à partir du nom, du prénom, du mail ou de l’identifiant
  • Recherche avancée : un formulaire liste les différents attributs sur lesquels une recherche peut être faite
  • Trombinoscope : toutes les entrées de l’annuaire sont affichées avec leur photo

Ces fonctions peuvent être activées/désactivées et les attributs cherchés ou affichés sont configurables. L’interface peut donc être utilisée avec n’importe quel annuaire LDAP.

wp_0_1_full_display

La version 0.1 de ce logiciel est sortie en novembre 2016 (voir l’article sur LinuxFR).