질문:
LDAP 수락 쿼리를 사용하여 Microsoft Active Directory(LDAP)를 사용하는 인바운드 메시지의 수신자를 검증하는 방법
참고: 다음 예는 여러 유형의 LDAP 구현에 원칙이 적용될 수 있지만 표준 Microsoft Active Directory 배포와 통합됩니다.
먼저 LDAP 서버 엔트리를 생성합니다. 이 시점에서 디렉토리 서버와 Email Security Appliance에서 수행할 쿼리를 지정해야 합니다. 그러면 수신(퍼블릭) 리스너에서 쿼리가 활성화되거나 적용됩니다. 이러한 LDAP 서버 설정은 서로 다른 리스너 및 컨피그레이션의 다른 부분(예: 최종 사용자 격리 액세스)에서 공유할 수 있습니다.
IronPort 어플라이언스에서 LDAP 쿼리를 쉽게 구성할 수 있도록, 쿼리할 수 있는 모든 특성 및 스키마를 살펴볼 수 있는 LDAP 브라우저를 사용하는 것이 좋습니다.
Microsoft Windows의 경우 다음을 사용할 수 있습니다.
-
Softterra의 LDAP 브라우저
-
Ldp
-
애드시에디트
Linux 또는 UNIX의 경우 명령을 사용할 수 ldapsearch
있습니다.
먼저 쿼리할 LDAP 서버를 정의해야 합니다. 이 예에서는 myldapserver.example.com LDAP 서버에 대해 "PublicLDAP"라는 별칭이 지정됩니다. 쿼리는 TCP 포트 389(기본값)로 전달됩니다.
참고: Active Directory 구현에 하위 도메인이 포함되어 있으면 루트 도메인의 기본 DN을 사용하여 하위 도메인의 사용자를 쿼리할 수 없습니다. 그러나 Active Directory를 사용하는 경우 TCP 포트 3268의 GC(Global Catalog) 서버에 대해 LDAP를 쿼리할 수도 있습니다. GC에는 Active Directory 포리스트의 *all* 개체에 대한 일부 정보가 포함되어 있으며 추가 정보가 필요한 경우 문제의 하위 도메인에 대한 참조를 제공합니다. 하위 도메인에서 사용자를 "찾을 수 없는 경우 기본 DN을 루트에 두고 IronPort가 GC 포트를 사용하도록 설정합니다.
GUI:
- 이전에 디렉토리 서버에서 가져온 값(System Administration(시스템 관리) > LDAP)으로 새 LDAP 서버 프로파일을 생성합니다. 예를 들면 다음과 같습니다.
- 서버 프로필 이름: PublicLDAP
- 호스트 이름: myldapserver.example.com
- 인증 방법: 비밀번호 사용: 사용
- 사용자 이름:cn=ESA,cn=Users,dc=example,dc=com
- 암호: 암호
- 서버 유형: Active Directory
- 포트: 3268
- BaseDN:dc=example,dc=com
계속하기 전에 "테스트 서버" 단추를 사용하여 설정을 확인하십시오. 성공적인 출력은 다음과 같아야 합니다.
Connecting to myldapserver.example.com at port 3268
Bound successfullywithDNCN=ESA,CN=Users,DC=example,DC=com
Result: succeeded
동일한 화면을 사용하여 LDAP 수락 쿼리를 정의합니다. 다음 예에서는 "mail" 또는 "proxyAddresses"와 같은 더 일반적인 특성을 기준으로 수신자 주소를 확인합니다.
- 이름: PublicLDAP.accept
- 쿼리 문자열: (|(mail={a})(proxyAddresses=smtp:{a}))
"쿼리 테스트" 단추를 사용하여 검색 쿼리가 유효한 계정에 대한 결과를 반환하는지 확인할 수 있습니다. 서비스 계정의 주소 "esa.admin@example.com"을(를) 검색하는 데 성공한 출력은 다음과 같아야 합니다.
Query results for host:myldapserver.example.com
Query (mail=esa.admin@example.com) >to server PublicLDAP (myldapserver.example.com:3268)
Query (mail=esa.admin@example.com) lookup success, (myldapserver.example.com:3268) returned 1 results
Success: Action: Pass
- 이 새 수락 쿼리를 인바운드 리스너(Network(네트워크) > Listeners(리스너))에 적용합니다. LDAP Queries(LDAP 쿼리) > Accept(수락) 옵션을 확장하고 쿼리 Public(공개)LDAP.accept를 선택합니다.
- 마지막으로, 이러한 설정을 활성화하도록 변경 사항을 커밋합니다.
CLI:
- 먼저 ldapconfig 명령을 사용하여 어플라이언스가 바인딩할 LDAP 서버를 정의하고 수신자 수락(ldapaccept 하위 명령), 라우팅(ldaprouting 하위 명령), 마스커레이드(masquerade 하위 명령)에 대한 쿼리를 구성합니다.
mail3.example.com> ldapconfig
No LDAP server configurations.
Choose the operation you want to perform:
- NEW - Create a new server configuration.
[]> new
Please create a name for this server configuration (Ex: "PublicLDAP"):
[]> PublicLDAP
Please enter the hostname:
[]> myldapserver.example.com
Use SSL to connect to the LDAP server? [N]> n
Please enter the port number:
[389]> 389
Please enter the base:
[dc=example,dc= com]>dc=example,dc=com
Select the authentication method to use for this server configuration:
1. Anonymous
2. Password based
[1]> 2
Please enter the bind username:
[cn=Anonymous]>cn=ESA,cn=Users,dc=example,dc=com
Please enter the bind password:
[]> password
Name: PublicLDAP
Hostname: myldapserver.example.com Port 389
Authentication Type: password
Base:dc=example,dc=com
- 둘째, 방금 구성한 LDAP 서버에 대해 수행할 쿼리를 정의해야 합니다.
Choose the operation you want to perform:
- SERVER - Change the server for the query.
- LDAPACCEPT - Configure whether a recipient address should be accepted or bounced/dropped.
- LDAPROUTING - Configure message routing. - MASQUERADE - Configure domain masquerading.
- LDAPGROUP - Configure whether a sender or recipient is in a specified group.
- SMTPAUTH - Configure SMTP authentication.
[]> ldapaccept
Please create a name for this query:
[PublicLDAP.ldapaccept]> PublicLDAP.ldapaccept
Enter the LDAP query string:
[(mailLocalAddress= {a})]>(|(mail={a})(proxyAddresses=smtp:{a}))
Please enter the cache TTL in seconds:
[900]>
Please enter the maximum number of cache entries to retain:
[10000]>
Do you want to test this query? [Y]> n
Name: PublicLDAP
Hostname: myldapserver.example.com Port 389
Authentication Type: password
Base:dc=example,dc=com
LDAPACCEPT: PublicLDAP.ldapaccept
- LDAP 쿼리를 구성했으면 인바운드 리스너에 LDAPaccept 정책을 적용해야 합니다.
example.com> listenerconfig
Currently configured listeners:
1. Inboundmail (on PublicNet, 192.168.2.1) SMTP TCP Port 25 Public
2. Outboundmail (on PrivateNet, 192.168.1.1) SMTP TCP Port 25 Private
Choose the operation you want to perform:
- NEW - Create a new listener.
- EDIT - Modify a listener.
- DELETE - Remove a listener.
- SETUP - Change global settings.
[]> edit
Enter the name or number of the listener you wish to edit.
[]> 1
Name: InboundMail
Type: Public
Interface: PublicNet (192.168.2.1/24) TCP Port 25
Protocol: SMTP
Default Domain:
Max Concurrency: 1000 (TCP Queue: 50)
Domain Map: Disabled
TLS: No
SMTP Authentication: Disabled
Bounce Profile: Default
Use SenderBase For Reputation Filters and IP Profiling: Yes
Footer: None
LDAP: Off
Choose the operation you want to perform:
- NAME - Change the name of the listener.
- INTERFACE - Change the interface.
- LIMITS - Change the injection limits.
- SETUP - Configure general options.
- HOSTACCESS - Modify the Host Access Table.
- RCPTACCESS >- Modify the Recipient Access Table.
- BOUNCECONFIG - Choose the bounce profile to use for messages injected on this listener.
- MASQUERADE - Configure the Domain Masquerading Table.
- DOMAINMAP - Configure domain mappings.
- LDAPACCEPT - Configure an LDAP query to determine whether a recipient address should be
accepted or bounced/dropped.
- LDAPROUTING - Configure an LDAP query to reroute messages.
[]> ldapaccept Available Recipient Acceptance Queries
1. None
2. PublicLDAP.ldapaccept
[1]> 2
Should the recipient acceptance query drop recipients or bounce them?
NOTE: Directory Harvest Attack Prevention may cause recipients to be
dropped regardless of this setting.
1. bounce
2. drop
[2]> 2
Name: InboundMail
Type: Public
Interface: PublicNet (192.168.2.1/24) TCP Port 25
Protocol: SMTP
Default Domain:
Max Concurrency: 1000 (TCP Queue: 50)
Domain Map: Disabled
TLS: No
SMTP Authentication: Disabled
Bounce Profile: Default
Use SenderBase For Reputation Filters and IP Profiling: Yes
Footer: None
LDAP: ldapaccept (PublicLDAP.ldapaccept)
- 리스너에 대한 변경 사항을 활성화하려면 변경 사항을 커밋합니다.