5.9. IdM (Identity Management)
IdM 배포를 마이그레이션해도 더 이상 중복 HBAC 규칙이 발생하지 않음
이전 버전에서는 ipa-migrate
유틸리티를 사용하여 하나의 IdM(Identity Management) 배포에서 다른 배포로 마이그레이션하면 대상 서버에서 HBAC(Host-based Access Control) 규칙이 중복되는 경우가 있었습니다. 그 결과 해당 서버에서 "allow_all" 및 "allow_systemd-user" HBAC 규칙이 두 번 표시되었습니다.
문제가 해결되어 IdM 배포를 마이그레이션해도 더 이상 중복 HBAC 규칙이 발생하지 않습니다.
만료된 토큰을 사용하여 2 단계 인증을 우회하는 것은 더 이상 불가능합니다.
이전에는 특정 최종 평가 기간으로 OTP 토큰을 생성하여 이중 인증을 우회할 수 있었습니다.
2 단계 인증이 적용되는 경우 OTP 토큰이 없는 사용자는 암호를 사용하여 한 번에 로그인하고 OTP 토큰을 구성할 수 있습니다. 결과적으로 인증을 위해 암호와 OTP 토큰을 모두 사용해야 합니다. 그러나 사용자가 만료된 최종 평가 날짜를 사용하여 OTP 토큰을 생성한 경우 IdM은 2 단계 인증을 효과적으로 우회하여 암호 전용 인증으로 잘못 대체되었습니다. 이는 IdM이 존재하지 않는 OTP 토큰과 만료된 OTP 토큰을 구분하지 않기 때문입니다.
이번 업데이트를 통해 IdM은 이제 이러한 시나리오를 올바르게 구별합니다. 결과적으로 2 단계 인증이 올바르게 적용되어 이러한 우회가 방지됩니다.
하위 접미사로 인스턴스를 시작하면 잘못된 오류가 더 이상 기록되지 않습니다.
이번 업데이트 이전에는 하위 접미사로 인스턴스를 시작할 때 오류 로그에 다음과 같은 잘못된 메시지가 표시될 수 있었습니다.
[time_stamp] - ERR - id2entry - Could not open id2entry err 0 [time_stamp] - ERR - dn2entry_ext - The dn "dc=example,dc=com" was in the entryrdn index, but it did not exist in id2entry of instance userRoot.
[time_stamp] - ERR - id2entry - Could not open id2entry err 0
[time_stamp] - ERR - dn2entry_ext - The dn "dc=example,dc=com" was in the entryrdn index, but it did not exist in id2entry of instance userRoot.
메시지의 근본 원인은 백엔드 초기화 중에 하위 트리에 스마트 참조가 포함되어 있는지 확인하기 위해 백엔드에서 하위 트리 검색이 수행되었기 때문입니다. 또한 이 문제는 서버가 시작된 후 처음 10분 동안 검색 작업에 약간의 성능에 영향을 미쳤습니다.
이번 업데이트를 통해 잘못된 메시지가 더 이상 기록되지 않으며 서버가 시작될 때 성능에 영향을 미치지 않습니다.
Jira:RHEL-71218[1]
LDAPSearch
는 이제 NETWORK_TIMEOUT
설정을 예상대로 유지합니다.
이전에는 ldapsearch
명령에서 서버에 연결할 수 없는 경우 시간 초과를 무시했으며 결과적으로 시간 초과 대신 검색이 무기한 중단되었습니다. 이번 업데이트를 통해 연결 재시도 및 소켓 옵션을 조정하여 TLS 처리의 논리 오류가 수정되었습니다.
결과적으로 ldapsearch
명령은 더 이상 NETWORK_TIMEOUT 설정을 무시하고 시간 초과에 도달하면 다음 오류를 반환합니다.
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1).
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1).
Jira:RHEL-78297[1]
호출된 결과가 있는 경쟁 조건 검색에서 더 이상 T3
오류 코드와의 연결을 종료하지 않음
이전에는 연결의 페이지링된 결과 데이터에 시간 초과 이벤트를 확인할 때 Directory Server에서 적절한 스레드 보호를 사용하지 않았습니다. 그 결과 페이지된 결과 시간 초과 값이 예기치 않게 변경되어 새 작업이 도착했을 때 잘못된 시간 초과가 트리거되었습니다. 이로 인해 시간 초과 오류가 발생하여 다음 T3
오류 코드로 연결이 닫혔습니다.
페이지가 지정된 결과 검색에 대한 지정된 시간 제한이 초과되었기 때문에 서버가 연결을 닫았습니다.
이번 업데이트를 통해 적절한 스레드 보호가 사용되고 페이징된 결과 검색이 더 이상 T3
오류 코드로 연결을 종료하지 않습니다.
Jira:RHEL-76019[1]
VLV 인덱스를 확장 일치 규칙으로 인덱싱하여 VLV 인덱스를 다시 인덱싱할 때 Directory Server가 더 이상 실패하지 않음
이번 업데이트 이전에는 정렬 특성이 확장된 일치 규칙으로 인덱싱된 VLV(가상 목록 뷰) 인덱스를 다시 인덱싱하는 동안 경쟁 조건이 트리거되었습니다. 결과적으로 메모리 누수와 Directory Server에 실패했습니다. 이번 업데이트를 통해 Directory Server는 VLV 인덱스 키 생성을 직렬화하고 더 이상 실패하지 않습니다.
리소스를 확보하려고 할 때 OpenLDAP 라이브러리가 더 이상 실패하지 않음
이번 업데이트 이전에는 애플리케이션이 직접 또는 atexit()
함수를 통해 OPENSSL_cleanup()
함수를 호출하여 애플리케이션이 이러한 리소스를 이미 정리한 경우 OpenLDAP 라이브러리에서 SSL_CTX_free()
함수를 사용하여 메모리를 해제하려고 했습니다. 결과적으로 잘못된 SSL_CTX_free()
호출이 이미 정리된 SSL 컨텍스트 리소스를 해제하려고 할 때 사용자에게 실패 또는 정의되지 않은 동작이 발생했습니다.
이번 업데이트를 통해 OpenLDAP의 종료자에서 SSL 컨텍스트 정리를 건너뛰기 위해 안전한 정리 기능이 추가되었습니다. 결과적으로 SSL 컨텍스트가 명시적으로 해제되지 않은 경우 유출되어 안정적인 애플리케이션 종료가 보장됩니다.
Directory Server에서 더 이상 단일 스레드를 오버로드하지 않음
이번 업데이트 이전에는 Directory Server가 여러 수신 스레드를 지원하더라도 처음 들어오는 연결이 동일한 리스너 스레드 오버로드에 할당되었습니다. 그 결과 일부 요청이 높은 W time
및 성능이 저하되었습니다. 이번 업데이트를 통해 Directory Server는 모든 수신 대기 중인 스레드에 연결 로드를 배포합니다.
LMDB를 사용할 때 VLV 인덱스 캐시가 VLV 인덱스와 예상대로 일치함
이번 업데이트 이전에는 VLV(가상 목록 뷰) 인덱스 캐시가 Lightning Memory-Mapped Database(LMDB)가 있는 인스턴스의 VLV 인덱스 자체와 일치하지 않아 VLV 인덱스가 유효하지 않은 값을 반환했습니다. 이번 업데이트를 통해 VLV 인덱스 캐시가 VLV 인덱스와 일치하고 올바른 값이 반환됩니다.
Jira:RHEL-64438[1]
온라인 백업이 더 이상 실패하지 않음
이번 업데이트 이전에는 잘못된 잠금 주문으로 인해 온라인 백업 작업이 순차적으로 중단될 수 있었습니다. 이번 업데이트를 통해 온라인 백업이 예상대로 작동하고 더 이상 실패하지 않습니다.
Jira:RHEL-67005[1]
cleanAllRUV
가 더 이상 자체를 차단하지 않음
이번 업데이트 이전에는 복제 토폴로지에서 복제본 삭제 후 cleanAllRUV
작업을 실행할 때 동일한 작업이 이전 복제본 ID(rid
)의 복제 변경 로그를 제거하는 동안 복제 구성 항목을 업데이트하려고 했습니다. 이로 인해 서버가 응답하지 않았습니다.
이번 업데이트를 통해 cleanAllRUV
는 변경 로그 삭제가 완료된 후에만 복제 구성을 정리합니다.
RDN 항목에 접미사 DN과 동일한 값이 있는 경우 다시 인덱싱되지 않음
이번 업데이트 이전에는 항목의 상대 고유 이름(RDN)에 디렉터리의 접미사 고유 이름(DN)과 동일한 값이 있는 경우 항목
인덱스가 손상되었습니다. 결과적으로 Directory Server는 느린 검색 요청을 수행하고 잘못된 결과를 가져오고 오류 로그에 경보 메시지를 쓸 수 있었습니다.
이번 업데이트를 통해 다시 인덱싱이 예상대로 작동합니다.
Jira:RHEL-74158[1]
계정 정책 플러그인에서 복제 토폴로지 업데이트에 적절한 플래그를 사용합니다.
이번 업데이트 이전에는 계정 정책 플러그인에서 업데이트에 적절한 플래그를 사용하지 않았습니다. 결과적으로 복제 토폴로지에서 계정 정책 플러그인이 로그인 기록을 업데이트했지만 이 업데이트에서는 다음 오류 메시지를 로깅하는 소비자 서버에서 실패했습니다.
{{ERR - acct_update_login_history - Modify error 10 on entry }}
{{ERR - acct_update_login_history - Modify error 10 on entry
}}
이번 업데이트를 통해 내부 업데이트가 성공하고 오류가 기록되지 않습니다.
Jira:RHEL-74168[1]
LMDB를 사용하는 공급자에서는 오프라인 가져오기가 더 이상 nsuniqueid
의 중복을 생성하지 않음
이번 업데이트 이전에는 Lightning Memory-Mapped Database(LMDB)가 고유해야 하는 nsuniqueid
운영 특성의 중복이 생성된 공급자의 기본 항목(복제 데이터 없음)을 오프라인으로 가져옵니다. 이로 인해 복제에 문제가 발생했습니다. 이번 업데이트를 통해 오프라인 가져오기에서 더 이상 공급자에게 중복이 생성되지 않습니다.
Jira:RHEL-78344[1]
TLS 1.3을 사용하여 FIPS 모드에서 실행되는 LDAP 서버에 연결할 수 있습니다.
이번 업데이트 이전에는 FIPS 모드에서 LDAP 서버에 연결할 때 TLS 1.3을 명시적으로 설정하려고 하면 사용된 TLS 버전은 여전히 1.2로 유지되었습니다. 결과적으로 TLS 1.3을 사용하여 LDAP 서버에 연결을 시도하지 못했습니다. 이번 업데이트를 통해 FIPS 모드에서 TLS 버전의 상한이 1.3으로 변경되었으며 TLS 1.3을 사용하여 LDAP 서버에 연결하려고 하면 더 이상 실패하지 않습니다.
이전 시도에 실패한 후 Directory Server 백업이 더 이상 실패하지 않음
이번 업데이트 이전에는 초기 백업 시도가 실패한 경우 백엔드가 이전 백업을 완료하려고 때문에 다음 Directory Server 백업에 실패했습니다. 결과적으로 인스턴스를 다시 시작해야 했습니다. 이번 업데이트를 통해 이전 시도에 실패한 후 Directory Server 백업이 더 이상 실패하지 않고 인스턴스 재시작이 더 이상 필요하지 않습니다.
인증서 기반 인증을 사용할 때 공급업체 간 복제에 실패한 경우 이제 더 설명이 포함된 오류 메시지가 표시됩니다.
이번 업데이트 이전에는 필수 CA 인증서 파일이 누락되고 공급 장치 간 복제 중에 TLS 연결 설정이 실패한 경우 문제를 식별하는 데 오류 메시지가 명확하지 않았습니다. 이번 업데이트를 통해 TLS 설정 오류가 발생하면 Directory Server에서 더 자세한 오류 정보를 기록합니다. 이제 No such file or directory
for a missing certificate와 같은 메시지가 포함되어 문제를 보다 쉽게 해결할 수 있습니다.
Jira:RHEL-65662[1]
dsconf config replace
에서 multivalued 속성을 예상대로 처리할 수 있습니다.
이번 업데이트 이전에는 dsconf config replace
명령으로 nsslapd-haproxy-trusted-ip
와 같은 속성 값만 설정할 수 있었습니다. 이번 릴리스에서는 다음 명령을 사용하여 여러 값을 설정할 수 있습니다.
dsconf <instace_name> config replace nsslapd-haproxy-trusted-ip=<ip_address_1> nsslapd-haproxy-trusted-ip=<ip_address_2> nsslapd-haproxy-trusted-ip=<ip_address_3>
# dsconf <instace_name> config replace nsslapd-haproxy-trusted-ip=<ip_address_1> nsslapd-haproxy-trusted-ip=<ip_address_2> nsslapd-haproxy-trusted-ip=<ip_address_3>
이제 OR(|
) 및 NOT(!
) 연산자를 사용하여 복합 필터를 사용할 때 Directory Server에서 올바른 항목 집합을 반환합니다.
이번 업데이트 이전에는 LDAP가 OR(|
) 및 NOT(!
) 연산자를 사용하여 검색할 때 디렉터리 서버에서 올바른 항목 세트를 반환하지 않았습니다. 이유는 Directory Server가 액세스 권한 및 항목 일치를 잘못 평가하여 한 단계에서 이러한 단계를 수행했기 때문입니다. 이번 업데이트를 통해 Directory Server는 두 단계로 구분된 액세스 권한 평가 및 항목 및 OR(|
)를 사용하여 복합 필터를 사용하여 일치하는 액세스 권한 평가 및 항목을 수행하며 NOT(!)
연산자는 올바른 항목 세트를 반환합니다.
Jira:RHEL-65776[1]
공급자의 복제 계약의 소비자 상태가 Directory Server 재시작 후 올바르게 표시됩니다.
이번 업데이트 이전에는 복제 토폴로지 공급업체에서 디렉터리 서버를 다시 시작하는 동안 복제 계약의 소비자의 상태가 재설정되었습니다. 결과적으로 표시된 소비자 초기화 시간과 복제 상태가 올바르지 않았습니다.
이번 업데이트를 통해 복제 계약 항목이 소비자의 올바른 상태와 초기화된 시점을 표시합니다.