NTLM 인증

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 2분
  • NTLM은 기본 웹 서버에서 지원하는 인증 프로토콜 중 가장 복잡한 프로토콜입니다.

    NTLM은 HttpClient와 같은 기본 웹 서버에서 지원하는 가장 복잡한 인증 프로토콜입니다. 공개적으로 사용 가능한 사양이 없는 독 Microsoft 점 프로토콜입니다. 초기 버전의 NTLM은 디자인의 결함으로 인해 다이제스트 인증보다 덜 안전했습니다. 그러나 이러한 문제는 Windows NT 4용 서비스 팩에서 수정되었으며 이제 프로토콜은 다이제스트 인증보다 더 안전한 것으로 간주됩니다.

    NTLM 인증을 위해서는 서버의 도메인 이름 또는 기본 자격 증명에 NTCredentials 인스턴스를 사용할 수 있어야 합니다. NTLM은 영역 개념을 사용하지 않으므로 HttpClient는 서버의 도메인 이름을 영역의 이름으로 사용합니다. 또한 NTCredentials에 제공된 사용자 이름에는 도메인 앞에 도메인이 붙으면 안 됩니다.
    • 정답: adrian
    • 잘못된 정보: DOMAIN\adrian
    기본 및 다이제스트 인증과 비교하여 NTLM의 작동 방식에는 몇 가지 중요한 차이점이 있습니다. 이러한 차이는 일반적으로 HttpClient에 의해 처리됩니다. 그러나 이러한 차이점을 이해하면 NTLM 인증을 사용할 때 문제를 방지하는 데 도움이 될 수 있습니다.
    • NTLM 인증은 HttpClient API 측면에서 다른 인증 형식과 거의 동일하게 작동합니다. 유일한 차이점은 UsernamePasswordCredentials 대신 NTCredentials를 제공해야 한다는 것입니다(NTCredentials는 실제로 UsernamePasswordCredentials를 확장하므로 필요한 경우 애플리케이션 전체에서 NTCredentials를 사용할 수 있음).
    • NTLM 인증의 영역은 연결 중인 컴퓨터의 도메인 이름입니다. 서버에 여러 도메인 이름이 있는 경우가 많기 때문에 이는 번거로울 수 있습니다. HostConfiguration에 지정된 대로 HttpClient가 연결하는 도메인 이름만 자격 증명을 조회하는 데 사용됩니다. 처음에 NTLM 인증을 테스트하는 동안 기본값으로 사용되는 null로 영역을 전달하는 것이 가장 좋습니다.
    • NTLM은 요청이 아닌 연결을 인증합니다. 따라서 새 연결이 이루어질 때마다 인증해야 하며 인증 중에 연결을 열어 두는 것이 중요합니다. 이러한 이유로 NTLM을 사용하여 프록시 서버와 웹 서버 모두로 인증할 수 없으며 HTTP 연결 유지를 지원하지 않는 HTTP 1.0 연결 또는 웹 서버에서 NTLM을 사용할 수 없습니다.
    주:
    시스템 속성 [sys_properties] 테이블에서 이러한 속성을 설정합니다.
    표 1. NTLM 인증
    속성 설명 예제
    glide.http.proxy_ntusername NTLM 인증을 사용하여 프록시 서버를 인증하는 데 사용되는 사용자 이름을 지정합니다.
    • 유형: string
    • 기본값: 없음
    username
    glide.http.proxy_ntpassword NTLM 인증을 사용하여 프록시 서버를 인증하는 데 사용되는 암호를 지정합니다.
    • 유형: string
    • 기본값: 없음
    암호
    glide.http.proxy_nthost NTLM 인증을 사용하여 프록시 서버를 인증하는 데 사용되는 호스트 이름을 지정합니다.
    • 유형: string
    • 기본값: 없음
    nthost
    glide.http.proxy_ntdomain NTLM 인증을 사용하여 프록시 서버를 인증하는 데 사용되는 도메인을 지정합니다.
    • 유형: string
    • 기본값: 없음
    도메인