$ vim /etc/security/limits.conf
* soft nofile 655360
* hard nofile 655360
* soft nproc 65536
* hard nproc 65536
$ vim /etc/sysctl.conf
vm.max_map_count=262144
$ groupadd es
$ useradd es -g es
$ passwd es
$ chown -R es:es /home/software/es_ssl/
选择一个你想去生成如下证书的类型:
在每个节点上使用相同的证书它是可以的。但是不安全的,你不能使用主机名验证和搜索守卫的DNS查询功能去检查TLS证书的有效性。
插件:
https://docs.search-guard.com/latest/search-guard-versions
选择 example PKI script 脚本生成器:
https://docs.search-guard.com/latest/search-guard-installation
确保版本1.0.1k 或者更高
输入在服务器上,会出现一个list的命令。如果没有,确保JDK已安装且环境配置OK。
https://git.floragunn.com/search-guard/legacy/search-guard-ssl/-/tree/master
这个是ssl 的代码仓库
第一次安装搜索守卫在集群上总是需要全部重启。TLS加密在Elastsearch的传输层是强制性的。并且所有的节点都已经安装守卫能够互相通话。如果搜索守卫已经安装,现在想去更新,使用如下链接:
https://docs.search-guard.com/latest/upgrading
1.禁用分片分配
2.停止所有节点
3.在所有节点安装搜索守卫插件
4.在elasticsearch.yml中配置TLS
5.重启elasticsearch且检查节点状态
6.重新启动分片分配功能通过使用sgadmin
https://docs.search-guard.com/latest/sgadmin
7.配置认证/授权,用户、角色和权限,通过使用搜索守卫的sgadmin
$ bin/elasticsearch-plugin install -b file:///path/to/search-guard-7-<version>.zip
可能会出现额外的权限窗口,在安装过程中,确定“y“
https://docs.search-guard.com/latest/search-guard-versions
对于各类证书的路径都要指定Elasticsearch的config目录。
searchguard.ssl.transport.pemcert_filepath: <path_to_node_certificate>
searchguard.ssl.transport.pemkey_filepath: <path_to_node_certificate_key>
searchguard.ssl.transport.pemkey_password: <key_password (optional)>
searchguard.ssl.transport.pemtrustedcas_filepath: <path_to_root_ca>
searchguard.ssl.transport.enforce_hostname_verification: <true | false>
searchguard.authcz.admin_dn:
- CN=kirk,OU=client,O=client,L=test, C=de
这个“searchguard.authcz.admin_dn“配置admin证书,你可以使用”sgadmin“或者REST 管理API。你需要去声明证书的完整DN,并且可以配置多个管理证书。
searchguard.ssl.http.enabled: true
searchguard.ssl.http.pemcert_filepath: <path_to_http_certificate>
searchguard.ssl.http.pemkey_filepath: <path_to_http_certificate_key>
searchguard.ssl.http.pemkey_password: <key_password (optional)>
searchguard.ssl.http.pemtrustedcas_filepath: <path_to_http_root_ca>
在elasticsearch.yml中加入
searchguard.restapi.roles_enabled: ["SGS_ALL_ACCESS"]
在集群重新启动之后
Example using sgadmin
./sgadmin.sh --enable-shard-allocation
-cert ./kirk.pem -key ./kirk-key.pem -cacert ./root-ca.pem
https://docs.search-guard.com/latest/sgadmin
在Search Guard插件tools目录中,当你在集群6.x中执行完“configuration backup“,可以使用sgadmin离线迁移存在的文件。
https://docs.search-guard.com/latest/sgadmin-configuration-changes
当你已经迁移后,你可以更新它们对于集群7.x
./sgadmin.sh
--migrate-offline /path/to/configdirectory/
-cacert /path/to/root-ca.pem
-cert /path/to/admin-certificate.pem
-key /path/to/admin-certificate-key.pem
Example:
./sgadmin.sh
-mo ../sgconfig/
-cacert ../../../root-ca.pem
-cert ../../../kirk.pem
-key ../../../kirk.key.pem
Search Guard带有可插拔的身份验证和授权模块。根据你的用例和基础设施,你可以使用一个或多个身份验证和授权模块,如:
接着上面讲,Search Guard安装最后呢,需要查看一下健康状态。
如果Search Guard已经安装,并且跑了起来,可以通过如下命令,查看健康状态。
https://<hostname>:9200/_searchguard/health
它的返回是一个JSON串。
{
message: null,
mode: "strict",
status: "UP"
}
ElasticSearch7.10配置Search-Guard
原文:https://www.cnblogs.com/Choleen/p/14940561.html