90 votos

¿Qué es rapportd y por qué quiere conexiones de red entrantes?

Acabo de actualizar a la última versión de MacOS 10.13.2 y después de reiniciar, mi máquina me pidió que permitiera conexiones de red entrantes para "rapportd".

Después de bloquearlo y revisar en la configuración del firewall, puedo ver que se trata de un ejecutable en /usr/libexec/rapportd que se creó en mi máquina el 1 de diciembre.

Ese es un día después de que instalé la actualización de seguridad 2017-001 (por segunda vez; la actualización automática no pareció darse cuenta de que la había actualizado manualmente), y no he instalado ni actualizado ningún otro software recientemente/alrededor de esa fecha. Google Chrome se actualiza cuando quiere, por lo que esto podría estar relacionado con una actualización de Chrome (no tengo ni idea de cuándo se actualizó por última vez).

Internet sugiere que esto está relacionado con algún programa de protección bancaria, pero eso no parece encajar aquí, y a partir de una inspección vaga del archivo binario puedo ver que hace referencia a /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport (un framework creado en mi máquina en julio y actualizado en octubre), lo que me hace pensar que probablemente se trate de un nuevo daemon de primer partido del sistema operativo.


¿Qué hace rapportd?

1 votos

Tiene una página de manual, pero no es muy útil: "Sinopsis: Daemon que proporciona soporte para el marco de conectividad Rapport."

1 votos

1. Indicios de otros lugares sugieren que tiene que ver con dispositivos Apple locales conectándose (y despertando a Mac del sueño). 2. También hay un RapportUIAgent en System/Library/CoreServices. 3. Hay 2 agentes de inicio. 4. rapportd existe en 10.13.0 pero no está activo. 5. Hay /System/Library/Sandbox/profiles/com.apple.rapportd.sb. 6. El texto en rapportd.sb y en el ejecutable de rapportd incluye airplay, wifi, bluetooth, emparejamiento y homekit.

0 votos

Creo que fue tu otro dispositivo de Apple que intentó conectarse a tu Macbook Pro.

50voto

seren Puntos 91

EDICIÓN: Parece que la página del manual ha sido actualizada y ahora dice:

Demonio que permite la transferencia de llamadas telefónicas y otras funciones de comunicación entre dispositivos Apple.


Acabo de tener la misma experiencia. La página del manual indica que es un:

Demonio que proporciona soporte para el marco de conectividad Rapport.

Al verificar la firma del código con codesign -dv --verbose=4 /usr/libexec/rapportd se muestra que está firmado por Apple y en una ubicación protegida por SIP (a menos que hayas desactivado SIP), esto parece ser software legítimo de Apple. La página del manual sugiere que está relacionado con la comunicación, aunque aún no he encontrado ninguna documentación real al respecto.

(Gracias a John Keates por la sugerencia de la firma del código.)

3 votos

Simplemente porque Apple lo autorizó, no lo hace "legítimo". Apple ha estado recopilando y compartiendo información sobre sus usuarios con los órganos de seguridad estatales desde octubre de 2012. No tengo un iPhone y no quiero una vulnerabilidad de seguridad abierta para compartir con otros dispositivos de Apple.

5 votos

"está vinculado a un PrivateFramework (que Apple no permite a otros)": A Apple no le importa esto, a menos que tengas planeado distribuirlo a través de la App Store. De hecho, una de las aplicaciones en las que trabajo está vinculada a un framework privado y Apple nos permitió firmarla sin problemas.

0 votos

Buen punto Saagarjha. He eliminado ese punto.

23voto

John Keates Puntos 711

Además de lo que ya se ha publicado, /usr/libexec/rapportd está firmado por Apple y enlazado contra un PrivateFramework (lo cual Apple no permite para otros y por lo tanto no firma para otros), y está en una ubicación protegida por SIP. A menos que desactives SIP, esto es simplemente parte del sistema operativo, colocada allí por Apple.

Puedes verificar esto en la línea de comandos:

codesign -vvvv -R="anchor apple" /usr/libexec/rapportd

Esto debería reportar algo así:

/usr/libexec/rapportd: válido en disco
/usr/libexec/rapportd: satisface su Requirement Designado
/usr/libexec/rapportd: requerimiento explícito cumplido

