Il tuo Mac sta parlando proprio adesso. Non in senso metaforico: in questo momento, alcune decine di processi tengono aperti socket verso server di cui non hai mai sentito parlare, e la maggior parte di tutto questo è normale. Controlli di aggiornamento, sincronizzazione, notifiche push, telemetria, un font che viene scaricato. Lo scopo del monitoraggio di rete non è farsi prendere dal panico per il volume, ma essere in grado di rispondere a una sola domanda su qualsiasi singola riga: quale app, verso chi, e perché. macOS ti offre tre strumenti gratuiti che coprono una parte del percorso. Questo articolo spiega cosa mostra ciascuno, dove si ferma, e cosa aggiunge in più un firewall per applicazione.
Monitoraggio Attività: totali, non destinazioni
Apri Monitoraggio Attività, fai clic sulla scheda Rete e ottieni la panoramica onesta per cui Apple lo ha progettato. La guida di Apple descrive il pannello inferiore: pacchetti in entrata e in uscita, dati ricevuti e inviati in megabyte, e un grafico che puoi alternare tra pacchetti e volume di dati. L’elenco dei processi sopra ti dice quanto ogni processo ha inviato e ricevuto. Ciò che non ti dice è dove. Non c’è una colonna per l’host remoto, nessuna porta, nessun paese. Monitoraggio Attività risponde a «qualcosa sta usando molta banda?» e si ferma lì. È lo strumento giusto per notare che un processo ausiliario ha caricato due gigabyte durante la notte, e quello sbagliato per scoprire verso chi.
lsof: un’istantanea di ogni socket aperto
Lo strumento a riga di comando lsof elenca i file aperti, e su Unix un socket di rete è un file. Con l’opzione -i, che la pagina man di macOS descrive come la selezione dei file il cui indirizzo internet corrisponde, ottieni ogni connessione aperta con il nome del processo proprietario, il suo ID di processo, il protocollo, e l’indirizzo e la porta locali e remoti. Aggiungi -n e -P per mantenere indirizzi e porte in forma numerica invece di aspettare il DNS inverso. Il risultato è il quadro gratuito più completo che puoi ottenere del momento presente, e l’accento è su momento: lsof è un’istantanea. Una connessione che si è aperta, ha inviato un kilobyte e si è chiusa nel mezzo secondo prima che premessi Invio semplicemente non c’è. Inoltre identifica il processo per nome e PID, non per chi lo ha firmato, quindi un binario chiamato «Adobe Update Helper» in una cartella temporanea appare esattamente come quello autentico.
nettop: la stessa vista, aggiornata in tempo reale
nettop è la cosa più vicina a un monitor di connessioni in tempo reale che macOS includa. La sua pagina man lo descrive come uno strumento che mostra un elenco di socket o rotte con statistiche di rete aggiornate periodicamente. In pratica vedi ogni processo, le sue connessioni aperte, i byte in entrata e in uscita per connessione, l’interfaccia in uso e lo stato della connessione, con aggiornamento ogni secondo. Risolve il problema dell’istantanea di lsof e resta la migliore risposta integrata alla domanda «cosa sta facendo quell’app in questo momento». I suoi limiti sono gli stessi di lsof sotto ogni altro aspetto: nessuna identità oltre al nome del processo, nessuna nozione di paese o organizzazione dietro un indirizzo, nessuna memoria di quanto accaduto un’ora fa, e nessun modo di dire no. Con nettop puoi osservare una connessione; non puoi fermarla.
Il firewall integrato qui non aiuta
Molti presumono che attivare il firewall in Impostazioni di Sistema copra tutto questo. Non è così. La guida di Apple è attenta nelle parole: il firewall di macOS protegge il Mac da contatti indesiderati avviati da altri computer. È un filtro in entrata. Non ha nulla da dire su ciò che le tue applicazioni inviano verso l’esterno, che è la direzione verso cui punta ogni domanda di questo articolo. Per il controllo in uscita, per applicazione, Apple fornisce il framework Network Extension, i cui content filter provider consentono a un’app di terze parti di vedere e filtrare i flussi di rete con l’identità dell’applicazione che li ha generati. È questa la base su cui si costruiscono i moderni firewall per applicazione su macOS, ed è ciò che trasforma un elenco di socket in un elenco di decisioni.
Cosa aggiunge un firewall per applicazione
Quattro cose, in concreto. Identità: un flusso è attribuito a un’applicazione firmata, quindi una regola per Slack si applica a Slack e non a qualsiasi cosa che ne condivida il nome; le regole per app di FireAI seguono la firma del codice dell’app proprio per questo motivo. Visibilità: ogni connessione viene mostrata mentre avviene, comprese quelle che durano mezzo secondo. Contesto: l’indirizzo IP grezzo viene risolto nell’organizzazione e nel paese che ci stanno dietro, che FireAI mostra su una mappa del mondo in tempo reale con le connessioni bloccate in rosso. E controllo: una connessione può essere consentita o negata per host, dominio, IP o porta, e un’app sconosciuta deve chiedere prima della sua prima connessione, con la motivazione del verdetto del modello su dispositivo mostrata nella richiesta. Se non sei d’accordo con una decisione presa dall’IA, la annulli, e l’annullamento diventa una regola visibile che puoi rileggere in seguito o esportare come file di testo.
FireAI accetta anche ordini in linguaggio naturale, in inglese o francese, come «block Microsoft Teams», che è un modo più rapido di scrivere una regola rispetto a una finestra con quattro campi. Vale la pena dire con altrettanta chiarezza cosa non fa: non ispeziona il contenuto del traffico cifrato, non analizza i file e non esamina processi o memoria. Lavora al livello di chi si connette a cosa, ed è onesto su quel confine.
Come leggere una connessione
Prendi una riga qualsiasi da nettop o dal registro di un firewall e poniti tre domande. Primo, l’azienda: a chi appartiene l’indirizzo? La maggior parte del traffico va verso una manciata di provider di hosting e reti di distribuzione dei contenuti, e un’app musicale che parla con Amazon o Cloudflare di solito sta semplicemente parlando con il proprio backend. Lo schema da notare è l’incongruenza: un’app per prendere appunti che si connette a una rete pubblicitaria, o un’utility per screenshot che si connette a un provider di hosting che non ha motivo di usare. Secondo, il paese: non perché un server straniero sia un male, ma perché un cambiamento è informativo. Un’app che si è connessa all’Irlanda per un anno e oggi si connette per la prima volta a un nuovo paese ha cambiato qualcosa. Terzo, la porta. La 443 è HTTPS e copre quasi tutto; la 80 è HTTP in chiaro e dovrebbe essere rara nel 2026; la 53 è DNS; la 22 è SSH; la 445 è la condivisione file SMB; la 5353 è Bonjour sulla rete locale. Un’app consumer che apre la porta 22 o 445 verso un indirizzo su internet è abbastanza insolita da giustificare una domanda.
Schemi che meritano un secondo sguardo
- Beaconing: lo stesso processo che contatta lo stesso indirizzo a intervalli fissi, ogni sessanta secondi o ogni dieci minuti, con payload minuscoli. MITRE ATT&CK descrive il comando e controllo come il tentativo dell’avversario di comunicare con i sistemi compromessi per controllarli, e un battito regolare è la forma più comune che questo assume. Anche i controlli di aggiornamento fanno beaconing, quindi l’indizio è un processo sconosciuto, non il ritmo da solo.
- Nodi di uscita Tor: il Tor Project pubblica il suo elenco di nodi di uscita, e non c’è alcuna ragione ordinaria per cui un’app di produttività ne raggiunga uno. FireAI applica quell’elenco in locale come uno dei suoi feed di threat intelligence.
- HTTP in chiaro che trasporta credenziali: un modulo di accesso, una chiave API o un numero di carta inviati sulla porta 80 sono leggibili da chiunque si trovi sul percorso. La protezione dei dati non cifrati di FireAI è costruita esattamente per questo caso e impedisce a numeri di carta, password e chiavi API di uscire tramite HTTP in chiaro.
- Una prima connessione da un’app installata da tempo: un’app rimasta silenziosa per mesi che all’improvviso apre un socket si è aggiornata, è stata sostituita, o è stata dirottata da un plugin. Tutte e tre le cose vale la pena saperle.
- Binari non firmati o sconosciuti che vanno online, punto: su un Mac dove tutto ciò che usi è firmato, un binario non firmato che fa la sua prima connessione è l’avviso più utile che un firewall possa sollevare. Le modalità di sicurezza più severe di FireAI, Paranoid e Under attack, bloccano le app non firmate del tutto.
- Indirizzi presenti in blocklist pubblicate: Spamhaus descrive la sua lista DROP come intervalli così pericolosi da fornirla gratuitamente a chiunque voglia quel livello di protezione; FireHOL aggrega e documenta feed IP pubblici incentrati su attacchi e abusi; abuse.ch gestisce piattaforme di threat intelligence guidate dalla comunità. FireAI applica questi feed in locale, come blocklist IP a livello di sistema, senza inviare il tuo traffico da nessuna parte.
Il filtraggio DNS, con onestà
Il DNS è il punto in cui vivono molti prodotti di filtraggio di rete, quindi è giusto chiedersi dove si collochi FireAI. Oggi FireAI filtra la connessione in sé: applica feed di threat intelligence e blocklist IP agli indirizzi che le tue app raggiungono davvero, e le regole per app possono corrispondere a un nome di host o di dominio. Ciò che non fa ancora è agire come tuo resolver DNS o offrire un proprio DNS cifrato; è in programma, e preferiamo dirlo piuttosto che lasciarlo intendere. C’è una conseguenza pratica da capire. Il DNS cifrato, specificato come DNS over TLS nella RFC 7858 e DNS over HTTPS nella RFC 8484, e supportato a livello di sistema su macOS dalla sessione WWDC 2020 di Apple sull’abilitazione del DNS cifrato, nasconde le tue query a chiunque si trovi sul percorso di rete. È un bene per la privacy, e significa anche che un filtro che osserva solo le query DNS diventa cieco quando un browser usa il proprio resolver DoH. Un filtro che agisce sull’indirizzo di destinazione vede ancora la connessione, perché l’app deve comunque aprirla. Nessuno dei due approcci è completo da solo, ed è per questo che la posizione onesta è «entrambi, col tempo» piuttosto che la pretesa che uno sostituisca l’altro.
Una routine pratica
Non serve osservare la rete tutto il giorno. Una routine praticabile è tre minuti una volta a settimana: apri l’elenco delle connessioni di FireAI, scorrilo applicazione per applicazione e guarda quelle che non riconosci. Verifica l’azienda e il paese dietro qualsiasi novità. Scrivi una regola per ciò che decidi, così non riesaminerai mai due volte la stessa connessione, ed esporta le tue regole di tanto in tanto, così un Mac nuovo parte dalle tue decisioni anziché da zero. Gli strumenti gratuiti ci saranno sempre quando vorrai la vista grezza; un firewall per applicazione è ciò che rende quella vista qualcosa su cui puoi agire.
Il ruolo di FireAI e di HisnLabs
lsof e nettop ti mostrano un’istantanea; ciò che non possono fare è fermare una connessione, ricordare la tua decisione, o dirti in parole semplici quale azienda e quale paese si trovano dietro un indirizzo IP — ed è esattamente questo il vuoto che FireAI è stato costruito per colmare.
FireAI è il prodotto di HisnLabs: un firewall con IA che funziona direttamente sul Mac. Mostra in linguaggio chiaro ogni connessione che le tue app effettuano e ti lascia decidere cosa esce dal tuo Mac — la sua IA lavora in locale, quindi il tuo traffico non viene mai inviato a noi né a nessun altro. Il team di ricerca sulla sicurezza di HisnLabs è quello che mantiene affidabili queste decisioni: cataloga quali domini sono semplice telemetria e quali un servizio reale, traccia il Paese e la rete dietro una connessione e addestra il modello locale (la funzione Autopilot) su schemi di traffico reali, senza che nulla lasci il tuo Mac.
Puoi leggere le scelte tecniche che ci stanno dietro, oppure provare FireAI per 17 giorni, su FireAI, di HisnLabs.
