Security

綁定到埠 < 1024 是否仍然只有 Unix 系統上的 root 權限?

  • August 23, 2009

在 Unix 系統上,拒絕從沒有 root 特權的程序綁定到 tcp 埠 < 1024。

最初的原因是什麼,它仍然有效嗎?

例如http伺服器不需要root權限來服務html頁面。

Unix 使用者需要什麼程序/協議來確保它以 root 特權執行?

謝謝

該埠範圍不應該是程序員定義的。

由 IANA 保留

眾所周知的埠是從 0 到 1023 的埠。

DCCP 眾所周知的埠不應該在沒有 IANA 註冊的情況下使用。註冊程序定義在

$$ RFC4340 $$,第 19.9 節。

對於不同的意見檢查,

  1. 來自linuxquestions 執行緒(在連結中閱讀更多上下文)

埠 1024 限制實際上咬住了自己的尾巴。它強制執行可能會打開安全漏洞的守護程序實踐,從而使限製作為安全措施無效。

> > 一些核心系統服務通過遠端過程呼叫 (RPC) 為客戶端組件提供遠端介面。它們主要通過命名管道端點公開,這些端點可通過通用 Internet 文件系統 (CIFS) 協議、眾所周知的 TCP/UDP 埠以及在某些情況下臨時 TCP/UDP 埠訪問。從歷史上看,服務中存在許多可以被匿名使用者利用的漏洞。當被利用時,這些漏洞為攻擊者提供了與服務在主機上相同的權限。 > > >


如今,像BitTorrentSkype這樣的協議已經通過臨時埠轉移到了未保留的空間中,並且不再需要 root 訪問。目標不僅僅是繞過這個舊的保留埠安全性;今天的協議甚至想要繞過網路邊界(Skype 就是一個很好的例子)。隨著網路頻寬和可用性的增加,當每個電腦使用者都可能自己執行 Web 伺服器時,事情會更進一步——並且可能不知不覺成為 殭屍網路的一部分。


我們需要這些舊方法所需的安全性,

但現在需要用更新的方法來完成。

引用自:https://serverfault.com/questions/38461