Come usare Terminale per la funzionalità "Little Snitch" senza Little Snitch

4

Sono un newb del Terminal e sto cercando di riprendere la funzionalità manuale di "Little Snitch" senza usare Little Snitch.

Dalla ricerca che ho fatto, sono arrivato al fatto che ho bisogno di utilizzare pf.conf, ma non ho idea di come formattare la mia richiesta per Terminal.

Devo bloccare una connessione a www.domain.com sulla porta 443. Come faccio a fare questo?

    
posta bmoneruxui 10.03.2016 - 16:49
fonte

1 risposta

10

Per bloccare permanentemente il traffico in uscita verso domini specifici, devi creare un nuovo file di ancoraggio e aggiungerlo a pf.conf.

  1. Crea un file di ancoraggio org.user.block.out in /private/etc/pf.anchors

    sudo touch /private/etc/pf.anchors/org.user.block.out
    

    con il seguente contenuto e una riga vuota finale

    mybadhosts = "{ www.domain.com, domain.com, www.domain2.com, domain2.com }"
    mybadports = "{ 443, 80 }"
    
    block drop out proto tcp from any to $mybadhosts port $mybadports
    

    I nomi di dominio aggiuntivi in mybadhosts sono solo un esempio su come aggiungere domini aggiuntivi. Lo stesso vale per la porta 80 in mybadports.

    Una soluzione semplice ma meno flessibile è:

    block drop out proto tcp from any to domain.com port 443
    
  2. Modifica il file /private/etc/pf.conf ma mantieni una riga vuota finale

    file originale:

    scrub-anchor "com.apple/*"
    nat-anchor "com.apple/*"
    rdr-anchor "com.apple/*"
    dummynet-anchor "com.apple/*"
    anchor "com.apple/*"
    load anchor "com.apple" from "/etc/pf.anchors/com.apple"
    

    a

    scrub-anchor "com.apple/*"
    nat-anchor "com.apple/*"
    rdr-anchor "com.apple/*"
    dummynet-anchor "com.apple/*"
    anchor "com.apple/*"
    anchor "org.user.block.out"
    load anchor "com.apple" from "/etc/pf.anchors/com.apple"
    load anchor "org.user.block.out" from "/etc/pf.anchors/org.user.block.out"
    
  3. Analizza e verifica il tuo file di ancoraggio per assicurarti che non vi siano errori:

    sudo pfctl -vnf /etc/pf.anchors/org.user.block.out
    
  4. Ora modifica /System/Library/LaunchDaemons/com.apple.pfctl.plist da

    <array>
        <string>pfctl</string>
        <string>-f</string>
        <string>/etc/pf.conf</string>
    </array>
    

    a

    <array>
        <string>pfctl</string>
        <string>-e</string>
        <string>-f</string>
        <string>/etc/pf.conf</string>
    </array>
    

    Devi disabilitare la protezione dell'integrità del sistema per fare ciò. Dopo aver modificato il file riattivabile SIP. Dopo aver riavviato il tuo Mac pf sarà abilitato (è l'opzione -e).

    In alternativa puoi creare il tuo demone di lancio simile alla risposta qui: Utilizzo del server 5.0.15 per condividere Internet SENZA condivisione Internet .

Dopo un aggiornamento del sistema o l'aggiornamento di alcuni dei file originali di cui sopra potrebbe essere stato sostituito e devi riapplicare tutte le modifiche.

    
risposta data 10.03.2016 - 18:20
fonte

Leggi altre domande sui tag