본문 바로가기

Golden City of El Dorado


Exchange Server/지식 자료 창고

"504 need to authenticate first" SMTP 프로토콜 오류 문제를 해결하는 방법

현상

다음과 같은 내용의 이벤트 중 하나 또는 둘 모두가 응용 프로그램 로그에 기록될 수 있습니다.

이벤트 종류: 오류
이벤트 원본: MSExchangeTransport
이벤트 범주: SMTP 프로토콜
이벤트 ID: 7004

날짜: 2004-01-13
시간: 오후 5:23:43
사용자: N/A
컴퓨터: COMPUTERNAME
설명: 가상 서버 ID 1, 연결 #29에 대한 SMTP 프로토콜 오류 로그입니다. 원격 호스트 "E2k3server1.contoso.com"에서 SMTP 명령 "xexch50"에 "504 Need to authenticate first"(으)로 응답했습니다. 전송된 전체 명령은 "XEXCH50 2336 3"입니다. 이로 인해 연결되지 않을 수 있습니다.

이벤트 종류: 오류
이벤트 원본: MSExchangeTransport
이벤트 범주: SMTP 프로토콜
이벤트 ID: 7010
날짜: 2004-01-13
시간: 오후 5:43:49
사용자: N/A
컴퓨터: COMPUTERNAME
설명: 가상 서버 ID 1, 연결 #30에 대한 SMTP 프로토콜 로그입니다. "6.5.2.4"에서 클라이언트가 "xexch50" 명령을 보냈고 SMTP 서버가 "504 Need to authenticate first"(으)로 응답했습니다. 전송된 전체 명령은 "xexch50 1092 2"입니다. 이로 인해 연결되지 않을 수 있습니다. 이러한 이벤트는 XEXCH50 프로토콜 싱크가 시작되었지만 이벤트에 나열된 서버 간에 BLOB(Binary Large OBject) 교환이 실패했음을 나타냅니다.

참고 MSExchangeTransport 이벤트 원본의 진단 로깅을 보통 이상으로 설정한 경우에만 이벤트 ID 7004 및 7010이 나타납니다.

위로 가기

해결 방법

이 문제를 해결하려면 다음과 같이 하십시오.
1. 조직에 있는 Exchange 서버 컴퓨터의 SMTP 가상 서버에 Windows 통합 인증이 설정되어 있는지 확인합니다. 설정되어 있지 않으면 다음과 같이 하십시오.
a. Exchange System Manager에서 관리 그룹, 서버, Exchange Server Name, 프로토콜, SMTP를 차례로 확장합니다.
b. SMTP 가상 서버를 마우스 오른쪽 단추로 누릅니다. 기본적으로 이 가상 서버의 이름은 "기본 SMTP 가상 서버"입니다.
c. 속성을 누르고 액세스 탭을 누른 다음 인증을 누릅니다. Windows 통합 인증 확인란이 선택되었는지 확인합니다.
2. Windows 통합 인증이 설정되었지만 이벤트가 계속 나타나는 경우 7004 이벤트 또는 7010 이벤트의 보내는 서버에 받는 서버에 대한 SendAs 권한이 없거나 거부되었을 수 있습니다. 보내는 서버와 받는 서버에 이러한 이벤트가 발생하는 경우 서로 SendAs 권한을 갖고 있지 않을 수 있습니다. SendAs 권한은 명시적으로 설정되지 않습니다. SendAs 권한은 일반적으로 EDS(Exchange Domain Servers) 그룹의 구성원 자격을 통해 상속됩니다. EDS에 이 거부 ACE(액세스 제어 항목)이 없는 경우 영향을 받는 서버가 거부 ACE를 갖고 있는 다른 그룹에 중첩되거나 EDS가 거부 ACE를 갖고 있는 다른 그룹에 중첩될 수 있습니다. 성공하려면 XEXCH50 명령은 Exchange 조직에 있는 서버에 대해 SendAs 권한을 가져야 합니다.
3. Exchange 조직에 있는 서버 간에 TLS(Transport Layer Security)와 보안 채널을 사용하고 있는지 확인합니다. 이 시나리오에서는 STARTTLS 전송 이벤트 싱크가 AUTH 명령 전에 시작됩니다. AUTH 명령이 없기 때문에 세션 뒷부분에서 XEXCH50 명령이 실패합니다.
4. 서버 간에 EXPS(EXchange Protocol Security) 인증이 제대로 작동하지 않는 경우 XEXCH50 명령이 작동하지 않습니다. 이벤트 1704 및 1706은 응용 프로그램 로그의 EXPS 인증 실패를 나타냅니다.

