服务器高危端口关闭防护:新手也能操作

新手也能操作:如何一步步关闭服务器高危端口


很多刚接触服务器的朋友,都听说过“高危端口”这个词——22(SSH)、3389(RDP)、21(FTP)、23(Telnet)、3306(MySQL)、6379(Redis)这些默认端口,一旦暴露在公网上,就等于给攻击者留了后门。

今天这篇教程,我会用最直白的语言,带你从零开始识别并关闭这些端口,全程可操作,不绕弯子。


1. 先搞清楚自己服务器上开了哪些端口


不管你是用Linux系统还是装了宝塔面板,第一步都是先扫描当前开放的端口,心里有数再动手。


命令行方式(适合Linux服务器,已SSH登录)


运行下面两条命令,看哪些端口在监听:


sudo netstat -tlnp

或者

sudo ss -tlnp


输出示例:


LISTEN 0 128 0.0.0.0:22 0.0.0.0:*  users:(("sshd",pid=1234,fd=3))
LISTEN 0 128 0.0.0.0:3306 0.0.0.0:* users:(("mysqld",pid=5678,fd=20))

这里0.0.0.0:22表示SSH端口对所有IP开放,0.0.0.0:3306说明MySQL也在监听公网。

你一眼就能看到哪些是高危端口。


宝塔面板方式


登录宝塔面板 → 左侧“安全” → 在“系统防火墙”页签下,直接能看到当前开放的端口列表。

如果没装防火墙模块,也可以点“防火墙”查看。


2. 关闭高危端口的两种靠谱方法


针对不同的端口,处理方式不同:要么直接关闭对应的服务(比如不用FTP就卸载vsftpd),要么用防火墙规则限制访问来源

以下是最常用的做法。


方法一:关闭服务本身(一劳永逸)


如果你确定不需要某个服务,直接停掉并禁止开机自启。

例如关闭MySQL端口(3306):


sudo systemctl stop mysql
sudo systemctl disable mysql

再检查一下端口是否消失:


ss -tlnp | grep 3306

如果返回空,说明成功。注意:关闭服务前确认业务是否依赖它。


方法二:用防火墙限制端口(保留服务但只允许内网)


很多情况不能直接关服务(比如SSH要留着远程登录),那就用防火墙只允许特定IP访问。


使用firewalld(CentOS 7+ / Rocky Linux)


# 移除SSH端口默认允许规则,只允许你本机IP访问(假设你固定IP是 123.123.123.123)
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="123.123.123.123" service name="ssh" accept'
sudo firewall-cmd --reload

使用iptables(Ubuntu/Debian)


# 先拒绝所有进站请求(注意会断连!先添加允许SSH的规则)
sudo iptables -A INPUT -p tcp --dport 22 -s 123.123.123.123 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP

保存规则(不同发行版命令不同)

sudo netfilter-persistent save


宝塔面板操作:在“安全” → “系统防火墙”中,点击对应端口行的“删除”或“修改”,填入允许的IP段,然后保存。

宝塔会自动处理规则。


3. 最容易踩的三个坑(避坑说明)


坑1:没测试新规则就直接断开当前会话


修改SSH端口或防火墙规则时,先另开一个SSH连接测试新规则是否生效,再关掉旧的。

否则一旦规则配错,你可能再也进不去服务器。


坑2:关闭端口后忘了相应的服务重启后又开


有些服务(如docker、

systemd管理的服务)会在重启后自动监听端口。需要做两件事

一是禁用服务自启(systemctl disable),

二是在服务配置中修改监听地址(比如MySQL只绑定127.0.0.1)。


坑3:只关了一个端口,忽略了其他高危端口


很多人只关22端口,却开着6379(Redis)或27017(MongoDB)。建议用nmap扫描一下外网视角的端口nmap -p- 你的服务器公网IP,看看还有哪些端口暴露着。


4. 高频问题解答


Q:我把22端口关了,但新SSH连不上怎么办?

A: 如果你没设其他访问方式(如VNC、云厂商控制台),只能通过云服务商后台的VNC/救援模式登录,然后修改规则。所以关闭端口前一定要留后路。


Q:宝塔面板里删除了端口规则,但服务还是能连上?

A: 宝塔的安全规则只控制面板内置的防火墙,如果你之前自己改过iptables或firewalld,宝塔可能没覆盖。建议统一用宝塔的接口操作,或者直接在系统防火墙里确认规则。


Q:关闭端口后,业务会受影响吗?

A: 只有当你关闭了业务依赖的端口才会影响。比如关闭3306会导致数据库无法远程连接,但如果你只在内网用,可以改成127.0.0.1监听,这样外网无法访问但内部程序正常。


5. 效果验证:确认高危端口真的关了


做完上述操作,一定要验证。


本地验证:再次运行ss -tlnp,看端口是否消失或监听地址变为127.0.0.1


外部验证:用另一台电脑(或手机流量)运行:


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

或者直接访问在线端口扫描工具(如站长工具),输入你的IP,检测这些端口是否显示“过滤”或“关闭”。

如果显示“open”,说明还没封住,回去重新检查防火墙规则。


宝塔面板验证:在“安全” → “系统防火墙”中,看规则状态是否生效(绿色勾表示正在生效)。


---


如果你正在处理服务器高危端口关闭防护,建议先按本文步骤完整执行一遍,再根据自己的环境做微调;

遇到异常时优先回看避坑和高频问题部分。

安全无小事,花半小时把端口管好,能省去日后被入侵的麻烦。

分享到:
上一篇
Docker Compose模板大全:从入门到实战的完整指南
下一篇
Agent是个什么东西?教程指南
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意