2010-06-15 61 views
4

我一直在試用OpenID,並設置了一個示例網頁以使用我的OpenID帳戶進行訪問。我使用的是Php OpenID Library by Janrain,它不適用於我的Google帳戶。一個小小的研究使我this question,這表明問題是,谷歌使用https和...PHP OpenID不適用於Google/Yahoo和'黑客'修復它...他們安全嗎?

...很可能作出HTTPS請求是borked你的PHP服務器上安裝。檢查並確保安裝了ca-certificates包。

在同一個線程中,有人鏈接到我已部署並用於Google帳戶的hacked version of the library。其他問題有其他自定義來解決類似的問題(Janrain’s PHP-OpenID and Google/Yahoo,php-openID doesn’t work with Yahoo!,Example usage of AX in PHP OpenID ...)

我對安全性不太熱,所以我問;有誰知道不使用這些被黑客入侵版本的理由嗎?

原始圖書館有什麼缺點,這些黑客修復設計,因此黑客是一個潛在的安全漏洞?

是否有合格的加密ifier在那裏誰也看着這些解決方案,並走了

如果是「通過戴維·肖姆的鬍子NO !!!」 - 我因此不應該使用任何這些黑客 - 我將如何檢查我是否「安裝了ca-certificates包」?

回答

6

以下是這些「破解」版本之一的作者寫道:

特別CURLOPT_SSL_VERIFYPEER 和CURLOPT_SSL_VERIFYHOST是真正的由 默認:我將它們設置爲false,它 供職的測試頁!

這個效應幾乎否定了使用HTTPS提供的安全優勢。 HTTPS在OpenID中非常有用的主要原因是它可以防範中間人攻擊,即某些壞人毒害了你的DNS緩存,將所有請求發送到bad-guys.example。使用正確配置的HTTPS,您可以驗證連接上的證書,發現它不是來自Google,並說「我不會相信你說的任何話,bad-guys!「

除非,當然,你不驗證任何證書(您設置的所有SSL_VERIFY選項false),在這種情況下,你的服務器會相信一切bad-guys說,就好像它是真正的谷歌提供。你能想象怎麼可能是壞的。

現在,坦率地說,這還不是最糟糕的選擇你可以做,因爲它沒有比只使用HTTP,其中有很多人做反正糟糕。你只是lying to your users如果你意味着你不提供HTTPS級別的安全性。

而且還有很多那裏有關於它是多麼容易或不是做基於dns的攻擊的信息,或者是多麼容易forge SSL certificates。無論哪種方式,它確實需要有人攻擊你的服務器和Google之間的連接,這通常是比攻擊咖啡店中的用戶膝上型計算機和你的服務器之間的連接更難。

但是,實際修復您的PHP或CURL SSL配置仍然更好。或者,如果您不這樣做,請在註冊HTTPS標識符時提醒用戶,以便他們可以選擇是否真的想在您的站點中使用該OpenID。

這導致你的第二個問題。我想,不知道你正在使用哪個服務器平臺,我能做的最好的事情就是將你鏈接到Curl docs on SSL certificates;請參閱「獲取更好/不同/更新的CA證書包」一節。

-1

有沒有人知道一個理由不 使用這些被黑客入侵的版本?

除了被黑客入侵的版本,這些版本很可能沒有記錄,並且不能保證他們的行爲?

我無法專門回答,但是在使用已應用快速修復和解決方法的模塊(尤其是在處理授權和安全性的模塊)時,應該有一些警告燈閃爍。我認爲最好的建議將是「自負風險!」

我敢肯定,對這個話題有更多知識的人很快就會到來,並有更多的答案。

+0

+1雖然這不能回答我的問題,但它完美地反映了我的擔憂。 – 2010-06-15 18:04:23

+0

我很擔心張貼它,但我認爲如果我提出這個問題的話,我會這麼擔心的安撫:)正如我所說,希望有一些更具體的知識淵博的人會很快出現。 – Jeriko 2010-06-15 18:18:16

0

從維基百科的文章上Certificate Authority

CA發行包含一個公鑰和所有者的身份數字證書。當最終用戶嘗試訪問未知的URL時,Web瀏覽器(例如Mozilla Firefox和Microsoft Internet Explorer)將聯繫CA以確認URL的公鑰。

...所以CA證書是用於通過https://進行通信的Public Key Certificate。您的服務器應該在文件系統上有某個CA證書。如果沒有,您必須自己下載CA證書,並將CURLOPT_CAINFO設置爲常數以指向其位置。 See this article

http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/

相關問題