tls 握手失敗。不包含任何 IP SAN
我正在嘗試設置 logstash 轉發器,但在建立適當的安全通道時遇到了問題。嘗試使用在 virtualbox 中執行的兩台 ubuntu(伺服器 14.04)機器來配置它。它們是 100% 乾淨的(除了 logstash 所需的 java、ngix、elastisearch 等之外,沒有觸及 hosts 文件或安裝任何其他包)
我不認為這是一個 logstash 問題,而是證書處理不當或在 logstash ubuntu 或轉發器機器上設置不正確。
我生成了密鑰:
sudo openssl req -x509 -batch -nodes -newkey rsa:2048 -keyout private/logstash-forwarder.key -out certs/logstash-forwarder.crt
我在logstash伺服器上的輸入配置:
input { lumberjack { port => 5000 type => "logs" ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt" ssl_key => "/etc/pki/tls/private/logstash-forwarder.key" } }
密鑰被複製到轉發器主機,它具有以下配置。
{ "network": { "servers": [ "192.168.2.107:5000" ], "timeout": 15, "ssl ca": "/etc/pki/tls/certs/logstash-forwarder.crt" "ssl key": "/etc/pki/tls/certs/logstash-forwarder.key" }, "files": [ { "paths": [ "/var/log/syslog", "/var/log/auth.log" ], "fields": { "type": "syslog" } } ] }
在執行 logstash 伺服器的情況下,我在轉發器機器上**“sudo service logstash-forwarder start”**,給了我以下重複錯誤:
Jul 9 05:06:21 ubuntu logstash-forwarder[1374]: 2014/07/09 05:06:21.589762 Connecting to [192.168.2.107]:5000 (192.168.2.107) Jul 9 05:06:21 ubuntu logstash-forwarder[1374]: 2014/07/09 05:06:21.595105 Failed to tls handshake with 192.168.2.107 x509: cannot validate certificate for 192.168.2.107 because it doesn't contain any IP SANs Jul 9 05:06:22 ubuntu logstash-forwarder[1374]: 2014/07/09 05:06:22.595971 Connecting to [192.168.2.107]:5000 (192.168.2.107) Jul 9 05:06:22 ubuntu logstash-forwarder[1374]: 2014/07/09 05:06:22.602024 Failed to tls handshake with 192.168.2.107 x509: cannot validate certificate for 192.168.2.107 because it doesn't contain any IP SANs
正如我之前提到的,我認為這不是 logstash 問題,而是證書/機器配置問題。問題是,我似乎無法解決它。希望這裡有一些聰明的頭腦可以幫助我嗎?
謝謝
… 無法與 192.168.2.107 x509 握手:無法驗證 192.168.2.107 的證書,因為它不包含任何 IP SAN
SSL 需要辨識對等方,否則您的連接可能會針對中間人,該中間人會解密 + 嗅探/修改數據,然後將它們再次加密轉發給真正的目標。使用 x509 證書進行辨識,這些證書需要針對受信任的 CA 進行驗證,並且需要辨識您要連接的目標。
通常目標以主機名的形式給出,並根據證書的主題和主題替代名稱進行檢查。在這種情況下,您的目標是 IP。驗證證書成功,IP 必須在主題備用名稱部分內的證書中提供,但不是作為 DNS 條目(例如主機名),而是作為 IP。
所以你需要的是:
- 在
/etc/ssl/openssl.cnf
logstash 主機上編輯您的- 添加 部分。subjectAltName = IP:192.168.2.107``[v3_ca]
- 重新創建證書
- 將證書和密鑰複製到兩台主機
PS 考慮
-days 365
在證書創建命令行中添加或更多,因為預設證書有效期僅為 30 天,您可能不想每個月都重新創建它。