filebeat传输到logstash通过ssl加密

filebeat端

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

注:linux如果装了openssl不知道位置的话,可以root账户切到根目录,使用find -name openssl.cnf 查找openssl的安装路径。我用的centos7,已存在openssl,存放目录是./etc/pki/tls/openssl.cnf。这一步是必须要验证的,否则配置完成后会出现

cannot validate certificate for 10.10.11.109 because it doesn't contain any IP SANs  的错误。

此配置针对于没有域名的主机,如果有域名则省略第一步,不需要在openssl.cnf加入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"

 

你可能感兴趣的:(filebeat传输到logstash通过ssl加密)