跳转到内容

安全

安全页面

安全页面分为三部分:面板自身的 SSL 证书、拦截网站攻击(ModSecurity 配合 OWASP 规则),以及自动封禁猜测密码的 IP 地址(fail2ban)。

第一张卡片显示面板正在使用的证书。新安装的面板使用自签名证书,因此通过 IP 地址打开面板时,浏览器会提示连接不安全。为域名签发证书可消除该警告。

面板(端口 2610)和 phpMyAdmin(端口 2611)共用一张证书,因此签发一次即可同时消除两个端口的警告。

来源 含义
自签名 默认值。浏览器会发出警告;仅在拥有域名之前使用
Let’s Encrypt 免费,在到期前 30 天自动续期(与网站证书使用相同的定时器)
自定义证书 您购买或从其他途径获得的证书。不会自动续期

证书安装后,卡片会显示域名、来源和可访问地址。如果证书不涵盖正在使用的域名,将显示警告。

  1. 为面板选择一个独立的域名,例如 panel.example.com。不要使用网站的域名,面板会拒绝。
  2. 将该域名的 A 记录指向服务器的 IP 地址。卡片会显示需要使用的 IP。
  3. 对互联网开放 80 端口,包括 VPS 服务商的防火墙。
  4. 输入域名,然后点击签发证书。

面板会先检查 DNS。如果域名尚未指向服务器,面板会报告问题,而不是发送一个必定被拒绝的请求。为完成验证,面板会在 80 端口上为面板域名单独开启一个 Nginx 服务器块。它负责应答 Let’s Encrypt 的验证请求,并将其他请求转发到面板端口。此功能仅支持为域名签发证书。

输入域名,然后填写证书、私钥以及可选的中间证书链(CA bundle,如有),与网站 SSL 标签页中的字段相同。证书必须涵盖上述域名。若使用 Cloudflare 源证书或私有 CA,请勾选选项,即使浏览器不信任该证书链,也要安装。

证书与域名匹配后,卡片会列出可用的地址:

  • 面板:https://domain:2610,phpMyAdmin:https://domain:2611。
  • 若使用与该名称匹配的 Let’s Encrypt 或自定义证书,Nginx 还会在 443 端口上提供该域名服务:面板位于 https://domain,phpMyAdmin 位于 https://domain/pma/。通过 IP 打开面板时,仍使用上述两个端口。

打开恢复为自签名证书,然后点击使用自签名证书。面板将停止在该域名上响应,只能通过 IP 地址和自签名证书访问。

它会检查发送到网站的每个请求,拦截 SQL 注入、XSS、未授权的文件读取、远程命令执行和扫描器。它适用于所有网站。面板和 phpMyAdmin 不受影响。

模式 含义
关闭 不检查,不安装任何软件包
仅记录 记录规则会拦截的请求,但仍放行
拦截 拦截违规请求,并返回 403

首次使用时,面板会安装 libnginx-mod-http-modsecurity 和 modsecurity-crs。规则集约占用 30 至 60 MB 内存。被捕获的请求会记录到 /var/log/mpn/modsec_audit.log(保留 7 天)。实际被拦截的请求还会写入 /var/log/mpn/sites/<website>/error.log。

在多次 SSH 或面板登录失败后,以及在多次被 OWASP 规则拦截的请求之后,它会封禁该 IP 地址。封禁时长为 1 小时。

  • 永不封禁的地址:每行一个 IP 或网段。开启时,您当前的 IP 始终会被添加到此列表。
  • Jail 列表:SSH、面板登录、被 OWASP 规则拦截。表格显示失败次数、当前被封禁的地址以及累计封禁数。
  • 解封:立即解除对某个地址的封禁。
加入 Discord