2012-05-02 2 views
3

레거시 DCOM 서버와 클라이언트 응용 프로그램이 모두 Delphi v6로 작성되었습니다. DCOM 서버는 현재 한 번 실행되어 모든 클라이언트에 서비스를 제공하도록 구성되어 있습니다. 한 번 실행되는 주된 이유는 서버가 계정 응용 프로그램에 대한 인터페이스를 제공하고 로그온해야하며 주어진 사용자 이름에 대해 한 번만이 작업을 수행 할 수 있기 때문입니다.Windows Server 2008 R2의 레거시 DCOM 서버

고객은 이제 Windows XP에서 클라이언트를 그대로두고 서버를 Windows Server 2008 R2로 업그레이드하려고하지만 현재 설정을 복제 할 수 없었습니다.

테스트 장비에서 작동하도록 설정할 수있는 현재 설정이 약간 이상합니다!

  1. 나는 원격 시작을 허용하도록 DCOM 설정을 구성하거나 클라이언트가 내가 서버 실행이 실패 얻을에 연결하려고 할 때 나는 클라이언트
  2. DCOM 서버가 이미 실행되고 있지 않은 경우에 부정 액세스 할 수 있습니다.
  3. 서버가 실행 중이며 시작 권한이 원격 실행을 허용하도록 설정된 경우 클라이언트는 이미 시작된 인스턴스를 사용하지 않고 DCOM 서버의 새 인스턴스를 시작합니다. 같은 사용자가 로그온을 시도 할 때 계정 응용 프로그램에서 문제가 발생합니다.이 로그온은 허용되지 않습니다.
  4. 서버에서 실행중인 DCOM 서버를 닫으면 클라이언트가 자체 인스턴스로 행복하게 작업합니다. 백그라운드에서 실행중인 것처럼 DCOM 서버 기본 폼을 볼 수 없습니다 (작업 관리자에서 볼 수 있음)

이 문제와 관련하여 여러 가지 기사를 찾았으나 지금까지 아무 것도 작동하지 않았습니다. 여기에는 관리자로 DCOM 서버를 실행하고 관리자로 DCOM 서버를 실행하지 않고 방화벽에 COM + 허용, 방화벽에 DCOM 서버 추가, SysWOW64에있는 DCOM 서버, DCOMCNFG의 32 비트 버전 사용 등이 포함됩니다.

갈 곳 이제 확실하지 ...

사이먼

+0

이 시스템에 터미널 서비스가 설치되어 있습니까? 그것은 많은 것을 복잡하게 만듭니다. –

+0

안녕 워렌,이 서버에 터미널 서비스가 설치되어 있지 않습니다. –

+0

Windows Server 2003에서 정품 인증 + 보안 문제가 발생했습니다. 터미널 서비스를 추가 한 경우에만 문제가 해결되지 (수정할 수 없음)되었습니다. 이 사건으로 인해 DCOM, MSMQ 및 모든 엔터프라이즈 Microsoft 기술에 대한 깊은 혐오가 나타났습니다. Windows Server 2008 R2에서 "MCP 인증"을받은 사람 임에도 불구하고 이러한 혐오는 오늘날에도 계속됩니다. 필자는 Microsoft 포럼/커뮤니티/뉴스 그룹을 방문하여 DCOM 신을 찾아 볼 것을 제안합니다. –

답변

3

DCOM 기본 권한 XP SP2와 2003 SP1의 변경이 어떤 도움

감사합니다. 서비스를 제대로 실행하려면 제대로 구성해야합니다. 일반적으로 DCOM 서버가 제한된 DCOM 지원으로 인해 허용되지 않는 서비스에 구현하지 않으면 사용자가 연결할 때 DCOM 서버가 시작되기 때문에 "원격 시작"권한이 필요할 수 있습니다. 또한 DCOM 서버는 주어진 사용자, 대화 형 사용자 (원격 클라이언트의 경우 피해야합니다!) 또는 시작 사용자의 컨텍스트에서 시작할 수 있습니다. 어떤 모드를 사용하고 있습니까? - "launching user"로 설정되면 항상 새로운 인스턴스가 생성됩니다. 새 OS 이전에 서버가 어떻게 인스턴스화 되었습니까? 클래스 팩토리는 어떻게 구현됩니까? DCOM 및 Delphi 구현에 대한 몇 가지 흥미로운 정보는 here을 참조하십시오. BTW

: 정말 그것을 필요로하지 않는

  • 관리자 권한으로 DCOM 서버를 실행하지 마십시오. 그렇지 않으면 보안 구멍을 만들 수 있습니다.
  • 방화벽이있는 경우 RPC 끝점 포트와 DCOM 용으로 구성된 포트를 모두 호출 클라이언트에 개방해야합니다.
  • 시스템 디렉토리를 응용 프로그램과 혼동하지 마십시오. 필요가 없습니다. 앱이 거기서만 작동하면 권한이 잘못 설정되어있어 속하지 않는 곳에 파일을 제대로 두지 않아도됩니다.
+0

"제한된 DCOM 지원"? 오래 전에 나는이 문제를 해결하기 위해 노력한 것을 기억하고 CoInitializeSecurity (http://yoy.be/item.asp?i282)를 호출하여 문제를 해결했습니다. 그러나 제가 말했던 것처럼, 그것은 오래 전이었습니다 (즉, 2006) –

+0

DCOM 지원은 대부분 NT/W9x API 용으로 작성되고 DCOM 서비스 (세 번째 부분 라이브러리 없음)를 지원하지 않기 때문에 "제한적"이며 NT가 Delphi에서 지원되지 않으므로 추가 된 많은 DCOM 기능이 개선되었습니다. 즉각적인 지원이 가능합니다. 더 많거나 적습니다. D4가 거의 추가되지 않았기 때문입니다. –

+0

이것들은 매우 일반적인 포인트로 보이지만 그럼에도 불구하고 +1합니다. 정품 인증 문제가 DCOM의 보안 지향적 인 문제 (DCOM 구성 변경 필요) 또는 다른 것 (도메인 또는 컴퓨터 보안 역할 문제 또는 기타 기묘한 레지스트리 또는 그룹 프로필 해커가 필요하다는 사실)이라고 생각하십니까? –

관련 문제