2015-04-12 72 views
2

我有一個運行在我的服務器上的Elasticsearch,它默認運行在端口9200上,鏈接是公共的,意味着任何人都可以在任何地方插入,更新或刪除任何東西。我如何使它像phpMyadmin一樣安全,只能在我的代碼的幫助下訪問,而不是直接從瀏覽器或郵遞員訪問。如何保護Elasticsearch

回答

4

Elasticsearch不執行身份驗證或授權,將其作爲開發人員的練習。我見過的兩種流行方式是:

  1. 設置您自己的代理(Nginx/HAProxy)彈性搜索 - 這種方式您可以完全控制。您也可以使用Elasticsearch-碼頭插件有碼頭層級驗證
  2. 盾 - 如果預算允許使用盾是從Elasticsearch付費產品 - https://www.elastic.co/products/shield
即使有這些到位

,這取決於你是誰揭露這 - 你可能要取消這些動態腳本某些事情,節流對於DoS攻擊等

+0

是否有任何教程或腳本中使用,我可以參考? – Ironman

+1

考慮 - 你有*理由*直接暴露Elasticsearch集羣嗎?你需要揭露Elasticsearch的哪些功能,並向誰提供?在最終用戶和Elasticsearch之間放置自己的構建服務是一種常見方法。限制對Elasticsearch(防火牆,僅限本地主機等)的訪問,以便只有您的服務可以與其進行交互,然後讓您的服務控制安全。 – Snixtor