TOP云提供高性价比云服务器租用,有中国内地/港澳台、海外等全球各地节点,TOP云国内云服务器只要有域名备案号就能直接用,无须重复备案;港澳台及海外云服务器不用备案,购买之后直接使用,省时省力省心。价格实惠,续费同价,2核2G5M仅需27元每月,8核8G50M仅需66元每月,更多配置套餐请进入下面网址了解:
TOP云总站云服务器:https://topyun.vip/server/buy.html
TOP云C站云服务器:https://c.topyun.vip/cart
关闭云服务器上不必要的端口是提升服务器安全性的重要措施之一。开放过多端口会增加被攻击的风险,尤其是那些不需要的服务端口,可能成为黑客入侵的入口。以下是关闭不必要端口的详细方法和步骤,涵盖操作系统防火墙和云平台安全组两个层面的配置。
一、关闭不必要端口的总体思路
关闭不必要的端口需要从以下两个层面进行:
操作系统层面的防火墙:通过配置防火墙规则(如 firewalld、iptables 或 ufw),禁止对不需要端口的访问;
云平台的安全组:通过云服务商提供的安全组功能,限制外部对不需要端口的访问。
注意:操作系统防火墙和云平台安全组的规则是“叠加”生效的。即使你在操作系统防火墙中放行了某个端口,如果云平台安全组禁止了该端口,外部仍然无法访问。因此,需要同时配置两者,以确保端口关闭生效。
二、操作系统层面的防火墙配置
根据你的服务器操作系统类型,选择对应的防火墙工具进行配置。
1. Linux 系统
(1)CentOS / RHEL 系统(使用 firewalld)
① 查看当前开放的端口
sudo firewall-cmd --zone=public --list-ports
这将列出当前在 public 区域中开放的所有端口。
② 关闭指定端口
如果你想关闭某个端口(如 8080),可以使用以下命令:
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
--remove-port:移除指定端口的规则;
--permanent:永久生效,如果不加此参数,重启后会失效。
③ 重新加载防火墙配置
sudo firewall-cmd --reload
④ 再次检查开放的端口
sudo firewall-cmd --zone=public --list-ports
确认目标端口已从列表中移除。
(2)Ubuntu / Debian 系统(使用 ufw)
① 查看当前规则
sudo ufw status verbose
这将显示当前防火墙的规则,包括允许和拒绝的端口。
② 关闭指定端口
如果你想关闭某个端口(如 8080),可以使用以下命令:
sudo ufw delete allow 8080/tcp
如果端口是通过服务名(如 http)开放的,可以使用服务名代替端口号,例如:
sudo ufw delete allow http
③ 检查规则是否生效
sudo ufw status verbose
确认目标端口已被移除。
(3)直接使用 iptables(不推荐新手使用)
iptables 是 Linux 底层的防火墙工具,功能强大但配置复杂。如果你需要直接使用 iptables 关闭端口,可以参考以下命令:
删除允许某个端口的规则(如关闭 TCP 8080 端口):
sudo iptables -D INPUT -p tcp --dport 8080 -j ACCEPT
保存规则(CentOS):
sudo service iptables save
保存规则(Ubuntu):
sudo apt install iptables-persistent
sudo netfilter-persistent save
注意:iptables 规则重启后会丢失,需要手动保存和加载。
2. Windows 系统
如果你使用的是 Windows 云服务器(如 Windows Server 2012/2016/2019),可以通过以下方式关闭不必要的端口。
(1)通过图形界面关闭端口
打开【控制面板】 > 【系统和安全】 > 【Windows Defender 防火墙】;
点击【高级设置】;
在左侧选择【入站规则】;
找到与目标端口相关的规则(如 8080 端口),右键点击该规则,选择【禁用规则】或【删除规则】。
(2)通过命令行关闭端口
使用 netsh 命令可以关闭指定端口:
禁用某个端口的入站规则(如关闭 TCP 8080 端口):
netsh advfirewall firewall set rule name="规则名称" new enable=no
如果不知道规则名称,可以先列出所有规则:
netsh advfirewall firewall show rule name=all
删除某个端口的规则:
netsh advfirewall firewall delete rule name="规则名称"
三、云平台安全组配置
云平台(如腾讯云、阿里云、AWS、华为云等)提供的安全组是一个虚拟防火墙,用于控制进出云服务器的流量。即使你在操作系统防火墙中关闭了某个端口,如果云平台安全组仍然允许该端口的访问,外部仍然可以访问该端口。
1. 登录云平台控制台
以腾讯云为例:
登录 腾讯云控制台;
进入【云服务器】 > 【安全组】;
选择你需要配置的安全组,点击【修改规则】。
2. 关闭不必要的端口(配置入站规则)
(1)找到需要关闭的端口
在【入站规则】选项卡中,查看当前开放的所有端口。
(2)删除或禁用对应规则
找到目标端口(如 8080)的规则;
点击【删除】按钮,移除该规则;
或者将规则的【策略】从【允许】改为【拒绝】。
注意:如果规则较多,可以通过【筛选】功能快速定位目标端口。
3. 配置出站规则(可选)
如果你还需要限制服务器主动访问外部网络的流量,可以在【出站规则】中配置:
删除或禁用与目标端口相关的出站规则;
或者限制目标 IP 和端口范围。
4. 保存并应用配置
修改完成后,点击【保存】;
如果安全组已经绑定到云服务器实例,新规则会自动生效;
如果没有绑定,需要将安全组绑定到云服务器:
在安全组页面,点击【关联实例】;
选择需要绑定的云服务器,点击【确定】。
四、验证端口是否已关闭
无论你是通过操作系统防火墙还是云平台安全组关闭了端口,都需要验证端口是否已成功关闭。
1. 使用 telnet 测试端口
安装 telnet(如果未安装):
Linux:
sudo yum install telnet -y # CentOS
sudo apt install telnet -y # Ubuntu/DebianWindows:在【控制面板】 > 【程序和功能】 > 【启用或关闭 Windows 功能】中启用 Telnet 客户端。
测试端口是否可访问:
telnet 服务器IP地址 端口号
例如:
telnet 123.123.123.123 8080
如果显示 无法打开连接 或 连接失败,说明端口已成功关闭;
如果显示 已连接到,说明端口仍然开放。
2. 使用 nmap 扫描端口(高级)
nmap 是一个强大的网络扫描工具,可以用来检测服务器开放的端口。
安装 nmap:
Linux:
sudo yum install nmap -y # CentOS
sudo apt install nmap -y # Ubuntu/DebianWindows:从 nmap 官方网站 下载并安装。
扫描目标服务器的端口:
nmap -p 1-65535 服务器IP地址
查看输出结果,确认目标端口是否已关闭。
五、总结:关闭不必要端口的最佳实践
步骤 | 说明 |
---|---|
确定不必要的端口 | 根据服务器用途,列出所有正在使用的端口,关闭其他不需要的端口 |
操作系统防火墙配置 | 使用 firewalld、ufw 或 iptables 关闭目标端口 |
云平台安全组配置 | 在云平台的安全组中删除或禁用目标端口的入站规则 |
验证端口是否关闭 | 使用 telnet 或 nmap 测试目标端口是否仍然开放 |
定期检查端口使用情况 | 定期扫描服务器端口,及时发现并关闭不必要的端口 |