证书注释

虚拟服务器认证证书(/etc/pki/tls/certs/logstash-*.crt)和私钥(/etc/pki/tls/private/logstash-*.key)被包含在镜像中。

注意-对于Logstash 2.4.0,必须使用PKCS×8格式化的私钥(参见版本变化

证书被分配给主机名*,这意味着它们都将工作,如果你从客户端使用一个单一的部分(即没有点)域名来引用服务器。

示例-在客户端(例如Filebeat)中,将日志发送到主机名elkelk.mydomain.com将不会(产生错误:x509: certificate is valid for *, not elk.mydomain.com)是有效的,IP地址(如192.168.0.1)也不会(x509: cannot validate certificate for 192.168.0.1 because it doesn't contain any IP SANs)。

如果你不能使用单个域名,那么你可以考虑:

下面的命令将生成一个私钥和一个10年的自签名证书,该服务器以主机名elk发送给Beats输入插件:

$ cd /etc/pki/tls
$ sudo openssl req -x509 -batch -nodes -subj "/CN=elk/" \
    -days 3650 -newkey rsa:2048 \
    -keyout private/logstash-beats.key -out certs/logstash-beats.crt

作为另一个例子,当在一个集群中运行一个非预定义数量的容器时,它的主机名直接在.mydomain.com域(例如,elk1.mydomain.comelk2.mydomain.com等);而不是elk1.subdomain.mydomain.comelk2.othersubdomain.mydomain.com等),您可以创建一个证书。通过使用下面的命令分配给通配符主机名*.example.com(所有其他参数与前面示例中的所有参数相同)。

$ cd /etc/pki/tls
$ sudo openssl req -x509 -batch -nodes -subj "/CN=*.example.com/" \
    -days 3650 -newkey rsa:2048 \
    -keyout private/logstash-beats.key -out certs/logstash-beats.crt

为了使Logstash使用生成的证书对Beats客户机进行身份验证,扩展ELK镜像以重写(例如使用Dockerfile指令ADD):

  • 证书(logstash-beats.crt) 路径/etc/pki/tls/certs/logstash-beats.crt.

  • 私钥(logstash-beats.key) 路径/etc/pki/tls/private/logstash-beats.key

另外,请记住配置Beats客户端以使用证书文件管理器信任新创建的证书,如在使用Filebeat转发日志中所示。

results matching ""

    No results matching ""