低版本 elasticsearch 授权认证

众所周知,es低版本对授权认证支持的不高,而且x-pack是收费的。下文提供几种解决方案供参考。

以开源工具

@

限制ip

禁止未授权IP访问ElasticSearch端口(默认9200)。

  • iptables

  • firewalld


search-guard 插件授权

elasticsearch2.x以后的版本可采用search-guard插件。(这里用了es5.6,测试可用)

同样在config/elasticsearch.yml中统一配置,在末尾追加以下内容:

searchguard.ssl.transport.pemcert_filepath: certificates/esnode.pem
searchguard.ssl.transport.pemkey_filepath: certificates/esnode-key.pem
searchguard.ssl.transport.pemtrustedcas_filepath: certificates/root-ca.pem
searchguard.ssl.transport.enforce_hostname_verification: false
searchguard.ssl.http.enabled: true
searchguard.ssl.http.pemcert_filepath: certificates/esnode.pem
searchguard.ssl.http.pemkey_filepath: certificates/esnode-key.pem
searchguard.ssl.http.pemtrustedcas_filepath: certificates/root-ca.pem
searchguard.allow_unsafe_democertificates: true
searchguard.allow_default_init_sgindex: true
searchguard.authcz.admin_dn:
  - CN=kirk,OU=client,O=client,L=test,C=de
searchguard.enable_snapshot_restore_privilege: true
searchguard.check_snapshot_restore_write_privileges: true
searchguard.restapi.roles_enabled: ["sg_all_access"] 

配置完成之后,默认访问口令为”username:admin,pwd:admin”,修改默认admin密码操作可参考:
https://blog.csdn.net/lu_wei_wei/article/details/100727090

这个插件仓库已经迁移,如果不好找、可以在第三方下载历史版本。


通过 nginx 做认证

架设 nginx 反向代理服务器,并设置 http_basic 认证来实现 elasticsearch 的登录认证。https://www.sojson.com/blog/213.html

这种方式,网上案例比较多,就不累述了,如果有需要欢迎下面交个朋友。


elasticseach 节点钥匙

这种方式后续补充


posted @ 2022-08-09 22:37  JavaPub  阅读(260)  评论(0编辑  收藏  举报