移动云服务器默认开放的端口以80、443、22、3389为主,但实际可用的端口范围远不止这几个,具体取决于你的安全组规则和系统配置。
移动云服务器端口基础知识
想搞清楚移动云服务器哪些端口能用、哪些端口该关,得先明白端口在云服务器里的定位,端口就像服务器上的门牌号,数据包靠它找到对应的服务,移动云服务器的端口管理,核心在于安全组规则和操作系统防火墙这两道关卡。
移动云控制台里有个安全组功能,相当于服务器外层的过滤网,你买了移动云服务器后,默认安全组只会放行少数常用端口,其他端口一律对外关闭,这种做法很稳妥,毕竟端口开得越多,被扫描攻击的概率就越大。
操作系统层面还有一道防火墙,比如CentOS的firewalld、Ubuntu的UFW或纯iptables,就算安全组放行了端口,系统防火墙挡着,数据一样进不来,所以排查端口问题时,两道关卡都得检查。
移动云服务器默认开放的端口有哪些
行业共识认为,移动云服务器在创建实例时,默认放行的端口一般包括:
- 22端口:SSH远程登录端口,Linux系统必开
- 3389端口:Windows远程桌面端口,Windows系统必开
- 80端口:HTTP网页访问端口,搭建网站需要
- 443端口:HTTPS加密访问端口,配置SSL证书后使用
如果你在购买移动云服务器时选了应用镜像,比如WordPress、宝塔面板之类的,那80和443基本会预置放行,如果选的系统镜像,通常只开放22或3389,其他端口需要自己手动配。
这里有个关键点:移动云服务器哪些端口安全组默认放行,跟你的镜像类型强相关,我见过不少新手,装完宝塔面板发现8888端口访问不了,去安全组一看,压根没放行,添加上就好了,这就是没搞懂安全组逻辑的典型场景。
常见服务对应的端口清单
大多数人的移动云服务器都会跑一些基础服务,端口清单大概是这个样子的:
| 服务类型 | 默认端口 | 说明 |
|---|---|---|
| SSH远程登录 | 22 | Linux系统必用,建议修改默认端口 |
| FTP文件传输 | 21 | 明文传输,安全性低,建议用SFTP替代 |
| HTTP网站 | 80 | 未加密流量,现在基本都跳转到HTTPS |
| HTTPS网站 | 443 | 加密流量,搜索引擎更信任 |
| MySQL数据库 | 3306 | 内网访问就好,别暴露公网 |
| Redis缓存 | 6379 | 高危端口,日常必须限制来源IP |
| Nginx服务 | 80/443 | 反向代理常用的端口 |
| Tomcat | 8080 | Java应用常用端口 |
| 宝塔面板 | 8888 | 宝塔Linux面板的默认入口 |
| phpMyAdmin | 自定义 | 数据库管理工具,不建议用默认端口暴露 |
实际业务里,移动云服务器需要开放的端口数量,取决于你部署的应用类型。 如果你的服务器只是跑个个人网站,80、443、22三个端口就够了,如果还挂了个API服务,那就得再加个自定义端口,比如8080或3000。
哪些端口最容易被攻击
搞安全的人都知道,端口扫描是黑客的敲门砖,移动云服务器最常见的被攻击端口,集中在几个固定目标:
- 22端口:SSH暴力破解的重灾区,天天有人拿字典撞密码
- 3389端口:Windows远程桌面的爆破攻击同样猖獗,尤其是暴露公网的
- 3306端口:MySQL数据库端口一旦暴露,就被恶意尝试弱口令登录
- 6379端口:Redis未授权访问漏洞一直是勒索攻击的入口
- 8888端口:宝塔面板这两年不知道被扫了多少遍,很多漏洞跟它相关
业内专家指出,云服务器被入侵的原因里,端口暴露加弱口令占了相当大的比例,所以就算移动云服务器的安全组配置了白名单,你也不能把端口随意甩到公网。
常见的安全优化方案是改默认端口,比如把SSH从22改成22026,把宝塔面板的8888改成随机五位端口,这样能有效规避那些专门扫默认端口的自动化脚本,虽然防不了定向攻击,但能挡住绝大多数扫描蠕虫。
如何查看当前端口占用情况
具体操作层面,登录移动云服务器后,用几条命令就能把端口状态摸清楚。
Linux系统查看端口监听状态:
netstat -tlnp ss -tlnp
这两条命令会列出所有正在监听的TCP端口和对应的进程,想看端口是否被外部访问,可以用:
lsof -i:80
Windows系统的命令则是:
netstat -ano tasklist | findstr "PID"
在移动云控制台安全组页面,也能看到当前配置的入方向规则,哪几个端口对外开放一目了然,不过我建议定期检查一下安全组规则数量,如果堆了几十条规则,说明该清理了,规则越简单越不容易出错。
移动云服务器端口安全配置实操
配置端口安全,光知道哪些端口被占用远远不够,移动云服务器的端口规则配置,有几个核心实践原则值得遵守:
第一,最小化原则。 只放行业务必需的端口,如果你只是远程管理,那就只留22或3389加一个自定义管理端口,其他全删,有些人的安全组里还留着什么1433、5432数据库端口,用不上就应该立刻删掉。
第二,来源IP白名单。 安全组里可以指定源IP段,比如SSH端口只允许你自己的IP访问,数据库端口只允许应用服务器所在的内网IP访问,具体操作是:在安全组规则里,把源地址从0.0.0/0改成x.x.x.x/32,这样其他IP全被挡在外面。
第三,用安全组做内网隔离。 移动云服务器的内网互通,走的是私有网络,不经过公网,数据库、Redis这些敏感服务,绑定内网IP就行,安全组里不开放公网端口,外部完全访问不到。
安全组配置步骤大致是:控制台进入实例详情,找到安全组标签页,点击配置规则,添加入方向规则,协议选TCP,端口填一个或一个区间,源地址选自定义IP或地址段,保存生效,规则修改后即时生效,不需要重启服务器。
端口连通性测试方法
安全组规则配好了,怎么验证移动云服务器端口是否真正对外开放?几个实用办法。
本机命令行窗口里跑telnet:
telnet 服务器公网IP 端口
如果端口通了,会显示连接成功并进入空界面,如果显示无法连接,那就是安全组或防火墙挡着,不过有些系统默认没装telnet,Windows可以用PowerShell测试:
Test-NetConnection -ComputerName 服务器IP -Port 端口
返回TcpTestSucceeded为True就是通了。
也可以在移动云服务器上装个简单工具,比如用curl测HTTP端口:
curl -v http://公网IP:端口
收到HTTP响应就说明端口对外开放且服务正常运行。
测试端口前,先去安全组确认放行规则是否存在,再检查系统防火墙状态。 很多端口不通的排查顺序搞反了,先去查服务本身,绕了一大圈发现安全组压根没放行,先把外部到内部的链路排查清楚,再查服务器内部状态,效率会高很多。
移动云服务器端口常见问题解答
问:移动云服务器默认开放哪些端口?
移动云服务器默认安全组开放的端口一般是22(Linux SSH)、3389(Windows远程桌面)、80(HTTP)、443(HTTPS),具体以你创建实例时选择的镜像和套餐为准,应用镜像会比系统镜像多预置几个应用端口,如果端口没放行,手动在安全组里添加规则即可。
问:如何查看移动云服务器已开放的端口?
登录移动云控制台,进入实例的安全组配置页面,查看入方向规则就能看到所有对外开放的端口,服务器内部用netstat -tlnp命令可以查看实际监听端口,两者交叉比对,就能确认每个端口的状态。
问:修改SSH端口会不会影响服务器使用?
修改SSH默认端口能有效降低被暴力破解的风险,但不影响建站或其他业务,修改前先放通新端口到安全组,然后修改sshd配置文件里的Port参数,重启sshd服务,建议保留22端口在防火墙白名单里,防止新端口被安全策略拦截时彻底失联。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/796605.html


