다음을 통해 공유


Team Foundation Server 보안 개념

업데이트: 2007년 11월

Team Foundation Server를 보안하는 데 도움이 되도록 Team Foundation Server가 작동하는 방법과 다른 Team Foundation 구성 요소와 통신하는 방법을 이해해야 합니다. Team Foundation Server 관리자는 Windows 인증, 네트워크 프로토콜 및 트래픽, Team Foundation Server가 설치되어 있는 비즈니스 네트워크의 구조에 익숙해야 할 뿐 아니라 Team Foundation Server 그룹과 권한을 이해하고 있어야 합니다.

Team Foundation Server 보안 이해

Team Foundation Server 보안 개념은 토폴로지, 인증 및 권한 부여라는 세 가지 일반적인 범주로 나눌 수 있습니다. 토폴로지에는 Team Foundation 서버의 배포 위치 및 방법, Team Foundation Server와 Team Foundation 클라이언트 간에 전달되는 네트워크 트래픽 및 Team Foundation Server에서 실행해야 하는 서비스가 포함됩니다. 인증에는 Team Foundation Server 사용자, 그룹 및 서비스의 유효성을 확인하는 프로세스가 포함됩니다. 권한 부여에는 유효한 Team Foundation Server 사용자, 그룹 및 서비스에 작업을 수행할 적절한 권한이 있는지 여부를 확인하는 프로세스가 포함됩니다. 또한 관리자는 다른 구성 요소 및 서비스에 대한 Team Foundation Server 종속성을 알아야 네트워크에서 Team Foundation Server 보안을 최적화할 수 있습니다.

Team Foundation Server 보안을 고려할 때는 인증과 권한 부여의 차이점을 알고 있어야 합니다. 인증은 연결을 시도하는 클라이언트, 서버 또는 프로세스의 자격 증명을 확인하는 것입니다. 권한 부여는 연결을 시도하는 ID에 개체 또는 메서드에 액세스할 수 있는 권한이 있는지 확인하는 절차입니다. 권한 부여는 항상 인증이 성공한 후에 수행됩니다. 연결이 인증되지 않은 경우 권한 부여 검사가 수행되기 전에 연결이 실패하게 됩니다. 연결이 성공적으로 인증되었더라도 사용자나 그룹에 특정 작업을 수행하기 위한 권한이 부여되지 않았으면 해당 작업을 수행할 수 없습니다.

Team Foundation Server 토폴로지, 포트 및 서비스

Team Foundation Server 배포 및 보안의 첫 번째 요소는 Team Foundation 배포 환경의 구성 요소가 서로 연결하여 통신할 수 있는지 여부입니다. 이렇게 하는 목적은 Team Foundation 클라이언트와 Team Foundation Server 간의 연결을 허용하고 다른 연결 시도는 제한하거나 방지하기 위해서입니다.

Team Foundation Server가 작동하는 데는 일부 포트와 서비스가 필요합니다. 비즈니스 보안 필요에 맞게 이러한 포트의 보안을 설정하고 모니터링할 수 있습니다. 일부 Team Foundation 배포 환경에서는 Team Foundation Server Proxy를 통해 Team Foundation 클라이언트, Team Foundation 응용 프로그램 계층/데이터 계층 서버의 논리적 구성 요소를 호스팅하는 서버, Team Foundation Build 빌드 컴퓨터 및 원격 Team Foundation 클라이언트 간에 Team Foundation Server 네트워크 트래픽이 전달되도록 해야 할 수 있습니다. 기본적으로 Team Foundation Server는 웹 서비스에 HTTP를 사용하도록 구성됩니다. Team Foundation Server 포트 및 서비스의 전체 목록과 Team Foundation Server 아키텍처에서 이러한 포트 및 서비스가 사용되는 방식에 대한 자세한 내용은 Team Foundation Server 보안 아키텍처Team Foundation Server, HTTPS 및 SSL을 참조하십시오.

