文档 / 服务器防火墙与 Host Access

服务器防火墙与 Host Access

面板可以替您管理服务器自己的防火墙,因此您无需 SSH 会话就能开放端口或封禁地址。它支持 ufw(Debian 和 Ubuntu)和 firewalld(RHEL 家族:AlmaLinux、Rocky、CloudLinux)。它仅供服务器管理员使用,位于 System → Security → Firewall。如果服务器没有启用的防火墙,卡片会如实说明,并且不提供任何可更改的内容。

服务器上的防火墙只是其中一层。大多数服务商还有一个单独的 云防火墙,需要您在服务商处管理。一个端口必须在两处都被允许。参见 VPS 服务商说明。

安全网:每项更改都会自行撤销

防火墙里的一个失误,是把自己锁在自己服务器之外的经典原因。所以您在这里所做的每项更改都是 临时的:

  1. 您开放一个端口、封禁一个地址或保存一份列表。更改立即生效。
  2. 出现一个对话框:Keep these firewall changes?,并带有 3 分钟 的倒计时。
  3. 检查这个面板是否仍能使用,以及您是否仍能用 SSH 登录。然后按 Keep changes。按 Undo now 可立即恢复原状。
  4. 如果您什么都不做,倒计时结束时防火墙会恢复到之前的样子。

倒计时保存在服务器上,而不是您的浏览器里,并且在面板或整台服务器重启后依然有效。如果撤销本身无法完成(例如防火墙正忙),服务器会自己继续尝试,卡片会说明有些更改尚未能撤销。

如果在更改等待期间服务器停止,而记录待撤销内容的记录已损坏,面板不会去猜。它会显示 Check the firewall,请您查看各份列表,并把任何您不想保留的内容恢复原样,在您按下 I have checked 之前不会做出任何新的更改。

开放的端口与被封禁的地址

Open ports 列出防火墙放行的内容。要开放一个端口,请输入一个端口(如 8080)或一个范围(如 3000-3010),选择 TCP 或 UDP,然后按下按钮。列表中的端口旁有一个用于关闭它的按钮。

Blocked addresses 列出被拒之门外的地址。输入一个 IP 地址,或一个网络(如 203.0.113.0/24),然后按 Block。卡片会显示您自己的地址,让您看清它是什么。

面板拒绝做的事

这些规则无法关闭。它们的存在是为了让一次打字失误不会使服务器瘫痪。

您尝试 面板拒绝的原因
关闭 SSH、80 端口或 443 端口 它们让服务器保持可访问。SSH 取自 SSH 服务器自己的设置,因此非标准的 SSH 端口同样受到保护。
开放一个私有端口:6379(Redis)、11211(Memcached)、27017(MongoDB)、9080(面板自己的后端)、8891(DKIM 签名器)或 8100-8999(按账户的 Web 后端) 它们不设密码就在监听,或者位于前端 Web 服务器之后。开放它们会让访客绕过前端 Web 服务器的防护。
封禁您自己的地址 您会把自己切断。如果面板看不到您的地址,它什么都不会封禁。
封禁属于本服务器的地址 服务器会把自己封禁。
封禁一个非常大的网络 IPv4 中比 /8 更宽、IPv6 中比 /16 更宽的网络会被拒绝。

Host Access:谁可以连接

在 Who can connect (Host Access) 下,您可以规定只有列表上的地址才能访问四项服务之一。其他所有人都会被防火墙拒之门外。

服务 涵盖的端口
SSH 本服务器的 SSH 端口(绝不包括 80 或 443,即使 SSH 与它们共用)
FTP 21、990 以及被动范围 30000-30100
邮箱登录 110、143、465、587、993、995
数据库 3306

网站和收信(25 端口)永远不受限制。 邮箱登录指的是人们读取和发送邮件的入口;其他邮件服务器仍可通过 25 端口联系到您。

要限制一项服务,请按 Limit to a list…,每行写一个地址或网络(最多 15 个),然后按 Save list。规则如下:

  • 对于 SSH,您自己的地址必须在列表上,否则面板不会保存。如果您还会从另一台电脑或通过 VPN 登录,也请把那个地址加进去。按钮 Add my address 会填入您的地址。
  • 宽到不足以构成真正限制的网络会被拒绝(IPv4 中比 /8 更宽,IPv6 中比 /16 更宽)。
  • Allow everyone…(对数据库则是 Remove list…,数据库默认对外关闭)会解除列表。在 firewalld 上,它会按安装器最初的设置,把该服务重新交还给所有人。
  • 与其他所有更改一样,列表在您按下 Keep changes 之前,都有 3 分钟的临时期。

列表无法保存时

  • “This firewall lets in every connection no rule mentions”——列表起不到任何限制作用,因为防火墙接受一切未被禁止的连接。请先把防火墙设为默认拒绝入站连接(在 ufw 上用 ufw default deny incoming;在 firewalld 上,把活动区域的 target 设为 default 或 REJECT)。
  • “Another rule, made outside the panel, also opens these ports”——例如您手动添加的带速率限制、带日志记录或范围更宽的规则。面板不会去动它,并把该服务显示为不可管理。请先自己删除那条规则,否则列表起不到任何限制作用。

重新运行安装器

再次运行 install.sh,或更新面板,不会 重新开放您用 Host Access 限制过的端口。列表保持您离开时的样子。

它不做什么

  • 它不能取代账户级别的防护:暴力破解拦截、每个账户中的 IP 封禁列表以及 Web 应用防火墙,都是独立的功能。
  • 它不管理您已禁用的防火墙,也不管理 ufw 和 firewalld 以外的工具中的规则。
  • 这里的任何操作都不会更改您服务商处的云防火墙。

相关: 故障排查 · VPS 服务商说明