NetMute

Wat is apsd op Mac? De Apple Push Notification Daemon uitgelegd

Bijna elke Mac-gebruiker die goed kijkt naar wat hun machine op het netwerk doet, komt uiteindelijk apsd tegen. Het staat in Activity Monitor met een klein maar constant dataverkeer, het verschijnt telkens weer in firewall-logs wanneer de Wi-Fi opnieuw verbinding maakt, en de naam geeft niets prijs. Die combinatie — constant, onverklaarbaar, systeemniveau — is precies de vorm van iets dat verdacht lijkt zonder dat het dat is. Hier is wat apsd is, waarom het zich zo gedraagt, hoe je kunt controleren of de kopie op je Mac van Apple is, en wat er eigenlijk gebeurt als je het blokkeert.

7 min lezenBijgewerkt

Wat apsd eigenlijk is

apsd is de Apple Push Notification service daemon. Het is een standaard onderdeel van macOS, geleverd en ondertekend door Apple, en het is verantwoordelijk voor het onderhouden van de verbinding van je Mac met het push-notificatienetwerk van Apple (APNs). Het is geen malware, geen optionele toevoeging, en het is niet iets dat je hebt geïnstalleerd.

Zijn taak is beperkt maar essentieel: het houdt een verbinding open met de push-servers van Apple zodat berichten die naar je Mac worden gestuurd, meteen kunnen aankomen, in plaats van te wachten tot een app ze controleert. Wanneer de infrastructuur van Apple iets voor je machine heeft, duwt het dat via die verbinding naar beneden, en apsd geeft het door aan het juiste onderdeel van het systeem.

Een verrassend groot deel van macOS hangt af van die ene pijp. iMessage en FaceTime gebruiken het voor signaalverkeer, zodat een bericht of inkomend gesprek direct aankomt. Mail gebruikt het voor accounts die push-berichten ondersteunen. Find My vertrouwt erop. Agenda, Contacten en Herinneringen gebruiken het om te weten dat er iets is veranderd op een ander apparaat. App Store en meldingen van derden gaan erdoorheen. Op Macs die in mobiel apparaatbeheer zijn ingeschreven, worden MDM-commando’s op dezelfde manier afgeleverd, daarom is apsd een harde vereiste in beheerde fleets.

Dus wanneer je apsd actief ziet op het netwerk, kijk je meestal naar de verbinding achter een melding die je op het punt stond te ontvangen — of achter de stille bevestiging dat er niets nieuws voor je is.

Waarom apsd altijd verbonden is

De reden waarom apsd in elke netwerkmonitor verschijnt, is architecturaal en niet per ongeluk. Pushmeldingen werken alleen als het ontvangende apparaat bereikbaar is, en de manier waarop Apple een apparaat bereikbaar maakt, is door het openen van één langdurige verbinding naar de servers van Apple en die daar te behouden. De verbinding blijft actief, meestal inactief, en wisselt kleine keep-alive-pakketten uit zodat beide kanten weten dat deze nog goed is.

Dat ontwerp is bewust efficiënt. Het alternatief — elke app die je wil informeren opent zijn eigen verbinding en pollt op updates — zou betekenen dat er tientallen sockets en tientallen wake-ups nodig zijn, en dat er een merkbare impact op batterijduur en bandbreedte zou zijn. In plaats daarvan is er één gedeeld kanaal voor het hele systeem, en apps communiceren nooit rechtstreeks met hun notificatie-backends vanaf je Mac. Ze geven het bericht door aan de service van Apple, en Apple duwt het via de ene verbinding die apsd vasthoudt.

De verbinding moet ook opnieuw worden opgebouwd telkens wanneer de onderliggende netwerkverbinding verandert. Wakker worden uit slaapstand, overschakelen van Wi‑Fi naar Ethernet, aansluiten op een ander netwerk, een VPN verbinden of verbreken — elk van die handelingen verbreekt de bestaande socket, en apsd bouwt meteen een nieuwe op. Als je een verbindingslog bekijkt terwijl je tussen netwerken beweegt, zal apsd een van de eerste processen zijn die telkens opnieuw verbinden.

