Zimbra에서 외부 LDAP 인증을 구성하는 방법

Zimbra에서 외부 LDAP 인증이 변경되는 사항은 무엇인가요?

외부 LDAP 인증을 사용하면 Zimbra가 내부 LDAP에 저장된 암호 대신 다른 디렉터리를 사용하여 사용자의 암호를 확인할 수 있습니다. 현재 Zimbra Daffodil(v10) 관리자 가이드에 따르면 외부 LDAP 인증은 도메인별로 구성되며, 외부 방식은 제공된 사용자 자격 증명을 사용하여 지정된 디렉터리에 바인딩을 시도합니다. 바인딩에 성공하면 암호가 유효한 것으로 간주됩니다.

이 기능은 외부 LDAP 디렉터리를 자동으로 Zimbra 계정 데이터베이스로 전환하지 않습니다 . Zimbra는 여전히 Zimbra 전용 계정 데이터를 자체 디렉터리에 저장합니다. v10 가이드에서는 자동 프로비저닝을 별도로 구성하지 않는 한 사용자는 일반적으로 Zimbra와 외부 디렉터리 모두에 존재해야 한다고 명시적으로 언급하고 있습니다.

최신 제품 설명서는 Zimbra Daffodil v10 관리자 가이드 및 Zimbra v10 구성 가이드를 참조하십시오 .

빠른 계획 체크리스트

  • 예를 들어, 변경하려는 Zimbra 도메인을 확인하십시오 example.com.
  • 동일한 사용자가 이미 Zimbra에 존재하는지 확인하거나, 자동 프로비저닝을 별도로 계획하십시오.
  • 외부 LDAP 호스트 이름, 포트, TLS 방식 및 인증서 체인을 알아야 합니다.
  • Zimbra 로그인 이름이 LDAP의 사용자 DN에 어떻게 매핑되는지 알아두세요.
  • 로그인 이름에서 DN을 직접 생성할 수 없는 경우 검색 기준, 검색 필터 및 최소 권한 검색 계정을 준비하십시오.
  • 테스트하는 동안 Zimbra 관리자 세션을 열어 두어 문제가 발생했을 때 신속하게 롤백할 수 있도록 하세요.

먼저 올바른 매핑 방법을 선택하십시오.

방법다음과 같은 경우에 사용하세요주요 설정
직접 바인드-DN 템플릿사용자 DN은 예측 가능한 패턴을 따릅니다.zimbraAuthLdapURL,zimbraAuthLdapBindDn
검색 필터 매핑사용자 DN이 다양하거나 사용자가 여러 OU에 분산되어 있는 경우zimbraAuthLdapSearchBase자격 zimbraAuthLdapSearchFilter증명 검색 바인딩
계정별 외부 DN일부 계정에는 명시적인 매핑이 필요합니다.zimbraAuthLdapExternalDn개인 계정

현재 v10 구성 가이드에서는 검색 기준, 검색 바인딩, 검색 필터 및 계정별 외부 DN 속성을 여전히 정의하고 있습니다. 이전 Zimbra 기술 센터 공식 자료에서는 이러한 매핑이 실제로 어떻게 사용되는지 설명합니다. 해당 자료는 Daffodil 버전 이전에 작성된 것이므로 운영 배경 지식으로만 활용하고 대규모 마이그레이션을 적용하기 전에 설치된 릴리스와 세부 정보를 대조하여 확인하십시오. Zimbra 기술 센터의 외부 LDAP 관련 공식 자료를 참조하십시오 .

1단계: 현재 도메인 인증 설정을 기록합니다.

운영 체제 사용자 권한으로 관리자 명령을 실행하십시오 zimbra. 변경하기 전에 기존 도메인 값을 기록해 두십시오.

su - zimbra

zmprov gd example.com \
  zimbraAuthMech \
  zimbraAuthLdapURL \
  zimbraAuthLdapBindDn \
  zimbraAuthLdapSearchBase \
  zimbraAuthLdapSearchFilter \
  zimbraAuthFallbackToLocal

