Gratuito, open source, disponibile per Windows e Linux, leggero sulle risorse di sistema e ricco di funzionalità, Portmaster ha tutte le carte in regola per meritare di essere provato. Si presenta come una soluzione "all-in-one" per monitorare il traffico con granularità fino alla singola applicazione, impostare regole firewall con black e white list, settaggi DNS preimpostati e applicati a livello di sistema, filtri differenziati per tipologia di ads, siti malevoli e categorie "speciali", più ulteriori funzionalità di personalizzazione.
L'azienda che ci offre Portamaster è Safing e sul suo sito potete trovare altre informazioni decisamente trasparenti se volete approfondire la sua conoscenza, oltre che una Community Wiki per esplorare meglio Portmaster. Nell'ultimo aggiornamento sul loro blog, ci comunicano che hanno raggiunto il traguardo di poter essere economicamente autonomi anche solo con gli abbonamenti degli utenti (come vedremo alcune funzioni avanzate, ma non necessarie per l'uso quotidiano, sono a pagamento) e ci anticipano che potrebbe arrivare anche una versione per Android.
Informazione di servizio: per testarlo abbiamo usato un Windows 10 Pro virtualizzato (come appena installato) e aggiornato all'ultima build (19045.3930), con il browser Edge lasciato con impostazioni di default e, piacevole spoiler, l'esperienza d'uso di Portmaster è stata decisamente positiva.
Installazione
Dopo aver scaricato l'installer di circa 7 MB, la procedura di installazione, che richiede connessione Internet, si presenta subito molto attenta ai dettagli e alla comunicazione con l'utente, dichiarando esplicitamente non solo i percorsi coinvolti, ma anche il nome del processo principale e alcune delle chiavi di registro modificate:
Bisognerà scaricare circa 300 MB e l'installazione occuperà circa 500 MB su disco. Al termine ci viene segnalato che il programma si aggiornerà in automatico e per completare totalmente l'installazione sarà necessario riavviare il PC. Portmaster, data la sua funzione, si inserirà fra i programmi che partono all'avvio di Windows.
Configurazione
Al primo avvio, inizierà subito in background l'aggiornamento delle liste preinstallate e, cliccando con il destro sull'ìcona nella tray, vicino all'orologio
poi con il sinistro su "open app", ci verrà proposto un setup guidato iniziando dai filtri
cliccando su "Expand" potremmo capire meglio il campo di applicazione di ciascun filtro e modificarne le impostazioni dettagliate, ma per il momento, lasceremo selezionate le impostazioni di default. Il secondo passaggio ci chiede di scegliere un DNS, quello di default è il DNS di Cloudflare con filtro malware:
Ci viene infine ricordato che per ottenere alcune informazioni possiamo contare sul classico logo della "i" cerchiata di "info"; segnalazione meno superflua di quanto sembrerebbe perché, come vedremo, l'interfaccia non è sempre "parlante" e alcuni (piccoli) simboli non risultano necessariamente intuitivi.
Per acquisire una minima consapevolezza del programma, si consiglia quindi di cliccare sulla "i" cerchiata in alto a sinistra, sotto il logo di Portmaster, per iniziare il tour dell'interfaccia, che si presenta, inizialmente così:
Supponiamo ora di non sentircela di addentrarci in configurazioni più approfondite; chiudiamo quindi l'interfaccia del programma con la solita "x" in alto a destra, così da ridurlo ad icona nella tray. Cosa abbiamo ottenuto dall'installazione di Portmaster e cosa è cambiato nella nostra navigazione?
IMPATTO SUL SISTEMA
La prima differenza emerge dal test del DNS: senza cambiare impostazioni nel browser, abbiamo la conferma che il traffico (in realtà non solo del browser, di cui non abbiamo toccato le impostazioni, ma di tutto il sistema) ora ha la risoluzione DNS criptata, come dimostra la comparsa della spunta su "Secure DNS" del noto test di Cloudflare:
Per quanto invece riguarda il blocco degli ads, lasciamo la parola alle immagini, usando alcune risorse per testare le prestazioni dei browser (già presentate qui) che mostrano la differenza fra il prima e il dopo l'installazione di Portmaster:
Una nota sull'infausto 3%: il test è stato ripetuto più volte, confermando sempre il medesimo risultato. Lo stesso test svolto sulla Sandbox di Windows 10 Pro, che è basata su Windows 10 Enterprise, ha comunque dato risultati variabili dal 67% al 72%.
Sebbene gli sviluppatori dichiarino esplicitamente che questo prodotto non sostituisce gli ad-blocker impiegati a livello di browser, ma è un ulteriore risorsa da affiancargli, è evidente che anche solo lasciando le configurazioni di default di Portmaster, persino un browser come Edge con filtri di default fa un bel passo in avanti verso maggior privacy e connessioni più "snelle". E se volessimo comunque provare a cambiare qualche impostazione, per rendere i filtri ancora più efficaci e, senza compromettere troppo la fruibilità dei siti, migliorare ulteriormente l'esperienza di navigazione? Vediamo qualche utile configurazione in merito.
Configurazioni
Per personalizzare i settaggi secondo le nostre esigenze (ricordando che purtroppo non c'è ad oggi modo di cambiare lingua, pur essendone stata fatta richiesta agli sviluppatori), basta andare sulla sinistra dell'interfaccia grafica, su "Global Setting"
poi spostarsi sulla destra e cliccare su "Simple Interface" così da poter selezionare "Advanced Interface"
Sotto "Ignore System/Network Servers" che serve a bloccare le richieste ai server DNS nel dominio locale, troviamo un primo settaggio per hardenizzare il nostro DNS, ossia quello di forzare solo protocolli sicuri per il DNS, negando la risoluzione in chiaro ("Use Secure Protocols Only"). Un'altra impostazione consigliata, che serve perlopiù a velocizzare la navigazione, è usare sempre la cache DNS ("Always use DNS cache"). Per attivare queste due modifiche è necessario impostare gli interruttori come in questa immagine:
Scorrendo in basso, superando "Force block LAN" che blocca le connessioni provenienti dall'interno della rete locale, "Force block P2P/Direct connections" per il blocco delle connessioni P2P e altri ulteriori blocchi per le connessioni verso l'host ("Force Block Device-Local Connections" e "Force Block Incoming Connections"), incontriamo di nuovo i filtri già visti in precedenza. Può essere utile attivarne qualcuno in più, ad esempio quello contro i siti ingannevoli (phishing e frodi):
Nei filtri preimpostati abbiamo anche quelli per bloccare l'accesso a siti NSFW o ai siti delle "Big Tech": Meta, Amazon, Google, Apple e Microsoft, che risulteranno dunque inaccessibili. Da segnalare l'utile, ma comunque facoltativo, filtro "Unbreak Popular Websites", una lista che dovrebbe tutelare il funzionamento dei siti più popolari e, inoltre, la presenza di filtri sperimentali ("Experiments"), come quello per i cryptominers e quello per la telemetria di Windows.
Sotto l'elenco dei filtri preimpostati (se abbiamo settato la "Advanced Interface") c'è una funzionalità che può fare la differenza: la possibilità di importare block list in formato .txt.
Ad esempio importando quella di ph00lt0 disponibile a questo indirizzo, e modificando il file in modo da rimuover il doppio pipe prima di ogni indirizzo e il "^" alla fine (questione di pochi click, usando la funzione "sostituisci" del blocco note), verranno bloccate molte vistose richieste di cookies come queste:
Come tutte le restrizioni aggressive, potrebbero causare il malfunzionamento parziale del caricamento di alcuni siti. Da precisare che resteranno comunque presenti le pubblicità su YouTube, ma è facile intuire che, senza usare troppe estensioni aggiuntive, se stessimo usando ad esempio Brave (con i suoi "shields" per YouTube e altro) al posto di Edge, con in più l'ausilio di Portmaster e una buona lista-filtro ads e siti pericolosi (comunque importabile direttamente anche in Brave), potremmo facilmente goderci una navigazione estremamente sicura, privata, fluida e reattiva. Ci sono molte liste (compatibili con altri programmi basati su filtri DNS o semplicemente da salvare nel proprio file host) anche più estese di quella usata sopra, e che potete scaricare e testare voi stessi, come quella di hagezi, someonewhocares e Safinek, per citarne solo alcune.
Il valore aggiunto di Portmaster, rispetto al "semplice" blocco degli ads e alle classiche regole personalizzate da firewall (white \ black list), è la possibilità di monitorare i singoli programmi: quali si stanno connettendo, verso dove, quante volte, ed eventualmente impostare regole customizzate di connessione per ogni singola app. Iniziamo dunque dal monitoraggio delle connessioni complessive; il pannello generale è disponibile cliccando sull'apposito simbolo "Network activity" sulla sinistra:
Il grafico a destra mostra l'elenco delle connessioni attive: quelle in rosso sono bloccate dai filtri attivi, quelle in verde sono consentite. Nell'elenco a discesa, in ordine cronologico, ogni connessione può essere visualizzata anche in dettaglio:
In questo caso si tratta, come è specificato, di una connessione bloccata perché (v. "Reason") compresa nella "custom list" applicata nei "Global Settings" (v. "Applied settings") ovvero le impostazioni valide per tutte le applicazioni. Da questa immagine potete notare, nella ricchezza della GUI, anche altri utili filtri sopra il grafico e altre importanti opzioni sotto la connessione, come "Allow Domain" per sbloccare il dominio bloccato, "Process Details" per una visualizzazione molto dettagliata del processo coinvolto e "App Setting" per impostare opzioni e filtri per la specifica app. Per quest'ultima operazione, senza bisogno di trovare l'app al volo nell'elenco delle connessioni attive, è sufficiente sceglierla nel menu delle applicazioni a sinistra e poi cliccare sul secondo simbolo a destra:
Sul pannello di destra troveremo i filtri già visti in ambito globale, stavolta impostabili come validi solo per la singola app. Risulta quindi possibile, ad esempio, usare i filtri in modo da impostare per un "browser x" restrizioni estreme, in modo che si connetta solo a servizi importanti che trattano dati sensibili o che sia adatto all'uso di minori, mentre per il "browser y" lasciare massima libertà di navigazione e esplorazione (e profilazione). Cliccando sul simbolo a sinistra del precedente, verrà invece visualizzata l'attività di rete della singola app: server contattati, protocolli usati, regole applicate, etc. filtrabile per criteri geografici e di rete (dominio, direzione, permessi, etc.). Portmaster ci consente quindi non solo un monitoraggio granulare del traffico di rete, ma anche molta calibrazione ad hoc delle connessioni delle app.
Per avere il quadro generale delle app monitorate (anche di quelle non più attive), da cui partire per impostare anche filtri per alcune di loro, c'è l'apposita icona sulla destra:
Qualora vogliate invece chiudere o riavviare Portmaster, potete usare il pulsante in fondo a sinistra; ricordandovi che di default è impostato per ripartire ad ogni avvio di Windows.
Si tratta, come avrete potuto osservare in questa parziale presentazione, di un programma ricco di funzioni e di potenzialità, che può avere già una sua utilità se semplicemente installato e abbandonato nella tray, ma dà il meglio di sé quando viene usato come cruscotto per monitorare e personalizzare la connessione dell'host, nella consapevolezza che alcuni settaggi potrebbero, se non ben studiati, bloccare anche connessioni utili.
Per i più scettici, il sito di Safing propone anche un confronto con alcune papabili alternative: GlassWire, Simplewall e Pi-Hole:
SPN
Un capitolo a parte merita sicuramente una funzionalità a pagamento (richiede l'attivazione della versione "Pro" a 9,90€ al mese) che non abbiamo provato direttamente, ma si presenta comunque degna di nota, ben documentata nel sito e spiegata in sintesi in questo video; si tratta della Safing Privacy Network (SPN). Accessibile direttamente da Portmaster (previa registrazione e login), dotata di codice totalmente open source, è basata sull'onion routing (sì, lo stesso di Tor), cifrata e impostata per instradare ogni singola connessione (anche avviata dalla medesima app), su un percorso di rete differente, attraverso molteplici nodi. Il risultato, riprendendo l'esempio fatto degli sviluppatori, è che se provate a controllare il vostro IP dal vostro browser, collegandovi a due siti differenti che forniscono questo servizio, otterrete come risposte due IP differenti, poiché ogni richiesta (a ciascun sito) risulterà inviata da un "nodo d'uscita" differente (scelto secondo un criterio di prossimità al server da raggiungere, il che dovrebbe ottimizzare i tempi di risposta). Va ricordato che, agendo a livello di sistema, SPN non coinvolge solo la navigazione Internet, ma ogni richiesta dell'host.
Anche le modalità di connessione a SPN sono personalizzabili, come è sbirciabile guardando i settaggi delle app individuali, in cui SPN risulta selezionato di default, ma non realmente attivo. Si può scegliere di escludere alcune app o indirizzi dalla connessione SPN, si possono escludere alcuni paesi dal proprio traffico SPN, si può dare priorità alla velocità di connessione o alla privacy (o al bilanciamento fra le due). Disseminati per il mondo ci sono server SPN gestiti dalla società Safing (nel bene e nel male che questo può comportare), ma c'è anche la possibilità di utilizzare e/o hostare "community servers" a cui, per evidenti motivi di sicurezza, è precluso il traffico HTTP (info qui). Questa potenziale modalità ibrida, rende SPN una "via di mezzo" fra una VPN con server proprietari e la rete Tor con i suoi server domestici e pubblici (senza scendere nel merito di controversi casi particolari di ingerenze "aziendali").
Per un confronto con la rete Tor, troviamo un approfondimento sul sito, mentre per contestualizzare SPN rispetto alle VPN, possiamo fare una sintesi schematizzando la comparazione proposta da Safing:
Come mai non c'è la consueta versione di prova gratuita, ma a traffico ridotto o con limitazione di banda o di località, per procacciarsi possibili clienti? La risposta di Safing, presente nelle FAQ, è tanto diretta quanto onesta: «Providing the network costs us money, so we charge accordingly. However, Portmaster with its many local privacy features are and will remain free to use».