De endpoints waarmee het praat, zijn door Apple beheerde push- en courier-servers, en APNs-verkeer wordt meestal over TCP-poort 5223 vervoerd, met fallback-opties wanneer die poort niet beschikbaar is op een restrictief netwerk. Het volume is normaal klein: veel verbindingen, korte uitwisselingen, niet veel totale data. Dat profiel — hoge zichtbaarheid, weinig bytes — maakt apsd opvallend in monitoringtools zonder dat het ooit echt zwaar is.

Is apsd veilig, en hoe kun je dat zelf controleren

apsd is veilig. Het is een first-party Apple-daemon, het maakt al jaren deel uit van macOS, en het netwerkgedrag wordt volledig verklaard door de taak die het uitvoert. De redelijke zorg is niet of de echte apsd gevaarlijk is, maar of het proces dat onder die naam op je Mac draait, de echte is — een terechte vraag, aangezien malware een saai systeem-achtige naam geven een oude truc is.

Je kunt dat zonder speciale tools vaststellen. In Activity Monitor, vind apsd in het Network- of CPU-tabblad en open de inspector door erop te dubbelklikken. De echte daemon draait als root, bevindt zich in de read-only systeemvolume in plaats van in je thuismap, Applications, of een Downloads-map, en wordt gestart door launchd in plaats van door iets dat je hebt geopend. Een kopie van apsd die ergens in je gebruikersmap zit, zou de anomalie zijn die je moet achtervolgen.

De sterkere controle is de codehandtekening. De systeem-binaries van Apple worden ondertekend door Apple, en op moderne macOS is het systeemvolume cryptografisch verzegeld, dus een gemanipuleerd of vervangen systeemdaemon is niet iets dat een gewoon stuk software stilletjes kan regelen. Wil je dat expliciet bevestigen, dan levert macOS command-line tooling die de ondertekeningsautoriteit van elke binary rapporteert, en voor apsd zou die autoriteit als Apple moeten terugkomen.

Het is ook de moeite waard om te weten wat apsd niet is. Het verzendt geen berichten of documenten naar Apple als inhoud. Het push-kanaal draagt notificatiepayloads en signalering voor de hierboven beschreven diensten, en voor end-to-end versleutelde diensten zoals iMessage is het een afleverpad, geen plek waar leesbare inhoud ligt. Als je apsd constant ziet verbinden, betekent dat dat het notificatiesysteem werkt, niets meer.

Moet je apsd blokkeren?

Het eerlijke antwoord is nee, en het is de moeite waard om specifiek te zijn over waarom, omdat de gevolgen ongewoon breed zijn voor een enkel proces.

Het blokkeren van apsd onderdrukt niet selectief één luidruchtige app. Het verbreekt het kanaal waarlangs elke pushmelding op de Mac binnenkomt. iMessages stoppen met verschijnen totdat iets anders een synchronisatie afdwingt. FaceTime-gesprekken stoppen met rinkelen. Find My verliest zijn vermogen om snel te reageren. Mail-accounts die op push vertrouwen, schakelen over op periodiek controleren of stoppen helemaal met bijwerken. Agenda, Contacten en Herinneringen horen niet meer over wijzigingen die op je andere apparaten zijn aangebracht. Meldingen van apps van derden komen simpelweg niet aan. Op een beheerde Mac worden MDM-commando's van IT niet meer afgeleverd, wat meestal leidt tot een supportticket in plaats van een oplossing.

Erger nog, de foutmodus is verwarrend in plaats van duidelijk. Niets geeft een foutmelding dat push is geblokkeerd. Dingen stoppen gewoon stilletjes met op tijd te zijn, en weken later ben je aan het debuggen waarom berichten op je iPhone aankomen maar niet op je Mac.

