Team Foundation Server, 인증 및 액세스
사용자와 Visual Studio 2010 배포 간의 연결 보안을 유지하도록 배포를 구성할 수 있습니다. Visual Studio Team Foundation Server에서는 기본 인증, 다이제스트 인증 및 인증서를 지원할 수 있습니다. 따라서 HTTPS(Secure Hypertext Transfer Protocol)/SSL(Secure Sockets Layer)과 기본 또는 다이제스트 인증을 사용하도록 Team Foundation Server 배포를 구성할 수 있습니다. 이 전략을 사용할 경우 사용자는 VPN(가상 사설망) 연결을 사용하지 않고도 배포에 보다 안전하게 연결할 수 있습니다.
구성
외부에서 Team Foundation Server 배포에 보다 안전하게 연결할 수 있도록 지원하려면 기본 인증이나 다이제스트 인증 또는 둘 다를 사용하도록 IIS(인터넷 정보 서비스)를 구성해야 합니다. 또한 인증서를 반드시 사용하도록 외부 연결을 구성해야 합니다.
기본 인증 및 다이제스트 인증
기본 인증은 HTTP 1.0 사양의 일부로, Windows 사용자 계정을 사용합니다. 기본 인증 중에는 브라우저에서 사용자 이름 및 암호를 입력하라는 메시지가 표시된 다음 해당 정보가 Base64 인코딩을 사용하여 HTTP를 통해 전송됩니다. 기본 인증을 사용하려면 기본적으로 Windows 사용자 계정에 웹 서버에 대한 로컬 로그온 권한이 있어야 합니다. 기본 인증은 작업 그룹과 도메인 배포 환경에서 모두 사용할 수 있으며 대부분의 웹 서버, 프록시 서버 및 웹 브라우저에서 지원되지만 안전한 인증 방법은 아닙니다. Base64로 인코딩된 데이터는 디코딩하기가 쉬우므로 기본 인증에서는 암호를 일반 텍스트로 보내는 것과 마찬가지입니다. 즉, 악의적인 사용자가 네트워크의 통신을 모니터링하여 이러한 암호를 가로채고 공공연하게 사용할 수 있는 도구로 이를 해독하기가 쉽습니다. 보안을 강화하려면 HTTPS/SSL을 사용해야 합니다.
다이제스트 인증은 네트워크를 통해 암호 대신 다이제스트(해시라고도 함)를 보내는 시도/응답 메커니즘입니다. 다이제스트 인증 중에는 IIS에서 클라이언트로 시도를 보내 다이제스트를 만든 후 이를 서버로 보냅니다. 시도에 대한 응답으로 클라이언트에서는 클라이언트와 서버 모두에 알려진 데이터와 함께 사용자의 암호를 기반으로 하는 다이제스트를 보냅니다. 서버에서는 클라이언트와 동일한 프로세스를 통해 Active Directory에서 가져온 사용자 정보를 기반으로 고유의 다이제스트를 만듭니다. IIS에서는 서버에서 만든 다이제스트가 클라이언트에서 만든 다이제스트와 일치하는 경우에만 클라이언트를 인증합니다. Active Directory 배포에는 다이제스트 인증만 사용할 수 있습니다. 다이제스트 인증은 기본 인증에서 약간 개선된 인증일 뿐이므로 보안상 여전히 취약합니다. 즉, 악의적인 사용자가 클라이언트와 서버 간의 통신을 기록한 다음 이 정보를 사용하여 트랜잭션을 재생할 수 있습니다. 또한 다이제스트 인증에는 일부 웹 브라우저에서 지원하지 않는 HTTP 1.1 프로토콜이 사용됩니다. 더욱이 다이제스트 인증을 올바르게 구성하지 않으면 Team Foundation Server에 대한 액세스 시도가 실패합니다. 따라서 배포 환경이 이 모드에 대한 요구 사항을 모두 충족하지 않는 경우에는 다이제스트 인증을 선택하지 마십시오. 자세한 내용은 Microsoft 웹 사이트의 Digest Authentication (IIS 6.0) 페이지를 참조하십시오.
제한
이 항목의 앞부분에서 언급한 도메인 및 작업 그룹 요구 사항 외에도, 기본 및 다이제스트 인증은 모두 외부 클라이언트에 대한 네트워크 보안을 제공하는 데는 충분하지 않습니다. 따라서 외부 클라이언트를 지원하도록 Team Foundation Server를 구성하려면 HTTPS/SSL을 사용하도록 이러한 연결을 구성해야 합니다.