|
2019年5月21日,Elastic官方发布消息: Elastic Stack 新版本6.8.0 和7.1.0的核心安全功能现免费提供。
回顾
这意味着用户现在能够对网络流量进行加密、创建和管理用户、定义能够保护索引和集群级别访问权限的角色,并且使用 Spaces 为 Kibana提供全面保护。 免费提供的核心安全功能如下:
- TLS 功能。 可对通信进行加密
- 文件和原生 Realm。 可用于创建和管理用户
- 基于角色的访问控制。 可用于控制用户对集群 API 和索引的访问权限
- 通过针对 Kibana Spaces 的安全功能,还可允许在Kibana 中实现多租户
x-pack 演变
- 5.X版本之前:没有x-pack,是独立的:security安全,watch查看,alert警告等独立单元。
- 5.X版本:对原本的安全,警告,监视,图形和报告做了一个封装,形成了x-pack。
- 6.3 版本之前:需要额外安装。
- 6.3版本及之后:已经集成在一起发布,无需额外安装,基础安全属于付费黄金版内容。 7 .1版本:基础安全免费。
在此之前,保证基础安全?
场景一:全部“裸奔”,相信这在国内占据了非常大的比重。 内网部署,不对外提供服务。或者ES作为业务基础支撑,不公网开放9200等常用端口,开放的是业务的服务端口。 可能暴露问题:公司或团队内部开放9200、5601端口,基本head插件、kibana都能连接,极易导致线上索引或数据可能被误删。
场景二:加了简单防护。 一般使用Nginx身份认证+防火墙策略控制。
场景三:整合使用了第三方安全认证方案。 比如:SearchGuard、ReadonlyREST。
场景四:付费购买了Elastic-Xpack黄金版或白金版服务。 一般是银行等土豪大客户,对安全、预警、机器学习等付费功能需求迫切,如:宁波银行付费购买白金服务。
单机版开启 xpack
本文基于 Elasticsearch 7.10.2 版本,开启 xpack 安全服务。
{
"name" : "WIN-ITSVSE",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "ad596cwGSFunWSAu0RGbfQ",
"version" : {
"number" : "7.10.2",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "747e1cc71def077253878a59143c1f785afa92b9",
"build_date" : "2021-01-13T00:42:12.435326Z",
"build_snapshot" : false,
"lucene_version" : "8.7.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
修改 config 文件夹的 elasticsearch.yml 文件,如下:
ES中内置了几个管理其他集成组件的账号即:apm_system, beats_system, elastic, kibana, logstash_system, remote_monitoring_user,使用之前,首先需要添加一下密码。默认账号密码为:elastic:changeme(测试无效)
X-Pack安全性提供了内置的用户来帮助你启动和运行。elasticsearch-setup-password 命令是首次设置内置用户密码的最简单方法。
内置用户有4个,如下:
elastic 超级用户
kibana(过时) 用于连接并且和Elasticsearch通信的
logstash_system 用于在Elasticsearch中存储监控信息
beats_system 用于在Elasticsearch中存储监控信息
执行 elasticsearch-setup-passwords 脚本设置密码,命令如下:
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]
输入 y 继续,设置所有的密码为:a123456
配置完成后,重新启动 Elasticsearch 服务,通过浏览器打开 es:9200 会提示需要认证,如下图:
账号为:elastic,密码:a123456
配置 Kibana 连接
开启了安全认证之后,kibana 连接 es 以及访问 es 都需要认证。修改 config 文件夹下面的 kibana.yml 文件,如下:
备注:kibana 账号已经过时,请使用 kibana_system 账号。
使用 elastic 账号登录 kibana 网页,如下图:
配置 Logstash
配置如下:
直接使用 elastic 账号,如果使用 logstash_system 账号,会报错如下:
[2021-12-21T11:11:29,813][ERROR][logstash.outputs.elasticsearch][main][914f6dc36c33b25e36501f5d67843afdaa2117f811140c7c078a808a123d20a3] Encountered a retryable error. Will Retry with exponential backoff {:code=>403, :url=>"http://127.0.0.1:9200/_bulk"}
参考链接:
https://www.elastic.co/guide/en/elasticsearch/reference/7.10/get-started-enable-security.html
https://www.elastic.co/guide/en/elasticsearch/reference/7.10/get-started-built-in-users.html
|
上一篇:Maven 命令将第三方 jar 包推送到 Nexus 私有仓库下一篇:性能分析:TPS、QPS、平均响应时间(RT)概念
|