安装 CSF 遇到 Cyber​​Panel 服务器 500 错误后,如何重新安装启用 CSF 防火墙

Cyber​​Panel如何重新启用 CSF 防火墙

CyberPanel 服务器在安装 后出现 500 错误!

如果您最近更新到 版本 2.3.6 的后续提交版本,您可能已经注意到 CSF(ConfigServer 安全和)防火墙已被禁用。此问题与 Cyber​​Panel 从 Django v3 升级到 v4 直接相关,这引入了目前与 CSF 不兼容的重大更改。不幸的是,CSF 尚未更新其代码以与 Django 4 兼容,导致许多用户没有可用的防火墙。

如何在 Cyber​​Panel 上重新启用 CSF 防火墙-1

问题

Cyber​​Panel 从 Django v3 升级到 v4 是为了跟上最新的 Web 开发标准,但这与 CSF 产生了重大冲突。核心问题是,许多用户依赖 CSF 进行防火墙管理,但 CSF 尚未更新以支持 Django 4。这种不导致 Cyber​​Panel 2.3.6 及更高版本禁用了 CSF,从而使您的服务器可能存在漏洞。

临时解决方案:手动回滚

对于那些需要恢复 CSF 功能的用户,一个临时解决方案是手动回滚到仍然与 CSF 兼容的 Cyber​​Panel 版本。为了简化此过程,我创建了一个自动回滚的脚本。

脚本的作用

  1. 备份 Cyber​​Panel 和 CSF 配置
    • 该脚本首先创建您的目录的备份/usr/local/CyberCP,以确保您当前的 Cyber​​Panel 设置安全存储。
    • 它还会备份您的 CSF /etc/csf(如果存在)。由于我们需要删除并重新安装 CSF,此步骤可确保您的所有自定义防火墙设置都得到保留。
  2. 下载兼容的 Cyber​​Panel 版本
    • 该脚本会下载与 CSF 兼容的 Cyber​​Panel 版本。此版本仍使用与 CSF 完全兼容的 Django v3。
    • 备份和恢复存储在 settings.py 中的凭据
  3. 降级 Django 并重新安装 CSF
    • 该脚本通过 Cyber​​panel 卸载并重新安装 CSF,从而修复 UI。
    • 最后,该脚本将 Django 从 v4 降级到 v3,使其与下载的 Cyber​​Panel 版本保持一致,并确保 CSF 能够正常运行。

如何使用脚本

要使用此回滚脚本,请按照下列步骤操作:

pip install -r /usr/local/CyberCP/requirments.txt --force-reinstall
sh <(curl https://sajetekengineering.com/wp-content/uploads/cyberpanel/install_csf_cyberpanel.sh || wget -O - https://sajetekengineering.com/wp-content/uploads/cyberpanel/install_csf_cyberpanel.sh)

运行上面的脚本后,重新启动服务器后,CSF安装成功!

CSF安装后启动会遇到警告

*WARNING* Binary location for [SENDMAIL] [/usr/sbin/sendmail] in /etc/csf/csf.conf is either incorrect, is not installed or is not executable
*WARNING* Missing or incorrect binary locations will break csf and functionality

这个警告说明 CSF 检测到配置文件 /etc/csf/csf.conf 中指定的 SENDMAIL 二进制路径 /usr/sbin/sendmail 无法找到、未安装或不可执行。这会影响 CSF 和 LFD 的正常功能。

sudo apt install sendmail

重启 CSF 和 LFD 服务
确保一切正常后,重新启动 CSF 和 LFD 服务:

sudo systemctl restart csf
sudo systemctl restart lfd

此手动回滚只是临时修复,但对于依赖 CSF 进行防火墙管理的用户来说,它是必不可少的。在 CSF 更新其代码以与 Django 4 兼容之前,此解决方法将允许您维护服务器的安全性。请密切关注 CSF 和 Cyber​​Panel 的更新,以便将来找到更持久的解决方案。

5/5 - (1 vote)

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注