Как настроить OPC в сети без домена

{nice1}

На различных форумах достаточно часто появляются вопросы типа "Как настроить безопасность DCOM в сети без домена?". А в ответ нередко раздаются советы купить у ближайшего шамана хороший бубен, ибо без "шаманства", якобы, никак не обойтись. Данная статью появилась с целью показать на РЕАЛЬНОМ примере, как можно настроить безопасность DCOM, не отказываясь от его защиты и не прибегая к помощи потусторонних сил.

Итак:

Компьютер - Сервер: Win2k Pro, входит в домен.

  • Устанавливаем приложение-сервер и закрываем его.
  • Создаем пользователя с именем "DCOMServer" и паролем "ServerAccess".
  • Включаем его в группу пользователей.
  • Создаем пользователя с именем "DCOMServerStart" и паролем "ServerStart".
  • Включаем его в группу администраторов.
  • Запускаем апплет "Политика безопасности" и убеждаемся, что группе пользователей разрешен сетевой вход.
  • Запускаем dcomcnfg.exe, находим в списке наше приложение по AppID и выделяем его.
  • Нажимаем кнопку "Свойства" и переходим на вкладку "Безопасность".
  • Выбираем пользовательские настройки для доступа и запуска.
  • По очереди нажимаем кнопки "изменить" и в появившихся окнах добавляем пользователя "DCOMServer" с типом доступа "Разрешить".
  • Переходим на вкладку "Учетная запись".
  • Выбираем запуск от имени "Указанный пользователь".
  • В поле "Пользователь" вводим "DCOMServerStart", в поля "Пароль" и "Подтверждение" вводим "ServerStart".
  • На вкладке "Общие" оставляем "Уровень проверки подлинности" в значении "По умолчанию"
  • Нажимаем кнопку "Ок", подтверждая настройки.
  • В главном окне dcomcnfg.exe переходим на вкладку "Свойства по умолчанию"
  • Разрешаем использовать DCOM на этом компьютере, уровень проверки подлинности ставим в "Подключение", уровень олицетворения - в значение "Определить"
  • Нажимаем "Ok", закрывая dcomcnfg.

Компьютер - Клиент: Win2k Pro, НЕ ВХОДИТ В ДОМЕН.

  • Входим под административной учетной записью.
  • Создаем пользователя - ВАЖНО!!! - с именем "DCOMServer" и паролем "ServerAccess", то есть такую же, как и на сервере!
  • Выходим из системы и входим под учетной записью "DCOMServer".
  • Запускаем приложение - клиент и подключаемся к серверу вызовом CoMyServerObj.CreateRemote, указав имя компьютера - сервера.

Важно понимать, что данное описание не является руководством, которому необходимо неукоснительно следовать. Здесь сделана попытка на реальном примере дать описание АЛГОРИТМА настройки, и показано, как можно выполнить настройку, не отказываясь от защиты совсем, сохраняя все преимущества защищенной работы сервера.

Надо также заметить, что подобная настройка позволяет задействовать интерфейсы обратного вызова.

Надеюсь, оно поможет Вам, читатель, понять общий принцип настройки безопасности DCOM в случае, когда клиент и/или сервер не входят в домен, и послужит отправной точкой для понимания сути предпринимаемых действий.