Elasticsearch, ODFE et ouverture de la sécurité

Un peu de contexte

Elastic est une entreprise proposant plusieurs produits open-source dont Elasticsearch, le plus connu, et le coeur de la suite Elastic (anciennement stack ELK pour Elasticsearch Logstash Kibana). La suite Elastic est un ensemble de produits permettant la collecte, la transformation, le stockage et la visualisation de logs et de metrics. Les usages sont multiples :

  • Monitoring d’infrastructure
  • Interface centralisée de visualisation des logs
  • Moteur de recherche et d’indexation

Le modèle économique d’Elastic est relativement classique : un coeur open-source auquel s’ajoute des killer-features payantes, avec license. La license n’est pas “automatique”, dans le sens ou il faut forcément passer par leur service commercial pour avoir un devis du prix de la license en fonction des besoins et de qui la demande.

Des licenses et des retournements de situation

Avant une refonte du système, Elasticsearch et compagnie étaient complètement open-sources avec une license assez laxe, et un plugin avec des sources fermées et une license restrictive, x-pack, se greffait par dessus la stack ELK. Par la suite, x-pack a été intégré directement à Elasticsearch, le modèle de license a changé, et les ennuis pour Elastic sont arrivés : ODFE.

logo opendistro

Du fait de la politique commerciale très aggressive d’Elastic (les prix étant très élevés, le système de license par devis assez contraignant, …), et suite aux changements de license d’Elasticsearch, Amazon a décidé d’intervenir. Amazon, via AWS/EC2, fourni énormement de serveurs Elasticsearch. Ils ont donc décider d’utiliser le coeur open-source d’Elasticsearch, et d’y greffer un gros plugin maison et d’appeler ça ODFE pour Open Distro For Elasticsearch. Ce plugin ajoute une partie des fonctionnalités les plus demandée, payantes chez Elastic, et les fournies gratuitement. En plus, Amazon propose une LTS de 5ans, et un code open-source. Le rêve de tous les frustrés des licenses Elastic. Il est également intéressant de noter qu’Elastic ne fourni pas de license à but éducatif pour les universités (malheureusement pour nous).

La réaction d’Elastic a été rapide : Un billet de blog a été posté quelques jours seulement après l’annonce d’Amazon

La nouveauté du 20 mai

Cependant, Elastic a décidé visiblement de répondre par l’escalade avec Amazon, puisqu’ils ont annoncé le 20 mai 2019 qu’ils décidaient de rendre totalement gratuit à tous l’accès aux fonctionnalités de sécurité de la suite Elastic. C’est une attaque assez nette à Amazon, la sécurité étant le fer de lance d’ODFE contre le modèle de license d’Elastic.

Du coup, que choisir ?

Ainsi, la question se pose : vaut-il mieux disposer de la version gratuite d’Elasticsearch qui embarque des fonctionnalités supplémentaire par rapport à la version totalement open-source, et désormais la sécurité, ou vaut-il mieux considérer ODFE ?

Le tableau ci dessous résume sommairement les différences entre les points qu’implémentent l’un des deux partis. ODFE désigne Open Distro For Elasticsearch, et Elasticsearch désigne ici la version d’Elasticsearch qui inclus la version gratuite d’Elastic suite (ancienement x-pack).

Fonctionalité ODFE Elasticsearch
HTTPS présent présent
Role-based control access présent présent
Authc LDAP/PKI/AD présente toujours absente
Authc statique présente présente
Audit logging présente absente
Alerting présent absent
Cartes et Canvas absent présent
Index Life Management absent présent
Interface de gestion des rôles équivalent équivalent
Self-monitoring perfectible excellent
Machine-Learning absent très très léger
Logs UI absente présente
Infrastructure UI absente présente
Uptime UI absente présente
SQL présent présent

Sources:

Si l’on s’en réfère à ce tableau (qui contient peut-être quelques inexactitudes), il est difficile de déterminer quelle solution choisir. Il est vrai que l’authentification par LDAP, Active Directory, etc, est un argument de poids envers ODFE. Cependant, ce choix à un coût, notamment sur l’interface utilisateur. Kibana est en effet démuni de beaucoup de ses fonctionalités avec ODFE, notamment le logs visualiser qui est au CRI une fonctionnalité qu’on apprécie particulièrement.

Attention ! Il est important de noter que ODFE se base sur la version open-source d’elasticsearch et rajoute son plugin. Par conséquent, il y un décalage de sortie des versions entre ODFE et Elasticsearch, ce dernier ayant un rythme de sortie assez soutenu.

Lien vers les repos github:
https://github.com/elastic/elasticsearch
https://github.com/opendistro-for-elasticsearch

Cyril `zarak` Duval
Cyril `zarak` Duval
Étudiant

Étudiant à EPITA de la promo 2020. Membre du CRI de janvier 2018 à janvier 2020. Root CRI + Assistant (YAKA / ACU) à EPITA.

Suivant
Précédent