Formazione e Tecnologia

Powershell

Interrogare il firewall di Windows usando Powershell.

Interrogare il firewall di Windows usando Powershell.

Abbiamo già scritto della localizzazione delle regole del firewall di Microsoft Windows usando Powershell; tuttavia, una semplice lista dei nomi è solo il primo passo.

Dalla ricerca della regola vogliamo ottenere anche le informazioni relative all’applicazione interessate, agli indirizzi coinvolti e alle porte.

Tutto questo sempre per via del fatto che a noi cercare le regole nel pannello grafico di Microsoft Windows infastidisce molto ed inoltre abbiamo piacere nel poter eseguire le operazioni anche attraverso degli script e un RMM.

Purtroppo Powershell non dispone nativamente di un unico cmdlet per avere tutte le informazioni, diventa pertanto necessario richiedere i vari elementi della regola a cmdlet diversi, in questo articolo andiamo ad illustrare una strada spartana per la raccolta dei dati, con una strada illustrata in passato è possibile aggregare le informazioni in un’unica matrice.

Tabella dei Contenuti

Quattro cmdlet per interrogare il firewall

La visualizzazione delle regole esistenti di Microsoft Windows attraverso Powershell è molto semplice, in questo contesto vedremo solo i comandi di visualizzazione della regola, dei programmi, degli indirizzi e delle porte.

I comandi chiave di questo articolo sono i seguenti e il loro nome ne spiega l’uso:

Sono disponibili ulteriori cmdlet per aumentare il dettaglio di informazioni… Continua a leggere

Pulizia dei profili di Microsoft Windows con Powershell.

Pulizia dei profili di Microsoft Windows con Powershell.

L’impiego di sistemi di centralizzazione delle utenze implica che le persone possano usare le une i computer delle altre per specifiche esigenze lavorative, una situazione che si verifica sovente anche nel caso di postazioni di lavoro con utenze locali.

Con il passare del tempo è del tutto naturale che questi profili, così si chiamano, permangano dimenticati nei diversi computer, in aggiunta a quelli dei collaboratori non più presenti o passati in altri uffici con nuove postazioni di lavoro.

L’accumulo può portare al fatidico allarme di spazio disco in esaurimento, anticipato dal sempre presente RMM, il palesarsi dell’allarme è tanto più rapido nel tempo, quanto più è piccola la capacità del disco.

La pulizia di questi profili vaganti deve essere eseguita con prudenza, così da evitare la cancellazione di utenti che ancora operano sulla postazione o, peggio, di profili di sistema.

Esistono diverse strade per compiere questa operazione, una è quella di usare gli strumenti grafici interni di computer/server; tuttavia, quella che prediligiamo è costituita da due comandi Powershell integrati in una procedura del RMM.

Il passaggio da Powershell ha inoltre tempi di cancellazione molto più rapidi rispetto alla versione grafica.

Tabella dei Contenuti

Individuare i profili presenti

L’individuazione dei profili passa come spesso accade dall’interrogazione del database CIM di Windows, dal quale si individuano i percorsi nel filesystem e conseguentemente l’utenza associata.

Get-CimInstance -ClassName win32_userprofile | Select-Object LocalPath,LastUsetime

Al comando applichiamo un filtro di… Continua a leggere

Leggere il firewall Windows con Powershell.

Leggere il firewall Windows con Powershell.

Il firewall di Microsoft Windows è spesso un elemento trascurato; tuttavia, anche in presenza di soluzioni antivirus è un componente da non dimenticare.

Averlo attivo fornisce un livello di protezione da parte di accessi esterni e un elemento di blocco per alcune operazioni svolte dal computer/server verso il mondo esterno.

La configurazione automatica da parte di applicazioni installate può lasciare delle regole di apertura dopo la dismissione dei programmi, oppure potrebbero sussistere dei blocchi di navigazione che impattano con altri programmi di uso produttivo.

Per noi la ricerca delle regole nella lista del firewall di Microsoft Windows è sempre stata un’operazione fastidiosa, troppe regole sparse e non sempre chiaramente identificabili o sovente che sfuggono alla vista in quanto hanno nomi simili ad altre regole.

