2014 年 5 月 29 日

Elasticsearch (http://www.elasticsearch.org/) 是一款熱門的開放原始碼搜尋伺服器。我們最近發現該軟體存在兩個潛在的安全問題。儘管這些不是 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

此外,若您執行的是 Elasticsearch 1.2 之前的版本,則應停用 Elasticsearch 中的動態指令碼執行支援。有關此問題的詳細資訊,請瀏覽: http://bouk.co/blog/elasticsearch-rce/#how_to_secure_against_this_vulnerability

若您在生產中使用 Elasticsearch,我們建議您稽核安全群組,並在必要時採取適當步驟,以限制對 Elasticsearch 伺服器的存取。