安全

安全页面分为三部分:面板自身的 SSL 证书、拦截网站攻击(ModSecurity 配合 OWASP 规则),以及自动封禁猜测密码的 IP 地址(fail2ban)。
面板 SSL 证书
Section titled “面板 SSL 证书”第一张卡片显示面板正在使用的证书。新安装的面板使用自签名证书,因此通过 IP 地址打开面板时,浏览器会提示连接不安全。为域名签发证书可消除该警告。
面板(端口 2610)和 phpMyAdmin(端口 2611)共用一张证书,因此签发一次即可同时消除两个端口的警告。
| 来源 | 含义 |
|---|---|
| 自签名 | 默认值。浏览器会发出警告;仅在拥有域名之前使用 |
| Let’s Encrypt | 免费,在到期前 30 天自动续期(与网站证书使用相同的定时器) |
| 自定义证书 | 您购买或从其他途径获得的证书。不会自动续期 |
证书安装后,卡片会显示域名、来源和可访问地址。如果证书不涵盖正在使用的域名,将显示警告。
使用 Let’s Encrypt 签发
Section titled “使用 Let’s Encrypt 签发”- 为面板选择一个独立的域名,例如
panel.example.com。不要使用网站的域名,面板会拒绝。 - 将该域名的 A 记录指向服务器的 IP 地址。卡片会显示需要使用的 IP。
- 对互联网开放 80 端口,包括 VPS 服务商的防火墙。
- 输入域名,然后点击签发证书。
面板会先检查 DNS。如果域名尚未指向服务器,面板会报告问题,而不是发送一个必定被拒绝的请求。为完成验证,面板会在 80 端口上为面板域名单独开启一个 Nginx 服务器块。它负责应答 Let’s Encrypt 的验证请求,并将其他请求转发到面板端口。此功能仅支持为域名签发证书。
粘贴自定义证书
Section titled “粘贴自定义证书”输入域名,然后填写证书、私钥以及可选的中间证书链(CA bundle,如有),与网站 SSL 标签页中的字段相同。证书必须涵盖上述域名。若使用 Cloudflare 源证书或私有 CA,请勾选选项,即使浏览器不信任该证书链,也要安装。
证书与域名匹配后,卡片会列出可用的地址:
- 面板:
https://domain:2610,phpMyAdmin:https://domain:2611。 - 若使用与该名称匹配的 Let’s Encrypt 或自定义证书,Nginx 还会在 443 端口上提供该域名服务:面板位于
https://domain,phpMyAdmin 位于https://domain/pma/。通过 IP 打开面板时,仍使用上述两个端口。
恢复为自签名证书
Section titled “恢复为自签名证书”打开恢复为自签名证书,然后点击使用自签名证书。面板将停止在该域名上响应,只能通过 IP 地址和自签名证书访问。
Web 应用防火墙
Section titled “Web 应用防火墙”它会检查发送到网站的每个请求,拦截 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。
fail2ban
Section titled “fail2ban”在多次 SSH 或面板登录失败后,以及在多次被 OWASP 规则拦截的请求之后,它会封禁该 IP 地址。封禁时长为 1 小时。
- 永不封禁的地址:每行一个 IP 或网段。开启时,您当前的 IP 始终会被添加到此列表。
- Jail 列表:SSH、面板登录、被 OWASP 规则拦截。表格显示失败次数、当前被封禁的地址以及累计封禁数。
- 解封:立即解除对某个地址的封禁。