Проверка подлинности в Elasticsearch



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

676   10  

10 ответов:

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


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

Elasticsearch теперь есть плагин безопасностиhttp://www.elasticsearch.org/blog/shield-know-security-coming-soon/

<shamelessPlug>

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

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

единственный чистый способ сделать контроль доступа после ElasticSearch имеет разбирал запросы. Это именно то, что щит делает после все!

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

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

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

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

  • ✔️ базовой аутентификации http

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

</shamelessPlug>

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

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


может быть, это помогает:https://github.com/salyh/elasticsearch-security-plugin

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

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

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

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

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

поддержка не только проверку подлинности Эс backend, но также GoogleOAuth и проверку подлинности для клиента. Пожалуйста, дайте звезду, если это работает для вас, спасибо.

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

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

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

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

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

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

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

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

поскольку 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/

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

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

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

Как это уже высоко признано, я уверен, что Elasticsearch будет продолжать с этим для авторизоваться.

Comments

    Ничего не найдено.