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 매핑, 인증서 신뢰 문제 또는 인증과 계정 프로비저닝을 혼동하는 데서 발생합니다.

댓글 남기기

네트워크에서 장치를 찾는 데 유용한 최고의 핑 스윕 도구 10가지

네트워크에서 장치를 찾는 데 유용한 최고의 핑 스윕 도구 10가지

빠른 LAN 검색, 플랫폼 간 스캔 및 IP 주소 관리를 위한 10가지 핑 스윕 도구를 비교해 보세요. 스윕을 통해 무엇을 알 수 있고 무엇을 알 수 없는지 알아보세요.

성능 추적을 위한 최고의 네트워크 관리 도구 6가지

성능 추적을 위한 최고의 네트워크 관리 도구 6가지

SNMP 적용 범위, 매핑, 알림, 배포 모델 및 비용 대비 효과를 포함하여 성능 모니터링을 위한 6가지 네트워크 관리 도구를 비교합니다.

Windows, iOS 및 Android용 최고의 Wi-Fi 분석기

Windows, iOS 및 Android용 최고의 Wi-Fi 분석기

Windows, iPhone, Android용 Wi-Fi 분석 앱들을 비교해 보세요. 채널 혼잡도, 신호 범위, 히트맵, 네트워크 문제 해결 도구 등을 포함합니다.

핑 모니터: 네트워크 가용성을 위한 7가지 무료 오픈소스 도구

핑 모니터: 네트워크 가용성을 위한 7가지 무료 오픈소스 도구

종합적인 네트워크 관리 도구부터 특정 지연 시간 측정에 특화된 도구까지, 7가지 무료 오픈 소스 핑 모니터링 도구를 비교하고 가용성, 패킷 손실률, 기록 관리에 적합한 도구를 선택하세요.

네트워킹에서의 QoS: 서비스 품질(QoS)이란 무엇이며 어떻게 작동하는가

네트워킹에서의 QoS: 서비스 품질(QoS)이란 무엇이며 어떻게 작동하는가

네트워킹에서 QoS가 무엇을 의미하는지, DSCP 마킹과 트래픽 큐가 음성, 비디오 및 비즈니스 애플리케이션의 우선순위를 어떻게 지정하는지, 그리고 QoS로 해결할 수 없는 문제는 무엇인지 알아보세요.

Nmap을 사용하여 트레이서루트를 실행하고 네트워크 경로를 읽는 방법

Nmap을 사용하여 트레이서루트를 실행하고 네트워크 경로를 읽는 방법

Nmap의 --traceroute 옵션을 사용하여 홉을 인증된 호스트로 매핑하고, 홉 및 RTT 출력을 이해하고, 과도한 스캔 없이 누락된 응답 문제를 해결할 수 있습니다.

안전한 파일 전송을 위한 최고의 SFTP 서버 소프트웨어

안전한 파일 전송을 위한 최고의 SFTP 서버 소프트웨어

Windows 및 Linux용 안정적인 SFTP 서버 소프트웨어(OpenSSH, Bitvise, SolarWinds, SFTPGo 등)를 비교해 보세요. 보안 및 파일 전송 요구 사항에 맞는 최적의 솔루션을 찾아보세요.

네트워크 팀을 위한 최고의 IP 주소 관리 도구 7가지

네트워크 팀을 위한 최고의 IP 주소 관리 도구 7가지

서브넷 검색, DNS 및 DHCP 조정, 네트워크 인벤토리, 오픈 소스 IPAM을 위한 7가지 IP 주소 관리 도구를 비교합니다.

네트워크 모니터링 모범 사례: 추적 대상 및 사용 도구

네트워크 모니터링 모범 사례: 추적 대상 및 사용 도구

SolarWinds NPM, PRTG 및 OpManager를 비교하여 명확한 장치 범위, 유용한 성능 지표, 실행 가능한 알림을 통해 실용적인 네트워크 모니터링 시스템을 구축하십시오.

기기 및 IP 주소 검색을 위한 최고의 네트워크 스캐너 도구 10가지

기기 및 IP 주소 검색을 위한 최고의 네트워크 스캐너 도구 10가지

빠른 장치 검색, 플랫폼 간 IP 스캔 및 엔터프라이즈 IPAM을 위한 네트워크 스캐너 도구를 비교하고, 각 옵션을 네트워크에 맞게 선택하는 방법에 대한 지침을 제공합니다.