最新のMacOS 10.13.2にアップデートしたところ、再起動後に「rapportd"のネットワーク接続を許可してください」と言われました。
ブロックしてファイアウォールの設定を確認すると、これは12月1日に私のマシンで作成された /usr/libexec/rapportd
にある実行ファイルであることがわかります。
セキュリティアップデート2017-001をインストールした翌日で(2回目、自動更新は手動更新したことに気づかなかったようです)、最近・その前後は他のソフトをインストール・更新していません。Google Chromeは気が向いたときに更新しているので、Chromeの更新に関連している可能性があります(最後に更新したのはいつなのか不明)。
インターネットでは、これはある銀行保護プログラムに関連していると示唆されていますが、それはここには当てはまらないようです。バイナリをテキスト編集で漠然と調べたところ、それが /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport
(私のマシンで7月に作られ10月にアップデートされたフレームワーク)を参照しており、これは新しいファーストパーティOSデーモンであろうと思わされます。
rapportdは何をしているのですか?
EDIT: マニュアルページが更新されたようで、現在はこうなっています。
Apple社製デバイス間でPhone Call Handoffなどの通信機能を実現するデーモン`。
私もちょうど同じ経験をしました。manページにはこう書かれています。
Rapport 接続フレームワークのサポートを提供するデーモンです。
codesign -dv --verbose=4 /usr/libexec/rapportd` でコードの署名を確認すると、Appleによって署名されていることがわかります。また、PrivateFramework(Appleは他の人には許可しない)に対してリンクされていて、SIP保護された場所にあるので(SIPをオフにしなければ)これは正当なAppleソフトウェアであるように見えます。manページでは通信に関係しているように見えますが、私はまだこれに関するドキュメントを見つけられませんでした。
(コードシグネチャの情報をくれたJohn Keatesに感謝します)。
すでに投稿されたことに加えて、/usr/libexec/rapportd は Apple によって署名されたコードで、PrivateFramework (Apple は他の人には許可せず、したがって他の人には署名しない) に対してリンクされ、SIP で保護された場所にあります。SIPをオフにしない限り、これは単にOSの一部であり、Appleによってそこに置かれたものです。
コマンドラインで確認することができます。
codesign -vvvv -R="anchor apple" /usr/libexec/rapportd
というような報告があるはずです。
/usr/libexec/rapportd: valid on disk
/usr/libexec/rapportd: satisfies its Designated Requirement
/usr/libexec/rapportd: explicit requirement satisfied
どのようなライブラリがリンクされているかを表示する。
otool -L /usr/libexec/rapportd
というようなことが表示されます。
/usr/libexec/rapportd:
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1450.14.0)
/System/Library/PrivateFrameworks/CoreUtils.framework/Versions/A/CoreUtils (compatibility version 1.0.0, current version 1.0.0)
/System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport (compatibility version 0.0.0, current version 0.0.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1450.14.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)
ターミナルに「man rapportd」と入力します。 これは出力です。
NAME
rapportd -- Rapport Daemon.
SYNOPSIS
Daemon that enables Phone Call Handoff and other communication features between Apple devices.
Use '/usr/libexec/rapportd -V' to get the version.
LOCATION
/usr/libexec/rapportd
(編集:以前のUIDとPIDの混同を訂正しました。皆さん、申し訳ありません!!)
このプロセスが開いているファイルをチェックしましたが、これもあまり役に立ちません。しかし、少なくとも、このプロセスがどのポート(49161)をリッスンしようとしているかが分かったので、このポートが何のために予約されているのか(ハイポートなので、実際には予約されていないのは分かっています)を検索することができます。
[username]mbp:~ root# ps -ef |grep -i [r]apport
501 306 1 0 10:52AM ?? 0:00.11 /usr/libexec/rapportd
[username]mbp:~ root# lsof -p 306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rapportd 306 [username] cwd DIR 1,4 992 2 /
rapportd 306 [username] txt REG 1,4 44768 8591706461 /usr/libexec/rapportd
rapportd 306 [username] txt REG 1,4 837248 8591705719 /usr/lib/dyld
rapportd 306 [username] txt REG 1,4 1155805184 8591716537 /private/var/db/dyld/dyld_shared_cache_x86_64h
rapportd 306 [username] 0r CHR 3,2 0t0 308 /dev/null
rapportd 306 [username] 1u CHR 3,2 0t0 308 /dev/null
rapportd 306 [username] 2u CHR 3,2 0t0 308 /dev/null
rapportd 306 [username] 3u IPv4 0x571b821607c38e93 0t0 TCP *:49161 (LISTEN)
rapportd 306 [username] 4u IPv6 0x571b82160763854b 0t0 TCP *:49161 (LISTEN)
rapportd 306 [username] 5u unix 0x571b821607941573 0t0 ->0x571b821607941c7b
rapportd 306 [username] 6u unix 0x571b82160794069b 0t0 ->0x571b82160794050b
銀行との通信を保護するためのソフトウェアのインストールに最近同意しましたか? https://en.wikipedia.org/wiki/Trusteer#Trusteer_Rapport。