• 配置主机hosts文件
192.168.75.20 filebeat.local kibana.local logstash.local
192.168.75.22 node2.elastic.test.com node2

说明:

192.168.75.20主机上配置filebeat,logstash和kibana

192.168.75.22主机上配置elasticsearch

  • instances.yml文件内容

    存储路径:/usr/share/elasticsearch
instances:
- name: "node2"
dns: ['node2.elastic.test.com']
- name: 'kibana'
dns: ['kibana.local']
- name: 'logstash'
dns: ['logstash.local']
- name: 'filebeat'
dns: ['filebeat.local']
  • 生成证书
cd /usr/share/elasticsearch
bin/elasticsearch-certutil cert ca --pem --in instance.yml --out /root/certs.zip
# 解压后目录结构内容如下:
├── ca
│   └── ca.crt
├── certs.zip
├── filebeat
│   ├── filebeat.crt
│   └── filebeat.key
├── instance.yml
├── kibana
│   ├── kibana.crt
│   └── kibana.key
├── logstash
│   ├── logstash.crt
│   └── logstash.key
├── node2
   ├── node2.crt
   └── node2.key
# 把生成的相应证书复制到相应节点目录下
  • es配置
cluster.name: my-application
node.name: node2
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: node2.elastic.test.com
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["node2.elastic.test.com"]
cluster.initial_master_nodes: ["node2"] http.cors.enabled: true
http.cors.allow-origin: "*" xpack.security.enabled: true xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.key: /etc/elasticsearch/new_certs/node2.key
xpack.security.http.ssl.certificate: /etc/elasticsearch/new_certs/node2.crt
xpack.security.http.ssl.certificate_authorities: /etc/elasticsearch/new_certs/ca.crt xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.key: /etc/elasticsearch/new_certs/node2.key
xpack.security.transport.ssl.certificate: /etc/elasticsearch/new_certs/node2.crt
xpack.security.transport.ssl.certificate_authorities: ["/etc/elasticsearch/new_certs/ca.crt"]

设置系统内置用户密码

# 自动生成,记录下来
bin/elasticsearch-setup-passwords auto -u "https://node2.elastic.test.com:9200"
# 通过 HTTPS 访问 _cat/nodes API,需要输入elastic用户的密码
curl --cacert /etc/elasticsearch/new_certs/ca.crt -u elastic 'https://node2.elastic.test.com:9200/_cat/nodes?v'
  • kibana配置文件
server.host: "kibana.local"
server.name: "kibana" elasticsearch.hosts: ["https://node2.elastic.test.com:9200"] elasticsearch.username: "kibana"
elasticsearch.password: "xafpbULaycAArnLc9O6H" server.ssl.enabled: true
server.ssl.certificate: /etc/kibana/certs/kibana.crt
server.ssl.key: /etc/kibana/certs/kibana.key
elasticsearch.ssl.certificateAuthorities: ["/etc/kibana/certs/ca.crt"]
  • 在es上创建logstash使用的用户
# 注意索引名
POST /_security/role/logstash_write_role
{
"cluster": [
"monitor",
"manage_index_templates"
],
"indices": [
{
"names": [
"logstash*"
],
"privileges": ["write","create","delete","create_index","manage","manage_ilm"],
"field_security": {
"grant": [
"*"
]
}
}
],
"run_as": [],
"metadata": {},
"transient_metadata": {
"enabled": true
}
} # 设置该用户密码
POST /_security/user/logstash_writer
{
"username": "logstash_writer",
"roles": [
"logstash_write_role"
],
"full_name": null,
"email": null,
"password": "1234567890",
"enabled": true
}
  • 针对 Beats 输入插件,将 logstash.key 转换为 PKCS#8 格式
openssl pkcs8 -in logstash.key -topk8 -nocrypt -out logstash.pkcs8.key
  • logstash配置
