三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]
硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

如何关闭服务器上不需要的开放端口?

美国、香港服务器

如何关闭服务器上不需要的开放端口?

01-14   来源:

 关闭服务器上不需要的开放端口,核心逻辑是 “先停服务→再封端口”,避免只封端口但服务仍在后台监听,导致端口被重新占用。以下是适配 Ubuntu 24.04 的完整操作步骤,覆盖服务关停、防火墙封禁、持久化配置三个关键环节:

一、 第一步:定位端口对应的服务(关键!)
关闭端口前,必须先确定端口是哪个服务在占用,避免误关核心业务。
使用 ss 或 lsof 命令查询端口对应的进程:
bash
运行
# 方法1:ss 命令(推荐),查询特定端口(如 3306)
sudo ss -tulnp | grep ":3306"
 
# 方法2:lsof 命令,查询特定端口
sudo lsof -i :3306
输出示例:
plaintext
LISTEN 0      151          127.0.0.1:3306        0.0.0.0:*    users:(("mysqld",pid=1234,fd=20))
端口 3306 被进程 mysqld(PID 1234)占用,服务名为 mysql。
二、 第二步:关停端口对应的服务(彻底关闭端口)
如果端口对应的服务非业务必需,直接停止并禁用该服务,端口会自动释放。
1. 停止服务并禁用开机自启
bash
运行
# 通用命令格式:systemctl stop [服务名] && systemctl disable [服务名]
# 示例:关闭 3306 端口对应的 mysql 服务
sudo systemctl stop mysql
sudo systemctl disable mysql
2. 验证服务是否已停止
bash
运行
# 检查服务状态
sudo systemctl status mysql
# 再次检查端口是否还在监听
sudo ss -tulnp | grep ":3306"
若输出为空,说明服务已停止,端口已关闭。
3. 特殊场景:临时关闭端口(不停止服务)
如果服务暂时需要保留,但临时不想对外暴露端口,可让服务绑定本地回环地址(127.0.0.1),仅允许本机访问。
示例:让 Redis 仅监听 127.0.0.1,关闭公网监听:
编辑 Redis 配置文件 /etc/redis/redis.conf:
bash
运行
sudo nano /etc/redis/redis.conf
修改绑定地址为 127.0.0.1:
plaintext
bind 127.0.0.1
protected-mode yes
重启 Redis 服务:
bash
运行
sudo systemctl restart redis
此时 Redis 仅在 127.0.0.1:6379 监听,公网无法访问该端口。
三、 第三步:防火墙封禁端口(双重防护)
即使服务已停止,也建议在防火墙中封禁该端口,防止后续服务被误启或恶意程序占用端口。
Ubuntu 24.04 优先使用 ufw 防火墙,若使用 iptables 可参考对应命令。
场景 1:使用 UFW 防火墙封禁端口
bash
运行
# 通用命令格式:sudo ufw deny [端口号]/[协议]
# 示例1:封禁 TCP 3306 端口
sudo ufw deny 3306/tcp
 
# 示例2:封禁 UDP 123 端口
sudo ufw deny 123/udp
 
# 查看 UFW 规则,确认端口已封禁
sudo ufw status numbered
规则解读:deny 表示拒绝所有 IP 访问该端口,无论服务是否运行。
场景 2:使用 iptables 防火墙封禁端口
bash
运行
# 封禁 TCP 3306 端口(INPUT 链拒绝所有访问)
sudo iptables -A INPUT -p tcp --dport 3306 -j DROP
 
# 保存 iptables 规则(Ubuntu 需安装 iptables-persistent)
sudo apt install iptables-persistent -y
sudo netfilter-persistent save
场景 3:云服务器安全组封禁(最高优先级)
云服务器(阿里云 / 腾讯云 / AWS)的端口访问,安全组规则优先级高于本地防火墙,必须同步封禁:
登录云服务器控制台 → 找到安全组配置;
进入入方向规则 → 删除或禁用目标端口的允许规则;
保存配置,规则立即生效。
四、 第四步:验证端口是否彻底关闭
需从 本机 和 外部 两个维度验证,确保端口完全不可访问。
1. 本机验证:端口是否停止监听
bash
运行
sudo ss -tulnp | grep ":要关闭的端口号"
# 无输出 → 本机已停止监听
2. 外部验证:端口是否可访问
在外部机器或使用在线工具扫描目标端口:
bash
运行
# 外部机器用 nmap 扫描
nmap -p 要关闭的端口号 服务器公网IP
输出显示 STATE closed/filtered → 端口已彻底关闭,外部无法访问。
五、 常见问题与避坑指南
只封禁防火墙但不停服务
问题:服务仍在后台监听端口,防火墙重启或规则失效后,端口会重新暴露。
解决:必须先停服务,再封防火墙,双重保障。
误关核心端口(如 22 端口)
应急处理:若通过 SSH 操作,误关 22 端口会导致无法远程连接,需通过云服务器控制台的 VNC 登录 或物理机控制台,重新放行 22 端口。
预防:修改防火墙规则前,先在本地打开一个备用 SSH 连接,防止断连。
端口被未知进程占用
处理:若端口对应的进程是未知程序(如挖矿程序),先杀死进程(sudo kill -9 进程PID),再删除可疑文件,最后封禁端口。
总结
关闭不需要的开放端口的完整流程:
用 ss/lsof 定位端口对应的服务 / 进程;
停止并禁用非必需服务(或让服务绑定本地回环地址);
在本地防火墙(UFW/iptables)和云安全组中封禁端口;
从本机和外部验证端口是否关闭。
通过这一流程,可彻底消除非必需端口的暴露风险,降低服务器被攻击的概率。

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:如何防止服务器开放端口被黑客攻击? 下一篇:如何查看服务器的开放端口?

美国GIA服务器三二互联版权所有 WWW.250.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器、香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)