使用特權埠的 SSH 最佳實踐
我在 Centos 7.7 上使用 cPanel,我對文件中的這個註釋有點困惑:
我們建議您使用其他服務目前不使用的特權埠 1 - 1023。只有 root 使用者可以綁定到埠 1 - 1023。任何人都可以使用 1024 和更大的非特權埠。
我不確定這句話意味著什麼——SSH 預設使用埠 22。但建議將埠更改為其他埠。
埠 22 已經是特權埠,但是如果我將其更改為 483 與 2022 就上述說明而言有什麼區別?無論我將其更改為哪個埠,任何人仍然可以通過 SSH 連接到該埠。
我不確定這句話意味著什麼——SSH 預設使用埠 22。但建議將埠更改為其他埠。
我不是這樣讀的——他們只是說你可以隨意更改 SSH 守護程序正在偵聽的埠。
埠 22 已獲得特權
是的。
但是如果我將其更改為 483 與 2022 有什麼區別
幾乎沒有,除了我知道的所有 SSH 客戶端 - OpenSSH、Putty、dbclient 預設情況下會嘗試使用埠 22,因此您必須在使用非標準埠連接到主機時手動提供埠號,但您可以將埠號保存在配置中,這是一項一次性工作。從實際的角度來看,有些人更喜歡將 SSH 守護程序設置為分別偵聽埠 80 或 443 以分別假裝 HTTP 或 HTTPS,這樣 SSH 連接就不會被酒店、機場等過熱的防火牆阻止。
關於上述說明?無論我將其更改為哪個埠,任何人仍然可以通過 SSH 連接到該埠。
我認為這
Anyone can use the unprivileged ports of 1024 and greater.
意味著本地非 root 使用者可以使用非特權埠進行服務。這不是關於從外部連接到在給定埠上偵聽的服務,而是關於指導本地服務使用該埠。至於為什麼他們建議為 SSH 服務使用特權埠 - 原因是:低於 1024 的 TCP/IP 埠號的特殊之處在於普通使用者不允許在其上執行伺服器。這是一項安全功能,因為如果您在其中一個埠上連接到服務,您就相當確定您擁有真實的東西,而不是某些黑客為您提供的假貨。
(來自 http://info.cern.ch/hypertext/WWW/Daemon/User/PrivilegedPorts.html)
要進一步擴展它 - 正如在 ServerFault 的這些評論中所討論的那樣:
這正是你不應該在 1023 以上的埠上執行特權守護程序的原因。任何使用者(本地或遠端)都可以對它進行 DDoS 攻擊,直到它崩潰,然後是本地使用者(即 PHP、Apache、MySQL,任何具有遠端執行漏洞的使用者) ) 可以在同一個埠上啟動它自己的守護程序,然後等待你連接。