filebeat传输到logstash通过ssl加密

**【filebeat->>logstash通过ssl加密】**

filebeat端

1、配置openssl.cnf文件
       在[ v3_ca ]下面加入
            subjectAltName = IP:本机的IP
2、配置证书和密钥

      mkdir -p pki/tls/certs
      mkdir -p pki/tls/private

      openssl req -subj '/CN=YOURIP/' -x509 -days $((100 * 365)) -batch -nodes -newkey rsa:2048 -keyout pki/tls/private/filebeat.key -out pki/tls/certs/filebeat.crt

3、将生成的证书和密钥copy到logstash端生成的证书和密钥的文件夹内
4、配置filebeat.yml文件

     ssl.certificate_authorities:  ["logstash端传来的证书所在位置"]
     ssl.certificate: "本端生成的证书所在的位置"
     ssl.key: "本端生成的密钥所在的位置"

logstash端

1、配置openssl.cnf文件
       在[ v3_ca ]下面加入
            subjectAltName = IP:本机的IP
2、配置证书和密钥

     mkdir -p pki/tls/certs
     mkdir -p pki/tls/private

     openssl req -subj '/CN=YOURIP/' -x509 -days $((100 * 365)) -batch -nodes -newkey rsa:2048 -keyout pki/tls/private/logstash.key -out pki/tls/certs/logstash.crt

3、将生成的证书和密钥copy到filebeat端生成的证书和密钥的文件夹内
4、修改logstash的配置文件

       ssl => true
       ssl_certificate_authorities => ["filebeat端传来的证书所在位置"]
       ssl_certificate => "本端生成的证书所在的位置"
       ssl_key => "/本端生成的密钥所在的位置"
       ssl_verify_mode => "force_peer"

ps:此配置针对于没有域名的主机,如果有域名则省略第一步,不需要在openssl.cnf加入ip,但如果您没有域名,只能使用ip的话,就必须采取一下配置。如有建议欢迎沟通

你可能感兴趣的:(elk)