Share via


서비스 게시에 대한 보안 문제

시스템은 연결점 개체를 만들거나 수정하거나 삭제하는 기능을 제한합니다. 서비스를 게시할 때 이러한 제한을 인식하고 처리해야 합니다.

클라이언트는 디렉터리의 연결 지점 개체에 게시된 데이터를 신뢰할 수 있어야 합니다. 이러한 이유로 연결 지점 개체를 만들 수 있는 권한은 일반적으로 도메인 관리자와 같은 권한 있는 사용자로 제한됩니다. 이렇게 하면 잘 알려진 서비스에 대한 잘못된 연결 지점을 만들어 권한이 없는 사용자가 클라이언트를 속이는 것을 방지할 수 있습니다.

도메인 관리자 권한으로 서비스를 실행해서는 안 됩니다. 즉, 서비스는 일반적으로 자체 연결 지점을 만들 수 없습니다. 대신 연결점을 만드는 서비스 설치 또는 구성 애플리케이션을 제공합니다. 이 설치 관리자는 필요한 권한을 가진 사용자가 실행해야 합니다.

서비스는 일반적으로 연결 지점을 만들 수 없지만 런타임에 연결점 속성을 업데이트할 수 있어야 합니다. 연결점 속성에는 클라이언트가 서비스에 연결하는 데 사용하는 바인딩 데이터가 포함됩니다. 바인딩 데이터가 변경되면 서비스는 연결 지점을 업데이트해야 합니다. 그렇지 않으면 클라이언트가 서비스를 사용할 수 없습니다. 즉, 서비스가 런타임에 적절한 속성을 읽고 쓸 수 있도록 설치 관리자가 연결 지점 개체의 보안 설명자도 수정해야 합니다. 자세한 내용과 코드 예제는 서비스 계정에서 SCP 속성에 액세스하도록 설정을 참조하세요.

LocalSystem 계정으로 실행되는 서비스는 디렉터리의 자체 컴퓨터 개체 아래에 자식 개체로 연결점을 만들 수 있습니다. 이러한 서비스는 자체 연결 지점을 만들지 않는 서비스 규칙의 예외입니다. LocalSystem 서비스에는 자체 컴퓨터 개체에서 연결 지점 개체의 속성을 수정할 수 있는 권한도 있습니다. 서비스가 반드시 필요한 경우에만 LocalSystem 계정으로 실행되어야 합니다. 자세한 내용은 서비스 로그온 계정 선택에 대한 지침을 참조하세요.

연결점 개체 또는 개체를 만드는 애플리케이션에는 개체를 만들 컨테이너에서 만들 개체 클래스에 대한 자식 만들기 권한이 있어야 합니다. 개체를 제거하려면 작업을 수행하는 프로세스에 개체가 있는 컨테이너에서 삭제할 개체 클래스에 대한 자식 삭제 권한이 있거나 개체 자체에 대한 삭제 권한이 있어야 합니다. 연결점을 업데이트하려면 작업을 수행하는 프로세스에 개체에서 업데이트할 속성에 대한 쓰기 액세스 권한이 있어야 합니다.