변경 기록에 출력을 저장하십시오. v10 구성 가이드에는 , , , Kerberos 또는 사용자 지정 메커니즘을 zimbraAuthMech포함한 유효한 값이 나열되어 있습니다 . 이 가이드에서는 대상 메커니즘이 입니다 .zimbraldapadldap

2단계: Zimbra를 변경하기 전에 네트워크 연결 가능성과 TLS를 확인하십시오.

기본 연결이 정상적으로 작동하는 것이 확인될 때까지 인증 매핑 문제를 해결하지 마십시오. Zimbra 서버에서 DNS 확인이 제대로 되는지, 그리고 LDAP 엔드포인트에 연결할 수 있는지 확인하십시오. LDAPS의 경우 OpenSSL을 사용하여 인증서 체인을 검사할 수 있습니다.

openssl s_client -connect ldap.example.net:636 \
  -servername ldap.example.net -showcerts

표준 LDAP와 StartTLS를 함께 사용하는 디렉터리의 경우, 운영 체제에 적합한 LDAP 클라이언트를 사용하여 StartTLS 지원 엔드포인트를 테스트하십시오. LDAP 클라이언트가 ldapsearch설치되어 있다면 검색 계정 확인은 다음과 같이 수행할 수 있습니다.

ldapsearch -x -H ldap://ldap.example.net:389 -ZZ \
  -D "cn=zimbra-search,ou=svc,dc=example,dc=net" -W \
  -b "ou=people,dc=example,dc=net" \
  "(uid=alice)" dn

Zimbra v10 관리자 가이드에 따르면 ldaps:엔드포인트는 LDAP 서버 인증서를 Zimbra에서 신뢰해야 합니다. 테스트를 통과하기 위해 인증서 유효성 검사를 우회하지 마십시오. 사용 중인 Zimbra 빌드에 맞는 신뢰 저장소 절차에 따라 적절한 CA 또는 인증서 체인을 설치하십시오.

3단계: 사용자 DN을 예측할 수 있는 경우 직접 바인드 DN 템플릿을 구성합니다.

이것이 가장 간단한 패턴입니다. 외부 디렉터리에 사용자가 저장 uid=alice,ou=people,dc=example,dc=net되고 Zimbra 로그인이 라고 가정해 보겠습니다 alice@example.com. 도메인을 다음과 같이 구성합니다.

zmprov md example.com zimbraAuthMech ldap

zmprov md example.com \
  zimbraAuthLdapURL "ldaps://ldap.example.net:636"

zmprov md example.com \
  zimbraAuthLdapBindDn "uid=%u,ou=people,dc=example,dc=net"

관리자 가이드에서는 zimbraAuthLdapBindDn외부 바인딩에 사용되는 DN을 결정하는 데 사용되는 형식 문자열로 설명합니다. Zimbra 기술 센터 공식 문서에서는 %u로그인 이름의 로컬 부분 및 %n전체 로그인 이름과 같은 일반적인 대체 값을 설명합니다.

DN 템플릿은 올바른 디렉터리 개체를 확실하게 식별할 수 있는 경우에만 사용하십시오. 사용자가 서로 다른 조직 단위에 속해 있거나 DN이 로그인 이름에서 파생되지 않은 경우에는 검색 필터 패턴을 대신 사용하십시오.

4단계: DN을 직접 구성할 수 없는 경우 검색 필터 매핑을 사용합니다.

검색 필터 매핑을 통해 Zimbra는 먼저 사용자 항목을 찾은 다음 반환된 DN에 대해 인증할 수 있습니다. v10 구성 가이드에서는 필요한 검색 관련 도메인 속성을 정의합니다.

일반적인 OpenLDAP 스타일 구성은 다음과 같습니다.

zmprov md example.com \
  zimbraAuthLdapSearchBase "ou=people,dc=example,dc=net"

zmprov md example.com \
  zimbraAuthLdapSearchFilter "(uid=%u)"

zmprov md example.com \
  zimbraAuthLdapSearchBindDn \
  "cn=zimbra-search,ou=svc,dc=example,dc=net"

디렉터리 암호를 셸 기록에 직접 저장하는 것을 방지하려면 먼저 임시 셸 변수에 읽어 넣으세요.

