qotd 每日一言与 17 端口
17 是引语服务的标准端口,协议见 RFC 865:客户端连接后,服务端返回管理员预置的一段文本,内容完全由服务端决定。它在历史上多用于测试、彩蛋与内部通知,现代系统基本不再提供该服务。同属一类的还有回显、丢弃、字符生成与日期时间等服务,共同特点是报文极简且缺少认证,因此多被列为应当关闭的历史功能。
基本信息
| 服务 | qotd(RFC 865) |
|---|---|
| 端口/协议 | TCP 17 与 UDP 17 |
| 行为 | 返回一段预置文本 |
| 现状 | 基本废弃,默认不启用 |
| 同类服务 | 回显、丢弃、字符生成与日期时间 |
| 处置原则 | 无业务需求时保持关闭 |
典型处置场景
- 资产核查:确认系统未启用这类历史简单服务
- 合规处置:为扫描结果中出现的端口给出结论
- 边界策略:确认 UDP 侧默认拒绝外部请求
- 教学实验:在隔离环境中观察文本协议行为
- 事件响应:异常外联中出现简单服务端口时做关联分析
一次性验证
一次性验证
nc -w2 192.0.2.10 17 # TCP 读取引语,若有实现
nc -w2 -u 192.0.2.10 17 # UDP 侧,若有实现
ss -lntup | grep -E ':17 ' # 本机监听核对
sudo lsof -i :17 # 反查占用进程
# 关闭方向:从服务配置中禁用对应功能,而不是只在防火墙上封端口简单文本服务家族
| 端口 | 服务 | 行为 |
|---|---|---|
| 7 | echo | 原样回显,常用于链路测试 |
| 13 | daytime | 返回日期与时间 |
| 17 | qotd | 返回预置引语,本条目 |
| 19 | chargen | 持续输出字符流 |
| 37 | time | 返回二进制时间戳,RFC 868 |
运维要点
- 把简单服务端口纳入基线核查,覆盖 TCP 与 UDP 两侧
- 关闭时同步清理服务配置与开机自启,避免重启后恢复
- 边界设备默认拒绝外部对这些端口的访问
- 在实验环境使用时做好网络隔离,不与业务同网
- 保留探测输出与配置截图,便于审计说明
返回内容完全由服务端决定,开放前先确认内容来源可信。即便只是内部通知,也应避免把带敏感信息的文本放在没有认证的接口上。
这类服务的 UDP 版本常被纳入反射面清单:响应体大于请求的协议都可能被滥用为放大源,无业务需要时应保持关闭,并注意 TCP 与 UDP 一并处理。