X11 端口是什么
X11 服务端默认监听 6000 加显示号:display 0 对应 6000,display 1 对应 6001,依此类推。任何能连上该端口的客户端都可以读取键盘事件、截取屏幕内容,甚至注入按键。服务器通常不需要图形显示,正确做法是关闭 X 的网络监听,同时关闭 SSH 的 X11 转发;确有需求时用按需转发并限制来源。
基本信息
| 加固项 | 显示服务与 X11 转发收敛 |
|---|---|
| 适用平台 | Linux(X11 服务端与 sshd) |
| 风险等级 | 中 |
| 关键项 | X11Forwarding、X11UseLocalhost、X 服务端网络监听 |
| 基线 | 无 X 端口监听且不启用默认转发 |
典型使用场景
- 服务器基线:无图形界面需求的机器关闭 X11 转发
- 图形工作站:确需转发时优先走加密通道并限制来源主机
- 合规核查:检查是否存在对外监听的 6000 及以上端口
- 排障:远程图形程序启动失败时确认转发链与实际监听状态
- 事件处置:发现 X 端口暴露后立即收敛并回溯历史连接记录
核查与处置
核查与处置
ss -tlnp | grep -E ':60[0-9][0-9] ' # 列出 6000 至 6099 的监听
grep -Ei 'x11forwarding|x11displayoffset|x11uselocalhost' /etc/ssh/sshd_config
grep -R -E '^\s*xhost' /etc/X11/ 2>/dev/null | head -3 # 检查是否放开访问控制
grep -R -E 'DisallowTCP|listen' /etc/X11/xinit/ /etc/gdm3/ 2>/dev/null | head -3
# 服务器上通常应设置:X11Forwarding no
# 如需保留转发:X11UseLocalhost yes,并仅允许可信来源登录相关项判读
| 项 | 含义 | 建议值 |
|---|---|---|
| 6000 加 N 监听 | X 服务端对网络开放的显示端口 | 服务器上不应出现 |
| X11Forwarding | sshd 是否允许客户端转发 X | 服务器设为 no |
| X11UseLocalhost | 转发时是否只绑定回环地址 | 设为 yes |
| DISPLAY 变量 | 会话指向的显示目标 | 检查是否被异常设置 |
X11 转发的客户端可读取整个显示会话的内容:确有需求时用按需转发,并只对可信主机开放,不要长期启用。
只关 sshd 的转发开关,不等于 X 服务端停止监听:两处都要核查,以 ss 的实际输出为准。
收敛顺序建议
- 先用 ss 实测当前有哪些 6000 段端口在监听,记录进程与所属服务
- 确认业务是否真的依赖图形界面:多数服务器可直接关闭显示服务
- 关闭 sshd 的 X11 转发并设置为仅绑定回环地址
- 回收 X 访问控制里已有的放行条目,恢复为默认仅本地访问
- 把端口核查写入季度基线巡检,避免组件升级后重新打开