2012-07-24 57 views
1

我正在運行與Unicorn和Nginx的Rails 3應用程序。目前,獨角獸以root身份運行,並且由於此行unicorn.rb:我應該將所有獨角獸進程作爲www-data(非root)運行嗎?

user "www-data" 

但我不知道我是否應該只運行的所有進程麒麟作爲WWW的數據。這樣做會有什麼問題嗎?我正在使用文件套接字,因此打開一個端口(< 1024)不是我將遇到的問題。還有什麼我應該注意的?

回答

2

您不應該以root身份運行您的應用程序。這就給了應用程序根權限,這反過來又意味着如果你犯了一個錯誤並且暴露了文件系統,攻擊者就可以擁有根權限而不需要太多的努力。

我避免以www-data或其他共享用戶身份運行。相反,我爲特定的應用程序創建一個用戶併爲他們提供他們自己獨特的權限。就我而言,我在一臺服務器上運行多個應用程序,這可以在一個應用程序受到威脅時增加一層保護。

下面是一些可能出錯的東西很好看的:https://jhalderm.com/pub/papers/dcvoting-fc12.pdf

+0

那麼,你認爲用戶切換麒麟(和其他一些網絡服務器)的功能,應該不存在? – Pablo 2012-07-26 07:52:33

+0

我不喜歡使用它。當涉及到系統管理時,我過於謹慎。誰會期望像回形針這樣的漏洞暴露?這並不是說它們不應該存在,如果系統設置正確,則不應該有必要。 – 2012-07-26 13:02:51

+0

注意:回形針問題已得到解決,我只是用它作爲假設第三方軟件如何安全的示例,可能是一個錯誤。 – 2012-07-26 13:05:00

相關問題