Elasticsearch:设置Elastic账户安全

我们知道Elastic安全是非常重要的。没有这个我们的数据可以被任何的人进行访问,串改,删除。Elastic Stack的安全是由x-pack所提供的。在Elastic Stack 7.0版本之前,这个是商用的版本,需要进行安装,并购买。从Elastic Stack 7.0之后,x-pack都已经在发布版中,所以不需要进行安装。我们只需要进行配置就可以了。

在今天的这篇文章中,我们来详细介绍如何为Elastic Stack设置安全账户。在进行这个教程之前,我相信大家已经阅读过文章:

  • 如何在Linux,MacOS及Windows上进行安装Elasticsearch

  • 如何在Linux及MacOS上安装Elastic栈中的Kibana

已经在自己的电脑或服务器上安装好Elasticsearch及Kibana。

 

在节点上启用Elastic安全功能

 

使用基本和试用许可证时,默认情况下会禁用Elasticsearch安全功能。 要启用它们,首先,我们必须停止所以正在运行的Elastic Stack 软件:

  • 停止Kibana。依赖于你安装的方法不同,停止Kibana的方法也会不同。大家可以参考链接“Start and stopping Kibana”。对于从一个archive(.tar.gz或.zip)发布进行安装的,可以直接使用在命令行键入Ctrl+C来进行停止。
  • 停止Elasticsearch。对于从一个archive(.tar.gz或.zip)发布进行安装的,可以直接使用在命令行键入Ctrl+C来进行停止。对于其它形式的安装,可以参考链接“Stopping Elasticsearch”来进行停止。
  • 添加xpack.security.enabled设置到ES_PATH_CONF/elasticsearch.yml文件。这里的ES_PATH_CONF是指的在Elasticsearch安装目录下的config目录。如果你是使用的debian或RPM安装包,那么这个目录将位于/etc/elasticsearch。比如加入如下的一行到elasticsearch.yml中:
xpack.security.enabled: true
  • 在ES_PATH_CONF / elasticsearch.yml文件中启用single-node发现

    本教程涉及单个节点群集,但如果您有多个节点,则可以在群集中的每个节点上启用Elasticsearch安全功能,并为节点间通信配      置传输层安全性(TLS),这超出了本教程的范围。 通过启用单节点发现,我们推迟了TLS的配置。 例如,添加以下设置:

discovery.type: single-node
  • 重新启动我们的Elasticsearch

    针对以.tar.gz或.zip来进行安装的Elasticsearch,我们可以通过如下的方式来进行启动。针对其它方式的安装,我们可以通              过参阅链接“Starting Elasticsearch”来启动。

./bin/elasticsearch

这样,在我们的Elasticsearch.yml里,我们添加如上的两个语句就够了。

 

为内置用户编辑创建密码

您可以将内置用户用于特定的管理目的:apm_system,beats_system,elastic,kibana,logstash_system和remote_monitoring_user。

在使用它们之前,我们必须为它们设置密码。在 Elasticsearch的目录里安装打入如下的命令:

./bin/elasticsearch-setup-passwords interactive
$ ./bin/elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,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]

你安装提示进行设置。在这个过程中选择你喜欢的密码来设置。

 

为Kibana添加内置用户

启用Elasticsearch安全功能后,用户必须使用有效的用户ID和密码登录Kibana。

Kibana还执行一些需要使用内置kibana用户的任务。

配置Kibana以使用内置kibana用户和您创建的密码

  • 如果您不介意在配置文件中显示密码,请取消注释并更新Kibana安装目录下的config子目录中的kibana.yml文件中的以下设置:
elasticsearch.username: "kibana"
elasticsearch.password: "your_password"

这里的“your_password”就是我们在上一节Elasticsearch中使用elasticsearch-setup-passwords命令配置的内置用户密码。

  • 如果您不想将您的用户ID和密码放在kibana.yml文件中,请将它们存储在密钥库中。 运行以下命令以创建Kibana密钥库并添加安全设置:
./bin/kibana-keystore create
./bin/kibana-keystore add elasticsearch.username
./bin/kibana-keystore add elasticsearch.password

出现提示时,请为这些设置值指定kibana内置用户及其密码。 启动Kibana时会自动应用这些设置。

上面的两种方法可以任选其中的一个。

 

重新启动Kibana

 

针对以.tar.gz或.zip进行安装的Kibana,可以通过如下的命令来进行启动Kibana:

./bin/kibana

在Kibana的安装目录运行以上的命令就可以了。如果是以其它的形式进行安装的Kibana,请参阅链接“Starting and stopping Kibana”来运行Kibana。我们可以看到如下的画面:

Elasticsearch:设置Elastic账户安全_第1张图片

键入我们之前的内置用户名及密码:elastic/your_password。这里的your_password是之前我们设置的密码。然后,我们就可以看到如下的画面:

Elasticsearch:设置Elastic账户安全_第2张图片

 

创建用户

 

在上面,我们已经使用内置用户elastic登录我们的Kibana。现在我们去Manage/Sercurity/Users页面:

Elasticsearch:设置Elastic账户安全_第3张图片

显示的页面如下:

Elasticsearch:设置Elastic账户安全_第4张图片

在这个页面里,我们可以看到一些内置的用户。我们选择"Create new user。

Elasticsearch:设置Elastic账户安全_第5张图片

在这里,我们输入选择我们的用户名及密码信息,然后点击Create user。您会注意到,在创建用户时,您可以为其分配角色。目前前我们暂不分配一个角色 - 我们将在后续步骤中再回过头来看看。

我们可以点击Management / Security / Roles来查看我们的role列表:

Elasticsearch:设置Elastic账户安全_第6张图片

每个角色定义一组特定的操作(如读取,创建或删除),这些操作可以在特定的安全资源(例如索引,别名,文档,字段或集群)上执行。 为了帮助您启动和运行,有内置角色。

我们将kibana_user角色分配给您的用户。 返回Management / Security / Users页面并选择您的用户。 添加kibana_user角色并保存更改。 例如:

Elasticsearch:设置Elastic账户安全_第7张图片

通过这样的设置,这个liuxg的用户可以对Kibana进行所有功能的访问。我们可以点击Kibana最右角上方的一个图标进行logout,然后用最新创建的账号进行登录,看看是否成功。

我们可以为我们的账号创立一个superuser账号,这样这个账号基本上就会具有所有的role。这个对我们做一些测试是非常有帮助的。

Elasticsearch:设置Elastic账户安全_第8张图片

 

你可能感兴趣的:(Elastic)