Ошибка 10036 distributedcom

Обновлено 27.08.2022

ошибка

Добрый день! Уважаемые читатели IT блога Pyatilistnik.org, в прошлый раз мы с вами разобрали за, что отвечает библиотека vcruntime140.dll и на сколько она важна для работы многих программ. Сегодня я хочу вам рассказать, об интересном случае, когда специализированный софт может не получить доступ к удаленному компьютеры по RPC протоколу из-за новых политик безопасности DCOM. В логах будет фигурировать событие об ошибке DCOM ID 10036 «политика уровня проверки подлинности на стороне сервера не разрешает пользователю». Давайте смотреть в чем дело.

❌Описание ошибки DCOM ID 10036 (EOleException)

Обратился ко мне мой коллега с просьбой показать ему, как отправлять сообщение всем пользователям терминального хоста. Я предложил ему бесплатную утилиту Terminal Services Manager и подумал, что задача выполнена, но не тут то было. Коллега сказал, что у него не подключается к RDSH хосту и высвечивается ошибка доступа. Я решил так же проверить данную ситуацию.

Запустив Terminal Services Manager, в логе я увидел вот такую ошибку подключения:

EOleException

Сразу отмечу, что права на удаленный сервер у меня были и сетевая доступность присутствовала. Первым делом я полез на сам сервер, куда не удавалось произвести подключение. В логах системы я обнаружил массовую ошибку:

ID 10036: Политика уровня проверки подлинности на стороне сервера не разрешает пользователю ROOT\sem SID (S-1-5-21-551888299-3078463796-123456789-46162) с адреса 10.11.11.210 для активации DCOM-сервера. Повысьте уровень проверки подлинности активации, чтобы RPC_C_AUTHN_LEVEL_PKT_INTEGRITY в клиентском приложении. («The server-side authentication level policy does not allow the user ROOT\sem SID (S-1-5-21-551888299-3078463796-123456789-46162) from address 10.11.11.210 to activate DCOM server. Please raise the activation authentication level at least to RPC_C_AUTHN_LEVEL_PKT_INTEGRITY in client application.»)

ID 10036

Давайте выяснять в чем дело и как это можно обойти.

⚙️Причина ошибки DCOM ID 10036

Первое, что я стал изучать, что такое RPC_C_AUTHN_LEVEL_PKT_INTEGRITY. В итоге я наткнулся на статью Microsoft о константах уровня аутентификации.

Константы уровня аутентификации представляют собой уровни аутентификации, передаваемые различным функциям времени выполнения. Эти уровни перечислены в порядке возрастания аутентификации. Каждый новый уровень добавляет к аутентификации, обеспечиваемой предыдущим уровнем. Если библиотека времени выполнения RPC не поддерживает указанный уровень, она автоматически обновляется до следующего более высокого поддерживаемого уровня.

В итоге есть вот такой список констант:

  • RPC_C_AUTHN_LEVEL_DEFAULT — Использует уровень проверки подлинности по умолчанию для указанной службы проверки подлинности.
  • RPC_C_AUTHN_LEVEL_NONE — Не выполняет аутентификацию.
  • RPC_C_AUTHN_LEVEL_CONNECT — Аутентифицируется только тогда, когда клиент устанавливает связь с сервером.
  • RPC_C_AUTHN_LEVEL_CALL — Выполняет аутентификацию только в начале каждого вызова удаленной процедуры, когда сервер получает запрос. Не применяется к удаленным вызовам процедур, выполненным с использованием последовательностей протоколов на основе соединения (тех, которые начинаются с префикса «ncacn»). Если последовательность протокола в дескрипторе привязки представляет собой последовательность протокола на основе соединения, и вы указываете этот уровень, эта процедура вместо этого использует константу RPC_C_AUTHN_LEVEL_PKT.
  • RPC_C_AUTHN_LEVEL_PKT — Аутентифицирует только то, что все полученные данные получены от ожидаемого клиента. Не проверяет сами данные.
  • RPC_C_AUTHN_LEVEL_PKT_INTEGRITY — Аутентифицирует и проверяет, что никакие данные, передаваемые между клиентом и сервером, не были изменены.
  • RPC_C_AUTHN_LEVEL_PKT_PRIVACY — Включает все предыдущие уровни и гарантирует, что данные в открытом виде могут быть видны только отправителю и получателю. В локальном случае это предполагает использование безопасного канала. В удаленном случае это включает шифрование значения аргумента каждого удаленного вызова процедуры.

