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