Team Foundation Server는 Active Directory 도메인이나 작업 그룹에서 배포할 수 있습니다. Active Directory는 Team Foundation Server 배포 환경의 보안을 유지하는 데 사용할 수 있는 기본 제공 보안 기능을 작업 그룹에 비해 더 많이 제공합니다. 예를 들어 중복 컴퓨터 이름을 허용하지 않도록 Active Directory를 구성하여 악의적인 사용자가 허위로 만든 Team Foundation Server를 사용하여 컴퓨터 이름을 스푸핑하지 못하게 할 수 있습니다. 작업 그룹에서 이와 동일한 종류의 위험을 완화하려면 컴퓨터 인증서를 구성해야 합니다. Active Directory 도메인의 Team Foundation Server에 대한 자세한 내용은 Active Directory 도메인에서 Team Foundation Server 관리를 참조하십시오. 작업 그룹의 Team Foundation Server에 대한 자세한 내용은 작업 그룹에서 Team Foundation Server 관리를 참조하십시오.

Team Foundation Server를 작업 그룹에서 배포하든 도메인에서 배포하든 관계없이 Team Foundation Server 배포에는 몇 가지 토폴로지 제약 조건이 있습니다. Team Foundation Server의 토폴로지에 대한 자세한 내용은 Team Foundation Server 토폴로지, SharePoint 제품 및 기술 이해SQL Server 및 SQL Server Reporting Services 이해를 참조하십시오.

Team Foundation Server는 Kerberos 보안 프로토콜의 사용을 완벽하게 지원합니다. Team Foundation Server를 설치한 후 클라이언트와 서버 모두의 상호 인증에 대해 Kerberos를 지원하도록 Team Foundation Server를 구성할 수 있습니다.

인증

Team Foundation Server 보안은 Windows 통합 인증 및 Windows 운영 체제의 보안 기능과 통합되어 있으며 이를 적절히 활용합니다. Windows 통합 인증은 Team Foundation 클라이언트와 Team Foundation Server 간의 연결, 논리적 Team Foundation Server 응용 프로그램 계층 및 데이터 계층 서버의 웹 서비스, Team Foundation 응용 프로그램 계층 서버와 데이터 계층 서버 간의 연결을 위해 계정을 인증하는 데 사용할 수 있습니다.

SQL Server 인증을 사용하려면 Team Foundation Server와 Windows SharePoint Services 간에 SQL 데이터베이스 연결을 구성하지 말아야 합니다. SQL Server 인증에서는 데이터베이스에 연결할 때 데이터베이스 관리자 계정의 사용자 이름 및 암호가 서버 간에 암호화되지 않은 형식으로 전송되기 때문에 보안이 취약합니다. Windows 통합 인증에서는 사용자 이름 및 암호를 전송하지 않고 대신 Windows 통합 인증 보안 프토토콜을 사용하여 IIS(인터넷 정보 서비스) 응용 프로그램 풀과 연결된 서비스 계정 ID 정보를 SQL Server로 전송합니다.

Team Foundation Server 권한 부여

Team Foundation Server 권한 부여는 Team Foundation 사용자와 그룹, 해당 사용자와 그룹에 직접 할당된 권한 및 해당 사용자와 그룹이 속해 있는 다른 Team Foundation Server 그룹에서 자동으로 상속되는 권한을 기반으로 합니다. Team Foundation 사용자와 그룹은 로컬 사용자 및 그룹, Active Directory 사용자 및 그룹 또는 둘 모두일 수 있습니다.

Team Foundation Server에는 서버 수준 및 프로젝트 수준의 기본 그룹이 미리 구성되어 있습니다. 개별 사용자를 사용하여 이러한 그룹을 채울 수 있지만 Active Directory 보안 그룹을 사용하여 이러한 그룹을 채우면 그룹을 관리하기가 더 쉽습니다. 이 방식을 사용하면 여러 컴퓨터에서 그룹 멤버 자격과 권한을 보다 효율적으로 관리할 수 있습니다.

배포 환경에 따라 여러 컴퓨터와 응용 프로그램에 대한 사용자, 그룹 및 권한을 구성해야 할 경우가 있습니다. 예를 들어, 보고서 및 프로젝트 포털을 배포에 포함하려면 SQL Reporting Services, Windows SharePoint Services 및 Team Foundation Server에서 사용자와 그룹의 권한을 구성해야 합니다. Team Foundation Server에서는 프로젝트 수준이나 서버 수준으로 권한을 설정할 수 있습니다. 또한 Team Foundation Server에 추가하는 사용자 또는 그룹은 Team Foundation Valid Users에 자동으로 추가되기 때문에 특정 권한을 기본적으로 부여받게 됩니다. 권한을 구성하는 방법에 대한 자세한 내용은 권한 관리를 참조하십시오. Team Foundation Server 사용자 및 그룹에 대한 자세한 내용은 사용자 및 그룹 관리를 참조하십시오.

