IP 地址与网络

端口号 (Port Number)

约 5 分钟阅读

什么是端口号

端口号是 0 到 65535 之间的数值,用于在网络通信中识别特定的应用程序或服务。如果将 IP 地址比作建筑物的街道地址,那么端口号就是建筑物内的房间号。

一台服务器能够同时运行 Web 服务器、邮件服务器和 SSH 服务器,正是因为每个服务使用不同的端口号来路由流量。

端口号的分类

端口号由 IANA 分为三个范围:知名端口 (0-1023) 为主要协议保留,注册端口 (1024-49151) 由特定应用程序使用,动态端口 (49152-65535) 临时分配给客户端连接。

端口扫描与安全风险

端口扫描是探测目标服务器以发现哪些端口处于开放状态的行为。基本原则是通过防火墙仅允许必要的端口,阻止其他所有流量。

防火墙端口控制

防火墙最基本的功能是基于端口号控制流量。入站规则控制外部到服务器的连接,出站规则控制服务器到外部的连接。最小权限原则是网络安全的基石。

实践要点

HTTP 到 HTTPS 的迁移使端口 443 成为默认选择。将 SSH 从默认端口 22 更改为其他端口可以减少自动化攻击,但这只是辅助措施。多个应用程序不能同时使用同一端口。

常见误解

更改端口号可以提高安全性
使用非标准端口可以减少自动扫描的噪音,但不是真正的安全措施。攻击者可以扫描所有 65535 个端口。
关闭端口就不会被黑客攻击
关闭不必要的端口很重要,但某些端口必须保持开放。运行在开放端口上的应用程序漏洞仍可能被利用。
只需要知道 80 和 443 端口
即使是 Web 开发人员也经常使用 SSH (22)、DNS (53) 和数据库端口 (3306, 5432)。
分享

相关术语