Centos5
在 CentOS 上,rpcinfo 在以 root 身份執行時使用了不尋常的源埠
在 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 中)。
我的問題:
- 有誰知道為什麼會發生這種行為的原因?以非 root 使用者身份執行時,rpcinfo 命令可以從臨時埠正常執行。
- 這種行為是否存在任何潛在的安全漏洞?我的直覺說不,因為它只有在以 root 身份執行時才會發生。
這是有安全原因的。為了防止任何使用者修改 rpc 映射,portmap/rpcbind 要求請求來自特權使用者。通過使用源埠 < 1024,rpcinfo 可以證明請求是由 root 發送的。