[PAROLES D’EXPERTS] Sécuriser l’intégration d’Elasticsearch sur AWS en entreprise

On ne présente plus Elasticsearch, Logstash et Kibana, ces trois outils rassemblés autour de la suite de logiciels libres ELK (ou suite Elastic) familière à l’ensemble des acteurs du secteur des TI.

De nombreux utilisateurs – parmi lesquels de grands consommateurs de données, dont les data scientists (experts en science des données) et data analysts (analystes des données) – s’appuient sur les performances exceptionnelles de ces outils en matière d’intégration, de recherche et de visualisation de données.

Des données de plus en plus nombreuses et volumineuses (Big Data, ou mégadonnées) qui proviennent de sources hétérogènes parfois conséquentes, elles aussi, (Data Lake, ou lac de données) mais qui finalement doivent être centralisées au sein d’un système souple, versatile, unique et sécurisé.

La grande question que nous soulevons dans l’exemple d’intégration d’Elasticsearch sur AWS que nous vous proposons ci-dessous est : sécurisé à quel point ?

Car l’accès aux données et leur usage est malheureusement plus que jamais auréolé de la notion de risque (de fuite, de vol, d’usurpation d’identité…). D’autant que la nécessité de garantir la haute disponibilité des données afin de mettre à disposition des utilisateurs de l’information pertinente, en temps réel, à partir de n’importe quel emplacement et à n’importe quel moment, multiplie les portes d’entrée et donc les risques.

C’est pourquoi chez Linkbynet, il nous a paru pertinent de proposer simplement et rapidement, sans perturber les systèmes en place, l’ajout d’une couche de sécurité supplémentaire par rapport à ce qui existe nativement sur AWS.

Il s’agit en fait tout simplement d’activer un outil d’entreprise dédié à la gestion des autorisations – dans notre exemple Okta – qui va permettre de générer une double authentification.

Nous vous proposons ci-dessous d’illustrer notre exemple étape par étape.

Par Vincent Savigny

1. Création d’un gabarit de base AWS CloudFormation

Notre première étape consiste à produire du code simple permettant de déterminer les caractéristiques du déploiement et de l’exécution de la plateforme. À savoir le domaine d’installation, les niveaux de sécurité désirés, les flux ouverts, la puissance, les instances, …

Dans un second temps, nous passons à la création du « rôle » qui permettra de sécuriser l’envoi des données vers Elasticsearch, notre moteur de recherche. Ce rôle sera configuré sur les différentes sources, ce qui nous dispense d’inscrire les informations relatives à l’utilisateur/mot de passe dans les fichiers de configuration et permet ainsi d’encore renforcer le niveau de sécurité.

Nous laissons bien entendu ouverts le port 443 (HTTPS) ainsi que le port 22 (SSH) afin de prendre le contrôle sur la future instance déployée.

Au niveau de Logstash, notre outil de collecte et d’analyse de données, nous allons limiter les développements. Notre tâche consiste ici à valider le fonctionnement correct de la connexion ainsi que la transmission effective des données vers Elasticsearch.

Cette étape d’automatisation permettant le déploiement de l’environnement à partir d’un gabarit AWS CloudFormation, est extrêmement rapide et efficace.

2. Déploiement d’Elasticsearch sur AWS

Le renforcement de la sécurité étant notre objectif, nous avons déployé Elasticsearch en mode VPC (Virtual Private Cloud), soit un environnement de réseau privé virtuel destiné aux seuls utilisateurs d’entreprise préalablement autorisés.

