La conexión de clientes OPC DA externos a un servidor OS WinCC de SIMATIC PCS 7 a menudo se aborta con el error DCOM 0x80070005 (Access is Denied - Acceso denegado) debido a las restricciones de seguridad endurecidas de Windows Distributed COM. Cuando un cliente OPC descubre el servidor a través de OPCEnum pero no logra activar el CLSID del servidor OPC de WinCC {75D00BBB-DDA5-11D1-B944-9E614D000000}, Windows rechaza la llamada remota entrante. Resolver el error 0x80070005 requiere agregar la cuenta de usuario del cliente a los grupos de seguridad Distributed COM Users y SIMATIC HMI, configurar los límites predeterminados de ejecución y acceso de DCOM, ejecutar el Siemens Security Controller y apuntar al nodo de servidor redundante correcto.
Índice de contenidos
- Mecanismos de seguridad de OPC DA y DCOM en SIMATIC WinCC
- Causas raíz del error DCOM 0x80070005 (Acceso denegado)
- Configuración paso a paso de DCOM y seguridad en el servidor WinCC
- Configuración de usuarios de Distributed COM y autenticación de Windows
- Convenciones de nomenclatura de instancias OPC en servidores OS redundantes
- Verificación
- Limitaciones y precauciones operativas
- Preguntas frecuentes para ingenieros
- Referencias técnicas
- Artículos relacionados
- Etiquetas relacionadas
Mecanismos de seguridad de OPC DA y DCOM en SIMATIC WinCC
SIMATIC WinCC actúa como servidor OPC Data Access (OPC DA 2.05a / 3.0) mediante el componente de comunicación interno SopcDaSrv.exe, registrado bajo el CLSID {75D00BBB-DDA5-11D1-B944-9E614D000000} (OPCServer.WinCC):
- Fase de descubrimiento (
OPCEnum): El cliente se comunica con el servicioOPCEnum.exedel servidor remoto a través del puerto TCP 135 para enumerar los servidores OPC instalados. Si el ping de red y el puerto 135 están abiertos, el descubrimiento se realiza con éxito. - Activación y llamada a procedimiento remoto (RPC): Cuando el cliente intenta instanciar
OPCServer.WinCC, el subsistema DCOM de Windows evalúa la identidad de la persona que llama frente a los descriptores de seguridad locales. - Manifestación del error: Si la cuenta de Windows del cliente carece de tokens explícitos de activación de ejecución o acceso, la capa DCOM bloquea la solicitud de creación y devuelve el
HRESULT 0x80070005 (E_ACCESSDENIED).
Causas raíz del error DCOM 0x80070005 (Acceso denegado)
Los principales factores que contribuyen a la denegación de acceso incluyen:
- Falta de pertenencia a grupos: La cuenta de usuario que ejecuta la aplicación cliente OPC no pertenece a los grupos de seguridad
Distributed COM UsersySIMATIC HMIen el servidor WinCC. - Límites estrictos de DCOM en la máquina: Windows Server 2016 y 2019 aplican restricciones estrictas de acceso y ejecución de la máquina DCOM (
dcomcnfg) que anulan los permisos locales específicos de la aplicación a menos que se otorguen explícitamente. - Credenciales de grupo de trabajo no coincidentes: Cuando se opera fuera de un dominio de Active Directory, deben existir nombres de usuario y contraseñas locales idénticos en ambas máquinas. Una discrepancia en el token autenticado desencadena una denegación inmediata.
- Confusión sobre el objetivo del servidor redundante: En pares de servidores OS WinCC redundantes, conectarse a
OPCServer.WinCCen el servidor en espera sin especificar el índice del servidor redundante o configurar la conmutación por error mutua puede provocar el rechazo de la conexión.
Configuración paso a paso de DCOM y seguridad en el servidor WinCC
Ejecute esta configuración progresiva en el servidor OS WinCC que aloja la interfaz OPC:
Paso 1: Agregar el usuario cliente a los grupos de seguridad obligatorios
- Abra la Administración de equipos de Windows (
compmgmt.msc). - Vaya a
Usuarios y grupos locales -> Grupos. - Busque el grupo Distributed COM Users:
* Agregue la cuenta de usuario de Windows (por ejemplo,DOMINIO\OpcServiceAccounto el usuario local correspondiente) que ejecuta el cliente OPC. - Busque el grupo SIMATIC HMI:
* Agregue la cuenta de usuario cliente para garantizar el acceso a la memoria compartida de Runtime de WinCC. - Haga que el usuario cierre sesión y vuelva a iniciarla para actualizar las membresías de los grupos de tokens.
Paso 2: Configurar los límites DCOM del sistema en DCOMCNFG
- Abra el cuadro de diálogo Ejecutar de Windows (
Win + R), escribadcomcnfgy presione Intro. - Vaya a
Servicios de componentes -> Equipos -> Mi PC. - Haga clic derecho en Mi PC y seleccione Propiedades.
- Seleccione la pestaña Seguridad de COM:
* En Permisos de acceso, haga clic en Editar límites...:- Asegúrese de que
ANONYMOUS LOGON,Distributed COM UsersySIMATIC HMIestén presentes. - Conceda Acceso local y Acceso remoto (Permitir).
- En Permisos de inicio y activación, haga clic en Editar límites...:
- Asegúrese de que
Distributed COM UsersySIMATIC HMIestén presentes. - Conceda Inicio local, Inicio remoto, Activación local y Activación remota (Permitir).
- Asegúrese de que
- Haga clic en Aceptar para aplicar.
Paso 3: Ejecutar Siemens Security Controller
- Abra el menú Inicio e inicie Siemens Security Controller.
- Haga clic en Repeat Settings (Repetir configuración) para alinear de nuevo los permisos de registro específicos de Siemens, los puertos de firewall y las políticas de puntos de conexión DCOM.
Configuración de usuarios de Distributed COM y autenticación de Windows
En entornos de grupo de trabajo (sin dominio) donde el cliente OPC se encuentra en una red separada:
- Sincronización de cuentas locales: Cree una cuenta de usuario local idéntica en el servidor WinCC que coincida exactamente con el nombre de usuario y la contraseña de la cuenta del cliente.
- Modelo de uso compartido de acceso a la red: En la Directiva de seguridad local de Windows (
secpol.msc), vaya aOpciones de seguridad -> Acceso a la red: modelo de uso compartido y seguridad para cuentas locales. Asegúrese de que esté configurado en Clásico: los usuarios locales se autentican como ellos mismos (no Invitado solamente).
Convenciones de nomenclatura de instancias OPC en servidores OS redundantes
En sistemas SIMATIC PCS 7 redundantes:
- El servidor primario normalmente aloja
OPCServer.WinCC. - El servidor asociado secundario puede registrar su instancia con un sufijo de índice:
OPCServer.WinCC.1. - Si un cliente de terceros (como AspenTech CIMIO, Kepware o Matrikon) no logra conectarse al nodo primario debido a un bloqueo activo de exclusividad del cliente, configurar el cliente para consultar
OPCServer.WinCC.1en el servidor en espera verifica si la contención de recursos en el lado del servidor es la causa raíz. - Para una redundancia automatizada, implemente WinCC Connectivity Pack o OpenPCS 7, que proporciona un mecanismo de cambio de cliente OPC DA entre servidores redundantes.
Verificación
Confirme que la comunicación OPC DA sea exitosa:
- Verificación local con OPC Scout:
* En el servidor WinCC, inicie OPC Scout V10 (o Siemens OPC Scout).
* Conéctese localmente aOPCServer.WinCCy explore el espacio de nombres de etiquetas. Confirme que las variables de proceso se lean con código de calidadGood. - Prueba de conexión de cliente remoto:
* En la PC cliente OPC remota, inicie la interfaz del cliente (o el OPC Scout remoto).
* Conéctese aOPCServer.WinCCen el nodo del servidor.
* Confirme que el error0x80070005ya no aparece y que las etiquetas se suscriben correctamente. - Auditoría del Visor de eventos:
* Inspeccione los registros deSistemadel Visor de eventos de Windows en el servidor; verifique que no se registren errores deDCOM Event ID 10016o10006.
Limitaciones y precauciones operativas
- Actualizaciones de endurecimiento de DCOM (KB5004442): Los sistemas operativos Windows modernos aplican un endurecimiento de la autenticación DCOM. Asegúrese de que todas las aplicaciones cliente OPC admitan
RPC_C_AUTHN_LEVEL_PKT_INTEGRITYpara evitar la caída de conexiones. - Obsolescencia de la tecnología OPC DA: OPC DA se basa en la tecnología heredada COM/DCOM de Microsoft. Para nuevas instalaciones o integraciones entre redes, migre a OPC UA (Open Platform Communications Unified Architecture) a través de OpenPCS 7 para eliminar por completo la complejidad de DCOM.
- Requisitos de puertos de firewall: OPC DA requiere el puerto TCP 135 más puertos TCP RPC dinámicos (normalmente 49152–65535). Restringir los puertos RPC dinámicos en los firewalls corporativos requiere una configuración de puertos DCOM fijos.
Preguntas frecuentes para ingenieros
- ¿Qué significa el código de error 0x80070005 en la comunicación OPC de WinCC?
Es el HRESULT estándar de Windows para 'Acceso denegado', lo que indica que la seguridad DCOM impidió que el cliente activara o accediera al servidor OPC de WinCC. - ¿Por qué el cliente OPC puede descubrir el servidor pero falla al conectarse?
El descubrimiento lo manejaOPCEnum.exe, que tiene requisitos de acceso más flexibles; activarOPCServer.WinCCrequiere permisos completos de inicio y activación DCOM. - ¿A qué grupos locales de Windows debe pertenecer el usuario cliente OPC en el servidor?
El usuario debe pertenecer aDistributed COM UsersySIMATIC HMI. - ¿Cuál es el identificador programático (ProgID) para el servidor OPC DA de WinCC?
El ProgID esOPCServer.WinCC(oOPCServer.WinCC.1en estaciones redundantes secundarias). - ¿WinCC OPC DA admite conexiones sin autenticación de usuario?
Windows DCOM requiere autenticación; se puede otorgar acceso anónimo (Anonymous Logon) a los límites de acceso endcomcnfg, pero se recomiendan encarecidamente cuentas de usuario autenticadas. - ¿Cómo ayuda Siemens Security Controller a resolver los problemas de DCOM?
Security Controller restablece y endurece automáticamente las reglas de DCOM, registro y firewall requeridas para la comunicación de software industrial de Siemens. - ¿Qué es OpenPCS 7 en relación con la comunicación OPC de WinCC?
OpenPCS 7 es un paquete de comunicación opcional de Siemens que proporciona acceso centralizado a OPC DA, OPC HDA y OPC A&E en toda una planta PCS 7. - ¿Puedo usar un cliente OPC de terceros como Kepware o Matrikon con WinCC?
Sí, cualquier cliente OPC DA 2.05a o 3.0 compatible con OPC Foundation puede comunicarse con WinCC, sujeto a la validación de seguridad DCOM. - ¿Qué sucede si el servidor WinCC primario falla en un par redundante?
Los clientes OPC DA estándar no admiten la conmutación por error automática a menos que estén configurados con un middleware de redundancia (como OpenPCS 7 o intermediarios de redundancia del lado del cliente). - ¿Por qué se prefiere OPC UA a OPC DA para conexiones remotas?
OPC UA opera a través de TCP/IP estándar (puerto único, por ejemplo, 4840), utiliza cifrado basado en certificados y elimina por completo las vulnerabilidades de Microsoft DCOM.
Referencias técnicas
- Portal Siemens Industry Online Support (SIOS): ¿Qué ajustes de DCOM se deben comprobar para WinCC con OPC DA? (ID de entrada: 109768431).
- Documentación técnica de Microsoft: Gestión de la seguridad DCOM y directrices de endurecimiento.
- OPC Foundation: Estándar de interfaz personalizada OPC Data Access (Versión 3.0).
Artículos relacionados
- Resolución de la pérdida de acceso a SQL Server de WinCC y bloqueos de bases de datos en estaciones OS de PCS 7
- Solución de problemas de bloqueos de descarga del servidor secundario OS de WinCC y errores de contexto de base de datos en PCS 7
Etiquetas relacionadas
PCS 7, WinCC, OPC DA, DCOM, Error 80070005, Access Denied, OPCEnum, Network Security