elasticsearch集群安装+安全验证+kibana安装(1),2024年最新最新BAT大厂面试者整理的网络安全面试题目

用于多个集群节点进行发现,组成集群

discovery.seed_hosts: [“192.168.1.10:9300”, “192.168.1.11”, “seeds.mydomain.com”]

discovery.seed_hosts:

  • 192.168.1.10:9300

  • 192.168.1.11

  • seeds.mydomain.com

  • cluster.initial_master_nodes 配置方式如下

用于集群在第一次启动时,指定可以参与选举的主节点列表 (node.master: true)

cluster.initial_master_nodes: [“es01”, “es02”, “es03”]

cluster.initial_master_nodes:

-es01

-es02

-es03

  • discovery.seed_hosts 如果不配置,会自动监听本地回环地址 将本地多个elasticsearch实例加入到集群中。

jvm配置

  • /opt/es/config/jvm.options (一般配置为机器内存大小的一半)

sed -i “s/-Xms1g/-Xms"800m”/g" /opt/es/config/jvm.options

sed -i “s/-Xmx1g/-Xmx"800m”/g" /opt/es/config/jvm.options

配置Elasticsearch(本次测试配置)


es01

cluster.name: es-cluster-test

node.name: es01

path.logs: /opt/log/es

path.data: /opt/data/es

bootstrap.memory_lock: true

network.host: 0.0.0.0

http.port: 9200

transport.tcp.port: 9300

discovery.seed_hosts: [“172.16.1.236:9306”, “172.16.1.236:9307”]

cluster.initial_master_nodes: [“es01”, “es02”, “es03”]

es02

cluster.name: es-cluster-test

node.name: es02

path.logs: /opt/log/es

path.data: /opt/data/es

bootstrap.memory_lock: true

network.host: 0.0.0.0

http.port: 9200

transport.tcp.port: 9300

discovery.seed_hosts: [“172.16.1.236:9305”, “172.16.1.236:9307”]

cluster.initial_master_nodes: [“es01”, “es02”, “es03”]

es03

cluster.name: es-cluster-test

node.name: es03

path.logs: /opt/log/es

path.data: /opt/data/es

bootstrap.memory_lock: true

network.host: 0.0.0.0

http.port: 9200

transport.tcp.port: 9300

discovery.seed_hosts: [“172.16.1.236:9305”, “172.16.1.236:9306”]

cluster.initial_master_nodes: [“es01”, “es02”, “es03”]

启动Elasticsearch


启动

  • 分别进入不同的容器启动elasticsearch

  • 命令如下

/opt/es/bin/elasticsearch -d

查看容器状况(容器内)

  • 查看集群是否启动成功

[elasticsearch@813bf8515935 /]$ curl localhost:9200/_cat/nodes

172.17.0.7 28 91 9 0.58 0.66 0.90 dilm - es02

172.17.0.6 15 91 5 0.58 0.66 0.90 dilm - es01

172.17.0.8 35 91 13 0.58 0.66 0.90 dilm * es03

  • 查看当前节点

[elasticsearch@813bf8515935 /]$ curl localhost:9200

{

“name” : “es03”,

“cluster_name” : “es-cluster-test”,

“cluster_uuid” : “Syj18FUrR1GdnGzghBIacQ”,

“version” : {

“number” : “7.6.2”,

“build_flavor” : “default”,

“build_type” : “tar”,

“build_hash” : “ef48eb35cf30adf4db14086e8aabd07ef6fb113f”,

“build_date” : “2020-03-26T06:34:37.794943Z”,

“build_snapshot” : false,

“lucene_version” : “8.4.0”,

“minimum_wire_compatibility_version” : “6.8.0”,

“minimum_index_compatibility_version” : “6.0.0-beta1”

},

“tagline” : “You Know, for Search”

}

  • 查看节点健康状况

[elasticsearch@813bf8515935 /]$ curl localhost:9200/_cat/health?v

epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent

1605859559 08:05:59 es-cluster-test green 3 3 0 0 0 0 0 0

  •            100.0%
    

