題:
當主機通過電子郵件向我發送SSL證書請求的私鑰時,我應該拒絕CSR嗎?
scipilot
2017-04-12 17:16:53 UTC
view on stackexchange narkive permalink

我剛剛從共享的Web託管提供商處請求了CSR,以生成證書,然後將其發送回給他們進行安裝。 (證書本身應由我工作的組織正確生成,該組織可以為我們提供供官方使用的證書。)託管公司及時向我發送了CSR和私鑰!他們甚至還抄送了別人,而且它在Gmail中,因此Google可能已經出於廣告目的將其攝取了。

在我的拙見中,這似乎是一件可怕的事情。我要寫信給他們,拒絕這個,並要求更新CSR,這次保留私鑰-私有。

在愚弄自己之前,我想確認一下“ SSL”(TLS)證書的私鑰永遠不應該離開服務器嗎?

我已經從事與安全相關的行業很多年了,曾經是一名加密程序員,所以我覺得我對這個主題有點了解-但我知道事情會隨著時間變化。

我已經閱讀了以下相關問題:共享SSL證書的私鑰會引起什麼問題?

元更新:我已經意識到我為Stack Exchange寫了質量很差的問題格式-因為現在很難接受特定的答案。對此表示歉意-所有答案都涵蓋了不同且同樣有趣的方面。我最初確實確實想知道如何為此目的措辭,但是卻留了空白。將來的私鑰“安全”,並向我發出了新的,不同的CSR。我目前不確定它是否是從相同的公開私鑰生成的。我現在還想知道,因為它是共享主機,所以他們是否已將整個服務器的密鑰發送給我,還是每個客戶/域/虛擬主機都獲得了密鑰對。

這是一個有趣的課程一個簡單的人為錯誤就可以使世界上的加密強度失效。凱文·米特尼克(Kevin Mitnik)會點頭。

更新2: 響應用戶@Beau的回答,我使用以下命令來驗證第二個CSR是從另一個私鑰生成的。

  openssl rsa -noout -modulus -in pk1。 txt | openssl md5openssl req -noout -modulus -in csr1.txt | openssl md5openssl req -noout -modulus -in csr2.txt | openssl md5  

前兩個哈希是相同的,第三個是不同的。那真是個好消息。