Теперь стало понятно, за что отвечает RPC_C_AUTHN_LEVEL_PKT_INTEGRITY и видимо Microsoft, ужесточила какую-то политику безопасности, я стал изучать вопрос дальше. Поиск ошибки DCOM ID 10036 привел меня ну обсуждение нового обновления KB5004442, которое как я выяснил и вызывает эту ситуацию.

KB5004442 призвана усилить защиту DCOM объектов. Удаленный протокол модели распределенных компонентов (DCOM) — это протокол для предоставления объектов приложений с помощью удаленных вызовов процедур (RPC). DCOM используется для связи между программными компонентами сетевых устройств. Многие из нас на самом деле не понимают этого, и мы не можем диагностировать ошибки DCOM в наших журналах событий, которые, по-видимому, не оказывают серьезного влияния на наши сети. Эта технология представляет собой протокол для предоставления объектов приложения с помощью удаленных вызовов процедур (RPC).

RPC являются ключевой частью Windows. RPC — это клиент-серверный протокол, который разработчики приложений могут использовать для вызова процедур на локальном или удаленном узле в сети. Детали подключения и сортировка данных выполняются за кулисами на уровне RPC, что дает разработчикам средства для прямого подключения клиентских приложений к удаленному компьютеру. Это позволяет разработчикам не беспокоиться о знании деталей того, как данные передаются между двумя машинами и как вызываются процедуры.

С обновлениями безопасности от 14 июня 2022 г. RPC_C_AUTHN_LEVEL_PKT_INTEGRITY на серверах DCOM теперь включен по умолчанию. Клиент, которому это необходимо, может отключить его с помощью раздела реестра RequireIntegrityActivationAuthenticationLevel.

Согласно бюллетеню, злоумышленник сначала воспользуется уязвимостью, предложив клиенту DCOM каким-либо образом подключиться к специально созданному серверу, как правило, отправив пользователю фишинговое электронное письмо, чтобы завладеть системой. Затем злоумышленник использует эту информацию для доступа к серверу DCOM, а затем скомпрометирует его. Патч исправляет и усиливает аутентификацию, используемую между клиентами и серверами DCOM.

Я проверил RDSH хосты и действительно там прилетело данное обновление. Microsoft пока полностью не закрутило данную политику безопасности и ее еще можно обойти, но самое правильное, это доделать приложение, чтобы оно при обращении к серверу и запросе данных выполняло все требования вендора. На текущий момент есть вот такой график внедрения:

  1. 8 июня 2021 г. — Изменения защиты отключены по умолчанию, но с возможностью включить их с помощью ключа реестра.
  2. 14 июня 2022 г. — Защитные изменения включены по умолчанию, но с возможностью отключить их с помощью ключа реестра.
  3. 14 марта 2023 г.Усиление изменений включено по умолчанию, отключить их невозможноК этому моменту вы должны решить все проблемы совместимости с усиливающими изменениями и приложениями в вашей среде.

