4.12. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
이메일 주소 구문 분석을 제어하는 Python의 새로운 환경 변수
CVE-2023-27043 을 완화하기 위해 이메일 주소의 더 엄격한 구문 분석을 Python 3에 도입하기 위한 이전 버전과 호환되지 않는 변경 사항이 추가되었습니다.
RHSA-2024:2024 의 업데이트에는 새로운 PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING
환경 변수가 도입되었습니다. 이 변수를 true
로 설정하면 이전보다 덜 엄격한 구문 분석 동작이 전체 시스템의 기본값입니다.
export PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING=true
그러나 영향을 받는 함수에 대한 개별 호출은 여전히 더 엄격한 동작을 활성화할 수 있습니다.
다음 콘텐츠를 사용하여 /etc/python/email.cfg
구성 파일을 생성하여 동일한 결과를 얻을 수 있습니다.
[email_addr_parsing] PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING = true
자세한 내용은 Knowledgebase 문서 Mitigation of CVE-2023-27043 introduce stricter parsing of email address in Python에서 참조하십시오.
Jira:RHELDOCS-17369[1]
새로운 nodejs:20
모듈 스트림이 완전히 지원됩니다.
이전에 기술 프리뷰로 제공되는 새로운 모듈 스트림 nodejs:20
은 RHEA-2023:7252 권고를 통해 완전히 지원됩니다. nodejs:20
모듈 스트림은 이제 LTS(Long Term Support) 버전인 Node.js 20.9
를 제공합니다.
RHEL 9.3에 포함된 Node.js 20
은 RHEL 9.1 이후 Node.js 18
에 비해 새로운 기능, 버그 수정, 보안 수정 및 성능 향상을 제공합니다.
주요 변경 사항은 다음과 같습니다.
-
V8
JavaScript 엔진이 11.3 버전으로 업그레이드되었습니다. -
npm
패키지 관리자가 버전 9.8.0으로 업그레이드되었습니다. -
Node.js
에는 새로운 실험적 권한 모델이 도입되었습니다. -
Node.js
에는 새로운 실험적 단일 실행 가능 애플리케이션(SEA) 기능이 도입되었습니다. -
Node.js
는 실험적인 ECMAScript 모듈(ESM) 로더를 개선합니다. -
Node.js 18
에서 실험적인node:test
모듈로 도입된 네이티브 테스트 실행자는 이제 안정적인 것으로 간주됩니다. -
Node.js
는 다양한 성능 향상을 제공합니다.
nodejs:20
모듈 스트림을 설치하려면 다음을 사용합니다.
# dnf module install nodejs:20
nodejs:18
스트림에서 업그레이드하려면 이후 스트림으로 전환을 참조하십시오.
nodejs
Application Streams에 대한 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클 을 참조하십시오.
Python tarfile
추출 함수에 대한 새 필터
인수
CVE-2007-4559 를 완화하기 위해 Python은 tarfile
추출 기능에 필터
인수를 추가합니다. 이 인수를 사용하면 보안을 강화하기 위해 tar
기능을 해제할 수 있습니다(CVE-2007-4559 디렉터리 트래버스 공격 포함). 필터를 지정하지 않으면 RHEL에서 가장 안전하지만 가장 제한적인 '데이터'
필터가 기본적으로 사용됩니다. 또한 Python은 애플리케이션에 영향을 미칠 때 경고를 발송합니다.
경고를 숨기는 방법을 포함하여 자세한 내용은 Python tarfile 라이브러리의 디렉터리 traversal 공격의 지식 베이스 문서 Mitigation of directory traversal attack (CVE-2007-4559) 을 참조하십시오.
Jira:RHELDOCS-16405[1]
HTTP::Tiny
Perl 모듈은 기본적으로 TLS 인증서를 확인합니다.
HTTP::Tiny
Perl 모듈의 verify_SSL
옵션 기본값이 0
에서 1
로 변경되어 HTTPS를 사용할 때 TLS 인증서를 확인합니다. 이 변경으로 인해 CPAN Perl 모듈의 CVE-2023-31486 for HTTP::Tiny
및 CVE-2023-31484 가 수정되었습니다.
TLS 확인을 지원하기 위해 이번 업데이트에서는 perl-HTTP-Tiny
패키지에 다음 종속 항목을 추가합니다.
-
perl-IO-Socket-SSL
-
perl-Mozilla-CA
-
perl-Net-SSLeay
Bugzilla:2228412[1]
httpd
리기반 버전 2.4.57
Apache HTTP Server가 RHEL 9.1 이후 제공되는 버전 2.4.53에 대한 버그 수정, 개선 사항 및 보안 수정 사항을 제공하는 2.4.57 버전으로 업데이트되었습니다.
주요 개선 사항은 다음과 같습니다.
-
httpd
와 함께 제공되는rotatelogs
유틸리티는 초기 로그 파일을 제외하고 순환된 모든 로그 파일을 자르는 새로운-T
옵션을 도입합니다. -
mod_ldap
모듈의LDAPConnectionPoolTTL
지시문은 이제 음수 값을 허용하여 모든 기간의 연결을 재사용할 수 있습니다. 이전에는 음수 값이 오류로 처리되었습니다. -
mod_proxy_hcheck
모듈의 작업자가 작업자 시간 제한 설정에 따라 올바르게 시간 초과되었습니다. -
mod_proxy_hcheck
모듈의hcmethod
매개 변수는 이제 HTTP/1.1 요청에 대한 새로운GET11
,HEAD11
및OPTIONS11
메서드를 제공합니다.
httpd
의 새로운 mod_authnz_fcgi
모듈
Apache HTTP 서버에는 이제 FastCGI 작성자 애플리케이션이 사용자를 인증하고 리소스에 대한 액세스 권한을 부여할 수 있는 mod_authnz_fcgi
모듈이 포함되어 있습니다.
mod_authnz_fcgi
모듈은 기본적으로 로드되지 않습니다. 이 모듈을 로드하려면 /etc/httpd/conf.modules.d/00-optional.conf
파일에서 다음 행의 주석을 제거합니다.
LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so
Bugzilla:2173295[1]
nginx:1.22
의 새로운 ssl_pass_phrase_dialog
지시문
nginx:1.22
모듈 스트림에 대한 이번 업데이트를 통해 새로운 ssl_pass_phrase_dialog
지시문을 사용하여 암호화된 각 개인 키에 대해 nginx
시작 시 호출되는 외부 프로그램을 구성할 수 있습니다.
새 지시문을 사용하려면 /etc/nginx/nginx.conf
파일에 다음 행 중 하나를 추가합니다.
암호화된 각 개인 키 파일에 대해 외부 프로그램을 호출하려면 다음을 입력합니다.
ssl_pass_phrase_dialog exec:<path_to_program>;
Nginx
는 다음 두 개의 인수를 사용하여 이 프로그램을 호출합니다.-
server_name
설정에 지정된 서버 이름입니다. -
암호화 알고리즘을 인식할 수 없는 경우
RSA
,DSA
,EC
,DH
또는UNK
알고리즘 중 하나
-
암호화된 각 개인 키 파일의 암호를 수동으로 입력하려면 다음을 입력합니다.
ssl_pass_phrase_dialog builtin;
ssl_pass_phrase_dialog
가 구성되지 않은 경우 기본 동작입니다.이 방법을 사용하지만 암호로 보호되는 개인 키가 하나 이상 있는 경우
nginx
서비스가 시작되지 않습니다. 이 경우 다른 방법 중 하나를 사용합니다.systemctl
유틸리티를 사용하여nginx
서비스를 시작할 때systemd
에서 암호화된 각 개인 키의 암호를 입력하라는 메시지를 표시하려면 다음을 입력합니다.ssl_pass_phrase_dialog exec:/usr/libexec/nginx-ssl-pass-dialog;
nginx
의 ssl_pass_phrase_dialog
지시문은 Apache HTTP 서버의 SSLPassPhraseDialog
지시문과 유사합니다.
새 rhel9/squid
컨테이너 이미지
이제 Red Hat Container Registry에서 rhel9/squid
컨테이너 이미지를 사용할 수 있습니다. squid
는 FTP, gopher 및 HTTP 데이터 오브젝트를 지원하는 웹 클라이언트용 고성능 프록시 캐싱 서버입니다. 기존 캐싱 소프트웨어와 달리 Squid
는 모든 요청을 하나의 비차단, I/O 기반 프로세스로 처리합니다. squid
는 RAM에 캐시된 메타데이터 및 특히 핫 오브젝트를 유지하고, DNS 조회를 캐시하고, 차단되지 않은 DNS 조회를 지원하며 실패한 요청의 음수 캐싱을 구현합니다.
새 컨테이너 이미지를 가져오려면 다음을 실행합니다.
# podman pull registry.redhat.io/rhel9/squid
새 모듈 스트림: redis:7
Redis 7
, 고급 키-값 저장소는 이제 새 모듈 스트림 redis:7
로 사용할 수 있습니다.
Redis 6
의 주요 변경 사항은 다음과 같습니다.
- Redis Functions API의 서버 측 스크립팅
- ACL(Access Control List) 지원
- 클러스터에 대한 공유 게시/서브스크립션(pub/sub) 지원
- 다양한 새로운 명령 및 명령 인수
Redis 7
에는 이전 버전과 호환되지 않는 몇 가지 변경 사항이 도입되었습니다. 예를 들면 다음과 같습니다.
-
Redis 7
에서 폴더에 추가 전용 파일(AOF)을 여러 파일로 저장 -
Redis 7
은 이전 버전과 호환되지 않는 Redis Database(RDB) 파일에 새 버전 형식을 사용합니다.
기능 및 호환되지 않는 변경 사항의 전체 목록은 업스트림 릴리스 노트 를 참조하십시오.
redis:7
모듈 스트림을 설치하려면 다음을 사용합니다.
# dnf module install redis:7
redis
Application Streams 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클 을 참조하십시오.