查看容器状况(宿主机)

  • 由于使用docker容器安装,因此也可以通过宿主机映射端口访问,本次测试宿主机为windows

开启集群安全验证


修改配置

  • 分别在不同的Es节点修改配置开启安全验证

echo “xpack.security.enabled: true” >> /opt/es/config/elasticsearch.yml

echo “xpack.security.transport.ssl.enabled: true” >> /opt/es/config/elasticsearch.yml

生成证书

  • 选择其中一个节点生成CA证书,默认情况下生成证书放在 /opt/es

#创建ca证书 /opt/es/bin/elasticsearch-certutil ca -v

[elasticsearch@c824e845075b es]$ /opt/es/bin/elasticsearch-certutil ca -v

This tool assists you in the generation of X.509 certificates and certificate

signing requests for use with SSL/TLS in the Elastic stack.

The ‘ca’ mode generates a new ‘certificate authority’

This will create a new X.509 certificate and private key that can be used

to sign certificate when running in ‘cert’ mode.

Use the ‘ca-dn’ option if you wish to configure the ‘distinguished name’

of the certificate authority

By default the ‘ca’ mode produces a single PKCS#12 output file which holds:

  • The CA certificate

  • The CA’s private key

If you elect to generate PEM format certificates (the -pem option), then the output will

be a zip file containing individual files for the CA certificate and private key

Please enter the desired output file [elastic-stack-ca.p12]: #输入回车,使用默认

Enter password for elastic-stack-ca.p12 : #回车,暂不输入密码

  • 与上一步骤同一个节点创建节点见认证用的证书

#创建节点间证书 /opt/es/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

[elasticsearch@c824e845075b es]$ /opt/es/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

This tool assists you in the generation of X.509 certificates and certificate

signing requests for use with SSL/TLS in the Elastic stack.

The ‘cert’ mode generates X.509 certificate and private keys.

  • By default, this generates a single certificate and key for use

on a single instance.

  • The ‘-multiple’ option will prompt you to enter details for multiple

instances and will generate a certificate and key for each one

  • The ‘-in’ option allows for the certificate generation to be automated by describing

the details of each instance in a YAML file

  • An instance is any piece of the Elastic Stack that requires an SSL certificate.

Depending on your configuration, Elasticsearch, Logstash, Kibana, and Beats

may all require a certificate and private key.

  • The minimum required value for each instance is a name. This can simply be the

hostname, which will be used as the Common Name of the certificate. A full

distinguished name may also be used.

  • A filename value may be required for each instance. This is necessary when the

name would result in an invalid file or directory name. The name provided here

is used as the directory name (within the zip) and the prefix for the key and

certificate files. The filename is required if you are prompted and the name

is not displayed in the prompt.

  • IP addresses and DNS names are optional. Multiple values can be specified as a

comma separated string. If no IP addresses or DNS names are provided, you may

disable hostname verification in your SSL configuration.

  • All certificates generated by this tool will be signed by a certificate authority (CA).

  • The tool can automatically generate a new CA for you, or you can provide your own with the

-ca or -ca-cert command line options.

By default the ‘cert’ mode produces a single PKCS#12 output file which holds:

  • The instance certificate

  • The private key for the instance certificate

  • The CA certificate

If you specify any of the following options:

  • -pem (PEM formatted output)

  • -keep-ca-key (retain generated CA key)

  • -multiple (generate multiple certificates)

  • -in (generate certificates from an input file)

then the output will be be a zip file containing individual certificate/key files

Enter password for CA (elastic-stack-ca.p12) : #暂留空

Please enter the desired output file [elastic-certificates.p12]: #默认

Enter password for elastic-certificates.p12 : #ca证书密码,此次为空

Certificates written to /opt/es/elastic-certificates.p12

This file should be properly secured as it contains the private key for

your instance.

This file is a self contained file and can be copied and used ‘as is’

For each Elastic product that you wish to configure, you should copy

this ‘.p12’ file to the relevant configuration directory

