NPMplus 2024-10-21-r1 Release

요약

호스트 이름 및 사용자 지정 acme 서버의 변경 사항, 수정된 upstream CVE, 발견한 문제를 신고하십시오.

변경된 사항

  • 업스트림 병합 (CVE 수정 포함 - 인증서 생성 중 쉘/명령 주입 - 악용을 위해 인증서 생성 권한이 필요함)
    • 참고: upstream은 API 엔드포인트에 정규식 검사를 추가하여 이 문제를 해결함 (포함되었음). 이로 인해 새 호스트/호스트에 사용 중인 정규식이 있는 경우 호스트가 중단될 수 있음
    • 참고: 저는 ('child_process').exec 대신 require('child_process').execFile로 전환하여 이러한 주입을 완전히 방지하는 두 번째 수정도 추가했습니다. 따라서 upstream의 정규식 변경은 필요에 따라 되돌릴 수 있을 것입니다
    • 또한 테스트 중에 이미 알아차린 몇 가지 작은 upstream 버그도 수정했으므로 새로운 정규식 검사를 통해 더 많은 버그가 있을 수 있습니다
  • 의존성 업데이트
  • apache2-utils 대신 node 모듈을 사용하여 nginx 액세스 리스트 생성
  • 새로운 인스턴스를 위해 앱 보안 파일 업로드 수정: 앱 보안 시간 제한 증가, /opt/npm/etc/crowdsec/crowdsec.conf 구성 파일의 백업을 생성하는 것이 좋습니다. 이후 파일을 삭제한 다음 NPMplus를 다시 시작하여 파일이 다시 생성되고 구성할 수 있도록 구성하십시오.
  • certbot-ocsp-fetcher.sh 완료 후 nginx 다시 로드
  • 사용자 지정 certbot.ini 지원 제거, 사용자 지정 acme 서버를 사용하려면 compose.yaml에서 찾을 수 있는 새로운 환경을 사용하십시오.
  • ipv6 비활성화 수정
  • nginx/custom이 이제 nginx_custom으로 변경됨 (하위 폴더에서 새 폴더로)
  • 인증서 생성 시 이메일을 입력할 필요가 없습니다 (compose.yaml에서 수행하십시오)
  • DNS 전파 지연 지원 제거
  • rootless 모드에서 nginx.conf에서 '#' 중복 수정
  • 백엔드에서 압축 허용
  • 기본 ssl_ecdh_curve 개선 (X25519MLKEM768 활성화)
  • env를 사용하여 proxy buffering을 비활성화하면 proxy_request_buffering도 비활성화됨
  • 압축할 마인 유형 제한 (텍스트/이미지/음성) - 누락된 항목이나 압축해서는 안 되는 것에 대한 아이디어가 있다면 토론을 열어주십시오 (현재: text/html text/css text/javascript text/xml application/atom+xml application/rss+xml text/markdown text/mathml text/plain text/vnd.sun.j2me.app-descriptor text/vnd.wap.wml text/x-component application/json application/xhtml+xml application/xspf+xml font/woff font/woff2 image/avif image/bmp image/png image/svg+xml image/tiff image/vnd.wap.wbmp image/webp image/x-icon image/x-jng audio/midi audio/mpeg audio/ogg audio/x-m4a audio/x-realaudio)

업데이트하는 방법

  • 상기 변경 사항을 읽으십시오
  • zoeyvid/npmplus:latest 이미지를 가져옵니다.
  • compose.yaml/NPMplus에서 위와 같은 변경 사항을 적용합니다.
  • compose 스택을 다시 배포합니다.
  • 발견한 문제를 신고하십시오.

전체 변경 내역: 2024-10-05-r1...2024-10-21-r1

원문 내용

Breaking changes in host names and custom acme servers, fixed upstreams CVEs, please report any issues you find

What's Changed

  • merge upstream (including CVE fixes - shell/command injection while creating certificates - permission to create certs was required to exploit)
    • Note: upstream fixed this by adding regex checks in API endpoint (is included), this may break new hosts/your hosts if you update them, and you are using regex inside your host names
    • Note: I added a second fix by switching from ('child_process').exec to require('child_process').execFile, this should prevent this kind of injection completely, so the regex change from upstream should be safe to revert if needed
    • I also fixed some small upstream bugs which I already noticed while testing, so there are probably more through new regex checks
  • dep updates
  • generate nginx access lists using node module instead of apache2-utils
  • for new instances, fix appsec file upload: increase appsec timeouts, I recommend that you create a backup of your /opt/npm/etc/crowdsec/crowdsec.conf config file, delete it, then restart NPMplus (so the file gets recreated) and you then configure it again, so you have the new timeouts
  • reload nginx after certbot-ocsp-fetcher.sh finished
  • custom certbot.ini support REMOVED, if you want to use a custom acme server please do this using the new envs you can find in the compose.yaml
  • fix disabling ipv6
  • nginx/custom is now nginx_custom (from sub folder to new folder)
  • you no longer need to enter your email while creating certs (please do this in compose.yaml)
  • DNS propagation delay support removed
  • fixed duplicating '#' in nginx.conf in rootless mode
  • allow backend to compress
  • improve default ssl_ecdh_curve (enable X25519MLKEM768)
  • also disable proxy_request_buffering if you disable proxy buffering using env
  • limit mine types to compress (text/images/auido) - if you have ideas if something is missing or should not be compressed please open a discussion (currently: text/html text/css text/javascript text/xml application/atom+xml application/rss+xml text/markdown text/mathml text/plain text/vnd.sun.j2me.app-descriptor text/vnd.wap.wml text/x-component application/json application/xhtml+xml application/xspf+xml font/woff font/woff2 image/avif image/bmp image/png image/svg+xml image/tiff image/vnd.wap.wbmp image/webp image/x-icon image/x-jng audio/midi audio/mpeg audio/ogg audio/x-m4a audio/x-realaudio)

How to update

  • Read the changes above
  • Pull the zoeyvid/npmplus:latest image
  • apply possible changes that maybe effect you from above to your compose.yaml/NPMplus
  • redeploy the compose stack
  • report any issues you find

Full Changelog: 2024-10-05-r1...2024-10-21-r1

링크 : https://github.com/ZoeyVid/NPMplus/releases/tag/2024-10-21-r1