Hva apsd egentlig er
apsd er Apple Push Notification service daemon. Det er en standard del av macOS, levert og kode-signert av Apple, og det er ansvarlig for å opprettholde forbindelsen til Apples push-notifikasjonsnettverk (APNs). Det er ikke malware, ikke en valgfri tilleggskomponent, og ikke noe du har installert.
Jobben er smal, men sentral: den holder åpen en forbindelse til Apples push-servere slik at meldinger sendt til Mac-en din kan ankomme øyeblikkelig, i stedet for å vente på at en app skal sjekke etter dem. Når Apples infrastruktur har noe til maskinen din, sender den det ned den forbindelsen, og apsd overleverer det til den delen av systemet det tilhører.
En overraskende stor del av macOS avhenger av den ene røret. iMessage og FaceTime bruker den til signalering, slik at en melding eller en innkommende samtale kommer umiddelbart. Mail bruker den for kontoer som støtter push-levering. Find My er avhengig av den. Kalender, Kontakter og Påminnelser bruker den for å lære at noe har endret seg på en annen enhet. App Store og varsler fra tredjepartsapper går gjennom den. På Mac-er som er registrert i mobil enhetsadministrasjon, leveres MDM-kommandoer på samme måte, og det er derfor apsd er et krav i administrerte flåter.
Så når du ser apsd aktiv på nettverket, ser du vanligvis på rørledningen bak en varsling du var i ferd med å motta — eller bak systemet som stille bekrefter at det ikke har noe nytt til deg.
Hvorfor apsd alltid er tilkoblet
Grunnen til at apsd vises i alle nettverksmonitorer er arkitektonisk, ikke tilfeldig. Push-varsler fungerer bare hvis mottakerenheten er tilgjengelig, og måten Apple gjør en enhet tilgjengelig på er å ha den åpen en langvarig utgående forbindelse til Apples servere og holde den der. Tilkoblingen forblir oppe, for det meste inaktiv, og utveksler små keep-alive-trafikker slik at begge ender vet at den fortsatt er gyldig.
Dette designet er bevisst effektivt. Alternativet — hver app som vil varsle deg åpner sin egen forbindelse og polleder etter oppdateringer — ville betydd dusinvis av sockets, dusinvis av vekkinger, og en målbar belastning på batterilevetid og båndbredde. I stedet finnes det en delt kanal for hele systemet, og individuelle apper snakker aldri direkte med sine varslings-backender fra din Mac. De gir meldingen til Apples tjeneste, og Apple presser den ned gjennom den ene forbindelsen apsd holder.
Tilkoblingen må også gjenopprettes hver gang nettverket under den endres. Å våkne fra søvn, bytte fra Wi-Fi til Ethernet, bli med i et annet nettverk, koble til eller fra en VPN — hver av disse bryter ned den eksisterende socketen, og apsd bygger umiddelbart en ny. Hvis du overvåker en tilkoblingslogg mens du beveger deg mellom nettverk, vil apsd være en av de første prosessene som kobler til igjen hver gang.
Endepunktene den snakker med er Apple-drevne push- og courier-verter, og APNs-trafikk overføres vanligvis via TCP-port 5223, med fallbacks brukt når den porten er utilgjengelig på et restriktivt nettverk. Volumet er normalt lite: mange forbindelser, korte utvekslinger, ikke mye total data. Den profilen — høy synlighet, lave byte — gjør at apsd skiller seg ut i overvåkingsverktøy uten at den noen gang faktisk er tung.
Er apsd trygt, og hvordan verifisere det selv
apsd er trygt. Det er en førsteparts Apple-daemon, det har vært en del av macOS i mange år, og dens nettverksoppførsel er fullt ut forklart av jobben den gjør. Den rimelige bekymringen er ikke om den ekte apsd er farlig, men om prosessen som kjører under det navnet på din Mac er den ekte — et rettferdig spørsmål, siden det er en gammel triks å gi malware et kjedelig system-lydende navn.
Du kan avgjøre dette uten spesialverktøy. I Activity Monitor, finn apsd i Nettverk- eller CPU-fanen og åpne inspektøren ved å dobbeltklikke på den. Den ekte daemonden kjører som root, bor inne i det skrivebeskyttede systemvolumet i stedet for i hjemmemappen din, Programmer eller en nedlastingsmappe, og startes av launchd i stedet for av noe du åpnet. En kopi av apsd som ligger et sted i brukermappen din ville vært en avvik som er verdt å følge opp.
Den strengere sjekken er kodesignaturen. Apples systembinarier er signert av Apple, og på moderne macOS er systemvolumet kryptografisk forseglet, så en manipulert eller erstattet systemdaemon ikke er noe en vanlig programvare kan ordne stille. Hvis du vil bekrefte det eksplisitt, leverer macOS kommandolinjeverktøy som rapporterer signeringsmyndigheten for enhver binærfil, og for apsd bør denne myndigheten komme tilbake som Apple.
Det er også verdt å merke seg hva apsd ikke er. Den sender ikke meldingene eller dokumentene dine til Apple som innhold. Push-kanalen bærer varslingspayloads og signalering for tjenestene beskrevet ovenfor, og for ende-til-ende-krypterte tjenester som iMessage er det en leveringsvei, ikke et sted hvor lesbart innhold ligger. Å se apsd koble til konstant forteller deg at varslingssystemet fungerer, ikke mer.
Bør du blokkere apsd?
Det ærlige svaret er nei, og det er verdt å være spesifikk om hvorfor, fordi konsekvensene er uvanlig brede for en enkelt prosess.
Å blokkere apsd gjør ikke at én støyende app blir stille. Det kutter den ene kanalen alle push-varsler på Mac-en kommer gjennom. iMessage stopper å vises inntil noe annet tvinger en synkronisering. FaceTime-anrop stopper å ringe. Find My mister evnen til å svare raskt. E-postkontoer som er avhengige av push, faller tilbake til periodisk sjekking eller stopper oppdatering helt. Kalender, Kontakter og Påminnelser stopper å høre om endringer gjort på dine andre enheter. Tredjeparts app-varsler kommer rett og slett ikke frem. På en administrert Mac, stopper MDM-kommandoer fra IT å bli levert, noe som vanligvis ender opp som en supportticket i stedet for en løsning.
Verre er det at feilmeldingsmodusen er forvirrende heller enn åpenbar. Ingenting viser en feil som sier push er blokkert. Ting stopper bare stille å være tidsriktige, og uker senere er du i gang med å feilsøke hvorfor meldinger ankommer på din iPhone, men ikke på din Mac.
Hvis det underliggende målet er færre varsler, er de riktige verktøyene de som er laget for det. Systeminnstillinger lar deg slå av varsler per app, og Fokus-moduser lar deg undertrykke dem etter kontekst eller tidsplan — begge stopper avbrytelsen mens leveringen forblir intakt. Hvis målet er mindre bakgrunnstrafikk, er apsd feil mål uansett: i bytes beveget er den en av de letteste snakkere på en typisk Mac. De prosessene som faktisk flytter data, er vanligvis synkronklienter, backup-agenter, oppdaterere, og apper med analyse- eller reklame-SDK-er, og det er de verdt å se nærmere på.
Når apsd bruker mye CPU eller nettverk, og det store bildet
Av og til oppfører apsd seg virkelig rart, og symptomet er nesten alltid det samme: vedvarende CPU-bruk og en strøm av tilkoblingsforsøk langt utover det stille keep-alive-mønsteret. Det du vanligvis ser, er en gjenopprettingsløkke — daemonen prøver å etablere sin tilkobling, forsøket mislykkes eller blir avbrutt, og den prøver igjen, uendelig.
De vanlige årsakene er verdt å gå gjennom i rekkefølge. Et ustabilt eller restriktivt nettverk er det vanligste: captive portals, bedriftsnettverk som filtrerer portene APNs bruker, eller en ustabil VPN kan alle forhindre apsd i å fullføre en tilkobling mens den fortsetter å prøve. Et foreldet legitimasjon er neste — en Mail- eller iCloud-konto hvis autentisering har utløpt, vises ofte som push-rot heller enn en klar feil, og å logge ut og inn igjen løser det. Problemer med Keychain som påvirker sertifikatene involvert i push-tilkoblingen, gir samme mønster. Hvis ingen av dette gjelder, kan en omstart rydde opp i et overraskende antall av disse løkkene. Sjekk også om løkken følger et spesifikt nettverk; apsd som oppfører seg perfekt hjemme og går i løkke på kontoret, peker mot nettverket, ikke Mac-en din.
Det bredere poenget er det som brakte deg hit. apsd er én daemon blant mange som macOS kjører uten å spørre, og de fleste snakker med nettverket — alt er normalt, alt er ugjennomsiktig som standard. macOS gir deg nesten ingen innsikt i hvilke som kobler til hvor, og det er derfor en vanlig prosess med et ukjent navn kan virke alarmerende.
Det synlighetsgapet er det NetMute lukker. Det viser sanntids trafikk per app og prosess, slik at du kan se hva apsd gjør, i tillegg til alt annet på Mac-en din. Domene-nivå logging registrerer hvilke domener hver prosess kontaktet, når, og hvor mye data som ble overført, og gjør en vag mistanke til et konkret svar. Når noe virkelig ikke skal snakke, blokkerer per-app-brannmuren det med ett klikk, med selvutløpende midlertidige regler for når du bare vil teste om blokkering ødelegger noe. Nettverksprofiler lar regler følge nettverket du er på, og Tracker Shield dekker mer enn 1 100 kjente tracker-domener. Målet er ikke å blokkere mer — som apsd viser, er mesteparten av bakgrunnstrafikken legitim — men å skille mellom det.