read -s LDAP_BIND_PASSWORD
zmprov md example.com \
  zimbraAuthLdapSearchBindPassword "$LDAP_BIND_PASSWORD"
unset LDAP_BIND_PASSWORD

검색 계정은 구성된 기본 디렉터리에서 사용자를 찾는 데 필요한 읽기 권한만 가져야 합니다. 광범위한 디렉터리 관리 권한은 필요하지 않습니다.

Active Directory의 경우, 로그인 규칙에 따라 필터에 sAMAccountName또는 를 사용할 수 있습니다 userPrincipalName. Zimbra는 외부 Active Directory 인증 메커니즘도 제공하므로, 모든 AD 환경을 일반적인 LDAP 설정으로 강제 적용하는 대신 배포 환경에 더 적합한 경우 AD별 메커니즘을 사용하십시오.

5단계: Zimbra에 실제로 저장된 내용을 확인합니다.

변경 후 도메인 속성을 다시 읽어옵니다.

zmprov gd example.com \
  zimbraAuthMech \
  zimbraAuthLdapURL \
  zimbraAuthLdapBindDn \
  zimbraAuthLdapSearchBase \
  zimbraAuthLdapSearchFilter \
  zimbraAuthLdapSearchBindDn \
  zimbraAuthFallbackToLocal

인용 오류, 잘못된 기본 DN, 예상치 못한 호스트 이름 또는 이전 시도에서 남은 오래된 매핑이 있는지 확인하십시오. 검색 바인딩 암호를 문서, 스크린샷, 티켓 또는 셸 기록에 인쇄하지 마십시오.

6단계: 광범위한 배포 전에 한 명의 지정된 사용자를 대상으로 테스트합니다.

Zimbra와 외부 디렉터리 모두에 존재하는 관리자 권한이 없는 테스트 계정을 선택하십시오. 다음 경우들을 의도적으로 테스트하십시오.

  • 올바른 외부 LDAP 암호를 사용하면 Zimbra에 로그인할 수 있습니다.
  • 잘못된 외부 LDAP 암호가 거부되었습니다.
  • 비활성화되거나 잠긴 디렉터리 계정은 디렉터리 정책에 따라 작동합니다.
  • 자동 프로비저닝이 구성되어 있지 않은 경우, 존재하지 않는 Zimbra 계정은 로그인할 수 없습니다.
  • LDAP 서버 또는 네트워크 오류는 예상되는 오류 동작을 발생시킵니다.

마지막 테스트는 zimbraAuthFallbackToLocal별도의 도메인 옵션이기 때문에 중요합니다. v10 문서에 따르면 기본값은 입니다 FALSE. 폴백 활성화는 신중하게 설계된 마이그레이션에 유용할 수 있지만, 외부 디렉터리에서 암호를 비활성화하거나 변경했을 때 기존 로컬 Zimbra 암호가 유효한 상태로 남아 있으면 액세스가 즉시 차단된다는 기대에 어긋날 수 있습니다. 폴백은 일반적인 문제 해결 스위치가 아니라 보안 정책 결정 사항으로 간주해야 합니다.

7단계: 자동 프로비저닝이 필요한지 여부를 결정합니다.

외부 인증과 계정 프로비저닝은 서로 다른 기능입니다. 새 디렉터리 사용자가 Zimbra 계정을 자동으로 받도록 하려면 Zimbra 자동 프로비저닝을 별도로 구성하십시오. 최신 v10 관리자 가이드에는 EAGER, LAZY 및 MANUAL 모드와 각 모드의 zimbraAutoProv*속성이 설명되어 있습니다.

자동 프로비저닝에 인증 설정을 그대로 재사용하지 마십시오. 자동 프로비저닝에는 URL, 바인딩, 검색 기준, 필터, 계정 이름 매핑 및 속성 매핑 옵션이 각각 다릅니다. 기존 사용자에 대해 외부 인증이 안정적으로 작동하도록 먼저 설정한 다음, 프로비저닝을 두 번째 변경 사항으로 설계하십시오.

일반적인 고장 패턴 및 점검 사항