Team Foundation Server에서 권한 부여를 위해 권한을 구성할 뿐만 아니라 소스 코드 제어 및 작업 항목 내에서 권한을 부여해야 할 수도 있습니다. 이러한 권한은 명령줄에서 별도로 관리하지만 팀 탐색기 인터페이스의 일부로 통합됩니다. 소스 제어 권한에 대한 자세한 내용은 Team Foundation 버전 제어를 참조하십시오. 작업 항목 사용자 지정에 대한 자세한 내용은 Team Foundation 작업 항목 사용을 참조하십시오.

Team Foundation Server 종속성

Team Foundation Server의 응용 프로그램 계층 및 데이터 계층 서버에는 Team Foundation Server 서비스뿐만 아니라 Windows 및 다른 응용 프로그램 서비스도 일부 필요합니다. 다음 표에서는 논리적 Team Foundation 응용 프로그램 계층을 호스팅하는 서버에 필요한 서비스에 대해 설명합니다.

서비스 이름

설명

Application Experience Lookup Service

이 서비스는 응용 프로그램이 새로 릴리스된 Windows 운영 체제 또는 서비스 팩에서 실행되도록 응용 프로그램에 수정 내용을 적용하는 데 사용되는 인프라의 일부입니다. 응용 프로그램 수정 내용이 작동하려면 이 서비스를 실행해야 합니다.

Distributed Transaction Coordinator

이 서비스는 데이터베이스, 메시지 큐, 파일 시스템 등의 트랜잭션 보호 리소스를 둘 이상 업데이트하는 트랜잭션을 조정합니다. 이러한 트랜잭션 보호 리소스는 단일 컴퓨터에 있을 수도 있고 네트워크의 여러 컴퓨터에 분산되어 있을 수도 있습니다.

DNS Client

이 서비스는 DNS 도메인 이름을 확인하는 데 사용됩니다.

이벤트 로그

이 서비스는 이벤트 뷰어에서 읽을 수 있는 세 가지 기본 로그(보안, 응용 프로그램 및 시스템 로그) 중 하나에 이벤트를 쓰는 방법으로 운영 체제의 이벤트를 기록합니다.

IIS Admin Service

이 서비스는 IIS 메타베이스를 관리합니다.

Net Logon

이 서비스는 로그온 요청을 확인하고 사용자 계정 데이터베이스의 도메인 수준 복제를 제어합니다.

Network Connections

NetMan 서비스라고도 하는 이 서비스는 제어판의 네트워크 연결에서 만들고 구성한 모든 네트워크 연결을 관리하고 바탕 화면의 알림 영역에 네트워크 상태를 표시합니다.

NLA(Network Location Awareness)

이 서비스는 IP 주소의 이름 및 위치와 도메인 이름에 대한 변경 내용 등의 네트워크 구성 정보를 수집하고 저장합니다.

Remote Procedure Call(RPC)

이 서비스는 데이터를 교환하고 다른 프로세스에 있는 기능을 호출할 수 있게 해 주는 안전한 IPC(프로세스 간 통신) 메커니즘입니다. 다른 프로세스는 동일한 컴퓨터, LAN(Local Area Network) 또는 인터넷 상에 있을 수 있습니다. Remote Procedure Call 서비스는 RPC EPM(종점 매퍼) 및 SCM(서비스 제어 관리자) 역할을 합니다.

Report Server(MSSSQLSERVER)

이 서비스는 SOAP(Simple Object Access Protocol) 및 URL 요청을 처리하고, 보고서를 처리하고, 스냅숏 및 보고서 캐시 관리 기능을 제공하며, 보안 정책 및 권한 부여를 지원하고 적용합니다.

Security Accounts Manager

이 서비스는 사용자가 속해 있는 그룹 등 사용자 계정 정보를 유지 관리합니다.

Windows Management Instrumentation

