博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[svc]logstash和filebeat之间ssl加密
阅读量:5252 次
发布时间:2019-06-14

本文共 3035 字,大约阅读时间需要 10 分钟。

cfssl生成证书

wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -O     /usr/local/bin/cfsslwget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -O      /usr/local/bin/cfssljsonwget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -O /usr/local/bin/cfssl-certinfochmod +x /usr/local/bin/cfssl*cd;mkdir keys;cd keyscat > ca-config.json <
ca-csr.json <
app-csr.json <

可以看到san里包含了n1 和 n2的ip. 这里计划logstash(的ip)和filebeat(的ip)使用同一套证书

实验环境

806469-20171224101505271-857910381.png

logstash&filebeat之间传数据-明文

logstash配置

cat > pipeline.conf <
5044 } stdin { codec => "json" }}output { stdout { codec => rubydebug }}EOFbin/logstash -f pipeline.conf --config.reload.automatic

filebeat多输入(不能多输出)参考:

cat > filebeat.yml <

测试文字

helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld helloworld

wireshark抓包: 不加密的时候,可以看到这玩意依稀可以看到依稀传输内容,如果互联网传输的话会有隐患.

806469-20171224101209146-458609802.png

logstash&filebeat之间传数据-ssl加密

  • logstash配置ssl

参考:

cat > pipeline.conf <
5044 ssl => true ssl_certificate_authorities => ["/root/keys/ca.pem"] ssl_certificate => "/root/keys/app.pem" ssl_key => "/root/keys/app-key.pem" ssl_verify_mode => "force_peer" } stdin { codec => "json" }}output { stdout { codec => rubydebug }}EOFbin/logstash -f pipeline.conf --config.reload.automatic
  • filebeat配置ssl
filebeat.prospectors:- type: log  enabled: true  paths:    - /tmp/ma.txt    output.logstash:  hosts: ["192.168.1.12:5043"]output.logstash.ssl.certificate_authorities: ["/root/keys/ca.pem"]output.logstash.ssl.certificate: "/root/keys/app.pem"output.logstash.ssl.key: "/root/keys/app-key.pem"output.console:  pretty: true  ./filebeat -e -c filebeat.yml -d "publish"

wireshark抓包: 看不到任何传输内容,依稀看到证书的subject(公开的).

806469-20171224101308912-872436410.png

报错doesn't contain any IP SANs

2017/12/24 02:33:59.242540 output.go:74: ERR Failed to connect: x509: cannot validate certificate for 192.168.1.11 because it doesn't contain any IP SANs2017/12/24 02:34:15.289558 output.go:74: ERR Failed to connect: x509: cannot validate certificate for 192.168.1.11 because it doesn't contain any IP SANs

ssl验证流程:

806469-20171224103952928-506861902.png

报错原因: 我生成证书请求的时候 hosts字段(即san)为空.

cd /root/keyscat > app-csr.json <

转载于:https://www.cnblogs.com/iiiiher/p/8097446.html

你可能感兴趣的文章
无锁编程笔记
查看>>
jquery mobile
查看>>
如何在vue单页应用中使用百度地图
查看>>
P1192-台阶问题
查看>>
一、使用pip安装Python包
查看>>
spring与quartz整合
查看>>
Kattis之旅——Eight Queens
查看>>
3.PHP 教程_PHP 语法
查看>>
Duilib扩展《01》— 双击、右键消息扩展
查看>>
利用Fiddler拦截接口请求并篡改数据
查看>>
python习题:unittest参数化-数据从文件或excel中读取
查看>>
在工程中要加入新的错误弹出方法
查看>>
PS 滤镜— — sparkle 效果
查看>>
网站产品设计
查看>>
代理ARP
查看>>
go 学习笔记(4) ---项目结构
查看>>
java中静态代码块的用法 static用法详解
查看>>
Java线程面试题
查看>>
Paper Reading: Relation Networks for Object Detection
查看>>
day22 01 初识面向对象----简单的人狗大战小游戏
查看>>