징후가능성 있는 지역확인하다
모든 사용자는 즉시 실패합니다.연결성 또는 TLSDNS, 포트, 인증서 신뢰, LDAP 엔드포인트
일부 사용자만 실패합니다.DN 매핑OU 배치, 바인드-DN 템플릿, 검색 필터 고유성
LDAP 검색은 작동하지만 Zimbra 로그인이 실패합니다.사용자 바인딩 또는 계정 상태반환된 DN, 사용자 암호, 디렉터리 잠금/비활성화 상태, Zimbra 계정 존재 여부
새 디렉터리 사용자는 로그인할 수 없습니다.프로비저닝일치하는 Zimbra 계정을 생성하거나 자동 프로비저닝을 구성하세요.
LDAP에서 LDAPS로 전환한 후 오류가 발생합니다.인증서 신뢰CA 체인, 호스트 이름 일치, Zimbra 트러스트 스토어
이전 로컬 비밀번호가 여전히 작동합니다대체 정책검토zimbraAuthFallbackToLocal

롤백 계획

외부 디렉터리 구성으로 인해 일반 사용자 인증이 불가능한 경우, 이미 열려 있는 관리자 세션을 사용하여 도메인을 내부 Zimbra 인증으로 되돌리십시오.

zmprov md example.com zimbraAuthMech zimbra

그런 다음 값을 확인하십시오.

zmprov gd example.com zimbraAuthMech

긴급 롤백 시에는 특별한 이유가 없는 한 외부 LDAP 속성을 삭제하지 마십시오. 속성을 유지하면 실패 원인을 쉽게 파악하고 매핑 또는 TLS 문제를 수정한 후 다시 시도할 수 있습니다.

실용적인 참고 자료 요약

  • zimbraAuthMech도메인에 사용할 인증 메커니즘을 선택합니다.
  • zimbraAuthLdapURL: 외부 LDAP 엔드포인트; ldaps:SSL을 통한 LDAP에 사용합니다.
  • zimbraAuthLdapBindDn: 직접 바인딩을 위한 사용자 DN을 구성하는 데 사용되는 형식입니다.
  • zimbraAuthLdapSearchBase: 짐브라가 외부 사용자를 검색하는 하위 트리입니다.
  • zimbraAuthLdapSearchFilter사용자를 찾기 위해 사용되는 LDAP 필터입니다.
  • zimbraAuthLdapSearchBindDn및 zimbraAuthLdapSearchBindPassword: 익명 검색이 적절하지 않을 때 조회에 사용되는 자격 증명입니다.
  • zimbraAuthLdapExternalDn: 단일 Zimbra 계정에 대한 명시적인 외부 DN 매핑.
  • zimbraAuthFallbackToLocal: 외부 인증이 실패할 경우 Zimbra가 로컬 인증으로 전환할지 여부를 제어합니다.

최종 검증 체크리스트

  • Zimbra 메일함 서버에서 외부 LDAP 엔드포인트에 접근할 수 있습니다.
  • 안전하지 않은 편법 없이 TLS 인증서 유효성 검사가 성공적으로 완료되었습니다.
  • 선택한 bind-DN ​​템플릿 또는 검색 필터는 하나의 로그인을 정확히 하나의 디렉터리 항목에 매핑합니다.
  • 테스트 사용자가 Zimbra에 이미 존재하거나 자동 프로비저닝이 의도적으로 구성되어 있습니다.
  • 올바른 비밀번호와 잘못된 비밀번호 테스트는 예상대로 작동합니다.
  • 대체 동작은 보안 정책과 일치합니다.
  • 원래 도메인 설정과 롤백 명령은 문서화되어 있습니다.

운영 환경으로의 변경은 하나의 테스트 도메인 또는 소규모 사용자 그룹을 대상으로 단계적 배포를 권장합니다. 외부 LDAP 인증은 ID 매핑이 예측 가능한 경우 간단하지만, 대부분의 어려운 오류는 DN 매핑, 인증서 신뢰 문제 또는 인증과 계정 프로비저닝을 혼동하는 데서 발생합니다.

댓글 남기기

iPhone에서 Zimbra ActiveSync 연결 오류 해결하기

