pwdgen 是什么
129 号 TCP 的 IANA 登记名是 pwdgen,全称 Password Generator Protocol:客户端连上服务端,服务端生成一批随机字符串返回给客户端当作口令使用。在今天看这个设计几乎不可接受——口令要经过网络明文传输,且生成方与使用方分离,密钥材料无法受控。现代做法是在受控终端本地生成口令,由密码管理器或密钥管理系统负责托管与轮换。
基本信息
| 服务名 | pwdgen(Password Generator Protocol) |
|---|---|
| 端口 | 129(TCP) |
| 设计形态 | 服务端生成口令并明文返回客户端 |
| 现状 | 设计年代早,已不满足现代安全要求 |
| 替代方案 | 本地生成工具 + 密码管理器 / KMS |
典型使用场景
- 安全机制史梳理:说明口令生成与托管方式的演进
- 遗留系统评估:确认是否仍有系统依赖网络侧生成口令
- 口令策略整改:为仍在使用弱生成方式的系统设计替代路径
- 合规检查:确认口令的生成、传输与存储环节是否符合要求
- 培训材料:用反面设计说明「凭据不应经网络明文传递」
现代替代命令
现代替代命令
openssl rand -base64 24 # 生成 24 字节随机口令
head -c 32 /dev/urandom | base64 # 无 openssl 时的替代写法
pwgen -s 20 1 # 已安装 pwgen 时的随机口令生成
ss -lntp | grep ':129 ' # 核查本机是否仍有该端口监听
sudo lsof -i :129 # 反查进程,确认来源口令生成方式的演进
| 方式 | 形态 | 安全评价 |
|---|---|---|
| pwdgen 协议 | 服务端生成并明文返回 | 设计年代早,已不满足现代要求 |
| 本地工具 | pwgen、openssl rand、diceware | 在受控终端生成,不经过网络 |
| 集中管理 | 密码管理器 + KMS/HSM | 托管、轮换与审计一体化 |
| 自动化场景 | 凭据托管接口按需下发 | 避免在配置文件与脚本中硬编码 |
如果现网确实还有系统通过网络获取口令,优先改造方向是「本地生成 + 集中托管」:生成动作留在受控终端,托管与轮换交给密码管理器或密钥管理系统,网络侧只保留授权后的取用接口。
任何「服务端生成口令并明文返回」的设计都不应出现在现网。评估时把它当作设计缺陷处理,而不是当作端口配置问题,否则加固只停留在表面。
口令强度只是其中一环:即便口令本身足够随机,只要传递路径可被旁路读取,安全目标依然无法达成。设计评审时应把生成、传递、存储、轮换四个环节一起评审。