이 서비스는 CIM(Common Information Model) 개체 관리자를 시작하고 중지합니다.

Windows Time

W32Time이라고도 하는 이 서비스는 Windows Server 2003 네트워크에서 실행되는 모든 컴퓨터의 날짜와 시간을 동기화합니다.

World Wide Web Publishing Service

이 서비스는 사용자 모드 구성 및 프로세스 관리자로서, HTTP 요청을 처리하고 웹 응용 프로그램을 실행하는 IIS 구성 요소를 관리하며 웹 응용 프로그램을 정기적으로 검사하여 웹 응용 프로그램이 예기치 않게 중지되었는지 여부를 확인합니다.

다음 표에서는 논리적 Team Foundation 데이터 계층을 호스팅하는 서버에 필요한 서비스에 대해 설명합니다.

서비스 이름

설명

Application Experience Lookup Service

이 서비스는 응용 프로그램이 새로 릴리스된 Windows 운영 체제 또는 서비스 팩에서 실행되도록 응용 프로그램에 수정 내용을 적용하는 데 사용되는 인프라의 일부입니다. 응용 프로그램 수정 내용이 작동하려면 이 서비스를 실행해야 합니다.

Distributed Transaction Coordinator

이 서비스는 데이터베이스, 메시지 큐, 파일 시스템 등의 트랜잭션 보호 리소스를 둘 이상 업데이트하는 트랜잭션을 조정합니다. 이러한 트랜잭션 보호 리소스는 단일 컴퓨터에 있을 수도 있고 네트워크의 여러 컴퓨터에 분산되어 있을 수도 있습니다.

DNS Client

이 서비스는 DNS 도메인 이름을 확인하는 데 사용됩니다.

이벤트 로그

이 서비스는 이벤트 뷰어에서 읽을 수 있는 세 가지 기본 로그(보안, 응용 프로그램 및 시스템 로그) 중 하나에 이벤트를 쓰는 방법으로 운영 체제의 이벤트를 기록합니다.

Net Logon

이 서비스는 로그온 요청을 확인하고 사용자 계정 데이터베이스의 도메인 수준 복제를 제어합니다.

Network Connections

NetMan 서비스라고도 하는 이 서비스는 제어판의 네트워크 연결에서 만들고 구성한 모든 네트워크 연결을 관리하고 바탕 화면의 알림 영역에 네트워크 상태를 표시합니다.

NLA(Network Location Awareness)

이 서비스는 IP 주소의 이름 및 위치와 도메인 이름에 대한 변경 내용 등의 네트워크 구성 정보를 수집하고 저장합니다.

Remote Procedure Call(RPC)

이 서비스는 데이터를 교환하고 다른 프로세스에 있는 기능을 호출할 수 있게 해 주는 안전한 IPC(프로세스 간 통신) 메커니즘입니다. 다른 프로세스는 동일한 컴퓨터, LAN(Local Area Network) 또는 인터넷 상에 있을 수 있습니다. Remote Procedure Call 서비스는 RPC EPM(종점 매퍼) 및 SCM(서비스 제어 관리자) 역할을 합니다.

Security Accounts Manager

이 서비스는 사용자가 속해 있는 그룹 등 사용자 계정 정보를 유지 관리합니다.

SQL Analysis Server(MSSQLSERVER)

이 서비스는 OLAP 큐브 및 데이터 마이닝 모델을 만들고 관리합니다.

SQL Server FullText Search (MSSQLSERVER)

이 서비스는 내용에 대한 전체 텍스트 인덱스를 만들고, 작업 항목에 대한 전체 텍스트 검색을 수행하는 데 사용됩니다.

Windows Management Instrumentation

이 서비스는 CIM(Common Information Model) 개체 관리자를 시작하고 중지합니다.

Windows Time

W32Time이라고도 하는 이 서비스는 Windows Server 2003 네트워크에서 실행되는 모든 컴퓨터의 날짜와 시간을 동기화합니다.

참고 항목

개념

Team Foundation Server 보안 아키텍처

작업 그룹에서 Team Foundation Server 관리

Team Foundation 버전 제어

Team Foundation 작업 항목 사용

기타 리소스

Active Directory 도메인에서 Team Foundation Server 관리

권한 관리

사용자 및 그룹 관리

소스 제어 보안 권한