Llamada a procedimiento remoto (RPC)

Artículo sobre la llamada a procedimiento remoto (RPC)

Nombre en inglés: Remote Procedure Call (RPC)
Nombre de Windows: RpcSs
Archivos asociados: rpcss.dll
Ruta del ejecutable: WINDOWS\system32\svchost -k rpcss


Uso del servicio: la Llamada a procedimiento remoto es un protocolo usado a la hora de que una máquina cliente ejecute un programa en un servidor. Esta interoperabilidad se produce mediante llamadas a un sistema remoto en el que se ejecutarán los argumentos correspondientes. El resultado regresa al cliente (que es quien llama)

¿Establece una conexión o escucha tras algún puerto?: Sí, tras el puerto 135 TCP.

Estado: Iniciado y en Automático tanto en XP Home como en XP Prof (así es como está por defecto tras la instalación de SP2).

¿Inicia en alguna cuenta?: Se ejecuta en la Cuenta de Servicio de Red (ver esto).

Depende de: este servicio no depende de ningún servicio.

Servicios que dependen de este servicio: los siguientes servicios dependen de este servicio:

  • Acceso a dispositivo de interfaz humana,
  • Adaptador de rendimiento de WMI
  • Administrador de cuentas de seguridad
  • Administrador de discos lógicos
  • Administrador de sesión de Ayuda de escritorio remoto
  • Adquisición de imágenes de Windows (WIA)
  • Almacenamiento protegido, Aplicación del sistema COM+
  • Audio de Windows, Ayuda y soporte técnico
  • Centro de seguridad
  • Cliente de seguimiento de vínculos distribuidos
  • Cola de impresión
  • Conexiones de red
  • Configuración inalámbrica rápida
  • Coordinador de transacciones distribuidas de Microsoft
  • Detección de hardware de shell
  • Enrutamiento y acceso remoto
  • Instantáneas de volumen
  • Instrumental de administración de Windows
  • Medios de almacenamiento extraíbles
  • Mensajero
  • MS Software Shadow Copy Provieder
  • Programador de tareas
  • QoS RSVP
  • Registro remoto (sólo XP Profesional)
  • rvicio de aprovisionamiento de red
  • Servicio de Index Server
  • Servicio de informe de errores
  • Servicio de restauración de sistema
  • Servicio de transferencia inteligente en segundo plano
  • Servicio del administrador de discos lógicos
  • Servicios de cifrado
  • Servicios de Terminal Server
  • Servicios IPSEC
  • Sistema de sucesos COM+
  • Telefonía, Telnel (sólo XP Profesional)
  • Windows Installer.

Ubicación en el registro de Windows:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs

En el valor ImagePath (que aparece al pinchar sobre la clave anterior) debe haber %SystemRoot%\system32\svchost -k rpcss. Debe ser de tipo REG_EXPAND_SZ.

En la subclave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs\Parameters el valor ServiceDll (que aparece al pinchar sobre la subclave anterior) debe tener %SystemRoot%\system32\rpcss.dll y ser de tipo REG_EXPAND_SZ.

Archivo reg para reparar el servicio: para XP Home, pinchar aquí ; y para Profesional, aquí.

Comentarios: es el servicio más importante de XP y totalmente necesario para su correcto funcionamiento. De hecho, es el único servicio que no puede detenerse ni mediante la interfaz gráfica de Windows ni mediante la línea de comados. La única forma de deshabilitarlo sería mediante la consola de recuperación, claro que entonces tendríamos un XP que prácticamente no cosigue hacer nada. Como puede verse en la lista anterior, muchos servicios dependen de éste para su correcto funcionamiento.

Hay veces que este servicio podría deshablitarse (aunque es raro). En ese caso, para iniciarlo, habría que entrar en la consola de recuperación y escribir

enable rpcss service_auto_start

Una vulnerabilidad en el RPC hacíay hace, aunque con la instalación de SP2 esto queda solventado, que se colase en el PC el gusano Blaster, tal y como puede leerse aquí: http://www.microsoft.com/technet/security/bulletin/MS03-026.mspx

De hecho, una de las modificaciones introducidas por SP2 fue reducir la superficie de ataque debida al RPC. Esto se consigue introduciendo una nueva clave en el registro de Windows llamada RestrictRemoteClients, tal y como se documenta aquí: http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2netwk.mspx#EMDAE

El RPC lleva a cabo una operación síncrona, por lo que el programa que realiza la llamada queda en suspenso hasta que la respuesta remota llega. Sin embargo, si los procesos que intervengan comparten el mismo espacio de direcciones pueden llevarse a cabo varias llamadas RPC de forma concurrente.

Es posible que por una configuración defectuosa de los servicios obtengamos un mensaje (sobre todo al ejecutar un comando por la línea de comandos) del tipo “RPC server unavailable”.

En este caso el error no suele deberse al propio RPC sino a otros servicios que también son necesarios para el buen funcionamiento del sistema: son Instrumental de administración de Windows y Aplicación del sistema COM+ (que deberían estar, por otra parte, iniciado y en automático, el primero; y manual el segundo).

El protocolo RPC está definido desde hace tiempo, estando definido por primera vez en el RFC 1050.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>