Подтвердить что ты не робот

Аутентификация в Elasticsearch

Как определить доступ к безопасности в Elasticsearch? У меня есть плагин elasksearch-head, но ваш доступ не требует никакой безопасности.

4b9b3361

Ответ 1

Плагин, упомянутый в этом ответе, больше не поддерживается.


В elasticsearch нет встроенного контроля доступа. Итак, вам нужно настроить обратный прокси (здесь сообщение в блоге, как настроить nginx), используйте один из сторонних плагинов elasticsearch, таких как как https://github.com/Asquera/elasticsearch-http-basic или использовать официальный плагин безопасности Shield.

Ответ 3

Обновление. Эта работа довольно хорошо и (для большинства функций) бесплатна и с открытым исходным кодом: https://github.com/floragunncom/search-guard

ПРИМЕЧАНИЕ. Плагин, упомянутый в этой статье, больше не поддерживается


Возможно, это помогает: https://github.com/salyh/elasticsearch-security-plugin

Этот плагин добавляет функциональность безопасности http/rest к Elasticsearch в виде отдельных модулей. Вместо Netty встроенный Tomcat 7 используется для обработки запросов http/rest.

В настоящее время для аутентификации и авторизации на основе пользователя Kerberos и NTLM поддерживаются через стороннюю библиотеку waffle (только на серверах Windows). Для серверов UNIX Kerberos поддерживается через стороннюю библиотеку tomcatspnegoad (работает с любой реализацией kerberos. Для авторизации поддерживается Active Directory и общий LDAP).

Вы также можете использовать этот плагин без Kerberos/NTLM, но тогда доступна только аутентификация на основе хоста.

Ответ 4

<shamelessPlug>

Извините, но у меня есть серьезные сомнения по поводу всех этих плагинов и прокси, которые только пытаются захватить запросы с sloppy regex на уровне HTTP.

Повторите ли вы все возможные синтаксисы ES, которые могут выполнять запись? Как вы фильтруете по индексу? Как насчет псевдонимов индекса? Многоиндексные запросы?

Единственный чистый способ управления доступом - ПОСЛЕ У ElasticSearch проанализировал запросы. Это именно то, что делает Щит!

Я написал лицензионный плагин MIT (readonly-rest-plugin), который делает именно это.

Вы можете сопоставить запрос:

  • ✔ ️ Имя хоста, IP и IP с сетевой маской

  • ✔ ️ Индексы (поддерживаемые подстановочные знаки) и псевдонимы индексов разрешены

  • ✔ HTTP Basic Auth

Он также поддерживает первоклассную поддержку аутентификации Kibana:)

</shamelessPlug>

Ответ 5

Если вы хотите использовать базовую аутентификацию с Kibana3, вот мое решение:

https://github.com/fangli/kibana-authentication-proxy

Поддержка не только базового сервера basicAuth ES, но и GoogleOAuth и BasicAuth для клиента. Пожалуйста, дайте звезду, если она сработает для вас, спасибо.

Ответ 6

Попробуйте Shield. Он имеет аутентификацию и авторизацию. На данный момент ему нужна лицензия. Не будет слишком долго, пока люди не создадут похожие плагины с открытым исходным кодом.

Ответ 7

Что касается конкретного решения этой проблемы, я натолкнулся на следующее: это простая реализация обратного прокси-подхода, упомянутого в других ответах:

https://gist.github.com/jpluscplusm/9227777

В качестве предостережения, по крайней мере, некоторые из них в Elasticsearch не считают оптимальным решение nginx, но я думаю, что это зависит от специфики ваших требований к аутентификации (RBAC, количество пользователей, количество индексов, частота изменения списка доступа). Для некоторых пользователей (включая меня самого) достаточно первого примера.

http://www.elasticsearch.org/blog/restricting-users-kibana-filtered-aliases/

Если вы обнаружите, что спецификация требований arent встречается nginx, возможно, что-то вроде этого: https://github.com/lukas-vlcek/node.es

Ответ 8

Поскольку ElasticSearch является своего рода услугой базы данных, вы, вероятно, не захотите публично публиковать ее.

Я не доверяю плагинам, чтобы сделать это для меня, поэтому я сделал с прокси-сервером nginx.

Этот учебник очень полезен:

http://www.minvolai.com/blog/2014/08/Setting-up-a-Secure-Single-Node-Elasticsearch-server-behind-Nginx/Setting-up-a-Secure-Single-Node-Elasticsearch-server-behind-Nginx/

Ответ 9

Я очень новичок в ElasticSearch, но я чувствую, что плагин X-Pack должен появиться здесь как ответ: https://www.elastic.co/guide/en/x-pack/current/index.html

Я понимаю, что X-Pack теперь является де-факто стандартом для защиты ElasticSearch (и многое другое), включая аутентификацию.

Ответ 10

Да, теперь единственный предпочтительный способ включить защиту в elasticsearch через плагин X-Pack.

https://www.elastic.co/guide/en/x-pack/current/xpack-introduction.html

Это многоцелевой плагин и хорошо подходит для целей безопасности, так как вы также можете использовать мониторинг и настраивать оповещения и уведомления в соответствии с вашими потребностями.

Как уже известно, я уверен, что elasticsearch продолжит это для входа.