iPhone에서 Zimbra ActiveSync 연결 오류 해결하기

iPhone에서 Zimbra ActiveSync 오류를 해결하려면 계정 정보, 자격 증명, 인증서, 네트워크 경로 및 서버 정책을 확인하고 안전한 대안을 비교해 보세요.

ownCloud Infinite Scale과 Nextcloud 28 비교: 성능 및 RAM 사용량 설명

ownCloud Infinite Scale과 Nextcloud 28 비교: 성능 및 RAM 사용량 설명

ownCloud Infinite Scale과 Nextcloud 28의 아키텍처, 성능 동작, RAM 요구 사항, 캐싱, 확장성 및 실제 배포 시 고려 사항을 비교합니다.

Nextcloud "트랜잭션 파일 잠금이 구성되지 않았습니다" 오류 해결 방법

Nextcloud "트랜잭션 파일 잠금이 구성되지 않았습니다" 오류 해결 방법

Nextcloud의 트랜잭션 파일 잠금 경고를 해결하려면 배포 환경을 확인하고, Redis 또는 KeyValueCache를 구성하고, 관련 서비스를 재시작하고, 파일 작업을 검증하십시오.

Zimbra에서 외부 LDAP 인증을 구성하는 방법

Zimbra에서 외부 LDAP 인증을 구성하는 방법

실용적인 CLI 예제, TLS 안내, 바인드 DN 및 검색 필터 패턴, 검증 단계, 롤백 확인 등을 통해 Zimbra용 외부 LDAP 인증을 구성하세요.

BigBlueButton에서 자동 녹음 정리 기능을 설정하는 방법

BigBlueButton에서 자동 녹음 정리 기능을 설정하는 방법

cron, 보존 규칙, 로그 및 검증 기능을 사용하여 BigBlueButton 녹화 파일 정리 작업을 안전하게 자동화하세요. 원시 데이터 정리와 전체 녹화 파일 삭제를 비교해 보세요.

Jitsi Meet 라이브 스트리밍을 RTMP를 통해 YouTube로 설정하는 방법

Jitsi Meet 라이브 스트리밍을 RTMP를 통해 YouTube로 설정하는 방법

Jitsi Meet을 YouTube로 스트리밍하는 데 Jibri와 OBS를 비교하고, 올바른 경로를 설정하고, 스트림 키를 안전하게 사용하고, 라이브 미리보기를 확인하세요.

BigBlueButton과 Jitsi 비교: 리소스 사용량 및 기능 매트릭스

BigBlueButton과 Jitsi 비교: 리소스 사용량 및 기능 매트릭스

BigBlueButton과 Jitsi Meet을 서버 크기 산정, 녹화 비용, 교육 도구, 확장성, 그리고 자체 호스팅 배포를 선택하거나 크기를 조정해야 할 때 참고할 수 있는 실질적인 지표를 기준으로 비교합니다.

OCC를 사용하여 Nextcloud 유지 관리 모드가 계속 켜져 있는 문제 해결

OCC를 사용하여 Nextcloud 유지 관리 모드가 계속 켜져 있는 문제 해결

OCC를 사용하여 멈춘 Nextcloud 유지 관리 페이지를 안전하게 닫고, 업그레이드가 완료되지 않았는지 확인하고, 인스턴스가 사용자를 위해 준비되었는지 확인합니다.

Zimbra 발신 메일 지연 오류 해결: "포트 25 연결 시간 초과"

Zimbra 발신 메일 지연 오류 해결: "포트 25 연결 시간 초과"

Zimbra 발신 메일 지연 오류(포트 25)를 진단합니다. 큐, MX DNS, 방화벽, 공급자 차단을 확인하고 승인된 SMTP 릴레이를 구성하십시오.

Conduit을 사용하여 Raspberry Pi 4에 Matrix 서버를 설정하는 방법

Conduit을 사용하여 Raspberry Pi 4에 Matrix 서버를 설정하는 방법

Conduit, Docker, NGINX, HTTPS, 회원 관리, 연동 및 검사 기능을 갖춘 경량 Matrix 홈서버를 Raspberry Pi 4에 설치합니다.