Centos5

在 CentOS 上,rpcinfo 在以 root 身份執行時使用了不尋常的源埠

  • November 4, 2015

在 CentOS 5.10 上使用 rpcinfo 命令進行一些測試時,我注意到一個有趣的特性。以root執行時,連接發生後,查看socket表netstat -natup顯示連接的源埠小於1024;我見過低至 885 和高至 923 的值。如果您以非特權使用者身份執行,則*不會發生此行為;*在這種情況下,您的源埠是普通的臨時埠。我正在執行 glibc-common-2.5-118.el5_10.2 RPM 中打包的 rpcinfo 版本。

我還在 CentOS 7.0.1406 中驗證了這種行為(rpcinfo 打包在 rpcbind-0.2.0-23.el7.x86_64 中)。

我的問題:

  1. 有誰知道為什麼會發生這種行為的原因?以非 root 使用者身份執行時,rpcinfo 命令可以從臨時埠正常執行。
  2. 這種行為是否存在任何潛在的安全漏洞?我的直覺說不,因為它只有在以 root 身份執行時才會發生。

這是有安全原因的。為了防止任何使用者修改 rpc 映射,portmap/rpcbind 要求請求來自特權使用者。通過使用源埠 < 1024,rpcinfo 可以證明請求是由 root 發送的。

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