513 的两个身份
513 是双面端口:TCP 归属于 login,也就是 rlogin 远程登录(r-services 之一);UDP 归属于 who,对应 rwhod——把本机的登录用户信息按周期广播给同网段主机,供 who 命令汇总全网状态。两者都属于早期 Unix 的信任模型,rlogin 用 .rhosts 与 hosts.equiv 判断“主机可信即放行”,没有可靠的用户级认证,现代发行版默认不安装。
基本信息
| 服务 | login(513/tcp)、who(513/udp) |
|---|---|
| 协议 | TCP / UDP |
| 背景 | r-services 与 rwhod |
| 替换方案 | SSH 与集中式状态或监控采集 |
| 安全等级 | 均应弃用,不应出现在生产资产中 |
典型使用场景
- 资产清查:确认是否仍有主机在监听 512、513、514 等 r-services 端口
- 配置清理:检查 .rhosts 与 hosts.equiv 中是否残留通配信任行
- 旧系统迁移:把远程登录替换为 SSH 与密钥或证书认证
- 广播排查:识别网络中长期存在的干扰性广播流量
- 安全评估:把 r-services 列为内网横向移动的经典路径
r-services 三件套
| 端口 | 服务 | 性质 |
|---|---|---|
| 512 | rexec | 远程执行,明文传输 |
| 513 | rlogin(TCP)/ rwhod(UDP) | 远程登录 / 状态广播 |
| 514 | rsh(TCP)/ syslog(UDP) | 远程 shell / 系统日志 |
| 513/udp | who 状态广播 | 默认按分钟级周期发送 |
遗留信任配置核查
遗留信任配置核查
ss -lntu | grep -E ':(512|513|514) '
grep -rE '^\+' /etc/hosts.equiv ~/.rhosts 2>/dev/null # 通配信任行值得关注
ls -l /etc/hosts.equiv ~/.rhosts 2>/dev/null
# 替换路径:SSH / SFTP,配合密钥或证书认证rlogin 的信任模型依赖 .rhosts 与 hosts.equiv:主机清查时应把端口监听与这些残留文件一并处理,避免只关服务却留着信任面,换条路径即可再次被利用。
这类历史服务通常伴随其它同期组件共同存在:发现一台主机仍在运行 r-services 时,应顺带盘点是否还有同期的明文服务,再统一规划下线。
下线步骤
- 先确认无业务依赖,保留回退方案
- 停止并卸载对应服务组件,禁用自启动
- 清理信任文件与相关配置文件中的授权记录
- 验证端口无监听,并在边界确认策略已封禁
巡检与清理清单
- 扫描内网确认相关端口无监听,含 512 与 514
- 检查 /etc/hosts.equiv 与用户目录下的 .rhosts 是否存在
- 核对主机可信清单,任何通配授权都要单独说明
- 下线后保留处置记录,便于审计复核
同期组件往往一起存在:发现一台主机仍启用这类明文远程服务时,顺带盘点是否还有同期的明文服务(如 telnet 与 ftp),统一规划下线比逐个处理更省事。