服务器端口扫描风险,如何自查暴露端口

服务器端口扫描风险的本质,是攻击者用工具批量探测你的公网 IP,一旦发现开放的高危端口(如 22、3306、6379),就可能尝试暴力破解或直接利用漏洞。
本文面向零基础运维,教你用几条命令和防火墙配置,完成暴露端口的自查与收敛,最终能独立判断哪些端口该关、哪些该限制来源。

先看监听列表,弄清哪些端口真的在对外

登录服务器后,第一件事不是急着关端口,而是先看清现状。ss 是 Linux 上查看网络连接的工具,比老旧的 netstat 更快。

执行以下命令列出所有正在监听的 TCP 和 UDP 端口:

ss -tulnp

参数含义:-t 只看 TCP,-u 只看 UDP,-l 只看监听状态,-n 显示数字端口,-p 显示对应进程。

重点看两列:

  • Local Address 显示 0.0.0.0:端口 或 [::]:端口,表示监听所有网卡,公网可直接访问。
  • Local Address 显示 127.0.0.1:端口,表示只监听本机,外部无法连接,这类通常风险较低。

如果看到 0.0.0.0:3306(MySQL)或 0.0.0.0:6379(Redis),而它们本应只被本机应用访问,这就是需要处理的暴露端口。

从外部视角确认暴露范围

服务器本地看到监听,不等于公网一定可达,中间可能还有云安全组或机房防火墙。
要确认攻击者眼中的你,需要从外部扫描。

最直接的方法是用另一台公网机器执行 nmap。
如果手头没有,也可以用在线端口扫描服务,但注意不要扫描非自己拥有的 IP。

nmap -sT -p 1-10000 你的服务器公网IP

-sT 表示用 TCP 连接方式扫描,不需要 root 权限。
输出中 open 的端口就是从公网真实可达的。

这一步能帮你区分两类问题:

  • 本地监听且公网 open:必须优先处理。
  • 本地监听但公网 filtered 或 closed:说明安全组已拦截,风险暂时可控,但仍建议收敛监听地址。

按风险等级关闭或限制高危端口

常见高危端口包括 22(SSH)、3306(MySQL)、6379(Redis)、27017(MongoDB)、9200(Elasticsearch)。
处理方式分三种,按优先级选择。

第一种:改监听地址,只允许本机访问。

适合数据库、缓存这类只被本机应用调用的服务。
以 Redis 为例,编辑配置文件:

vim /etc/redis/redis.conf

找到 bind 127.0.0.1,确保没有写成 0.0.0.0。
改完重启服务:

systemctl restart redis

MySQL 则在配置中设置 bind-address = 127.0.0.1。
这样即使防火墙有疏漏,外部也无法直连。

第二种:用防火墙限制来源 IP。

如果确实需要远程访问,比如 SSH,建议只放行自己的固定 IP。
以 firewalld 为例:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="你的IP" port port="22" protocol="tcp" accept'
firewall-cmd --reload

使用 ufw 的系统可以执行:

ufw allow from 你的IP to any port 22 proto tcp

第三种:云平台安全组收口。

登录云厂商控制台,进入安全组或防火墙规则,把入方向规则中 0.0.0.0/0 的高危端口删除或改为指定 IP。
安全组是公网流量的第一道闸,优先级高于系统防火墙。

容易踩坑的地方

  • 只改防火墙,不改监听地址。 安全组或防火墙规则一旦被误删,服务立刻全网暴露,双保险更稳妥。
  • 忘了 UDP 端口。 ss -tulnp 里的 -u 就是提醒你 UDP 同样要查,DNS、SNMP 等服务常走 UDP。
  • 扫描时误伤自己。 部分云厂商会对高频扫描行为做告警甚至封禁,自查请控制频率,只扫自己的 IP。
  • 改完不验证。 关端口后一定要从外部重新扫一次,确认状态从 open 变为 filtered 或 closed。

验证修复结果与日常复查

处理完成后,回到外部机器重新执行:

nmap -sT -p 22,3306,6379 你的服务器公网IP

期望结果是这些端口不再显示 open。
同时在服务器上执行 ss -tulnp,确认监听地址已变为 127.0.0.1 或服务已停止。

建议养成每月复查一次的习惯,重点关注新装软件带来的新监听端口。
如果服务器数量较多,可以写一个简单脚本定期采集 ss -tulnp 输出并对比变化。

常见疑问

问:关闭端口会不会影响业务?

只看监听地址和来源限制,通常不影响本机应用调用。
真正需要确认的是:有没有外部客户端直连这个端口。
如果不确定,先限制来源 IP 观察几天,再决定是否完全关闭。

问:用了安全组还需要系统防火墙吗?

需要。
两者作用层级不同,安全组管公网入口,系统防火墙管主机层面。
多层防护可以避免单一配置失误导致全网暴露。

问:端口扫描算违法吗?

未经授权扫描他人服务器可能违反相关法律法规。
自查只应针对自己拥有或获得书面授权的 IP,且控制扫描频率。

问:22 端口必须改吗?

不必强行改端口号,改端口只能减少自动化扫描命中,不能替代密钥登录和来源限制。
更有效的做法是禁用密码登录、只允许密钥认证,并限制来源 IP。

分享到:
上一篇
WireGuard部署,运维远程连接服务器方案
下一篇
域名实名认证失败,备案前置问题解决
1
系统公告

关于香港云优质服务器IP地址更换的通知

尊敬的客户: 因原IP运营商大幅涨价,为避免成本转嫁至用户,我司决定更换IP服务商。本次更换后,您的续费价格将保持不变,且新IP网络质量与服务标准不受影响。新IP已分配至后台,即刻生效(更换的新IP都是香港原生IPv4)。 涉及 IP 段: 45.192.x.x 旧 IP 停用时间: 2026 年 12 月 1 日
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意