常见网络端口
快速答案: 端口号范围是 0–65535,分为三段:0–1023 是知名端口(由 IANA 分配,绑定时通常需要管理员权限),1024–49151 是注册端口,49152–65535 是动态/临时端口,操作系统通常从这里选择出站连接端口。
Web 与远程访问
| 22 | SSHtcp | 加密的 shell 和文件传输。不要把密码登录暴露到互联网,应该使用密钥。 |
| 53 | DNStcp/udp | 域名解析。开放递归解析器容易被滥用于放大攻击。 |
| 80 | HTTPtcp | 明文 Web 流量。可以通过重定向转到 443,但不要在此端口提供登录服务。 |
| 443 | HTTPStcp | 使用 TLS 加密的 Web 流量,面向用户的服务默认应使用它。 |
| 8080 | HTTP 备用端口tcp | 开发服务器和代理常用的端口,生产环境中很容易忘记关闭。 |
电子邮件
| 25 | SMTPtcp | 服务器之间的邮件中继。开放中继通常会在数小时内被发现并滥用。 |
| 465 | SMTPStcp | 使用隐式 TLS 的邮件提交。 |
| 587 | SMTP 提交tcp | 经过认证的客户端提交,使用 STARTTLS。 |
| 993 | IMAPStcp | 通过 TLS 同步邮箱。 |
| 995 | POP3Stcp | 通过 TLS 下载邮件。 |
数据库与缓存
| 1433 | SQL Servertcp | 只绑定到私有网络;这是勒索软件经常攻击的目标。 |
| 1521 | Oracletcp | 只绑定到私有网络。 |
| 3306 | MySQL / MariaDBtcp | 绝不要暴露到互联网;应使用 VPN 或 SSH 隧道。 |
| 5432 | PostgreSQLtcp | 同样的规则:只使用私有网络或隧道。 |
| 6379 | Redistcp | 默认没有内置认证。公开暴露的 Redis 实例经常被劫持。 |
| 27017 | MongoDBtcp | 旧版本默认不启用认证;务必要求凭据并绑定到私有网络。 |
消息系统与基础设施
| 5672 | AMQP (RabbitMQ)tcp | 消息代理。15672 是管理界面,两个端口都应限制访问。 |
| 9092 | Kafkatcp | 事件流端口;9093 是 TLS 变体。 |
| 2375 | Docker(明文)tcp | 未认证的 Docker API。如果它对网络开放,主机基本等于已被控制;应使用带 TLS 的 2376。 |
| 6443 | Kubernetes APItcp | 集群控制平面,只允许管理网络访问。 |
| 9200 | Elasticsearchtcp | 搜索 API。暴露的实例可能泄露整套数据,应绑定到私有网络。 |
文件传输与传统服务
| 20/21 | FTPtcp | 凭据和数据均为明文。优先使用 SFTP(通过 SSH)或 HTTPS。 |
| 69 | TFTPudp | 完全没有认证,只适合局域网内的配置下发。 |
| 139/445 | SMBtcp | Windows 文件共享端口;WannaCry 曾利用它传播,应在网络边界阻断。 |
| 3389 | RDPtcp | 远程桌面端口,经常遭到暴力破解;应置于 VPN 或网关之后。 |