O que o apsd realmente é
apsd é o Apple Push Notification service daemon. É uma parte standard do macOS, enviada e assinada pela Apple, e é responsável por manter a ligação do seu Mac à rede de notificações push da Apple (APNs). Não é malware, não é um complemento opcional, e não é algo que tenha instalado.
A sua função é limitada, mas central: mantém uma ligação aberta aos servidores de push da Apple para que as mensagens enviadas para o seu Mac possam chegar no momento em que são enviadas, em vez de esperar que alguma app as verifique. Quando a infraestrutura da Apple tem algo para a sua máquina, envia-o por essa ligação, e o apsd passa-o à parte do sistema a que pertence.
Uma quantidade surpreendente do macOS depende dessa única ligação. iMessage e FaceTime usam-no para sinalização, por isso uma mensagem ou uma chamada recebida chega instantaneamente. O Mail usa-o para contas que suportam entrega push. O Find My depende dele. O Calendário, os Contactos e os Lembretes usam-no para saber que algo mudou noutro dispositivo. As notificações da App Store e de apps de terceiros passam por ele. Em Macs inscritos em gestão de dispositivos móveis, os comandos MDM são entregues da mesma forma, razão pela qual o apsd é um requisito obrigatório em frotas geridas.
Por isso, quando vê o apsd ativo na rede, está normalmente a ver a canalização por trás de uma notificação que estava prestes a receber, ou o sistema a confirmar discretamente que não há nada de novo para si.
Por que o apsd está sempre conectado
A razão pela qual o apsd aparece em todos os monitores de rede é arquitetónica, não acidental. As notificações push só funcionam se o dispositivo recetor estiver acessível, e a forma como a Apple torna um dispositivo acessível é manter uma ligação de longa duração aberta para os servidores da Apple e mantê-la assim. A ligação permanece ativa, sobretudo inativa, trocando pequenos dados de keep-alive para que ambos os lados saibam que continua válida.
Esse design é deliberadamente eficiente. A alternativa, cada app que quer notificá-lo a abrir a sua própria ligação e a fazer polling por atualizações, significaria dezenas de sockets, dezenas de wakeups e um impacto mensurável na duração da bateria e na largura de banda. Em vez disso, existe um único canal partilhado para todo o sistema, e as apps individuais nunca falam diretamente com os seus backends de notificações a partir do seu Mac. Entregam a mensagem ao serviço da Apple, e a Apple envia-a pela única ligação que o apsd está a manter.
A ligação também tem de ser restabelecida sempre que a rede por baixo dela muda. Acordar do repouso, mudar de Wi-Fi para Ethernet, entrar noutra rede, ligar ou desligar uma VPN: cada uma destas ações derruba o socket existente, e o apsd constrói imediatamente um novo. Se observar um registo de ligações enquanto muda de rede, o apsd será um dos primeiros processos a voltar a ligar-se sempre.
Os endpoints com que comunica são hosts de push e courier operados pela Apple, e o tráfego APNs é normalmente transportado sobre a porta TCP 5223, com fallbacks usados quando essa porta não está disponível numa rede restritiva. O volume é normalmente pequeno: muitas ligações, trocas curtas, pouco dados no total. Esse perfil de grande visibilidade e poucos bytes é o que torna o apsd evidente nas ferramentas de monitorização, sem que chegue a ser pesado.
O apsd é seguro, e como verificar isso você mesmo
O apsd é seguro. É um daemon first-party da Apple, faz parte do macOS há muitos anos, e o seu comportamento de rede é totalmente explicado pela função que desempenha. A preocupação razoável não é se o apsd verdadeiro é perigoso, mas se o processo que corre sob esse nome no seu Mac é mesmo o verdadeiro. Uma questão legítima, já que dar a malware um nome entediante que soe a sistema é um truque antigo.
Pode confirmar isso sem ferramentas especiais. No Monitor de Atividade, encontre o apsd no separador Rede ou CPU e abra o inspetor com um duplo clique. O daemon genuíno corre como root, vive dentro do volume do sistema só de leitura, em vez de estar na sua pasta pessoal, em Aplicações ou numa pasta de Transferências, e é iniciado pelo launchd, não por algo que tenha aberto. Uma cópia do apsd algures na sua pasta de utilizador seria a anomalia que merece ser investigada.
A verificação mais forte é a assinatura de código. Os binários de sistema da Apple são assinados pela Apple, e no macOS moderno o volume do sistema é selado criptograficamente, por isso um daemon do sistema adulterado ou substituído não é algo que um software normal possa arranjar discretamente. Se quiser confirmar isso de forma explícita, o macOS inclui ferramentas de linha de comandos que indicam a autoridade de assinatura de qualquer binário, e para o apsd essa autoridade deve surgir como Apple.
Também vale a pena notar o que o apsd não é. Não está a enviar as suas mensagens ou documentos para a Apple como conteúdo. O canal push transporta cargas úteis de notificações e sinalização para os serviços descritos acima, e, em serviços encriptados de ponta a ponta como o iMessage, é um caminho de entrega, não um local onde fique conteúdo legível. Ver o apsd ligar-se constantemente apenas indica que o sistema de notificações está a funcionar, mais nada.
Devo bloquear o apsd?
A resposta honesta é não, e vale ser específico sobre o porquê, pois as consequências são invulgarmente amplas para um único processo.
Bloquear o apsd não silencia seletivamente uma app ruidosa. Corta o único canal por onde chegam ao Mac todas as notificações push. As mensagens do iMessage deixam de aparecer até que algo force uma sincronização. As chamadas do FaceTime deixam de tocar. O Encontrar perde a capacidade de responder rapidamente. As contas de Mail que dependem de push passam a verificar periodicamente, ou deixam de atualizar de todo. Calendário, Contactos e Lembretes deixam de receber alterações feitas noutros dispositivos. As notificações de apps de terceiros simplesmente não chegam. Num Mac gerido, os comandos MDM da equipa de TI deixam de ser entregues, o que normalmente acaba num pedido de suporte em vez de numa solução.
Pior ainda, a falha é confusa, não evidente. Nada mostra um erro a dizer que o push está bloqueado. As coisas apenas deixam de acontecer a tempo, e semanas depois está a tentar descobrir porque é que as mensagens chegam ao iPhone mas não ao Mac.
Se o objetivo é ter menos notificações, as ferramentas certas são as que foram feitas para isso. Em Definições do Sistema, pode desativar notificações por app, e os modos de Foco permitem suprimi-las por contexto ou horário, ambos acabam com a interrupção sem cortar a entrega. Se o objetivo é menos tráfego em segundo plano, o apsd também não é o alvo certo: em bytes transferidos, é um dos processos menos ativos num Mac típico. Os processos que realmente movem dados são, normalmente, clientes de sincronização, agentes de cópia de segurança, atualizadores e apps com SDKs de análise ou publicidade, e esses são os que vale a pena observar.
Quando o apsd usa CPU ou rede altos, e a visão geral maior
De vez em quando, o apsd comporta-se mesmo de forma anómala, e o sintoma é quase sempre o mesmo: uso contínuo de CPU e uma série de tentativas de ligação muito para lá do padrão discreto de keep-alive. O que normalmente está a ver é um ciclo de reconexão: o daemon tenta estabelecer a ligação, a tentativa falha ou é interrompida, e ele volta a tentar, indefinidamente.
Vale a pena tratar das causas mais comuns por ordem. Uma rede instável ou restritiva é a mais frequente: portais cativos, redes empresariais que filtram as portas usadas pela APNs, ou uma VPN instável podem deixar o apsd incapaz de concluir uma ligação enquanto continua a tentar. A seguir vem uma credencial desatualizada: uma conta Mail ou iCloud cuja autenticação expirou muitas vezes aparece como atividade de push em vez de um erro claro, e terminar sessão e voltar a iniciá-la resolve. Problemas no Porta-chaves que afetam os certificados envolvidos na ligação push produzem o mesmo padrão. Se nada disso se aplicar, reiniciar resolve surpreendentemente muitos destes ciclos. Veja também se o ciclo segue uma rede específica, se o apsd funciona perfeitamente em casa e entra em loop no escritório, o problema é da rede, não do Mac.
O ponto mais amplo é o que o trouxe até aqui. O apsd é apenas um daemon entre muitos que o macOS executa sem pedir, e a maioria fala com a rede, tudo normal, tudo opaco por omissão. O macOS dá-lhe pouca ou nenhuma visibilidade sobre quais se ligam a onde, e é por isso que um processo comum com um nome pouco familiar soa alarmante.
Essa lacuna de visibilidade é o que o NetMute fecha. Mostra tráfego em tempo real, por app e por processo, para poder ver o que o apsd está a fazer ao lado de tudo o resto no Mac. O registo ao nível do domínio grava que domínios cada processo contactou, quando e quanta informação foi transferida, transformando uma suspeita vaga numa resposta concreta. Quando algo realmente não devia estar a comunicar, o firewall por app bloqueia-o com um clique, com regras temporárias de expiração automática para quando só quer testar se o bloqueio estraga alguma coisa. Os perfis de rede permitem que as regras sigam a rede em uso, e o Tracker Shield cobre mais de 1.100 domínios de rastreadores conhecidos. O objetivo não é bloquear mais, porque o apsd mostra que a maior parte do tráfego em segundo plano é legítima, mas distinguir o que é legítimo do que não é.