이벤트 종류: 경고
이벤트 원본: MSExchangeTransport Event
범주: SMTP 프로토콜
이벤트 ID: 1706
설명:
EXPS가 일시적으로 <ServerName>.<Domain>.com"에 프로토콜 보안을 제공할 수 없습니다. "CSessionContext::OnEXPSInNegotiate"이(가) "HrServerNegotiateAuth"을(를) 호출하지 못했습니다. 오류 코드 0x8009030c(이)가 반환되었습니다(i:\transmt\src\smtpsink\exps\expslib\context.cpp@1462).
데이터: 0000:
0c 03 09 80 ...?

참고 오류 코드 0x8009030c는 SEC_E_LOGON_DENIEDHresult로 해석됩니다.

이러한 문제는 EXPS의 Microsoft Windows 자격 증명이 이 AUTH 명령을 통과해야 하기 때문에 문제 해결이 어려울 수 있습니다. NLTEST 도구 및 NETDOM 도구를 포함한 여러 가지 도구를 사용하여 이벤트 ID 7006과 7004의 조합 문제를 해결할 수 있습니다. 문제 해결 과정에서 시스템 계정 암호를 다시 설정해야 할 수 있습니다.

앞에서 설명한 대로 응용 프로그램 로그에 이벤트 ID 7006 및 7004의 조합이 있지만 EXPS 인증을 사용하여 문제의 원인을 찾을 수 없는 경우 Microsoft 고객기술지원부에 문의하십시오. 응용 프로그램 로그에 이벤트 ID 7006과 7004의 조합이 없는 경우 5단계로 이동합니다. EXPS에 대한 자세한 내용은 추가 정보 절을 참조하십시오.
5. Exchange 조직에 있는 서버 간에 방화벽이나 바이러스 벽이 있는지 확인하십시오. 조직에 있는 서버 간에 방화벽이 있는 경우 이로 인해 문제가 발생하는지 테스트할 수 있습니다. 이렇게 하려면 임시로 방화벽 기능을 해제하십시오.

위로 가기

추가 정보

