使用search-guard加固安全为https访问

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 使用search-guard加固安全为https访问

1、ES 安装search-guard
安装
1、在linux上下载介质。 下载后无需解压。
wget https://releases.floragunn.com/search-guard-6/6.8.3-25.5/search-guard-6-6.8.3-25.5.zip
2、停止ES运行。
3、使用ES已有的插件工具,安装命令如下。会自动在ES的plugins目录下创建search-guard文件
./elasticsearch-6.8.3/bin/elasticsearch-plugin install -b file:///home/zyplanke/es/search-guard-6-6.8.3-25.5.zip
4、启用插件。进入插件目录:elasticsearch-6.8.3/plugins/search-guard-6/tools下,执行:
bash install_demo_configuration.sh (按提示,输入三次Y)
以上执行后,会自动给elasticsearch-6.8.3/config/elasticsearch.yml文件后面添加以下内容:
searchguard.ssl.transport.pemcert_filepath: esnode.pem
searchguard.ssl.transport.pemkey_filepath: esnode-key.pem
searchguard.ssl.transport.pemtrustedcas_filepath: root-ca.pem
searchguard.ssl.transport.enforce_hostname_verification: false
searchguard.ssl.http.enabled: true
searchguard.ssl.http.pemcert_filepath: esnode.pem
searchguard.ssl.http.pemkey_filepath: esnode-key.pem
searchguard.ssl.http.pemtrustedcas_filepath: 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.audit.type: internal_elasticsearch
searchguard.enable_snapshot_restore_privilege: true
searchguard.check_snapshot_restore_write_privileges: true
searchguard.restapi.roles_enabled: ["sg_all_access"]
cluster.routing.allocation.disk.threshold_enabled: false
discovery.zen.minimum_master_nodes: 1
node.max_local_storage_nodes: 3
xpack.security.enabled: false
5、重启ES,使用https访问。 https://IP:9200
会提示输入用户密码,说明插件已经生效。(默认管理员用户为admin;密码为admin)
6、修改admin用户的密码。进入插件目录:elasticsearch-6.8.3/plugins/search-guard-6/tools下,执行:
bash hash.sh -p <新密码明文>
7、将得到的新密码密文串, 放入elasticsearch-6.8.3/plugins/search-guard-6/sgconfig/sg_internal_users.yml文件,修改文件admin用户下的hash值(使用刚才得到的新密码密文串)。 (建议同时把readonly设置为false,允许在kibana中修改admin的密码)
注意:这个文件除了admin,还有其他用户,例如kibanaserver用户。
admin: readonly: false hash:
12$/iFel04G0O.0YmK.f31vhuwJZJ3xx9Fv164EveHVv73a8T2XnhGAC roles: - admin attributes: #no dots allowed in attribute names attribute1: value1 attribute2: value2 attribute3: value3 (以下内容省略)
8、初始化Search-Guard。进入插件目录:elasticsearch-6.8.3/plugins/search-guard-6/tools下,执行:
bash sgadmin_demo.sh
[kod.forysys.com)
[kod.huizhongjia.com)
[kod.huahaosen.com)
[kod.iminwd.com)
[kod.dljkxx.com)
[kod.bj-yuanyang.com)
[kod.lzjkjys.com)
(如果在ES已运行情况下,仍报“ERR: Seems there is no Elasticsearch running on localhost:9300”,有可能是ES监听的IP不对,建议ES监听host的IP配置为0.0.0.0)
9、不用重启ES,使用浏览器登录ES,可发现新密码已经生效。
2、同步修改Kibana配置
1、由于kibana需要连接ES,当ES增加了search-guard插件后,kibana也需要同步修改。
2、编辑kibana目录下的kibana.yml文件, 修改配置如下:
elasticsearch.hosts: ["https://IP:9200"]
elasticsearch.username: "kibanaserver"
elasticsearch.password: "kibanaserver"
elasticsearch.ssl.verificationMode: none
elasticsearch.requestHeadersWhitelist: [ "authorization","sgtenant" ]
3、然后重启kibana,在kibana Web页面中,使用admin用户密码登录。 可成功登录。
3、同步修改logstash配置
修改logstash配置logstash-sample.conf文件。参考格式如下
output { elasticsearch { hosts => ["https://IP:9200"] user => "admin" password => "password" ssl => false ssl_certificate_verification => false index => "nginx-%{+YYYY_MM}" codec => json }

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
1月前
|
安全 网络协议 应用服务中间件
内网ip申请SSL证书实现https访问
内网IP地址虽不能直接申请公网SSL证书,但可通过IP SSL证书保障数据安全。流程包括:确定固定内网IP,选择支持内网IP的CA,注册申请证书,生成CSR,验证IP所有权,下载部署证书至Web服务器,测试HTTPS访问,确保配置正确及证书有效。此方法适用于内网环境,提升数据传输安全性。
内网ip申请SSL证书实现https访问
|
27天前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
53 11
|
1月前
|
Web App开发 算法 应用服务中间件
nginx开启局域网https访问
【10月更文挑战第22天】为了调试WebRTC功能,需要在局域网内搭建HTTPS协议。具体步骤包括:在已部署Nginx和安装OpenSSL的环境中生成私钥、证书签名请求和自签名证书;将生成的文件放置到Nginx的证书目录并修改Nginx配置文件,最后重启Nginx服务。注意,自签名证书不受第三方机构认可,如需正式使用,需向CA申请签名。
|
1月前
|
安全 网络安全 数据安全/隐私保护
政务内网实现https访问教程
政务内网实现HTTPS访问需经过多个步骤:了解HTTPS原理,选择并申请适合的SSL证书,配置SSL证书至服务器,设置端口映射与访问控制,测试验证HTTPS访问功能,注意证书安全性和兼容性,定期备份与恢复。这些措施确保了数据传输的安全性,提升了政务服务的效率与安全性。
|
1月前
|
安全 网络安全 数据安全/隐私保护
内网IP地址实现HTTPS加密访问教程
在内网环境中,为确保数据传输的安全性,绑定SSL证书搭建HTTPS服务器至关重要。本文介绍了内网IP地址的前期准备、申请SSL证书的步骤以及客户端配置方法。具体包括选择合适的CA、注册账号、提交申请、下载证书,并在客户端导入根证书,确保通信数据的安全加密。推荐使用JoySSL提供的技术解决方案,确保内网设备通信安全。
内网IP地址实现HTTPS加密访问教程
|
1月前
|
安全 网络协议 网络安全
怎么给ip地址配置https访问
为了配置公网IP地址的HTTPS访问,首先需明确需求并选择受信任的证书颁发机构(如JoySSL)。接着,在JoySSL官网注册并登录,填写特定注册码230922以获取免费IP证书的测试权限。提交证书申请时,填写IP地址及相关验证信息,并完成IP地址验证。验证通过后,下载证书文件。最后,使用浏览器访问IP地址,检查安全连接标志,确保无证书错误。通过以上步骤,可成功配置IP地址的HTTPS访问,提升数据传输安全性和可信度。
|
2月前
|
存储 网络安全 对象存储
缺乏中间证书导致通过HTTPS协议访问OSS异常
【10月更文挑战第4天】缺乏中间证书导致通过HTTPS协议访问OSS异常
134 4
|
2月前
|
存储 缓存 安全
https访问提示不安全,证书密钥验证上如何解决
【10月更文挑战第4天】访问提示不安全,证书密钥验证上如何解决
429 2
|
3月前
|
安全 网络协议 网络安全
在实现HTTPS时,有哪些常见的安全协议
在实现HTTPS时,有哪些常见的安全协议
186 1
|
4月前
|
算法 Java 测试技术
java 访问ingress https报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version
java 访问ingress https报错javax.net.ssl.SSLHandshakeException: Received fatal alert: protocol_version