29 de maio de 2014

O Elasticsearch (http://www.elasticsearch.org/) é um popular servidor de pesquisa com código aberto. Recentemente tomamos conhecimento de dois possíveis problemas de segurança relacionados a esse software. Embora não se trate de problemas com a AWS, gostaríamos de garantir que nossos clientes estejam cientes para que possam adotar as medidas adequadas.

O primeiro problema é uma configuração padrão insegura para versões desse software anteriores à 1.2, descrita no CVE-2014-3120 (http://bouk.co/blog/elasticsearch-rce/). Violadores que aproveitam essa configuração insegura podem executar comandos arbitrariamente com os privilégios do daemon Elasticsearch.

O segundo problema é uma ausência de controle de acesso, aplicável a todas as versões do Elasticsearch. Qualquer um capaz de se conectar à porta de pesquisa pode consultar ou alterar qualquer índice no servidor. Esses problemas apresentam um grande risco quando um servidor Elasticsearch está aberto para toda a Internet e funcionando na porta padrão, 9200/tcp.

A maneira mais efetiva de evitar esses problemas é garantir que seus servidores de pesquisa sejam inalcançáveis por qualquer host na Internet. Você pode usar os grupos de segurança do EC2 para restringir o acesso à porta 9200/tcp apenas para hosts que devam estar consultando seu índice de pesquisa. A página http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html disponibiliza mais informações sobre os grupos de segurança do EC2.

Além disso, caso esteja executando uma versão do Elasticsearch anterior à 1.2, você deve desativar o suporte para execução dinâmica de script no Elasticsearch. Mais detalhes sobre esse aspecto estão disponíveis aqui: http://bouk.co/blog/elasticsearch-rce/#how_to_secure_against_this_vulnerability

Caso esteja usando o Elasticsearch em ambiente de produção, recomendamos a auditoria de seus grupos de segurança e, se necessário, a adoção das medidas adequadas para restringir o acesso aos seus servidores Elasticsearch.