Als het onderliggende doel minder meldingen is, zijn de juiste tools degene die daarvoor zijn gebouwd. Systeemvoorkeuren laten je meldingen per app uitschakelen, en Focus-modus laat je ze onderdrukken op basis van context of planning — beide stoppen de onderbreking terwijl de levering intact blijft. Als het doel minder achtergrondverkeer is, is apsd sowieso het verkeerde doelwit: in verplaatste bytes is het een van de lichtste sprekers op een typische Mac. De processen die daadwerkelijk data verplaatsen, zijn meestal synchronisatiecliënten, back-upagents, updaters en apps met analytics- of advertentie-SDK's, en dat zijn de processen die het waard zijn om naar te kijken.

Wanneer apsd hoog CPU- of netwerkgebruik vertoont, en het grotere geheel

Af en toe gedraagt apsd zich echt verkeerd, en het symptoom is bijna altijd hetzelfde: langdurig CPU-gebruik en een stroom verbindingpogingen die ver gaan boven het rustige keep-alive patroon. Wat je meestal ziet, is een reconnection-loop — de daemon probeert zijn verbinding te herstellen, de poging mislukt of wordt verbroken, en hij probeert het opnieuw, eindeloos.

De veelvoorkomende oorzaken zijn het waard om op volgorde door te nemen. Een onstabiel of beperkend netwerk is het meest voorkomend: captive portals, bedrijfsnetwerken die de poorten filteren die APNs gebruikt, of een onstabiele VPN kunnen allemaal apsd verhinderen een verbinding te voltooien terwijl hij blijft proberen. Een verouderde credential is de volgende — een Mail- of iCloud-account waarvan de authenticatie is verlopen, verschijnt vaak als push-activiteit in plaats van een duidelijke fout, en uitloggen en opnieuw inloggen lost dat op. Problemen met Keychain die de certificaten beïnvloeden die betrokken zijn bij de push-verbinding, veroorzaken hetzelfde patroon. Als niets daarvan van toepassing is, helpt een herstart om een verrassend aantal van deze lussen te doorbreken. Controleer ook of de lus een specifiek netwerk volgt; apsd dat perfect werkt thuis en bij de lus op kantoor wijst op het netwerk, niet op je Mac.

Het bredere punt is datgene dat je hier bracht. apsd is één daemon van velen die macOS zonder dat je het vraagt, draait, en de meeste praten met het netwerk — allemaal normaal, allemaal standaard ondoorzichtig. macOS geeft je bijna geen zicht op welke daemon met welke server verbindt, daarom lijkt een gewoon proces met een onbekende naam alarmerend.

Die zichtbaarheidsgat wordt door NetMute gedicht. Het toont realtime verkeer per-app en per-proces, zodat je kunt zien wat apsd doet naast alles op je Mac. Domeinniveau-logging registreert welke domeinen elk proces contacteerde, wanneer, en hoeveel data er is verplaatst, waardoor een vage verdenking een specifiek antwoord wordt. Als iets echt niet mag praten, blokkeert de per-app firewall dat met één klik, met zelfverlopende tijdelijke regels voor wanneer je alleen wilt testen of blokkeren iets breekt. Netwerkprofielen laten regels volgen op het netwerk waarmee je verbonden bent, en Tracker Shield dekt meer dan 1.100 bekende tracker-domeinen. Het doel is niet om meer te blokkeren — zoals apsd laat zien, is het meeste achtergrondverkeer legitiem — maar om het verschil te kunnen zien.

Veelgestelde vragen over apsd

Zie precies waar je Mac mee verbindt

NetMute toont alle processen op je Mac in realtime, logt de domeinen die elk contacteert, en laat je alles blokkeren dat niet zou moeten praten. Gratis in de Mac App Store, met een eenmalige in-app aankoop voor Premium. Geen abonnement.

Download NetMute