and then follow the SSL configuration instructions in the product guide.

For client applications, you may only need to copy the CA certificate and

configure the client to trust this certificate.

  • 配置ES节点使用这个证书

将生成证书拷贝到 /opt/es/config/certs目录下

[elasticsearch@c824e845075b es]$ mkdir -p /opt/es/config/certs

[elasticsearch@c824e845075b config]$ mv /opt/es/elastic-* /opt/es/config/certs/

将certs目录拷贝到其它Es节点 (在宿主机进行该操作)

#拷贝certs目录到本地

PS C:\Users\Administrator> docker cp centos2:/opt/es/config/certs C:\Users\Administrator\Desktop

#拷贝certs目录到其它两个节点

PS C:\Users\Administrator> docker cp C:\Users\Administrator\Desktop\certs centos1:/opt/es/config

PS C:\Users\Administrator> docker cp C:\Users\Administrator\Desktop\certs centos3:/opt/es/config

#在每个节点修改 /opt/es/config/elasticsearch.yml 配置

[elasticsearch@813bf8515935 /]$ echo "xpack.security.transport.ssl.verification_mode: certificate

xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12

xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12" >> /opt/es/config/elasticsearch.yml

  • 重启

#在每个容器杀死elastic进程并重启

[elasticsearch@c824e845075b config]$ kill -9 $(ps -ef | grep ‘elasticsearch’ | grep ‘/bin/java’ | grep -v grep | awk ‘{print $2}’)

#启动

[elasticsearch@c824e845075b config]$ /opt/es/bin/elasticsearch -d

  • 任意一个节点生成密码

[elasticsearch@6ebd0bc8cc5d certs]$ /opt/es/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]y

Enter password for [elastic]:

Reenter password for [elastic]:

Enter password for [apm_system]:

Reenter password for [apm_system]:

Enter password for [kibana]:

Reenter password for [kibana]:

Enter password for [logstash_system]:

Reenter password for [logstash_system]:

Enter password for [beats_system]:

Reenter password for [beats_system]:

Enter password for [remote_monitoring_user]:

Reenter password for [remote_monitoring_user]:

Changed password for user [apm_system]

Changed password for user [kibana]

Changed password for user [logstash_system]

Changed password for user [beats_system]

Changed password for user [remote_monitoring_user]

Changed password for user [elastic]

  • 测试

#此时直接访问会报无权限异常,需要增加 -u elastic 参数进行访问

[elasticsearch@6ebd0bc8cc5d certs]$ curl localhost:9200

{“error”:{“root_cause”:[{“type”:“security_exception”,“reason”:“missing authentication credentials for REST request [/]”,“header”:{“WWW-Authenticate”:"Basic realm=“security” charset=“UTF-8"”}}],“type”:“security_exception”,“reason”:“missing authentication credentials for REST request [/]”,“header”:{“WWW-Authenticate”:"Basic realm=“security” charset=“UTF-8"”}},“status”:401}

#增加 -u elastic

[elasticsearch@6ebd0bc8cc5d certs]$ curl -u elastic localhost:9200

Enter host password for user ‘elastic’:

{

“name” : “es01”,

“cluster_name” : “es-cluster-test”,

“cluster_uuid” : “Syj18FUrR1GdnGzghBIacQ”,

“version” : {

“number” : “7.6.2”,

“build_flavor” : “default”,

“build_type” : “tar”,

“build_hash” : “ef48eb35cf30adf4db14086e8aabd07ef6fb113f”,

“build_date” : “2020-03-26T06:34:37.794943Z”,

“build_snapshot” : false,

“lucene_version” : “8.4.0”,

“minimum_wire_compatibility_version” : “6.8.0”,

“minimum_index_compatibility_version” : “6.0.0-beta1”

},

“tagline” : “You Know, for Search”

}

kibana的安装配置


准备

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

eaGwL4bf-1712950273074)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
[外链图片转存中…(img-HpDwEeUD-1712950273074)]

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-EHSjXzbP-1712950273075)]

  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值