Dès que notre gabarit AWS CloudFormation est finalisé, nous vérifions qu’il s’est déployé automatiquement sur la plateforme et nous nous assurons qu’Elasticsearch est activé (statut vert (status green sur la capture d’écran reproduite ci-dessous).

3. Authentification multifacteur (MFA)

En mode natif, le gabarit AWS nous aurait permis d’accéder à Elasticsearch via un identifiant/mot de passe simple.

Nous avons opté dans notre exemple pour la double authentification en nous appuyant sur Okta qui a développé un standard haut de gamme pour la sécurisation et la protection des identités.

Concrètement, n’importe quel utilisateur de l’entreprise qui tentera de se connecter à la plateforme Elasticsearch sera désormais renvoyé vers une interface simple et intuitive Okta.

Il est évident qu’un annuaire d’entreprise aura été compilé en amont, permettant uniquement aux utilisateurs autorisés d’accéder à la plateforme sur base de la double authentification.

4. Visualisation des données via KIBANA

Le gabarit que nous avons développé, contrairement à celui proposé de base par AWS, est désormais complet et entièrement fonctionnel. Nous avons renforcé la sécurité en prenant en charge le déploiement d’une instance Logstash et nous sommes prêts à recevoir de la donnée.

À ce stade, nous nous intéressons à Kibana, la fameuse interface qui permet de visualiser de manière sécurisée les données d’entreprise envoyées dans Elasticsearch.

Nous vérifions que notre adresse Kibana apparaît dans l’onglet « overview » de la plateforme Elasticsearch.

Tout est désormais en place pour un accès sécurisé aux données brutes par les utilisateurs en première ligne, data scientists (experts en science des données) et data analysts (analystes des données) entre autres. Ces derniers vont pouvoir bénéficier de la richesse des données héritées du moteur de recherche Elasticsearch et ainsi offrir de la valeur ajoutée à leur entreprise via leurs usages et analyses qualifiés.

5. Test de validation du bon fonctionnement

Notre ultime étape consiste à vérifier le bon fonctionnement général de notre installation, mais aussi contrôler les accès et les requêtes effectuées par les utilisateurs autorisés.

Afin de tester notre serveur local, nous avons installé un serveur web nginx sur Logstash.

Nous avons configuré des registres (logs, ou journaux) afin d’identifier les connexions et les dialogues initiés avec Elasticsearch.

À noter que nous avons la possibilité d’apposer des filtres (taille, horodatage, etc…) afin d’affiner nos analyses dans le détail.

Chaque nouvelle requête dans nginx est envoyée dans Elasticsearch qui centralise les données, quelle que soit leur provenance, source locale ou distante (ex : storage bucket S3 sur AWS).

À titre d’exemple, notre dernière capture d’écran met en évidence les requêtes pour les 15 dernières minutes (test Linkbynet).

Nous constatons ainsi que les données ont été intégrées, qu’elles peuvent être traitées par les utilisateurs (ou les groupes d’utilisateurs) en fonction de leurs autorisations et de leurs besoins, en toute sécurité.

Une association réussie de l’excellence et de la sécurité

Voici donc décrite, en cinq étapes simples, une méthodologie capable de renforcer la gouvernance des ressources informationnelles de votre entreprise. Une gouvernance à vocation sécuritaire pour vos données qui, quel que soit votre secteur d’activité (commerce de détail, banque, immobilier, recherche scientifique et médicale…) se trouvent au cœur des enjeux stratégiques de votre entreprise.

Développer une plateforme Elasticsearch au sein d’une infrastructure infonuagique AWS est en soi une manière d’approcher l’excellence opérationnelle. La rapidité de déploiement des outils et applications, la robustesse de la plateforme, ses nombreuses options en matière de réplication, de redondance, de chiffrement, de disponibilité des données par zones… tout concorde pour vous permettre d’atteindre des niveaux de performance exceptionnels.

Mais la masse croissante de données à traiter par les moteurs, la difficulté d’en garantir la sécurité, surtout lorsqu’elles proviennent de sources disparates et hétérogènes, les coûts cachés de l’usage inapproprié ou inutile de ressources informationnelles et de données (le fameux shadow IT, ou informatique de l’ombre) nous rappellent que vigilance, prudence et rationalisation des processus doivent plus que jamais s’inscrire dans l’ADN de la communauté TI.

Linkbynet est un acteur majeur de transformation numérique, l’optimisation et la sécurisation de vos systèmes, infrastructures et ressources TI. N’hésitez pas à nous contacter pour être conseillé ou accompagné sur ces questions.

Vous souhaitez en savoir davantage ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.