Para mostrar a qué bibliotecas está enlazado:

otool -L /usr/libexec/rapportd

Lo cual mostrará algo como:

/usr/libexec/rapportd:
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (versión de compatibilidad 150.0.0, versión actual 1450.14.0)
    /System/Library/PrivateFrameworks/CoreUtils.framework/Versions/A/CoreUtils (versión de compatibilidad 1.0.0, versión actual 1.0.0)
    /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport (versión de compatibilidad 0.0.0, versión actual 0.0.0)
    /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (versión de compatibilidad 300.0.0, versión actual 1450.14.0)
    /usr/lib/libobjc.A.dylib (versión de compatibilidad 1.0.0, versión actual 228.0.0)
    /usr/lib/libSystem.B.dylib (versión de compatibilidad 1.0.0, versión actual 1252.0.0)

3 votos

"lo cual Apple no permite a otros y, por lo tanto, no firma para otros": Pruébalo tú mismo; verás que funciona perfectamente: echo 'int main() {}' | clang -F/System/Library/Frameworks -framework MobileDevice -x c - -o test; codesign -s "Tu certificado" test

0 votos

PrivateFrameworks, y firmadas por Apple, no Frameworks y firmadas localmente por ti mismo.

4 votos

Lo siento, quería echo 'int main() {}' | clang -F/System/Library/PrivateFrameworks -framework MobileDevice -x c - -o test; codesign -s "Tu certificado" test. Un error tipográfico bastante desafortunado considerando de lo que estamos discutiendo. Además, firmé esto con mi certificado de desarrollador de Mac, no uno ad-hoc.

16voto

Darius Puntos 151

Creo que se utiliza para Compartir en Casa de iTunes y la aplicación Remote para controlar iTunes.

Descubrí esto porque Little Snitch lo estaba bloqueando y no podía entender por qué la función remota de iTunes no funcionaba porque cerré accidentalmente el diálogo :)

Una vez que lo permití, mi teléfono pudo ver iTunes en mi portátil y también descubrir el Compartir en Casa de iTunes.

1 votos

Nunca he sincronizado un dispositivo iOS en esta máquina, pero sí uso el intercambio de iTunes y tengo el rapportd ejecutándose con TCP *:65530 (LISTEN) abierto tanto en ipv4 como en ipv6. Pensé que el puerto 65530 era un número de puerto alto bastante descarado, solo seis por debajo del más alto posible, pero afortunadamente suena como un software legítimo esperemos.

0 votos

Si buscas en un segundo sistema, estará escuchando en un puerto diferente. Obtiene el puerto que le asigna el sistema operativo en tiempo de ejecución, y luego lo registra con Bonjour/mDNS.

10voto

Jordanss10 Puntos 129

Desde mi propia experiencia de dolor puedo decir que este servicio es necesario al menos para que funcione el reenvío de mensajes de texto.

Tenerlo bloqueado con Firewall, por ejemplo, pone una gran prohibición en negrita en el elemento de "Reenvío de mensajes de texto" en la configuración del iPhone. De hecho, ni siquiera se mostrará allí.

introduzca aquí la descripción de la imagen

0 votos

Interesante. He bloqueado rapportd en mi máquina y sin embargo, tanto iMessages como el reenvío de mensajes de texto siguen funcionando bien para mí. ¿Es posible que también tengas otro servicio bloqueado?

0 votos

¿Cómo bloqueaste? ¿Intentaste reiniciar después de hacer eso?

0 votos

Al elegir "negar" cuando se lo solicitó, como se menciona en mi pregunta original (y aún figura como bloqueado en la configuración del firewall). Y sí, he reiniciado muchas veces desde entonces.

9voto

Viktor Puntos 81

Escribe man rapportd en Terminal. Este es el resultado:

NOMBRE
     rapportd -- Demonio Rapport.

SINOPSIS
     Demonio que permite la transferencia de llamadas telefónicas y otras funciones de comunicación entre dispositivos Apple.

     Usa '/usr/libexec/rapportd -V' para obtener la versión.

UBICACIÓN
     /usr/libexec/rapportd

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X