Еще список обновлений несущих данное изменение: Windows Server 2022 — KB5005619, KB5005568. Windows 10, version 2004, Windows 10, version 20H2, Windows 10, version 21H1 — KB5005101. Windows Server 2019, Windows 10, version  1809 — KB5005102. Windows Server 2016, Windows 10, version 1607 — KB5005573. Windows Server 2012 R2 and Windows 8.1 — KB5006714. Данный список всегда меняется, так что смотрите в каталоге центра обновлений, что чем заменяется (https://www.catalog.update.microsoft.com/).

Сведения об обновлении

Так же помимо события ID 10036, есть еще два:

ID 10037: «Приложение %1 с PID %2 запрашивает активацию CLSID %3 на компьютере %4 с явно заданным уровнем аутентификации %5. Минимальный уровень аутентификации активации, требуемый DCOM, — 5 (RPC_C_AUTHN_LEVEL_PKT_INTEGRITY). Чтобы повысить уровень аутентификации активации, пожалуйста, обратитесь к поставщику приложения». («Application %1 with PID %2 is requesting to activate CLSID %3 on computer %4 with explicitly set authentication level at %5. The lowest activation authentication level required by DCOM is 5(RPC_C_AUTHN_LEVEL_PKT_INTEGRITY). To raise the activation authentication level, please contact the application vendor.»)

ID 10038: «Приложение %1 с PID %2 запрашивает активацию CLSID %3 на компьютере %4 с уровнем аутентификации активации по умолчанию %5. Минимальный уровень аутентификации активации, требуемый DCOM, — 5 (RPC_C_AUTHN_LEVEL_PKT_INTEGRITY). Чтобы повысить уровень аутентификации активации, пожалуйста, обратитесь к поставщику приложения». («Application %1 with PID %2 is requesting to activate CLSID %3 on computer %4 with default activation authentication level at %5. The lowest activation authentication level required by DCOM is 5(RPC_C_AUTHN_LEVEL_PKT_INTEGRITY). To raise the activation authentication level, please contact the application vendor.»)

  • %1 — путь к приложению
  • %2 — PID приложения
  • %3 — CLSID класса COM, который приложение запрашивает для активации
  • %4 — имя компьютера
  • %5 — значение уровня аутентификации

💡Как устранить ошибку ID 10036

Первое, что вы должны сделать, это установить все доступные обновления, как на стороне сервера, куда идет подключение, так и на стороне системы откуда идет подключение. Напоминаю, что последнего можно найти в тексте ошибки:

ID 10036: Политика уровня проверки подлинности на стороне сервера не разрешает пользователю ROOT\sem SID (S-1-5-21-551888299-3078463796-123456789-46162) с адреса 10.11.11.210 для активации DCOM-сервера. Повысьте уровень проверки подлинности активации, чтобы RPC_C_AUTHN_LEVEL_PKT_INTEGRITY в клиентском приложении.

Тут IP-адрес откуда идет подключение 10.11.11.210, там и нужно установить все возможные обновления безопасности.

Установка обновлений Windows 10

Как только я обновился, ошибка EOleException ушла и мой Terminal Services Manager успешно подключился к серверу.

Terminal Services Manager успешное подключение

Если по каким, то причинам ваше приложение не заработало, а вам нужно, то есть лазейка до 2023 года в виде ключа реестра, который вы должны добавить на сервере, куда вы пытаетесь производить подключение. Запустите реестр Windows и перейдите в раздел:

HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Ole\AppCompat

И создайте там ключ реестра с типом REG_DWORD (32-бита) с именем RequireIntegrityActivationAuthenticationLevel.

  • RequireIntegrityActivationAuthenticationLevel = 0x00000000 выключает политику
  • RequireIntegrityActivationAuthenticationLevel = 0x00000001 включает политику

не забываем после создания ключа в реестре Windows произвести перезагрузку сервера

RequireIntegrityActivationAuthenticationLevel

Если и данный метод вам не помог, то как крайняя мера может быть, это удаление обновления. Посмотрите список установленных обновлений командой:

wmic qfe list

После чего просто прочитайте инструкцию, как это сделать. Надеюсь, что вам оказалась полезна данная статья, и вы устранили ошибку EOleException. Если остались вопросы, то пишите их в комментариях. С вами был Иван Сёмин, автор и создатель IT портала Pyatilistnik.org.

Дополнительные ссылки

  • https://docs.microsoft.com/en-us/windows/win32/rpc/authentication-level-constants
  • https://support.microsoft.com/en-us/topic/kb5004442-manage-changes-for-windows-dcom-server-security-feature-bypass-cve-2021-26414-f1400b52-c141-43d2-941e-37ed901c769c
  • https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-26414

Uninstall the most recent Windows updates to resolve the issue

by Claire Moraa

Claire likes to think she’s got a knack for solving problems and improving the quality of life for those around her. Driven by the forces of rationality, curiosity,… read more


Updated on

  • When Windows hardening techniques are applied to Windows updates, they may interfere with the installation.
  • Although they are meant to add an extra layer of protection, you may have to disable them temporarily to complete installation of software.

XINSTALL BY CLICKING THE DOWNLOAD FILE

Get rid of malfunctioning drivers on your PC

SPONSORED

Drivers can often become corrupt as they can interfere with malfunctioning system files, thus arriving to be installed but not running correctly. To keep your drivers running smoothly, your Windows OS must run even smoother. Get it in perfect shape by following the steps below:

  1. Download Fortect and install it on your PC.
  2. Start the tool’s scanning process to look for corrupt files that are the source of your problem
  3. Right-click on Start Repair so the tool can start the fixing algorithm
  • Fortect has been downloaded by 0 readers this month, rated 4.4 on TrustPilot

The event ID 10036 is a Windows server issue whereby as soon as you install Microsoft updates, you’ll notice a spike in this error. It is accompanied by a message that says the server-side authentication level policy does not allow the user to activate DCOM server.

From face value, it seems that the updates are the cause behind this error, but as we dig deeper, you’ll find out that it’s more complicated. Let’s have a closer look at what this means.

Distributed COM (DCOM) is an application programming interface that allows software components to communicate over a network. 

You may have encountered a problem while trying to install Windows updates because the updates are corrupt or there are problems with your network configuration settings.

It is why we recommend that you won’t be quick to install updates as soon as they are released.

Now, for the DistributedCOM error 10036, you’ll likely spot it on your Windows server right after installing an update. It further details that the user cannot activate the DCOM server despite being a domain administrator. 

You’ll be prompted to raiseactivationauthenticationlevel to make any changes.

This is very strange behavior and could happen due to one of the following reasons:

  • Lack of permissions on the target computer – If you’re trying to start a service remotely and do not have sufficient permissions on the target computer, this will cause an error. 
  • Wrong permissions – If you don’t have permission to access certain resources such as files or registry keys, it can also cause errors like DistributedCOM error 10036.

How do I resolve event ID 10036?

Attempt the following basic checks before any advanced troubleshooting:

  • Log off and back on as an administrator.
  • Ensure you have installed all the required software updates on your server.
  • Try restarting the DistributedCOM service and see if this fixes your issue.

1. Uninstall the recent Windows update

  1. Hit the Windows key and select Settings.settings windows 11
  2. Click on Windows Update and select Update history on the right pane.update-history restart to repair drive errors
  3. Scroll down, and under Related settings, click on Uninstall updates.uninstall-updates-w11 computer-recognize-logitech-unifying-receiver
  4. This will take you to the most recent installed updates.
  5. Select the topmost update and click on Uninstall.uninstall-update-latest computer-recognize-logitech-unifying-receiver
  6. Restart your PC and check if the problem persists.

Since most of the reports indicate that a patch-related update is causing this issue, uninstalling it should fix the issue, but if it doesn’t, proceed to the next step.

Read more about this topic

  • 0x80040e14 SQL Server Error: How to Fix It
  • Fix: LSA is Unable to Obtain an RPC Connection

2. Disable Registry key

  1. Hit the Windows + R keys to open the Run command.
  2. Type regedit in the dialog box and hit Enter.
  3. Navigate to the following location. Note that this registry key does not exist by default, so you will have to create it. You can do so by right-clicking on Ole and adding a new string: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole\AppCompat
  4. Next, on the right side, click on an empty space and add a New DWORD (32-bit), then name it as RequireIntegrityActivationAuthenticationLevel.
  5. Double-click on it, and under the Value data, set it to 0 to disable it.

Since a significant number of users upvoted this as the best solution to resolve the event ID 10036 error, you may have to edit the registry. It appears that Microsoft applied some hardening changes to Windows updates after discovering a vulnerability.

Editing the registry will disable the hardening and possibly eliminate the error. To cushion you against any after-effects, we recommend you quickly backup your registry or create a restore point. 

If it doesn’t work out, no damage will be done, and you can revert to your earlier position. You should also keep checking for new updates, as such vulnerabilities that require hardening are usually catastrophic.

You may also run into another event ID 5145 error, so don’t hesitate to check out our guide on how to fix it.

And with that, we sign out here but let us know of any other worthy solution you may have encountered for this error in the comment section below.

Still experiencing troubles? Fix them with this tool:

SPONSORED

Some driver-related issues can be solved faster by using a tailored driver solution. If you’re still having problems with your drivers, simply install OutByte Driver Updater and get it up and running immediately. Thus, let it update all drivers and fix other PC issues in no time!

newsletter icon

Hi Spiceheads,

I got a weird issue that just started to occur on Tuesday, September 14th, on both my DCs. After installing Microsoft updates, I began to receive the following error;

The server-side authentication level policy does not allow the user domain\User SID (X-X-X-XX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXX-XXXXX) from address 10.0.100.254 to activate DCOM server. Please raise the activation authentication level at least to RPC_C_AUTHN_LEVEL_PKT_INTEGRITY in client application.

I’m using Cisco Meraki MX devices, and they are set up for Active Directory Authentication. The address you see above (10.0.100.254) is the MX IP, and the domain\User is the domain admin account I’m using in the Meraki dashboard for AD Authentication. This error is occurring for all 3 of my sites displaying the IP of all 3 MXs devices. 

When it say’s «Please raise the activation authentication level at least to RPC_C_AUTHN_LEVEL_PKT_INTEGRITY in client application.» I’m guessing I need to raise the authentication level on the DC? I don’t see how this could be done on Meraki MX. 

Has anyone seen this type of error before? I did a google search on this but haven’t come across anything that sounds like a good resolution. One website mentioned doing the following;

Add a registry key to test the impact of the upcoming enforcement of the hardening. 

  • First, add the registry key of HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole\AppCompat.
  • Add a value name of RequireIntegrityActivationAuthenticationLevel.Enter “dword”.
  • Enter the value data as noted: default = not defined or 0x00000000 means disabled. 0x00000001 = enabled.

Before trying this, I wanted to check on here first. 

Thanks

RRS feed

  • Remove From My Forums
  • Вопрос

  • На КД возникает вот такая ошибка. Может кто поделиться рецептами исправления. Гугл не помог. 

    The server-side authentication level policy does not allow the user domain\user SID (S-1-5-21-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxx) from address xxx.xxx.xxx.xxx to activate DCOM server. Please raise the activation authentication level at least to RPC_C_AUTHN_LEVEL_PKT_INTEGRITY
    in client application.

Все ответы

  • Приветствую! Удалось найти решение? 

  • Пока ответ не найден. 

    Все рекомендации из гугла перепробовали. 

  • мне кажется, вам
    сюда


    Не игнорируйте встроенную справку, читайте ее и большинство вопросов будет решено гораздо быстрее.

I connected them with IP address. The key is create an local user on AD server with WMI read only options. Let me atach here the steps that I followed:

1. Create and account in AD enrolled in Domain Users and Account Operator domain groups. In this case account is: usrmeraki (this an example name)

2. Setup AD CS as follow: https://dinika-15.medium.com/installing-active-directory-certificate-services-ad-cs-4db7d0950289

3. Create a certificate for Domain Server to permit Client Authentication and Server Authentication opening manage Computer Certificates: certlm (run comand in CLI as administrator)

4. Expand Personal and over Certificates, right clic and request a new certificate, follow the wizard and check

Domain Controller Authentication and then click on Enroll.

5. Validate new certiifcate is created in: certlm (run comand in CLI as administrator)

6.  Grant WMI acces under root\cimv2 usrmeraki account in AD Server as follow

WMI Control —> Security (tab) —> CIMV2 (tehn click on security button)

Add user usrmeraki and enable: Enable Account and remote Enable

7. Grand Permission over DCOM components AD Server as follow: dcomcnfg (run comand in CLI as administrator) 

Right Click on My Computer (Left Panel) selct propertties. Go to COM Security (tab)

In Access permision: add usrmeraki with Local Access and Remote Access

In Launch and Activation Permissions: add usrmeraki with Local Access and Remote Access

8. Go to Open Meraki web console and test credentials under active directory menu  and test conectity and read groups/users you want to include in MX device. Fill boxes as follow:

Short domain: yourdomain.com

Server IP: IP Address for AD Server

Domain admin: YOURDOMAIN\usrmeraki

Password: Your Password

9. With this conifugration you will see green check on status and integration is working as expected.

Hope this helps you :slightly_smiling_face:

Понравилась статья? Поделить с друзьями:
  • Ошибка 10035 sap
  • Ошибка 10034 слк
  • Ошибка 10030 хонкай импакт
  • Ошибка 1003 недостаточно прав для записи wot
  • Ошибка 1003 штрих м