# grep -v '^#' /etc/logstash/logstash.yml
node.name: logstash.local
path.data: /var/lib/logstash
path.config: /etc/logstash/conf.d/*.conf path.logs: /var/log/logstash
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.username: logstash_system
xpack.monitoring.elasticsearch.password: TBQOrC23OjbivKfqonMg
xpack.monitoring.elasticsearch.hosts: ["https://node2.elastic.test.com:9200"]
xpack.monitoring.elasticsearch.ssl.certificate_authority: "/etc/logstash/new_certs/ca.crt" # 注意输出的索引名
# grep -v '^#' /etc/logstash/conf.d/nginx.conf input {
beats {
port => 5044
ssl => true
ssl_certificate_authorities => ["/etc/logstash/new_certs/ca.crt"]
ssl_certificate => "/etc/logstash/new_certs/logstash.crt"
ssl_key => "/etc/logstash/new_certs/logstash.pkcs8.key"
ssl_verify_mode => "force_peer"
}
} output {
stdout {
codec => json
}
elasticsearch {
hosts => ["https://node2.elastic.test.com:9200"]
ssl => true
cacert => "/etc/logstash/new_certs/ca.crt"
index => "logstash-%{+YYYY.MM.dd}"
user => "logstash_writer"
password => "1234567890"
}
}
  • filebeat配置
output.logstash:
hosts: ["logstash.local:5044"]
ssl.certificate_authorities: ["/etc/filebeat/new_certs/ca.crt"]
ssl.certificate: "/etc/filebeat/new_certs/filebeat.crt"
ssl.key: "/etc/filebeat/new_certs/filebeat.key"

配置 SSL、TLS 以及 HTTPS 来确保 Elasticsearch、Kibana、Beats 和 Logstash 的安全的更多相关文章

  1. 在 Tomcat 中配置 SSL/TLS 以支持 HTTPS

    本件详细介绍了如何通过几个简单步骤在 Tomcat 中配置 SSL/TLS .使用 JDK 生成自签名的证书,最终实现在应用中支持 HTTPS 协议. 生产密钥和证书 Tomcat 目前只能操作 JK ...

  2. mosquitto ---配置SSL/TLS linux

    mosquitto ---配置SSL/TLS 摘自: https://www.cnblogs.com/saryli/p/9821343.html 在服务器电脑上面创建myCA文件夹, 如在/home/ ...

  3. [转] Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程

    一.HTTPS 是什么? 根据维基百科的解释: 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合 ...

  4. Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程

    一.HTTPS 是什么? 根据维基百科的解释: 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合 ...

  5. Nginx配置SSL证书实现https访问「浏览器未认证」

    http 和 https 介绍 http:应用最广泛的一种网络协议,是一个B/S的request和response的标准,用于从www服务器传输超文本到本地浏览器的传输协议. https:以安全为目标 ...

  6. TOMCAT配置SSL认证为HTTPS协议服务

     1 . 问题概述 很多安全性要求较高的系统,都会使用安全套接字层(SSL)进行信息交换, Sun为了解决在Internet上的实现安全信息传输的解决方案.它实现了SSL和TSL(传输层安全)协议 ...

  7. nginx配置SSL证书实现https服务

    在前面一篇文章中,使用openssl生成了免费证书 后,我们现在使用该证书来实现我们本地node服务的https服务需求.假如我现在node基本架构如下: |----项目 | |--- static ...

  8. Nginx配置SSL证书部署HTTPS网站(颁发证书)

    一.Http与Https的区别HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高 ...

  9. 阿里云Center OS 6.2 Nginx 配置 SSL/TLS HTTPS配置

    1.通过https://www.startssl.com/ 免费SSL证书 STARTSSL 跟VeriSign一样,StartSSL(网址:http://www.startssl.com,公司名:S ...

随机推荐

  1. ios--NavigationViewController跳转、返回传值

      使用NavigationViewController进行页面跳转时,应该使用pushViewController方法来跳转至下一页面,这样的话,下一页面同样在NavigationViewContr ...

  2. iOS tableView侧滑删除的第三方控件

    (到我的文件中,下载“tableview中cell测滑删除的第三方控件”),使用方法如下: 在tableView中的.m中,设置cell的方法上,事例代码如下,其中,EaseConversationC ...

  3. hadoop 完全分布式集群搭建

    1.在伪分布式基础上搭建,伪分布式搭建参见VM上Hadoop3.1伪分布式模式搭建 2.虚拟机准备,本次集群采用2.8.3版本与3.X版本差别不大,端口号所有差别 192.168.44.10 vmho ...

  4. Scrum 冲刺第一篇

      我们是这次稳了队,队员分别是温治乾,黄思扬,莫少政,余泽端,江海灵 码云地址为:https://gitee.com/sixers/activityWall-Web 一.各个成员在 Alpha 阶段 ...

  5. 当MySQL数据库遇到Syn Flooding

    Syn攻击是最常见又最容易被利用的一种攻击手法,利用TCP协议的缺陷,发送大量伪造TCP连接请求,常用假冒的IP发来海量的SYN包,被攻击的服务器回应SYN+ACK,因为对方是假冒的IP,永远收不到包 ...

  6. python从入门到放弃之守护进程

    # ### 守护进程 默认情况下,主进程要等待所有子进程执行完毕之后,才会关闭程序,释放资源守护进程进行在主进程代码执行结束之后,就直接关闭;守护进程守护的是主进程 语法: 进程.daemon = T ...

  7. Mac Kafka 环境搭建

    1.安装java 注意:kafka 截止发稿日兼容最高版本为1.8 千万不要安装 更高版本 ,我就是安装了12的发现不支持卸载了重装的

  8. linux 广播和组播

    广播和组播 广播,必须使用UDP协议,是只能在局域网内使用,指定接收端的IP为*.*.*.255后,发送的信息,局域网内的所有接受端就能够接到信息了. 广播的发送端代码 #include <st ...

  9. win10企业版LTSC批量激活

    slmgr -ipk M7XTQ-FN8P6-TTKYV-9D4CC-J462D   slmgr -skms kms.03k.org slmgr -ato slmgr -dlv

  10. xSS-Reflected

    反射性(非持久性XSS),藏在URL中 一般用户访问恶意链接执行 Low <?php header ("X-XSS-Protection: 0"); // Is there ...