Премиальное программное обеспечение и практические уроки
Как повторно включить брандмауэр CSF в CyberPanel
Сервер CyberPanel установлен СМЖ Затем произошла ошибка 500!
Если вы недавно обновились до КиберПанель В последующих коммитах версии 2.3.6 вы могли заметить, что CSF (ConfigServer Security иБрандмауэр) Брандмауэр был отключен. Эта проблема напрямую связана с обновлением CyberPanel с Django v3 до v4, которое внесло критические изменения, в настоящее время несовместимые с CSF. К сожалению, CSF ещё не обновил свой код для совместимости с Django 4, из-за чего многие пользователи остались без работающего брандмауэра.
вопрос
CyberPanel обновилась с Django v3 до v4, чтобы соответствовать новейшим стандартам веб-разработки, но это привело к серьёзному конфликту с CSF. Основная проблема заключалась в том, что многие пользователи использовали CSF для управления брандмауэром, но CSF ещё не был обновлён для поддержки Django 4. Это несоответствиесовместимостьЭто приводит к тому, что CyberPanel 2.3.6 и более поздние версии отключают CSF, что потенциально делает ваш сервер уязвимым.
После установки CSF на CyberPanel версии 2.3.9 пользователи столкнулись с внутренней ошибкой сервера 500, из-за которой панель управления стала недоступна. Ошибка 500 обычно указывает на проблему конфигурации на стороне сервера, конфликт зависимостей или сбой выполнения кода. Судя по обсуждениям в сообществе и соответствующей документации, это может быть связано с проблемой совместимости CSF с последней версией CyberPanel, в частности, с обновлением с Django v3 до v4.
Несовместимые версии Django
CyberPanel обновила Django до версии 4, начиная с версии 2.3.6, но текущая версия CSF ещё не полностью адаптирована к Django v4. Это может привести к сбоям в работе Python-модулей CSF (таких как ConfigServer/URLGet.pm или DisplayUI.pm) в среде CyberPanel.
Отзывы сообщества указывают на то, что CSF отключен в CyberPanel 2.3.6 и более поздних версиях или вызывает ошибку 500 после установки.
Проверьте текущую среду
Подтвердите версию CyberPanel
cat /usr/local/CyberCP/version.txt
Подтвердите версию Django
python3 -c "импорт django; печать (django.get_version())"
Если отображается 4.xx, возможно, он несовместим с CSF.
Удаление существующего CSF
Если сервер CyberPanel сообщает об ошибке 500, сначала удалите CSF, а затем проверьте, продолжает ли CyberPanel выдавать ошибку. Если после удаления панель доступна нормально, это вызвано конфликтом между CSF и CyberPanel.Ошибка 500.
ш /etc/csf/uninstall.sh
Переустановите CSF с помощью скрипта отката
cd /usr/src wget https://sajetekengineering.com/wp-content/uploads/cyberpanel/cyberpanel_csf_rollback.sh chmod +x cyberpanel_csf_rollback.sh ./cyberpanel_csf_rollback.sh
Скрипт создает резервную копию существующей конфигурации и выполняет понижение до совместимой версии.
Переустановить CSF
wget https://github.com/waytotheweb/scripts/raw/refs/heads/main/csf.tgz tar -xzf csf.tgz cd csf sh install.sh
Официальное решение
Официальный скрипт установки обновлён. Если после установки CSF вы столкнулись с ошибкой 500, вам нужно будет обновиться и установить CSF только с помощью официального скрипта обновления.
ш <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh || wget -O - https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh)
Временное решение: ручной откат
Откат CyberPanel до совместимой версии. Для тех, кому необходимо восстановить функциональность CSF, временным решением будет ручной откат к версии CyberPanel, совместимой с CSF. Чтобы упростить этот процесс, я создал скрипт для автоматического отката.
Что делает сценарий
- Резервное копирование конфигурации CyberPanel и CSF:
- Сначала скрипт создает резервную копию вашего каталога.
/usr/local/CyberCP
чтобы гарантировать безопасное сохранение текущих настроек CyberPanel. - Он также создает резервные копии ваших файлов конфигурации CSF.
/etc/csf
(если есть). Поскольку нам потребуется удалить и переустановить CSF, этот шаг гарантирует сохранение всех пользовательских настроек брандмауэра.
- Сначала скрипт создает резервную копию вашего каталога.
- Загрузите совместимую версию CyberPanel:
- Этот скрипт загрузит версию CyberPanel, совместимую с CSF. Эта версия по-прежнему использует Django v3, который полностью совместим с CSF.
- Резервное копирование и восстановление учетных данных, хранящихся в settings.py
- Понижение версии Django и переустановка CSF:
- Этот скрипт удаляет и переустанавливает CSF через Cyberpanel, тем самым восстанавливая пользовательский интерфейс.
- Наконец, скрипт понижает версию Django с v4 до v3, чтобы привести ее в соответствие с загруженной версией CyberPanel и гарантировать правильную работу CSF.
Как использовать скрипт
Чтобы использовать этот скрипт отката, выполните следующие действия:
pip install -r /usr/local/CyberCP/requirments.txt --force-reinstall
ш <(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 при запуске появится предупреждение
*ПРЕДУПРЕЖДЕНИЕ* Расположение двоичного файла [SENDMAIL] [/usr/sbin/sendmail] в /etc/csf/csf.conf неверно, не установлено или не является исполняемым
*ВНИМАНИЕ* Отсутствие или неправильное расположение двоичных файлов приведет к нарушению функциональности csf и lfd.
Это предупреждение означает, что CSF обнаружил, что двоичный путь SENDMAIL /usr/sbin/sendmail, указанный в файле конфигурации /etc/csf/csf.conf, не найден, не установлен или не может быть выполнен. Это повлияет на нормальную работу CSF и LFD.
sudo apt install sendmail
Перезапустите службы CSF и LFD
Убедившись, что все работает правильно, перезапустите службы CSF и LFD:
sudo systemctl restart csf
sudo systemctl restart lfd
Этот ручной откат — лишь временное решение, но он крайне важен для пользователей, использующих CSF для управления брандмауэром. Этот обходной путь позволит вам поддерживать безопасность вашего сервера, пока CSF не обновит свой код для совместимости с Django 4. Следите за обновлениями CSF и CyberPanel, чтобы в будущем найти более постоянное решение.