전송 문제에 대한 진단 로깅을 설정하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
821910 (http://support.microsoft.com/kb/821910/) Exchange Server 2003 전송 문제를 해결하는 방법
257265 (http://support.microsoft.com/kb/257265/) Exchange 2000 Server 및 Exchange Server 2003 전송 시 일반 문제 해결

이벤트 ID 7004와 오류 504가 함께 나타날 수 있는 다른 시나리오

이벤트 ID 7004에 표시된 서버가 Exchange 2000 Server 컴퓨터이거나 다른 Exchange 조직의 Exchange Server 2003 컴퓨터인 경우 또는 Exchange 조직 사이의 포리스트 간 트러스트를 위해 구성된 커넥터가 없는 경우 이벤트 ID 7004와 오류 504가 함께 나타날 수 있습니다. 포리스트 간 구현에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
828770 (http://support.microsoft.com/kb/828770/) Microsoft Exchange 2003에서 익명의 보낸 사람 확인 기능
참고 문서 828770에서 "포리스트 간 시나리오에서 인증(Authentication in cross-forest scenarios)" 절을 참조하십시오.

서버가 외부 인터넷 서버(Exchange 2000 Server 또는 Exchange Server 2003)인 경우에도 이벤트 ID 7004와 오류 504가 함께 나타날 수 있습니다.

Exchange 5.5 서버에 IMS(인터넷 메일 서비스) 커넥터의 Msexcimc.exe 버전 5.5.2657.72 이상이 있거나 보내는 Exchange 2000 Server 컴퓨터 또는 Exchange Server 2003 컴퓨터 외부의 전자 메일 도메인에 Exchange 5.5 서버가 있는 경우 받는 Exchange 5.5 IMS 커넥터는 보내는 Exchange Server 컴퓨터의 XEXCH50 명령을 해석하지 못합니다. 보내는 Exchange Server 컴퓨터의 응용 프로그램 로그에서 "505 인증 필요" 오류가 포함된 7004 이벤트는 Exchange 2000 Server 컴퓨터나 Exchange Server 2003 컴퓨터에서 인터넷을 통해 외부 전자 메일 도메인에 있는 Exchange 5.5 Server 컴퓨터로 메일을 보낼 때 일반적으로 발생합니다. 이 문제를 해결하는 한 가지 방법은 Exchange 2000 Server 컴퓨터 또는 Exchange Server 2003 컴퓨터가 있는 Exchange 조직의 외부로 보내는 XEXCH50 명령을 금지하는 것입니다.

Exchange 2000 Server 컴퓨터 또는 Exchange Server 2003 컴퓨터에서 이 문제를 해결하려면 SuppressExternal 레지스트리 키를 1로 설정할 수 있습니다. 이 설정은 Exchange Server가 XEXCH50 명령을 Exchange 조직 외부로 보내지 못하도록 합니다. SuppressExternal 레지스트리 키를 만들고 1로 설정하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
818222 (http://support.microsoft.com/kb/818222/) 전자 메일을 원격 도메인에 보낼 때 배달 못 함 보고서가 생성될 때까지 메시지가 아웃바운드 큐에 남아 있다

이벤트 ID 7004 및 7010과 함께 나타날 수 있는 추가 현상

7004 이벤트와 7010 이벤트에서 설명하는 것처럼 XEXCH50 명령이 제대로 작동하지 않는 경우 다음과 같은 현상이 나타날 수 있습니다.
Exchange 2000 Server 컴퓨터 및 Exchange Server 2003 컴퓨터에 대한 공용 폴더 복제가 영향을 받습니다.
공용 폴더에 대한 메일이 영향을 받습니다.
일반적인 메시지 일지가 작동하지 않거나 중복 일지 메시지가 발생할 수 있습니다. 메시지 일지 문제 해결에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
843105 (http://support.microsoft.com/kb/843105/) Exchange Server 2003 및 Exchange 2000 Server에서 메시지 일지 문제 해결
Exchange 조직에서 보고를 위해 봉투 일지가 설정된 경우 제대로 작동하지 않을 수 있습니다.
메일 그룹에 대한 배달 보고서가 제대로 작동하지 않을 수 있습니다.
메일 그룹 확장이 제대로 작동하지 않을 수 있습니다.
메일 그룹의 사용 권한과 제한이 예상대로 작동하지 않을 수 있습니다.
숨겨진 메일 그룹에 대한 메일이 예상대로 작동하지 않을 수 있습니다.
대리 수신자에 대한 메시지가 중복될 수 있습니다.
IMF(Intelligent Message Filtering)가 예상대로 작동하지 않을 수 있습니다.

XEXCH50에 대한 추가 정보

XEXCH50은 봉투 속성, 메시지 속성, 받는 사람 속성 등 특정 속성을 릴레이하는 데 사용되는 Exchange ESMTP 확장입니다. XEXCH50 명령은 짧은 명령입니다. 성공 유형의 응답을 받은 XEXCH50 명령 다음에는 가변 크기의 BLOB가 옵니다. 크기는 XEXCH50 명령의 첫 번째 인수에 해당합니다.

TLS 및 STARTTLS에 대한 추가 정보

The STARTTLS 명령은 RFC 2487 SMTP Service Extension for Secure SMTP over TLS에서 설명합니다. 이 RFC를 보려면 다음 IETF 웹 사이트를 방문하십시오.
ftp://ftp.ietf.org/rfc/rfc2487.txt (ftp://ftp.ietf.org/rfc/rfc2487.txt)
참고 통신을 보호하려면 TLS를 사용하여 SMTP 전송을 암호화하도록 Microsoft SMTP를 구성할 수 있습니다. 이 기능은 STARTTLS SMTP 프로토콜 명령을 통해 제공됩니다.

EXPS에 대한 추가 정보

X-EXPS는 AUTH와 비슷하지만 Exchange Server에서만 사용하는 동사입니다. 데이터 명령 구문과 응답 구문은 LOGIN, NTLM, GSSAPI 등과 같이 사용자가 선택하는 AUTH 패키지에 따라 달라집니다. 자세한 내용은 AUTH RFC를 참조하십시오.

EXPS는 EXchange Protocol Security를 나타내지만 SMTP 프로토콜만 참조합니다. Exchange 2000 Server 및 Exchange Server 2003에서 사용되는 일부 동사는 이러한 제품에 독점적이며 ESMTP 동사와 함께 사용됩니다. 이러한 동사를 ESMTP X 동사라고 합니다. ESMTP X 동사에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
812455 (http://support.microsoft.com/kb/812455/) 두 Exchange Server 간에 사용되는 동사의 정의

위로 가기

Exchange 조직에서 보내고 보급한 ehlo 이름을 찾을 수 없는 경우 수신하는 서버의 GSSAPI 인증(EXPS) 기능이 지속됩니다. ehlo 이름은 보급되지 않은 것처럼 무시됩니다. 보내는 서버는 인증을 시도하지 않습니다.

보내는 서버가 GSSAPI 인증을 발표하지 않고 XEXCH50 동사 뒤에 "504 need to authenticate" SMTP 프로토콜 오류를 기록한 것을 네트워크 모니터 추적에서 표시합니다. 이 문제를 해결하려면 SMTP 가상 서버 속성에 FQDN(정식 도메인 이름)이 있는지 확인합니다.

SMTP 가상 서버에 대한 배달 설정을 확인하려면 다음과 같이 하십시오.
1. 시작을 누르고 모든 프로그램, Microsoft Exchange를 차례로 가리킨 다음 System Manager를 누릅니다.
2. 관리 그룹 표시 확인란이 선택되어 있으면 관리 그룹을 확장한 다음 기본 관리 그룹을 확장합니다.

관리 그룹을 표시하려면 Your_Organization을 마우스 오른쪽 단추로 누르고, 속성을 누르고, 관리 그룹 표시 확인란을 선택하고, 확인을 차례로 두 번 누른 다음 Exchange System Manager를 다시 시작하십시오.
3. 서버, Your_Exchange_Server, 프로토콜을 차례로 확장한 다음 SMTP를 누릅니다.
4. 오른쪽 창에서 기본 SMTP 가상 서버를 마우스 오른쪽 단추로 누른 다음 속성을 누릅니다.
5. 배달 탭을 누른 다음 고급을 누릅니다.
6. 정식 도메인 이름 상자에 열거된 서버의 실제 FQDN 값을 확인합니다.
참고 FQDN 값은 NetBIOS(네트워크 기본 입/출력 시스템) 이름이나 FQDN이 될 수 있습니다.

정식 도메인 이름 상자에 열거된 이름이 220개의 응답 이름 또는 RFC 2821 받은 헤더의 이름을 위장하기 위해 변경된 경우 "현상" 절에 열거된 현상 등이 나타납니다.

또한 서버 간에 손실된 패킷이 없는지 확인하십시오. 방화벽이 XEXCH50과 같이 확장된 SMTP 동사를 차단하지 않는지 확인하십시오.