_“而且它在Gmail中,因此Google可能已經出於廣告目的而攝取了它。” _您意識到Google運行自己的CA,並且可以將他們喜歡的任何CA證書插入Chrome嗎?在這種情況下,Google可能是最不感興趣/最不感興趣的一方之一。
是的,我不擔心Google本身(我將生命託付給他們!),只是強調了我們的個人內容如今所經歷的額外旅程,即使顯然已經到達了目的地。
私鑰是否已加密?
@DavidSchwartz不,它沒有出現。
抱歉,我沒有對此發表評論-我的代表人數不足。但是您可以使用一些openssl命令將新的CSR與原始私鑰進行比較:https://www.sslshopper.com/certificate-key-matcher.html。如果每個的模數不同,那麼您就可以了。不過,我不確定我是否會信任供應商的安全實踐。畢竟,安全性完全與信任有關。
Beau非常有用-我用這些命令來證明它們提供的新CRS是用不同的私鑰生成的-這是個好消息,因為我也不必拒絕它。
抱歉,我認為寫觀點問題是我的錯-這個問題正在成為一份有價值的Wiki文章:)
順便說一句,sslshopper.com頁面上有一個“上傳私鑰”字段,非常(不)有趣!並強烈警告不要使用它。
在這一點上,轉向*真正了解*私鑰*性質的公司可能更有意義,恕我直言。證書發行者通過電子郵件愉快地將私鑰發送給多個收件人的*似乎*不知道它在做什麼,並且表明自己不稱職。使用[certbot](https://certbot.eff.org/)是否有問題?這就是我用於服務器的內容。
Google對@BaileyS的公司可能不感興趣,但是對擁有電子郵件服務器訪問權限的Google員工戴夫可能會感興趣。在某些情況下,Google員工會在濫用員工的Gmail帳戶之前濫用其訪問權限
@Pharap高度重視個人私人信息的價值。確實,沒有人會在乎您可能擁有的秘密,Facebook暗戀,聊天記錄以及存儲在WhatsApp備份中的可能內容。很難承認我們並不那麼有趣,而且我們大多數人只是普通的無聊。真正的價值來自海量的匯總數據,與數據集相比,您的個性化為虛無。除非您當然是普京最熱衷的青少年女友或F500首席執行官,否則我們的個性化私人數據就是不值得的。
@hlecuanda好。[這個人](http://gawker.com/5637234/gcreep-google-engineer-stalked-teens-spied-on-chats)當然是。我很高興聽到與五角大樓黑客朋友的基於gmail的通信是安全的。不過,我一定會告訴貝蒂注意的,可能有人意識到她與酒店負責人安排了哪個國家元首。
六 答案:
dr_
2017-04-12 17:52:09 UTC
view on stackexchange narkive permalink

是的,您絕對應該拒絕CSR。此外,您應該更改託管服務提供商,因為他們似乎不知道自己在做什麼。

已經很糟糕了,他們通過電子郵件(即通過不安全的介質)向您發送了私鑰。但是,他們也將其抄送給其他人,這完全違反了機密性。

此外,我想知道為什麼為什麼向您發送私鑰-應該將其安裝在服務器上,這是他們可以自己執行的操作。

他們抄送了該帳戶上的其他聯繫人(非技術人員)。是的,我想知道為什麼呢,那真的是我的問題。仍然沒有理由-只要確保我沒有在這裡錯過備忘錄即可。
好的,所以這不像他們將私鑰發送給您不認識的人。重點仍然成立。
@dr01當然可以。所有郵件過程中想要讀取的郵件服務器管理員,路由器管理員和防火牆管理員。
@DRF我的意思是“自願地”向第三方披露了私鑰。
我想知道私鑰是否用於整個共享服務器,在這種情況下,您不僅可以模擬您的域,還可以模擬使用同一服務器的其他任何人。
@dr01我認為,如果您通過電子郵件發送信息,除非對其進行加密,否則您會自願將其披露給它反彈的每台計算機,直到到達目的地為止。
+1告訴OP切換供應商,該供應商已經證明了其對自己領域的無知。
@AaronHall僅當您知道電子郵件的工作方式時才自願這樣做,否則它是幸福的無知。我認為我們已經解決了託管服務提供商由不稱職的人運營的問題。
vakus
2017-04-12 17:40:50 UTC
view on stackexchange narkive permalink

如果我在您的位置,我將拒絕接受此SSL證書。原因是,如果有人闖入了收到私鑰的任何一封電子郵件,他們便可以下載該私鑰,然後假冒該私鑰。服務器在對客戶端的攻擊中受到不同的攻擊,例如中間人或類似攻擊者。另外,如果接收電子郵件地址之一寫有誤,則可能有人已經擁有私鑰。可能還有許多其他場景,攻擊者可能會下載並使用此私鑰。

另外,通知公司有關不共享私鑰的信息也很重要,以確保公司不會已將私鑰發送到其他任何地方-私鑰已發送給您,以及此電子郵件中的其他抄送,但您不知道該公司是否未在其他地方發送帶有私鑰的單獨電子郵件。

將私鑰稱為私鑰是有原因的

請注意,這主要是我的個人觀點,並且我不是SSL專家。

是的,關於教育他們的好點。
在這一點上,切換到真正了解私鑰性質的公司會更有意義嗎?證書發行者通過電子郵件愉快地將私鑰發送給多個收件人的人*不*似乎不知道它在做什麼,並且顯示自己不稱職,恕我直言。
如果您更換公司,@ray將會很安全,但是如果您要培訓他們,則他們的所有客戶都將很安全。如果教育他們無濟於事,那是的,換公司是明智的,但是在這一點上,顯而易見
@vakus如果您想投資於教育一個本應更加了解的人,那取決於您。只需記住,在公司外部您會看到不良的安全實踐,這暗示了您可能從未發現過的更深層次的問題(例如,您如何知道他們沒有將密匙密抄到其他地址,或更糟?),因此無法對他們進行教育。您需要確定打算“吸引”客戶的風險有多大。對他們進行教育並不意味著您必須繼續作為他們的顧客。離開可能會給他們更大的動力去自我修復
Lie Ryan
2017-04-12 20:25:21 UTC
view on stackexchange narkive permalink

是的,您絕對應該拒絕CSR。

關於是否應重新考慮託管服務提供商,這取決於。

他們甚至抄送了別人,

託管公司為什麼有任何理由應該了解您的內部公司結構?執行此操作的人員是否是專門分配給您公司的指定客戶經理,負責了解誰是您公司的人?貴公司是否向客戶經理提供了有關貴公司的組織結構以及誰有權進行操作的充分介紹?如果不是,那麼可能是您(公司)沒有明確告訴他們應該如何將密鑰發送給您的部分錯誤。

在大多數託管帳戶中,如果您沒有指定的帳戶熟悉您業務範圍的經理,您應該向他們的技術支持非常明確地說明如何將密鑰發送給您,誰應該接收密鑰以及您是否首先希望接收密鑰。不要以為技術支持人員知道您公司的情況,也不要以為不是您指定的客戶經理的技術支持人員來記住您之前的互動。

而且它在Gmail中

您確實意識到通過電子郵件發送CSR也不是很安全嗎?某人(在Gmail或APT中工作的內部人員)很可能會截獲包含CSR的電子郵件,用主機自己的CSR替換主機發送給您的CSR,然後將託管公司的CSR簽名給託管公司。這樣一來,他們就可以在您與您的用戶以及託管公司之間將偽造的證書用於MITM。

必須通過經過身份驗證的渠道交付CSR(例如,他們將證書提交到您控制的HTTPS站點,或者他們應該使用在其站點上發布的GPG密鑰對CSR進行簽名),或者至少您應該做一個指紋驗證,您和您的主機都需要有一種方法來識別和驗證對方。設置經過身份驗證的渠道可能是一個相當複雜的過程,在低成本託管服務提供商或不專門從事高安全性業務託管的提供商中將不可用。

如果您不這樣做,沒有指定您的公司如何要求CSR交付,尤其是如果您沒有由客戶經理來處理,客戶經理應該知道您正在從事哪種業務,那麼大多數託管公司會合理地假設您是最低級別的安全公司。在最低安全性公司工作的大多數人會認為,擁有私鑰的副本要比不控制密鑰的安全性具有更高的價值,讓他們從您那裡承擔責任並非沒有道理。

“某人...截獲包含CSR的電子郵件很有可能”-您是否具有鏈接或更多有關此內容的詳細信息?我正在嘗試遵循這將如何工作。
@Zoredache超級簡單。您在Google工作。您運行腳本以查找Gmail數據庫中最近5分鐘內發送給用戶的未送達電子郵件,其中包含看似私人密鑰的有效內容。您將此電子郵件臨時移到暫存區域,以便不傳遞,然後製作備用有效負載。然後,將帶有惡意有效負載的修改後的電子郵件放回數據庫中,用戶將在其中將其視為又一個預期的良好電子郵件。
HTTPS不會有任何幫助,除非它具有客戶端身份驗證,儘管此時您最好只用客戶端證書對CSR進行簽名並且工作量會減少。交付CSR的唯一安全方法是使用帶外身份驗證。根據您希望的安全性,它可以像打電話,讀取指紋一樣容易,也可以像親自出現一樣煩人。
@ErikE當然,如果發送私鑰會出現問題,但是LieRyan的回答說,僅電子郵件中的CSR就會被濫用。我沒有遵循僅提供CSR的情況下如何使用MITM。除非您認為攻擊者可以攔截CSR並將其設置為MITM,否則所有訪問該證書的服務器都是實際的。
@Zoredache本身傳輸CSR(當然沒有私鑰)不會帶來安全風險。請求者已生成一個他希望綁定到要保護的實體的私鑰-公鑰對(例如,與www.example.com的https網站一起使用),並請可信簽名人簽名並確認公鑰和綁定實體之間存在這種聯繫。確實需要以安全的帶外方式進行,而是由受信任的受保護實體控制的某人發布CSR的驗證過程。
是的,我的確意識到普通電子郵件本身也是不可接受的不安全,只是感覺這些天電子郵件對個人的重視程度越來越小,對第三方訪問的接受更加正常。過去,只有真正的郵局主管/系統管理員才能在排隊時以簡單的傳統電子郵件訪問郵件內容。現在,它變得更加複雜,攻擊面越來越多,潛在訪問者的人數也減少了(我認為)。Gmail也指網絡郵件,例如Ad Block Pro和所有其他瀏覽器插件可能正在“閱讀”我的電子郵件。
這是一個非常好的和原始的觀點,我沒有向他們說明如何提供它。您可能是對的,我將閾值隱式設置為較低。但是我只要求他們提供CSR,我認為這是可以共享的,所以這並沒有提高我的正常意識水平,例如過去,我曾要求主機將憑據保存到我可以(通過SCP)訪問的託管環境中的文件中。
我應該提到抄送人是“帳戶持有人”,而我是“技術聯繫人”,因此他們似乎總是抄送他們。我沒有培訓過這個人,因為我沒想到會遇到問題。
@Zoredache:是的,我指的是也可以設置MITM的人,例如Web主機數據中心/上游網絡路徑中任何系統的管理員,或運行[廣泛使用的公共DNS](https:// developers。google.com/speed/public-dns/)。可以攔截您郵件的人至少可以修改您的電子郵件,使其包含兩個CSR(真實的CSR和偽造的CSR),並告訴您一個合理的掩蓋故事,例如使用冗餘負載平衡器在其中安裝單獨的證書,而HSM不會支持私鑰導出。
“設置經過身份驗證的頻道可能是一個相當複雜的過程”-您是否將keybase.io視為經過身份驗證的頻道?
Peter Green
2017-04-13 02:59:57 UTC
view on stackexchange narkive permalink

在愚弄自己之前,我想確認“ SSL”(TLS)證書的私鑰永遠不會離開服務器嗎?

這取決於離開服務器的充分理由。例如,您可能希望在服務器服務器上使用相同的證書,或者可能希望使用備用密鑰進行密​​鑰固定。

但絕對地,應該將其視為寶貴的秘密,僅存儲在您信任的計算機上,如果確實需要在系統之間移動,則應該以適當的安全方式進行。

我的建議是立即遠離這些小丑。

好一點,我過去也自己做過。我這樣做感到非常緊張,並使用SSH將其直接傳輸到第二台主機。
trognanders
2017-04-13 03:33:08 UTC
view on stackexchange narkive permalink

他們可能希望您擁有完整的密鑰/證書對,以防您想在其他地方使用它。

讓私鑰浮動是一個合理的安全隱患,尤其是如果您不打算使用它時。說明此證書僅適用於託管服務提供商,並請他們重新發布CSR並發送不帶私鑰的證書。驗證CSR指紋是否已更改。

聽起來像他們將證書視為使綠色鎖出現的一種方式,而不是將其視為安全設備,這可能是一個警告信號。如果可能和/或您的網站處理非常敏感的信息,請考慮使用其他託管服務。

Marquis of Lorne
2017-04-13 05:47:10 UTC
view on stackexchange narkive permalink

他們在安全方面完全無能。根據定義,私鑰是錯誤的。它用於合法地識別其所有者。他們使偽造和冒充成為可能。

您應該在自己中生成 後發送他們 CSR em>您的私鑰/公鑰對,並且 they 應該向您發送已簽名的證書及其身份驗證鏈。沒什麼。

如果他們向您發送私鑰和CSR,則它們的整個模型都將失效。

更改提供商,並退還您的錢。最小。他們損害了您的安全,因此可能會提出損失和損壞的訴訟。至少您可以威脅他們,以簡化退款程序。

我敢肯定,它不會_從法律上確定其所有者,只是在技術上。
我認為您在這裡誤解了提供者的角色(除非我有):他們沒有頒發證書,而是將其安裝到OP僅限制訪問的服務器上。OP無法生成密鑰對,因為他們無權將私鑰安裝到Web服務器配置中。如果他們這樣做,*他們*將需要將私鑰*發送給主機*。生成密鑰對並發送CSR的主機似乎絕對是正確的過程,但是他們通過共享私鑰而錯過了重點。
@QPaysTaxes具有私鑰的數字簽名在法律上可以強制執行,因為它完全等同於合同或支票上的個人簽名。
@IMSoP如果有多個人擁有私鑰,則它不是私鑰。如果如此解釋提供者的角色,那將是完全不安全的。完全發送它完全違反了PKI。
@EJP嗯,我不知道。太酷了!出於好奇,您能否援引一項具體的法律/規定?它是全球性的,廣泛的還是特定於美國的?
@QPaysTaxes合法的數字簽名是“目的”。這是在美國,澳大利亞,英國,...公認的法律。...我不是律師,不能提供您所需要的推薦信。
@EJP是的,我明白了。但是您錯過了原始問題的重點,即應該擁有此特定私鑰的人是Web主機。我們都同意他們通過共享來做錯了,但是您關於OP應該生成自己的密鑰對的建議沒有任何意義,因為私鑰必須以服務器配置結尾,只有託管公司才能訪問。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...