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

服务器端口扫描风险的本质,是攻击者用工具批量探测你的公网 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 变为 filteredclosed

验证修复结果与日常复查

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

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

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

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

常见疑问

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

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

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

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

问:端口扫描算违法吗?

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

问:22 端口必须改吗?

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

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

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意