端口管理与安全
为服务开放和关闭特定端口,实现端口转发,并了解与开放端口相关的常见攻击途径
端口管理与安全 是 CoddyKit 上的免费 Linux Server Deployment & SSH Mastery 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Linux Server Deployment & SSH Mastery 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Linux Server Deployment & SSH Mastery 课程共包含 4 节课。
什么是网络端口
请把服务器想象成一栋公寓楼。每套公寓都有一个编号,访客需要知道要去哪个公寓。在网络中,这些“公寓编号”就叫作端口。
网络端口是通信端点。它们帮助服务器将传入的网络流量转发到正确的服务或应用程序。每个端口都分配有一个唯一编号,范围是 0 到 65535。
常见端口号
许多服务使用标准的知名端口号。了解这些端口号有助于您识别服务和配置防火墙。
- 22 端口:用于 SSH(安全 Shell)远程访问。
- 80 端口:用于 HTTP(超文本传输协议)传输普通 Web 流量。
- 443 端口:用于 HTTPS(HTTP 安全协议)传输加密的 Web 流量。
- 53 端口:用于 DNS(域名系统)名称解析。
这些只是少数示例;不同应用还会使用数千个端口。
检查监听端口
在开放新端口之前,最好先了解服务器上哪些端口已经处于活动状态。ss 命令(套接字统计)是一种用于检查网络套接字的现代工具。
-ltn 选项会以数字形式显示正在监听的 TCP 套接字,并且不解析主机名。
ss -ltn使用 UFW 管理端口
UFW(简单防火墙)是 Ubuntu 和其他基于 Debian 的系统上常用的防火墙管理工具。它简化了 iptables 规则的配置。
要允许或拒绝流量,您需要指定端口号和协议(TCP 或 UDP)。更改后,请记得重新加载或启用 UFW。
sudo ufw allow 80/tcp
sudo ufw deny 22
sudo ufw enable使用 firewalld 管理端口
在 CentOS、RHEL 和 Fedora 系统中,firewalld 是默认的防火墙管理工具。它使用“区域”管理不同的网络接口。
您可以将规则添加到某个区域,面向互联网的服务通常使用 public 区域,然后重新加载 firewalld 以应用更改。
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --zone=public --remove-port=22/tcp --permanent
sudo firewall-cmd --reload认识端口转发
端口转发是一种将网络流量从一个端口重定向到另一个端口的技术。转发可以发生在同一台计算机上,也可以发生在不同计算机之间。
端口转发常用于允许外部设备访问私有网络中的服务,或通过中间服务器安全地建立流量隧道。
使用 SSH 进行本地端口转发
一种常见类型是使用 SSH 进行本地端口转发。它会在您的本地计算机与远程服务器之间建立一条安全隧道,然后再从远程服务器连接到另一个目标主机和端口(目标甚至可以是远程服务器本身)。
当远程私有网络中的服务未直接暴露在互联网上时,这种方式非常有用,例如访问数据库或内部 Web 应用程序。
SSH 本地转发演示
下面介绍如何使用 SSH 本地端口转发。此命令会通过与 your_server_ip 建立的 SSH 连接,将本地计算机的 8080 端口流量转发到 localhost(远程服务器本身)的 80 端口。
连接成功后,您可以在本地计算机上访问 http://localhost:8080,从而打开远程 Web 服务器(80 端口)。
ssh -L 8080:localhost:80 user@your_server_ip端口安全最佳实践
管理端口对于服务器安全至关重要。以下是一些重要做法:
- 最小权限原则:只开放服务正常运行绝对必要的端口。
- 定期审计:定期检查防火墙规则和处于活动状态的监听端口,确保没有未经授权的端口处于开放状态。
- 强密码/密钥:对于 SSH 等服务,始终使用强身份验证方式。
- 速率限制:请考虑限制对关键端口(例如 SSH)的连接尝试次数,以防止暴力破解攻击。
快速检查:端口管理
管理服务器端口时,以下哪些做法被认为是良好的安全实践?
回顾:端口与安全
在本课中,我们探讨了网络端口。端口对于将流量转发到服务器服务至关重要。我们还了解了常见端口号,以及如何使用 ss 检查监听端口。
现在您已经知道如何使用 UFW 和 firewalld 管理防火墙规则,也理解了 SSH 本地端口转发的概念。更重要的是,我们学习了端口安全的最佳实践,以保护服务器安全。
用 AI 导师学习 Linux Server Deployment & SSH Mastery — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 12
- 课程
- 48
常见问题解答
「端口管理与安全」课时是免费的吗?
是的 — 「端口管理与安全」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Linux Server Deployment & SSH Mastery 课程的其余内容,请升级到 CoddyKit PRO。 Linux Server Deployment & SSH Mastery 课程共包含 4 节课。
「端口管理与安全」这节课中我会学到什么?
为服务开放和关闭特定端口,实现端口转发,并了解与开放端口相关的常见攻击途径 你通过在浏览器中直接运行的动手代码来练习 Linux Server Deployment & SSH Mastery,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Linux Server Deployment & SSH Mastery 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Linux Server Deployment & SSH Mastery 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「端口管理与安全」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Linux Server Deployment & SSH Mastery 课中编写并运行代码吗?
能。每节 Linux Server Deployment & SSH Mastery 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。