這可能取決於dns解析度+高速緩存,這也可能在公證服務器上發生。如果您解析www.facebook.com,通常會獲得一個IP地址。但是,隨著時間的流逝,此IP會發生變化,並可能導致您進入其他地方。
我只是做了一個快速檢查,確實更改了為我提供的www.facebook.com IP地址,並且證書信息也有所不同。
幾分鐘後,我收到了www.facebook.com的3個不同IP地址: 69.171.229.16
, 69.171.234.80
, 69.171.228.40
為每個IP獲取SSL證書會產生不同的證書。但是,即使對於相同的IP地址,證書也不一致。對這些幾分鐘我接收到的至少兩個證書:
----- BEGIN CERTIFICATE ----- MIIDzDCCAzWgAwIBAgIQPAjP7r6f68QrsT7gPWIL3zANBgkqhkiG9w0BAQUFADCBujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVyaVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2VydmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMgSW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0xMTExMTcwMDAwMDBaFw0xMjA3MTMyMzU5NTlaMGoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRIwEAYDVQQHEwlQYWxvIEFsdG8xFzAVBgNVBAoTDkZhY2Vib29rLCBJbmMuMRkwFwYDVQQDExB3d3cuZmFjZWJvb2suY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4e9C0eD3zy0YR829bH7fd3PGGDp / 3Rd7UR65Q + jcsRoLZaer9k9tPEOd5ZmWR1MTzwVEmZ94fhoWf219K2Nx / v7fQaWYh5U0DETUobkDfR4zBAe + oMuFDIGrhEkUEdlWUOcpvScrtzRjRLyikTc4twjRlpB5RdnGGFopwCRTNMwIDAQABo4IBIDCCARwwCQYDVR0TBAIwADBEBgNVHSAEPTA7MDkGC2CGSAGG + EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwPAYDVR0fBDUwMzAxoC + gLYYraHR0cDovL1NWUkludGwtY3JsLnZlcmlzaWduLm NvbS9TVlJJbnRsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwCwYDVR0PBAQDAgWgMCkGA1UdEQQiMCCCEHd3dy5mYWNlYm9vay5jb22CDGZhY2Vib29rLmNvbTA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLnZlcmlzaWduLmNvbTANBgkqhkiG9w0BAQUFAAOBgQANiGfuAUQqkUZiD2cozCmb
7 + e6vK5yzc / 3o / zAd + QBydo7dkPo / t8nIHUfGxcAKUICjAzH / j3FDykK3bupFvBWD4GoU6qVvNFgH8ucYWMNbxsknN / s3lcFryIGZYFcsYuPEB / rbBEEK預> ----- BEGIN CERTIFICATE ----- / 3Rd7UR65Q + jcsRoLZaer9k9tPEOd5ZmWR1MTzwVEmZ94fhoWf219K2Nx / v7fQaWYh5U0DETUobkDfR4zBAe + oMuFDIGrhEkUEdlWUOcpvScrtzRjRLyikTc4twjRlpB5RdnGGFopwCRTNMwIDAQABo4H0MIHxMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwA YYYaHR0cDovL29jc3AudmVyaXNpZ24uY29tMAkGA1UdEwQCMAAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXAzAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly9TVlJJbnRsLWNybC52ZXJpc2lnbi5jb20vU1ZSSW50bC5jcmwwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAsGA1UdDwQEAwIFoDANBgkqhkiG9w0BAQUFAAOBgQAwUGokl1919Kf6YPDKuoF + k7CFm + j2YtZqw4ilP9166qkM8IDWyYa87MB084WXSyfS1VnT5FSwzjP37 + QxgjRaROuWGxfY25KebCQpoBW2PJp3S1JmqHHyxjk4mzr + tzWK0Qn + tlBUy9igtkIhVybjO + AxBZve1qyJIsVraz8wrw == ----- END CERTIFICATE ----- 代碼>
Facebook的可能有一些優先級的列表,它的IP地址的DNS問題,然後在訪問任何一個Facebook IP地址時(通過其負載平衡器)命中的SSL端點。他們的基礎架構設置可能會“偏愛”某些端點,而不是另一些端點(也許它們在一個端點上擁有比其他端點更強大的硬件),這就是為什麼您通常會看到一個指紋,而偶爾看到另一個指紋的原因。
更新:
p>
更具體地回答您的其他問題:
這是否可以提高安全性?
我認為可以,但是主要是在您說“安全性”時考慮的是可用性而不是機密性或完整性。 '。如果一個證書過期/由於其他任何原因需要吊銷/需要替換,則您還有另一個可以完全正常運行且可以使用的證書。
跟踪哪個服務器的證書看上去很繁瑣,這種方法真的值得嗎?它甚至沒有可擴展性,因為證書在單個區域集群中是不同的
這可能有點乏味,但我敢肯定,這只是facebook必須處理的繁瑣任務的一小部分宏偉的計劃。這值得麼?我想是這樣,我說Facebook這樣做是有原因的(如上所述,我主要是出於可用性考慮)。我想它不是在服務器上運行,而是某種功能強大的專用SSL加速器/端點集群。那些服務器將處理SSL流量,然後與某些前端Web服務器進行反向代理通信(無需擔心證書)。
如何僅保留備用證書以防萬一?洩漏?從安全的角度來看,保留它們而不是全部部署似乎更好:如果一個洩漏了,為什麼不洩漏?
是的,使一些備用證書脫機是一個非常好的主意,並且不知道我敢打賭Facebook也可以這樣做。擁有多個在線證書也並不與擁有幾個脫機證書互斥。您假設他們部署了所有這些,但事實並非如此。還建立了邏輯聯繫,如果一個洩漏,其他洩漏則需要更多的事實。如果他們具有良好的安全性以隔離事物,那麼一個折衷方案不會立即鏈接到另一個折衷方案。例如,他們可以在不同的服務器操作系統上使用來自不同供應商的不同HSM,由一組單獨的防火牆保護並由完全獨立的團隊進行管理。