При тестировании с помощью команды rpcinfo в CentOS 5.10 я заметил интересную особенность. При запуске от имени root после установления соединения просмотр таблицы сокетов с помощью netstat -natup
показывает, что исходный порт соединения меньше 1024; Я видел значения от 885 до 923. Такое поведение не возникают, если вы работаете как непривилегированный пользователь; ваш исходный порт в этом случае является обычным временным портом. Я использую версию rpcinfo, упакованную в RPM glibc-common-2.5-118.el5_10.2.
Я также проверил это поведение в CentOS 7.0.1406 (rpcinfo упакован в rpcbind-0.2.0-23.el7.x86_64).
Мои вопросы:
Кто-нибудь знает причину такого поведения? Команда rpcinfo отлично работает с временного порта при запуске от имени пользователя без полномочий root.
Есть ли в этом поведении потенциальная уязвимость системы безопасности? Мой инстинкт говорит «нет», так как это происходит только при запуске от имени root.
Для этого есть причина безопасности. Чтобы запретить любому пользователю изменять сопоставление rpc, portmap / rpcbind требует, чтобы запросы исходили от привилегированного пользователя. Используя исходный порт <1024, rpcinfo может подтвердить, что запросы отправляются root.