우수한 소프트웨어와 실용적인 튜토리얼
CyberPanel에서 CSF 방화벽을 다시 활성화하는 방법
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를 비활성화하므로 서버가 취약해질 수 있습니다.
CyberPanel 2.3.9에 CSF를 설치한 후, 사용자들이 500 내부 서버 오류를 경험하여 제어판에 접근할 수 없게 되었습니다. 500 오류는 일반적으로 서버 측의 구성 문제, 종속성 충돌 또는 코드 실행 오류를 나타냅니다. 커뮤니티 토론 및 관련 자료에 따르면, 이는 CSF와 CyberPanel 최신 버전 간의 호환성 문제일 가능성이 있으며, 특히 Django 버전(v3에서 v4로) 업그레이드로 인해 발생하는 문제일 수 있습니다.
호환되지 않는 Django 버전
CyberPanel은 Django 2.3.6 이후 v4로 업그레이드했지만, 현재 버전의 CSF는 아직 Django v4에 완전히 적응하지 못했습니다. 이로 인해 CSF의 Python 모듈(예: ConfigServer/URLGet.pm 또는 DisplayUI.pm)이 CyberPanel 환경에서 실행되지 않습니다.
커뮤니티 피드백에 따르면 CyberPanel 2.3.6 이상에서는 CSF가 비활성화되어 있거나 설치 후 500 오류가 발생한다고 합니다.
현재 환경을 확인하세요
CyberPanel 버전 확인
고양이 /usr/local/CyberCP/버전.txt
Django 버전 확인
python3 -c "django 가져오기; print(django.get_version())"
4.xx가 표시되면 CSF와 호환되지 않을 수 있습니다.
기존 CSF 제거
CyberPanel 서버에서 오류 500을 보고합니다. 먼저 CSF를 제거한 후 CyberPanel에서 여전히 오류가 발생하는지 확인하세요. 제거 후에도 패널에 정상적으로 액세스할 수 있다면 CSF와 CyberPanel 간의 충돌이 원인일 수 있습니다.500 오류.
sh /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 오류가 발생하는 경우, 공식 업그레이드 스크립트만 사용하여 업그레이드하고 설치하면 됩니다.
쉿 <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh || wget -O - https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh)
임시 해결책: 수동 롤백
CyberPanel을 호환 버전으로 롤백하기 CSF 기능을 복원해야 하는 경우, 임시 해결책은 CSF와 호환되는 CyberPanel 버전으로 수동으로 롤백하는 것입니다. 이 과정을 간소화하기 위해 자동으로 롤백하는 스크립트를 만들었습니다.
스크립트의 기능
- CyberPanel 및 CSF 구성 백업:
- 스크립트는 먼저 디렉토리의 백업을 생성합니다.
/usr/local/사이버CP
현재 CyberPanel 설정이 안전하게 저장되도록 하세요. - 또한 CSF 구성 파일을 백업합니다.
/etc/csf
(존재하는 경우). CSF를 제거하고 다시 설치해야 하므로, 이 단계를 수행하면 모든 사용자 지정 방화벽 설정이 유지됩니다.
- 스크립트는 먼저 디렉토리의 백업을 생성합니다.
- 호환되는 CyberPanel 버전을 다운로드하세요:
- 이 스크립트는 CyberPanel의 CSF 호환 버전을 다운로드합니다. 이 버전은 CSF와 완벽하게 호환되는 Django v3를 사용합니다.
- settings.py에 저장된 자격 증명을 백업하고 복원합니다.
- Django 다운그레이드하고 CSF 다시 설치:
- 이 스크립트는 Cyberpanel을 통해 CSF를 제거했다가 다시 설치하여 UI를 수정합니다.
- 마지막으로 스크립트는 Django를 v4에서 v3으로 다운그레이드하여 다운로드한 CyberPanel 버전과 맞추고 CSF가 제대로 작동하는지 확인합니다.
스크립트 사용 방법
이 롤백 스크립트를 사용하려면 다음 단계를 따르세요.
pip install -r /usr/local/CyberCP/requirments.txt --강제 재설치
쉿 <(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가 설치되면 경고가 시작됩니다.
*경고* /etc/csf/csf.conf의 [SENDMAIL] [/usr/sbin/sendmail]에 대한 바이너리 위치가 잘못되었거나 설치되지 않았거나 실행할 수 없습니다.
*경고* 누락되거나 잘못된 바이너리 위치로 인해 csf 및 lfd 기능이 중단됩니다.
이 경고는 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와 CyberPanel 업데이트를 지속적으로 확인해 주시기 바랍니다.