Vai al contenutoHisnLabs
← Hardening di macOS, impostazione per impostazione

Lezione 4 di 5 · 9 min

Servizi, condivisione e porte aperte

Disattiva i servizi di condivisione che non usi, scopri cosa è effettivamente in ascolto di connessioni, e attiva il Firewall applicativo.

Ogni servizio di condivisione che lasci attivo è un piccolo server di rete in esecuzione sul tuo Mac, in attesa che qualcuno vi si connetta. La maggior parte delle persone ne attiva uno una volta, per un compito, e non lo disattiva mai. Questa lezione tratta come trovarli e chiuderli, poi aggiungere un firewall sopra come secondo livello.

Servizi di condivisione

Nell’attuale macOS, i servizi di condivisione si trovano in Impostazioni di Sistema → Generali → Condivisione: Condivisione file, Condivisione schermo, Accesso remoto (SSH), Gestione remota, Condivisione media, Cache dei contenuti, Condivisione internet, Condivisione stampante, e alcuni altri a seconda del Mac. Ognuno è disattivato per impostazione predefinita e resta tale finché non lo attivi per un motivo specifico, come inviare un file a un altro Mac sulla stessa rete o lasciare che un assistente si connetta da remoto.

  • Se hai attivato una volta la Condivisione file per spostare file tra due Mac, o la Condivisione schermo per ricevere aiuto da qualcuno, disattivala di nuovo dallo stesso pannello Condivisione una volta finito.
  • L’Accesso remoto apre l’accesso SSH al tuo Mac. La documentazione stessa di Apple al riguardo dice chiaramente che “consentire l’accesso remoto al tuo Mac può renderlo meno sicuro.” Lascialo disattivato a meno che tu non abbia specificamente bisogno di connetterti a questo Mac da altrove.
  • Se molti di questi risultano attivi e non ricordi di averli attivati, questo da solo vale la pena di essere indagato.

Vedere cosa è effettivamente in ascolto

Disattivare i servizi di condivisione in Impostazioni di Sistema chiude quelli per cui Apple espone un interruttore, ma altro software (un server multimediale, uno strumento di sviluppo, un driver di stampante) può aprire proprie porte in ascolto senza chiedere. lsof (elenca i file aperti, che su Unix include i socket di rete) può mostrarti ogni processo attualmente in attesa di una connessione TCP in entrata:

Terminal
lsof -iTCP -sTCP:LISTEN -n -P
COMMAND     PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
rapportd   1442 admin   15u  IPv4  ...       0t0  TCP *:64654 (LISTEN)
ControlCe  1775 admin    9u  IPv4  ...       0t0  TCP *:7000 (LISTEN)

Ogni riga è un processo in ascolto su una porta: il nome del comando, il suo ID di processo, l’indirizzo a cui è associato (* significa ogni interfaccia di rete, 127.0.0.1 significa solo connessioni locali), e il numero di porta dopo i due punti. -n e -P dicono a lsof di mostrare indirizzi e numeri di porta grezzi invece di risolverli, il che è sia più veloce sia più chiaro. Una porta associata solo a 127.0.0.1 è raggiungibile solo dal Mac stesso; una porta associata a * può, rete permettendo, essere raggiunta da altri dispositivi. Alcune voci saranno servizi in background propri di Apple (come l’helper AirDrop/Handoff rapportd, o il ricevitore AirPlay del Centro di Controllo); quelle che vale la pena mettere in discussione sono le app che hai installato e che non ti aspettavi fossero affatto in ascolto.

Il Firewall applicativo

Il Firewall applicativo, in Impostazioni di Sistema → Rete → Firewall, è un secondo livello oltre alla chiusura dei servizi inutilizzati: invece di bloccare per numero di porta, decide per ogni app se quell’app possa accettare affatto connessioni in entrata. Apple lo descrive come protezione del Mac “da contatti indesiderati avviati da altri computer quando sei connesso a internet o a una rete”, pur permettendoti di consentire il passaggio di app o servizi specifici.

Apple Support: Change Firewall settings on Mac.
Opzione del firewallCosa fa
Blocca tutte le connessioni in entrataImpedisce le connessioni in entrata a servizi e app non essenziali, lasciando solo i servizi di base necessari perché il Mac trovi altri computer sulla rete.
Consenti automaticamente software firmatoPermette alle app integrate o scaricate firmate da un certificato valido di ricevere connessioni in entrata senza chiedere. Disattivare questo significa più richieste, ma meno eccezioni silenziose.
Attiva modalità invisibileImpedisce al Mac di rispondere a richieste di sondaggio, incluso ping (ICMP), che altrimenti potrebbero essere usate per rilevare che esiste su una rete.

Puoi controllare lo stato attuale del firewall dal Terminale senza cambiare nulla:

Terminal
/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
Firewall is enabled. (State = 1)
/usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
Firewall stealth mode is off

Attivare il firewall e abilitare la modalità invisibile richiedono entrambi una password amministratore; i comandi --get di sola lettura sopra non cambiano nulla.

Da ricordare

  • I servizi di condivisione (Condivisione file, Condivisione schermo, Accesso remoto e altri) si trovano in Impostazioni di Sistema → Generali → Condivisione, sono disattivati per impostazione predefinita, e dovrebbero essere ridisattivati una volta completato un compito specifico.
  • `lsof -iTCP -sTCP:LISTEN -n -P` elenca ogni processo attualmente in ascolto di connessioni TCP in entrata, così puoi individuare porte che non ti aspettavi fossero aperte.
  • Una porta associata a `127.0.0.1` è solo locale; una associata a `*` può potenzialmente essere raggiunta dalla rete.
  • Il Firewall applicativo controlla le connessioni in entrata per app; la modalità invisibile impedisce al Mac di rispondere a sondaggi come ping.
  • Il Firewall applicativo non filtra le connessioni in uscita.

Mettiti alla prova

  1. 1. Cosa ti mostra `lsof -iTCP -sTCP:LISTEN -n -P`?

    • Ogni file mai aperto sul Mac
    • Ogni processo attualmente in ascolto di connessioni TCP in entrata, con la sua porta — Esatto.
    • Un elenco di indirizzi IP bloccati
    • La password Wi-Fi del Mac

    Questa esatta combinazione di flag filtra `lsof` fino ai processi con un socket TCP aperto e in ascolto, mostrando indirizzi e numeri di porta grezzi.

  2. 2. Una porta in ascolto mostrata come `127.0.0.1:5432` cosa significa?

    • È raggiungibile da qualsiasi dispositivo su internet
    • È raggiungibile solo dal Mac stesso — Esatto.
    • È un servizio Bluetooth
    • È stata bloccata dal firewall

    127.0.0.1 è l’indirizzo di loopback: le connessioni ad esso possono provenire solo dalla stessa macchina.

  3. 3. Cosa controlla principalmente il Firewall applicativo di macOS?

    • Le connessioni in uscita che le app fanno verso internet
    • Le connessioni in entrata verso app e servizi sul Mac — Esatto.
    • Le richieste di associazione Bluetooth
    • Quali siti web possono essere visitati

    Il Firewall applicativo decide, per app, se le connessioni in entrata non richieste sono consentite; non filtra ciò che le app inviano fuori.

Mettilo in pratica con FireAI

Metti in pratica questa lezione sul tuo Mac.

Fonti

Mettilo in pratica sul tuo Mac

Prova tutte le funzioni gratis per 17 giorni, senza carta.

Scarica per Mac Guide