29 mai 2014

Elasticsearch (http://www.elasticsearch.org/) est un serveur de recherche open source populaire. Nous avons récemment été informés de deux problèmes de sécurité potentiels avec ce logiciel. Bien qu'il ne s'agisse pas de problèmes liés à AWS, nous voulions nous assurer que nos clients sont informés afin qu'ils puissent prendre les mesures appropriées.

Le premier problème porte sur une configuration par défaut non sécurisée pour les versions de ce logiciel antérieures à 1.2, décrites dans CVE-2014-3120 (http://bouk.co/blog/elasticsearch-rce/). Les pirates qui profitent de cette configuration non sécurisée peuvent exécuter des commandes arbitraires avec les privilèges du démon Elasticsearch.

Le second problème est le manque de contrôle d'accès qui s'applique à toutes les versions d'Elasticsearch. Quiconque peut se connecter au port de recherche peut interroger ou modifier n'importe quel index sur le serveur. Ces problèmes posent le plus grand risque lorsqu'un serveur Elasticsearch est ouvert à l'ensemble d'Internet et s'exécute sur le port par défaut, 9200/tcp.

Le moyen le plus efficace d'éviter ces problèmes est de vous assurer que vos serveurs de recherche ne sont pas accessible à tous les hôtes sur Internet. Vous pouvez utiliser les groupes de sécurité EC2 pour restreindre l'accès à 9200/tcp aux seuls hôtes qui doivent interroger votre index de recherche. D'autres informations sur les groupes de sécurité EC2 sont disponibles sur http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html

De plus, si vous exécutez une version d'Elasticsearch antérieure à 1.2, vous devez désactiver la prise en charge de l'exécution de script dynamique dans Elasticsearch. D'autres informations sont disponibles sur http://bouk.co/blog/elasticsearch-rce/#how_to_secure_against_this_vulnerability

Si vous utilisez Elasticsearch en production, nous vous recommandons d'auditer vos groupes de sécurité et, si nécessaire, de prendre les mesures appropriées pour restreindre l'accès à vos serveurs Elasticsearch.