防火墙(UFW)
MyPanel 在 防火墙 菜单中以可视化方式管理 UFW(Uncomplicated Firewall):
- 概览磁贴 —— 一目了然地查看防火墙是否开启、入站策略、规则数量,以及 SSH/面板端口是否开放。
- 启用 / 禁用 UFW。启用时,面板会 防止锁死:如果 SSH 或面板端口尚未开放,它会询问 “开放并启用” 或 “仍然启用”,而不是让你失去访问权限。
- 默认策略 —— 将入站设为 拒绝,这样只有明确开放的端口才可访问(安全防火墙的核心)。
- 添加规则,并为常用端口(SSH、HTTP、HTTPS、MySQL、PostgreSQL…)提供快捷标签,一键预填表单。每条规则包含:
- 动作:允许 / 拒绝 / 限速(连接速率限制 —— 减缓 SSH 密码爆破)。
- 端口 + 协议(TCP/UDP/两者)。
- 来源(可选):仅向特定 IP/CIDR 开放端口(例如仅允许从你的办公室 IP 进行 SSH)。
- 编辑规则 —— 将规则重新载入表单;保存时会删除旧规则并创建新规则(UFW 无法就地编辑)。
- 删除规则。开放 SSH/面板端口的规则会被标记为 关键,删除前需要更强的确认。
匹配的 IPv4 和 IPv6 规则会被 合并为一行(标记为 v4·v6),让列表保持整洁。
Cloudflare —— 恢复真实访客 IP
Section titled “Cloudflare —— 恢复真实访客 IP”就在 防火墙 页面上有一张 Cloudflare —— 恢复真实访客 IP 卡片。当你的站点位于 Cloudflare 代理之后时启用它:nginx 将从 CF-Connecting-IP 头读取真实访客 IP,而不是 Cloudflare 的 IP。
这是让 限速与暴力破解防护 正常工作的 必要条件 —— 否则每个请求都携带 Cloudflare IP,会导致限速拦截所有访客,并且 Fail2ban 可能封禁 Cloudflare 的 IP 段。面板会获取最新的 Cloudflare IP 段(并内置一份回退列表),在应用前运行 nginx -t;配置有误会自动回滚。
不在 Cloudflare 后方的域名怎么办?
Section titled “不在 Cloudflare 后方的域名怎么办?”安全 —— 无影响。 该配置应用于 http 层级(所有域名),但 nginx 仅 在 连接来自 Cloudflare 的某个 IP 段 时才用 CF-Connecting-IP 头替换访客 IP:
- 访客 直接 访问非 Cloudflare 域名 → 其来源 IP 不属于 Cloudflare 段 → nginx 忽略该头 并照常保留真实 IP。
- 对非 CF 域名的请求也 不会携带
CF-Connecting-IP头(该头由 Cloudflare 添加),因此没有可替换的内容。 - 防伪造:直接连接并伪造
CF-Connecting-IP头的人 不会产生任何影响,因为其来源 IP 不在受信任列表中。
因此在混合服务器上(部分域名在 Cloudflare 后方,部分不在)启用此卡片是 安全的。这也是 Cloudflare 推荐的做法。