2014년 5월 29일

Elasticsearch(http://www.elasticsearch.org/)는 널리 사용되는 오픈 소스 검색 서버입니다. AWS는 최근 이 소프트웨어의 두 가지 잠재적 보안 문제에 대해 알게 되었습니다. AWS의 문제는 아니지만 AWS는 고객이 이를 인지하고 적절한 조치를 취하도록 하고 싶었습니다.

첫 번째 문제는 CVE-2014-3120(http://bouk.co/blog/elasticsearch-rce/)에 요약된 1.2 이전의 이 소프트웨어 버전에 대한 기본 구성이 안전하지 않다는 점입니다. 이 안전하지 않은 구성을 이용하는 공격자는 Elasticsearch 데몬의 권한으로 임의 명령을 실행할 수 있습니다.

두 번째 문제는 모든 버전의 Elasticsearch에 적용되는 액세스 관리가 부족하다는 것입니다. 검색 포트에 연결할 수 있는 사람은 누구나 서버의 인덱스를 쿼리하거나 변경할 수 있습니다. 이러한 문제는 Elasticsearch 서버가 전체 인터넷에 열려 있고 기본 포트인 9200/tcp에서 실행될 때 가장 큰 위험을 초래합니다.

이러한 문제를 피하는 가장 효과적인 방법은 인터넷상의 모든 호스트가 검색 서버에 접근할 수 없도록 하는 것입니다. EC2 보안 그룹을 사용하여 9200/tcp에 대한 액세스를 검색 인덱스를 쿼리해야 하는 호스트로만 제한할 수 있습니다. EC2 보안 그룹에 대한 자세한 내용은 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html을 참조하십시오.

또한 1.2 이전 버전의 Elasticsearch를 실행 중인 경우 Elasticsearch에서 동적 스크립트 실행 지원을 비활성화해야 합니다. 이에 대한 자세한 정보는 http://bouk.co/blog/elasticsearch-rce/#how_to_secure_against_this_vulnerability를 참조하십시오.

프로덕션에서 Elasticsearch를 사용하는 경우 보안 그룹을 감사하고, 필요하다면 Elasticsearch 서버에 대한 액세스를 제한하기 위한 적절한 조치를 취하는 것이 좋습니다.