
Script PowerShell per creare automaticamente regole per il firewall di Windows

Una soluzione completamente automatizzata per il firewall di Windows con PowerShell
Windows Firewall Ruleset configura automaticamente il firewall di Windows e applica regole restrittive specifiche per il sistema di destinazione e il software installato su di esso.
Lo stato di questo progetto è ancora alpha, clicca sul badge "status" sopra per saperne di più.
Questo progetto è composto da due parti principali, le regole del firewall e il framework del firewall come descritto di seguito:
Regole del firewall di Windows organizzate in script PowerShell individuali secondo:
Ad esempio:
Il framework del firewall è composto da una serie di moduli PowerShell, script e documentazione utilizzati per raccogliere informazioni sull'ambiente rilevanti per costruire e distribuire un firewall specializzato per il sistema di destinazione, come:
Pertanto questo repository è un buon punto di partenza per estendere facilmente il tuo firewall includendo più regole e funzionalità secondo le tue esigenze.
Attualmente ci sono circa 800+ regole del firewall, 10+ moduli con 100+ funzioni, diversi script e una buona quantità di documentazione utile.
Puoi scegliere interattivamente quali regole desideri e distribuire solo quelle, oppure puoi automatizzare il processo e distribuire tutte le regole e le impostazioni necessarie al tuo firewall.
La configurazione dettagliata del firewall è un processo che richiede tempo, comporta molto troubleshooting, le modifiche richiedono test e audit di sicurezza, e peggiora ulteriormente se è necessario distribuire il firewall a centinaia o migliaia di computer remoti, ad esempio non tutti i computer potrebbero avere lo stesso software o gli stessi requisiti di restrizione.
A differenza delle regole del firewall nel pannello di controllo, queste regole vengono caricate nel firewall GPO (Criteri di gruppo locali), il che significa che le modifiche alle impostazioni di sistema o programmi casuali che installano regole come parte del loro processo di installazione non avranno effetto sul firewall a meno che non si crei esplicitamente un'eccezione.
Le regole basate su programmi e servizi faranno verificare la firma digitale del file eseguibile specificato e saranno scansionate su VirusTotal se la firma digitale è assente; per motivi di sicurezza, la regola non viene creata o caricata nel firewall se questa verifica non riesce. (può essere forzata)
L'uscita predefinita è "blocca" a meno che non ci sia una regola per consentire il traffico di rete; nella maggior parte dei firewall ciò non è possibile a meno che non si mantengano regole per ogni possibile programma o servizio. Grazie a questa raccolta di regole, impostare l'uscita predefinita su blocca richiede pochissimo o nessun lavoro aggiuntivo.
A differenza dello scenario usuale, saprai quali regole non hanno più effetto o sono ridondanti a causa, ad esempio, di un programma disinstallato, un servizio di sistema mancante che non esiste più, un eseguibile rinominato dopo un aggiornamento di Windows e motivi simili.
A differenza delle regole predefinite del firewall di Windows, queste regole sono più restrittive, ad esempio legate a account utente espliciti, si applicano a porte specifiche, interfacce di rete, eseguibili specifici, servizi, ecc., il tutto appreso automaticamente dal sistema di destinazione.
Aggiornare, filtrare o cercare regole e attributi come porte, indirizzi e simili è molto più facile poiché queste regole sono in script; puoi utilizzare strumenti dell'editor come regex, multicursor o CTRL + F per eseguire operazioni bulk sulle tue regole; fare questo in qualsiasi interfaccia utente del firewall non è possibile a causa delle limitazioni dell'interfaccia utente.
Questo progetto Windows Firewall Ruleset è concesso in licenza sotto la licenza MIT.
Alcuni script, file o moduli non sono concessi in licenza MIT o possono avere i propri detentori di copyright; per questo motivo le note sulla licenza e sul copyright sono mantenute "per file".
La tabella seguente elenca i sistemi operativi su cui Windows Firewall Ruleset è stato testato
sigcheck64.exe (Altamente raccomandato) Scarica sigcheckTutti i sistemi Windows 10.0 (Major 10, Minor 0) e successivi tranne le edizioni Home sono supportati, ma solo le edizioni elencate nella tabella sopra sono state testate.
La colonna "Versione" elenca le release testate, tuttavia solo le build più recenti del sistema operativo continuano ad essere testate.
Un elenco di altri sistemi e funzionalità supportati ma non testati è in Il futuro
PowerShell Core non è integrato in Windows, dovrai installarlo separatamente o utilizzare Windows PowerShell che fa parte del sistema operativo.
.NET Framework min. versione 4.5 è richiesto se si utilizza Windows PowerShell (edizione Desktop) invece di PowerShell Core.
Windows 10 viene fornito con .NET 4.6 minimo (che include .NET 4.5), e Windows 11 con .NET 4.8 minimo
sigcheck64.exe (o la versione a 32 bit sigcheck.exe) è uno strumento di verifica della firma digitale che puoi scaricare dal sito Microsoft e dovrebbe essere posizionato nella directory C:\tools o nella variabile d'ambiente %PATH%.
Windows Firewall Ruleset lo utilizzerà per eseguire un'analisi malware basata su hash su VirusTotal per ogni eseguibile che non è firmato digitalmente prima che venga creata una regola del firewall per quell'eseguibile.
Questa è solo una raccomandazione; se non c'è in ti verrà offerto di scaricarlo e se rifiuti non viene effettuata alcuna analisi malware.
Usando questa funzionalità accetti i , l' e i
Al momento questo firewall è testato e progettato per i sistemi Windows Desktop/Server più recenti ed è noto che funzioni; per utilizzarlo su sistemi più vecchi è necessario ulteriore lavoro.
I test vengono eseguiti su Windows a 64 bit; una piccola parte delle regole non funzionerà su un sistema a 32 bit e necessita di aggiustamenti; la piena funzionalità per sistemi a 32 bit è in lavorazione.
Per ora puoi caricare le regole su un sistema a 32 bit senza problemi, ad eccezione di poche regole probabilmente non rilevanti per la tua configurazione.
Per informazioni su come utilizzare questo firewall su sistemi Windows più vecchi come Windows 7 o Windows Server 2008, vedi Supporto Legacy
Di seguito sono riportate brevi avvertenze e notifiche di cui l'utente al primo utilizzo dovrebbe essere a conoscenza prima di distribuire il firewall
Potresti perdere la connettività Internet per alcuni dei tuoi programmi o, in rari casi, perdere completamente la connettività Internet; se ciò accade, puoi temporaneamente consentire la rete in uscita in GPO o eseguire
.\Scripts\Reset-Firewall.ps1 -Remoting -Service, per reimpostare il firewall GPO ai valori predefiniti di sistema, rimuovere tutte le regole e ripristinare WinRM e i servizi modificati ai valori predefiniti di sistema.
(in seguito è necessario riavviare PowerShell)
All'interno della directory docs c'è ResetFirewall.md, una guida su come farlo manualmente, se per qualche motivo non puoi eseguire lo script o lo script non risolve i tuoi problemi.
Le tue regole esistenti non verranno eliminate a meno che tu non abbia regole in GPO con esattamente gli stessi nomi di gruppo delle regole di questo insieme, tuttavia questo non si applica a Scripts\Reset-Firewall.ps1 che cancellerà completamente le regole GPO e lascerà solo quelle nel pannello di controllo.
Se vuoi essere sicuro al 100%, esporta le tue regole GPO come spiegato in Esportazione/Importazione regole
Ti verrà chiesto quali regole caricare (se selezioni la distribuzione interattiva, vedi più avanti); per ridurre al minimo i problemi di connettività Internet, dovresti distribuire almeno tutte le regole generiche di rete e relative al sistema operativo chiamate "CoreNetworking", "ICMP", "WindowsSystem", "WindowsServices", "Multicast" incluse tutte le regole per i programmi che hai installato sul sistema; inoltre non ignorare IPv6, Windows ha bisogno di IPv6 anche se sei su una rete IPv4.
Sarà facile eliminare ciò che non ti serve in GPO, piuttosto che cercare successivamente nel codice ciò che hai dimenticato.
La configurazione predefinita imposterà il comportamento globale del firewall che non è configurabile in GPO, come Stateful FTP e o le impostazioni globali ; se hai bisogno di una configurazione specifica, visita e dai un'occhiata a .
Nota che viene chiamato automaticamente da
Caricare le regole in un GPO vuoto dovrebbe essere molto veloce, tuttavia caricare in un GPO che contiene già regole sarà significativamente più lento (dipende dal numero di regole esistenti nel GPO)
Tutti gli errori e gli avvisi verranno salvati nella directory Logs; puoi consultare questi log in seguito se desideri risolvere qualche problema; la maggior parte degli avvisi e persino alcuni errori possono essere ignorati tranquillamente, in alcuni casi potresti voler risolvere gli errori se possibile.
Qualsiasi regola che dia "Accesso negato" durante il caricamento dovrebbe essere ricaricata eseguendo nuovamente lo script specifico; vedi FAQ per maggiori informazioni sul perché ciò potrebbe accadere.
Se il repository è stato scaricato manualmente, trasferito da un altro computer o supporto, dovresti prima sbloccare tutti i file nel repository per evitare infinite domande SÌ/NO per ogni script eseguito, eseguendo Scripts\Unblock-Project.ps1.
Lo script principale Scripts\Deploy-Firewall.ps1 lo fa automaticamente nel caso tu lo dimentichi, ma le domande iniziali SÌ/NO saranno comunque presenti in quel caso.
Se hai abilitato la "Protezione ransomware" (in Windows Defender), assicurati di autorizzare pwsh.exe (edizione Core) o powershell.exe (edizione Desktop) o entrambi, altrimenti si verificano errori in modalità sviluppo durante l'installazione dei moduli.
Se il codice del repository viene scaricato in una cartella sotto protezione ransomware, qualsiasi cosa potrebbe essere bloccata.
Potrebbe essere necessario riavviare la console PowerShell affinché le modifiche al "Controllo cartelle" abbiano effetto.
Per impostazione predefinita, le regole sono create per il gruppo Users e per il gruppo solo se necessario; la raccomandazione è di avere un account utente standard per l'uso quotidiano del computer per motivi di sicurezza.
Se sei un Amministratore e non intendi creare un account standard sul tuo computer, dovrai modificare la variabile in e specificare .
Se non hai chiavi SSH e altra configurazione necessaria per clonare tramite SSH, clona tramite HTTPS o semplicemente scarica il file zip rilasciato da Rilasci, e poi per l'ultima release sotto "assets" scarica il file zip.
Questi passaggi presuppongono che tu abbia scaricato un file zip dalla sezione "assets" sotto "Releases".
Estrai l'archivio scaricato da qualche parte; questi passaggi presuppongono che tu abbia estratto il file zip (directory principale del repository) direttamente nell'unità radice C:\.
Se desideri utilizzare Windows PowerShell, vedi Come aprire Windows PowerShell
Altrimenti la procedura sia per PowerShell Core che per Windows PowerShell è simile:
Apri la cartella estratta, fai clic destro in uno spazio vuoto e c'è un'opzione per eseguire PowerShell Core come Amministratore (presuppone che tu abbia abilitato il menu contestuale durante l'installazione di PowerShell Core); altrimenti aprilo manualmente.
Se non hai il menu contestuale di PowerShell, spostati nell'unità radice C:\ eseguendo le seguenti due righe (digita o copia/incolla i comandi e premi Invio per ciascuno), questa è la posizione in cui hai estratto il file zip scaricato
c:
cd \
Spostati nella cartella scaricata:
cd WindowsFirewallRuleset*
Per vedere la politica di esecuzione corrente, digita il seguente comando e premi Invio:
(suggerimento: puoi usare il tasto TAB per il completamento automatico mentre scrivi)
Get-ExecutionPolicy
La sezione seguente fornisce alcuni suggerimenti per gestire il firewall con facilità
Lo script Deploy-Firewall.ps1 supporta diversi parametri per consentirti di personalizzare l'automazione
della distribuzione come segue:
- Per procedere passo dopo passo e ricevere richieste di conferma su quali set di regole caricare
e tentare di risolvere i problemi al volo, esegui:```powershell
.\Scripts\Deploy-Firewall.ps1 -Interactive
Deploy-Firewall senza parametri:```powershell
.\Scripts\Deploy-Firewall.ps1Per imparare il significato dei parametri per poterli combinare da soli, consulta il commento dello script `Deploy-Firewall.ps1` o esegui il seguente comando:```powershell
Get-Help .\Scripts\Deploy-Firewall.ps1 -Detailed
Ci sono due metodi per gestire le regole GPO:
Utilizzo dei Criteri di Gruppo Locali, questo metodo dà una libertà limitata su ciò che si può fare con le regole di questo repository, come disabilitarle, modificarne alcuni attributi o aggiungere nuove regole.
Per maggiori informazioni vedere: Manage GPO Firewall
Modifica degli script PowerShell, questo metodo offre il controllo completo, è possibile modificare o rimuovere regole esistenti senza restrizioni o aggiungerne di nuove.
Qualunque sia il tuo piano o configurazione, vorrai sicuramente svolgere ulteriori operazioni come personalizzare le regole o aggiungerne di nuove per programmi non ancora coperti da questo firewall.
Le regole vengono caricate nei criteri di gruppo locali; se durante la configurazione del firewall hai accettato di creare un collegamento alla console di gestione personalizzata del firewall, puoi eseguire il collegamento, altrimenti segui i passaggi menzionati in Manage GPO Firewall
Per maggiori informazioni sul GPO vedere: Configure security policy settings
Se si desidera distribuire solo regole specifiche, ci sono due modi per farlo:
Eseguire Scripts\Deploy-Firewall.ps1 e scegliere Sì solo per i set di regole desiderati, altrimenti scegliere No e premere Invio per saltare il set di regole corrente.
Nella console di PowerShell navigare cd nella directory contenente lo script del set di regole desiderato ed eseguire lo script individuale.
Ad esempio cd .\Rules\IPv4\Outbound\Software seguito da .\Adobe.ps1 per caricare le regole per Adobe.
Potresti voler eseguire Scripts\Complete-Firewall.ps1 successivamente per applicare il comportamento predefinito del firewall se non è già impostato, oppure puoi farlo manualmente in GPO ma con poteri limitati.
"potere limitato" significa che Scripts\Complete-Firewall.ps1 configura alcuni parametri del firewall che non possono essere regolati nell'interfaccia grafica del firewall.
In entrambi i casi, tutte le regole che corrispondono al gruppo del set di regole, DisplayGroup, verranno eliminate prima di caricare le regole in GPO.
Al momento ci sono tre opzioni per eliminare le regole del firewall:
Il modo più semplice è selezionare tutte le regole da eliminare in GPO, fare clic con il tasto destro ed eliminare.
Per eliminare le regole in base a un file esiste una funzione a questo scopo, situata in:
Modules\Ruleset.Firewall\Public\Remove-FirewallRule.ps1
tuttavia è necessario prima esportare il firewall in un file prima di utilizzarla.
Per ripristinare il vecchio stato del firewall (quello del pannello di controllo), è necessario eliminare tutte le regole da GPO e impostare tutte le proprietà su Non configurato dopo aver fatto clic con il tasto destro sul nodo:
Windows Defender Firewall with Advanced Security - Local Group Policy Object
L'eliminazione di tutte le regole o il ripristino allo stato precedente può essere fatto anche con Scripts\Reset-Firewall.ps1
Nota che dovrai anche reimportare le regole GPO esportate se le avevi.
Se si desidera esportare le regole da GPO, sono disponibili due metodi:
Esportare nei criteri di gruppo locali facendo clic sul menu Export Policy..., dopo aver fatto clic con il tasto destro sul nodo:
Windows Defender Firewall with Advanced Security - Local Group Policy Object
Per esportare usando PowerShell eseguire Scripts\Backup-Firewall.ps1
Se si desidera personalizzare l'esportazione, vedere la funzione Export-RegistryRule situata nel modulo Ruleset.Firewall, che consente di personalizzare l'esportazione in quasi tutti i modi desiderati.
Se si desidera importare le regole, l'importazione utilizzando GPO è uguale a quella per l'esportazione e per importare con PowerShell basta eseguire Scripts\Restore-Firewall.ps1 che recupererà i file di esportazione precedenti.
Per personalizzare l'esportazione/importazione, consultare Modules\Ruleset.Firewall\Public, dove troverai la descrizione su come utilizzare le funzioni del modulo di esportazione/importazione.
NOTA: La funzione Export-FirewallRule è molto lenta, si consiglia di eseguire invece la funzione Export-RegistryRule che è il più veloce possibile.
Questa sezione e funzionalità è attualmente sperimentale e non completamente completa, al momento è supportata la distribuzione su un singolo computer remoto.

Nella distribuzione remota del firewall sono coinvolti almeno due computer, uno è chiamato computer di gestione (client) e tutti gli altri sono chiamati computer gestiti (server).
Gli script vengono eseguiti dall'amministratore sul computer di gestione, e il firewall viene quindi distribuito o configurato su più computer server contemporaneamente.
Per i dettagli di implementazione vedere il modulo Modules\Ruleset.Remote
NOTA: La funzionalità di remoting non è esclusiva della distribuzione remota del firewall, anche la distribuzione su localhost per progettazione richiede una configurazione funzionante di WinRM e PS remoting.
Prima di poter eseguire la distribuzione remota, il computer remoto (server) deve essere configurato per accettare la connessione; un esempio su come stabilire una connessione SSL è il seguente:
Per consentire l'esecuzione, configurare il servizio WinRM e il registro remoto sul computer server eseguendo:
NOTA: Se si utilizza PowerShell Core, omettere -Protocol HTTPS da Enable-WinRMServer di seguito; questo abiliterà sia HTTP che HTTPS, che è una soluzione temporanea per il modulo di compatibilità per funzionare in sessione remota.```powershell
Set-ExecutionPolicy -Scope LocalMachine RemoteSigned Set-Location C:\Path\to\WindowsFirewallRuleset Import-Module .\Modules\Ruleset.Remote Enable-WinRMServer -Protocol HTTPS -KeepDefault -Confirm:$false Enable-RemoteRegistry -Confirm:$false
Dopo aver eseguito questi passaggi, all'interno della directory `\Exports` troverai il file del certificato SSL (*.cer) che deve essere copiato nel computer di gestione, anch'esso nella directory `\Exports`.\
Per impostazione predefinita, viene creato un certificato SSL autofirmato se il computer server non ne possiede già uno.
**NOTA:** La configurazione manuale del computer server viene eseguita una sola volta per l'impostazione iniziale, non è necessario ripeterla per le distribuzioni successive.
Il passo successivo è passare al computer di gestione ed eseguire gli script come desiderato, ad esempio:```powershell
# On management computer
cd C:\Path\to\WindowsFirewallRuleset\Scripts
Deploy-Firewall -Domain "RemoteComputerName"
Entrambi i set di comandi precedenti devono essere eseguiti nella stessa edizione di PowerShell, ad esempio se il server è stato configurato in PowerShell Core, anche il computer client necessita di PowerShell Core per la distribuzione.
Se il server o il computer di gestione è una workstation (ad esempio non un server Windows o parte di un dominio), il suo profilo di rete deve essere impostato su profilo privato.
La distribuzione remota può essere personalizzata in grande dettaglio nelle seguenti posizioni:
Modules\Ruleset.Remote\Scripts\WinRMSettings.ps1Modules\Ruleset.Remote\Scripts\*Firewall.psscModules\Ruleset.Remote\Public\Register-SslCertificate.ps1Modules\Ruleset.Remote\Scripts\SessionSettings.ps1Per ulteriori informazioni e suggerimenti per la risoluzione dei problemi, vedere anche Guida al remoting
Per supporto, segnalazioni di problemi, suggerimenti o personalizzazione di questo repository e metodi per aggiornare periodicamente questo firewall, fare riferimento a SUPPORT.md
Le seguenti funzionalità sono desiderate e potrebbero essere disponibili in futuro:
Amministrazione remota del firewall
Set di regole firewall completi per le edizioni di Windows Server e sistemi gateway dedicati.
Scansione del registro su richiesta o programmata per convalidare l'integrità dei criteri di filtro del firewall attivo e delle impostazioni del firewall
Piena funzionalità per le seguenti edizioni non ancora testate di Windows 10.0
Funzionalità per sistemi x86
Una buona parte del codice è dedicata a fornire una soluzione automatizzata per costruire e definire il firewall specializzato per il sistema di destinazione e gli utenti, riducendo al minimo la necessità di fare qualcosa manualmente, risparmiando così molto tempo prezioso di amministrazione.
| OS | Edizione | Versione | Architettura |
|---|
| Windows 10 | Pro | 1809 - 22H2 | x64 |
| Windows 10 | Pro Education | 20H2 | x64 |
| Windows 10 | Enterprise | 1809 - 20H2 | x64 |
| Windows 10 | Education | 20H2 - 22H2 | x64 |
| Windows 11 | Pro Education | 21H2 | x64 |
| Windows 11 | Pro | 22H2 - 23H2 | x64 |
| Windows 11 | Enterprise | 22H2 | x64 |
| Windows Server 2019 | Essentials | 1809 | x64 |
| Windows Server 2019 | Standard | 1809 | x64 |
| Windows Server 2019 | Datacenter | 1809 | x64 |
| Windows Server 2022 | Standard | 21H2 | x64 |
| Windows Server 2022 | Datacenter | 21H2 | x64 |
sigcheck64.exePATHPotresti voler avere git per controllare gli aggiornamenti, passare facilmente tra i rami o contribuire con codice.
VS Code è l'editor preferito e raccomandato per navigare nel codice e/o modificare gli script per le proprie esigenze o per contribuire.
Se prendi VSCode, avrai bisogno anche dell'estensione PowerShell per la navigazione del codice e le funzionalità del linguaggio PowerShell.
Per navigare e modificare il codice con VSCode, PSScriptAnalyzer è altamente raccomandato, altrimenti l'esperienza di modifica potrebbe comportarsi in modo strano a causa di varie impostazioni del repository.
Non ci sono requisiti hardware, ma se prevedi di scrivere e fare debug del codice, la raccomandazione è di avere almeno 8 GB di memoria e un SSD per lavorare comodamente sul progetto; per distribuire solo regole al tuo firewall personale, meno di quello funzionerà perfettamente.
PPTPIPSecScripts\Complete-Firewall.ps1Set-NetFirewallSettingScripts\Complete-Firewall.ps1Scripts\Deploy-Firewall.ps1Alcuni script richiedono che tu (la scheda di rete) sia connesso alla rete, ad esempio per determinare l'indirizzo broadcast IPv4. (Altrimenti potrebbero generarsi errori)
Tutto sul sistema dovrebbe essere aggiornato perché altrimenti alcune regole potrebbero essere saltate o errate; questo include gli aggiornamenti di Windows, le app del Microsoft Store e tutto il resto del software.
AdministratorsDefaultGroupConfig\ProjectSettings.ps1AdministratorsVedi SecurityAndPrivacy.md per maggiori informazioni sul perché non è consigliabile utilizzare l'account Amministratore per motivi di sicurezza.
Il tuo account amministrativo utilizzato per distribuire il firewall deve avere una password impostata.
Gli aggiornamenti software o di Windows possono rinominare gli eseguibili o le loro posizioni; anche gli account utente possono essere rinominati dall'Amministratore; pertanto è importante ricaricare periodicamente le regole specifiche secondo necessità per aggiornare il firewall alle modifiche di sistema che potrebbero verificarsi in qualsiasi momento.
Questo comportamento è chiamato Regressione del software
Prima di distribuire il firewall, si consiglia di aggiornare il sistema e i programmi utente sul computer di destinazione, incluse le app dello Store di Windows, specialmente se il sistema è stato appena installato perché aggiornare successivamente potrebbe richiedere di ricaricare alcune regole.
Ricorda l'output del comando precedente; nota che PowerShell Core di default è RemoteSigned mentre Windows PowerShell di default è Restricted sulle edizioni non server.
Imposta la politica di esecuzione su unrestricted per poter sbloccare i file del progetto,
(Nota che RemoteSigned funzionerà solo dopo che gli script sono sbloccati)
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
Potrebbe esserti chiesto di accettare la modifica della politica di esecuzione; in tal caso digita Y e premi Invio per accettare.
Per maggiori informazioni vedi Informazioni sulle politiche di esecuzione
A questo punto dovresti "sbloccare" prima tutti i file del repository eseguendo uno script chiamato
Scripts\Unblock-Project.ps1, tra l'altro i file del repository sono stati bloccati da Windows per impedire agli utenti di eseguire codice script non attendibile scaricato da Internet:
.\Scripts\Unblock-Project.ps1
Se richiesto, assicurati che la tua risposta sia R ovvero [R] Run once tante volte quanto necessario per sbloccare il progetto. (circa fino a 8 volte)
Una volta sbloccati i file del repository, cambia la politica di esecuzione in RemoteSigned:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
Potrebbe esserti nuovamente chiesto di accettare la modifica della politica di esecuzione; digita Y e premi Invio per accettare.
Le regole per programmi come il tuo browser web, giochi, ecc. dipendono dalle variabili di installazione.
La maggior parte dei percorsi viene cercata automaticamente e le variabili vengono aggiornate in modo trasparente; altrimenti ricevi un avviso e una descrizione su come risolvere il problema.
Se necessario, puoi trovare queste variabili di installazione negli script individuali all'interno della directory Rules.
Si consiglia di chiudere tutte le console di gestione MMC come gpedit.msc o secpol.msc prima di eseguire lo script principale nel passaggio successivo.
Torna alla console PowerShell ed esegui uno dei due comandi Deploy-Firewall seguenti:
Per distribuire il firewall automaticamente con il minor numero possibile di richieste, esegui:
.\Scripts\Deploy-Firewall.ps1 -Force
Altrimenti per essere guidato interattivamente su quali regole caricare, esegui:
.\Scripts\Deploy-Firewall.ps1
```Premi Invio e ti verranno poste domande su che tipo di set di regole desideri.\
Se hai bisogno di aiuto per decidere se eseguire o meno un set di regole, digita `?` quando ti viene chiesto
di eseguire il set di regole e premi Invio per ottenere maggiori informazioni.\
Se per qualsiasi motivo desideri interrompere e annullare la distribuzione (ad esempio per iniziarne una nuova), premi
`CTRL + C` sulla tastiera mentre PowerShell è attivo e riavvia la console PowerShell.
Segui l'output dei prompt (ad esempio, premi Invio per accettare l'azione predefinita), richiederà circa 15 minuti della tua attenzione.
NOTA: Se l'account amministratore utilizza un account Microsoft per accedere al computer, ti verranno chieste le credenziali, che devono essere l'email e la password Microsoft indipendentemente dal fatto che tu stia utilizzando Windows Hello o meno; specificare il PIN ad esempio non funzionerà e altri metodi di autenticazione di Windows Hello non sono supportati.
Se vengono fornite credenziali non valide, riceverai un errore che dice Access is denied.
Se ciò accade, dovrai riavviare la console PowerShell e riprovare.
Per maggiori informazioni sul perché ciò sia necessario, consulta FAQ
Se incontri errori, puoi ignorarli o aggiornare lo script che ha prodotto l'errore e successivamente eseguire nuovamente quello script specifico.
Al termine, potresti voler regolare alcune delle regole in Criteri di gruppo locali,
non tutte le regole sono abilitate per impostazione predefinita o potresti voler attivare/disattivare il comportamento predefinito di Consenti/Nega.
Le regole potrebbero non coprire tutti i programmi installati sul sistema, nel qual caso è necessario creare le regole mancanti.
Ora vai avanti e testa la tua connessione Internet (ad esempio con un browser web o un altro programma). Se non riesci a connetterti a Internet dopo aver distribuito queste regole, hai diverse opzioni:
docs per ulteriori opzioni di risoluzione dei problemi e documentazioneCome prerequisito per distribuire il firewall, alcuni servizi di sistema sono stati avviati e impostati su
avvio automatico; all'interno della directory Logs troverai Services_<DATE>.log per aiutarti a ripristinare
questi servizi ai valori predefiniti se lo desideri.
Ad esempio, il servizio Windows Remote Management non dovrebbe essere in esecuzione se non necessario
(il valore predefinito è "Avvio manuale")