Alla fine, abbiamo deciso, come sempre, di usare Powershell. Lo usiamo direttamente nella console Powershell del computer, da quella remota dell’agente del RMM o direttamente negli script del RMM.

Tabella dei Contenuti

Tre cmdlet per domare il firewall

La manipolazione delle regole esistenti di Microsoft Windows attraverso Powershell è molto semplice, in questo contesto vedremo solo i comandi di visualizzazione, attivazione e disattivazione delle regole.

Per la creazione di nuove regole o la loro rimozione è richiesta una maggiore attenzione, ne parleremo in un successivo articolo.

I comandi chiave di questo articolo sono i seguenti e il loro nome ne spiega l’uso:

Avere in automatico i diagnostici che servono.

Avere in automatico i diagnostici che servono.

Da molti anni automatizziamo in modo massivo le diverse operazioni sui server e sui computer, per farlo ci affidiamo ovviamente ad un RMM, nello specifico la soluzione Datto RMM.

Tuttavia, il meglio lo otteniamo creando delle procedure per svolgere delle specifiche operazioni sfruttando la configurabilità dei sistemi operativi Microsoft Windows attraverso i comandi Powershell e la modifica delle chiavi di registro.

Per ottimizzare la realizzazione delle procedure abbiamo deciso di realizzare dei moduli di base di Powershell da installare sui sistemi gestiti e contenenti dei cmdlet che eseguono delle operazioni complesse restituendo un semplice output filtrato con le informazioni necessarie.

Una situazione in cui ci imbattiamo con regolarità è quella di dover generare dei report di varia natura e di non poterne disporre direttamente in modo rapido e protetto.

Nuovamente con l’aiuto dei moduli abbiamo deciso di sfruttare la flessibilità del protocollo SSH al fine di veicolare i report da analizzare verso un sistema di raccolta.

Tabella dei Contenuti

La decisione ha un motivo operativo

Lo scopo di un RMM è quello di poter eseguire con rapidità e tempestività le azioni necessarie a mantenere operativi al meglio della loro efficienza i sistemi gestiti, di conseguenza il ridurre i tempi di potenziali disservizi.

L’utilizzo dei monitor in tempo reale permette di avere gli allarmi desiderati al verificarsi di specifici eventi; tuttavia, non sempre permette di avere immediatamente disponibili le estrazioni delle informazioni di funzionamento del sistema allarmato,… Continua a leggere

Individuare elementi anomali nelle code di BitsTransfer.

Individuare elementi anomali nelle code di BitsTransfer.

Uno dei tanti canali di infiltrazione di malware o esfiltrazione di informazioni è BitsTransfer (Background Intelligent Transfer Service), una utility utilizzata da alcuni programmi per gli aggiornamenti e da altri per la sincronizzazione di contenuti, la scelta di questo canale è la sua velocità.

Dobbiamo ammettere che lo utilizziamo anche noi per il trasferimento di report, con gli opportuni accorgimenti per evitare che l’EDR di MalwareBytes, da noi utilizzato come soluzione anti-malware, intervenga bloccando il trasferimento.

La nostra scelta è stata quella di perfezionare gli script e non di limitare i controlli dell’anti-malware.

Da diversi anni abbiamo realizzato procedure in Powershell per il controllo delle code di BitsTransfer per tutti gli utenti del sistema, quest’anno siamo arrivati ad un’ottimizzazione dell’analisi che abbiamo decido di condividere.

L’impiego è utile per avere allarmi da parte di un sistema RMM, nel nostro caso Datto RMM.

Tabella dei Contenuti

Obiettivo della procedura monitor

L’analisi deve controllare con una cadenza temporale frequente (60 – 120 secondi) e regolare il contenuto delle code associate agli utenti del sistema, a tale scopo è utilizzabile il cmdlet Get-BitsTransfer, che richiede il caricamento di una specifico modulo Powershell.

Output del cmdle Get-BitsTransfer.

Output del cmdle Get-BitsTransfer.

L’output ottenuto può contenere dei valori per i quali non desideriamo avere degli allarmi, in quanto noti e considerati leciti. Questo filtro rende necessario fornire una lista di esclusione, contenente gli elementi da non considerare.

Eliminati dal output i… Continua a leggere