martedì 21 febbraio 2023

Windows Server 2022: Installazione versione Datacenter con Desktop Experience e Server Core

In questo articolo verrà mostrata, passo passo, l'installazione di Windows Server 2022 Datacenter con Desktop Experience. L'installazione è molto veloce e i passaggi sono molto semplici e analoghi a quelli visti per l'installazione di Windows Server 2019.  

Avviare il sistema con il supporto di installazione preparato in precedenza. Apparirà la schermata mostrata in FIG 1 con la scritta Press any key to boot from CD or DVD. Premere un tasto per avviare l'installazione del sistema operativo dal supporto.
Press any key to boot from CD or DVD
FIG 1 - Press any key to boot from CD or DVD

La prima schermata che appare all'avvio dell'installazione è quella mostrata in FIG 2 dove viene richiesto di specificare la Lingua da installare, Formato ora e valuta e il Layout della tastiera. Generalmente sono già selezionate le opzioni che fanno al caso nostro, in caso contrario basta selezionare l'opzione desiderata dai menu a tendina e cliccare su Avanti per proseguire nell'installazione.
Configurazione del sistema operativo Microsoft Server
FIG 2 - Configurazione del sistema operativo Microsoft Server

Nella schermata successiva abbiamo il pulsante Installa ben in evidenza al centro della schermata e il link Ripristina il computer in basso a sinistra. Quest'ultimo può essere utilizzato per riparare un'installazione precedente danneggiata. Dato che nel nostro caso stiamo procedendo ad una nuova installazione, cliccare sul pulsante Installa per proseguire.
Installa
FIG 3 - Installa

In questa fase è possibile procedere all'inserimento del Product Key (generalmente fornito nell'email di conferma ricevuta dopo l'acquisto di una copia digitale del sistema operativo) per l'attivazione del prodotto. Se si sta reinstallando il sistema operativo, se si intende provare Windows Server 2022 prima dell'attivazione o se si intende comunque attivarlo in seguito, cliccare sul link Non ho un codice Product Key. In caso contrario digitare il Product Key nell'apposita casella e cliccare sul pulsante Avanti.
Product Key
FIG 4 - Product Key

Windows Server 2022 può essere installato in quattro diverse versioni: versione Standard, versione Standard con Desktop Experience, versione Datacenter e versione Datacenter con Desktop Experience. Le versioni Desktop Experience (esperienza desktop) sono dotate di interfaccia grafica (GUI) simile a quella che già conosciamo in Windows 10. Le altre versioni, invece, installano solo il sistema operativo senza alcuna interfaccia grafica e sono conosciute come versioni Core. Selezionare la versione di Windows Server 2022 che si desidera installare. Nel nostro caso selezioniamo la versione Windows Server 2022 Datacenter (esperienza desktop) e clicchiamo su Avanti.
Seleziona il sistema operativo da installare
FIG 5 - Seleziona il sistema operativo da installare

Accettare i termini di licenza mettendo un flag sull'apposita casella (Accetto le Condizioni di licenza software Microsoft) e cliccare su Avanti.
Condizioni di licenza
FIG 6 - Condizioni di licenza

A questo punto vengono proposte due scelte sul tipo di installazione desiderato. La prima consente di aggiornare una versione esistente di Windows Server mantenendo i file personali, le impostazioni e le applicazioni installate. La seconda opzione consente una nuova installazione di Windows. Trattandosi di una nuova installazione di Windows Server 2022, selezionare l'opzione Personalizza: installa solo il sistema operativo Microsoft Server (avanzato).
Tipo di installazione
FIG 7 - Tipo di installazione

Il passo successivo consiste nel predisporre/selezionare il disco e la partizione in cui Windows Server 2022 verrà installato. In questo caso, trattandosi di nuova installazione e disponendo di un disco dedicato al sistema operativo, non abbiamo particolari esigenze sull'impostazione di partizioni di dimensioni personalizzate. Selezionare Spazio non allocato e cliccare su Avanti per lasciare alla procedura guidata di installazione il compito della creazione delle partizioni. In questo modo si passa direttamente alla copia dei file e all'installazione (FIG 12). 
Se il server utilizza un firmware UEFI verranno create tre partizioni:
  1. Partizione di sistema EFI (EFI system partition). La partizione è di circa 100MB e contiene i file necessari al processo di avvio di Windows Server 2022.
  2. Microsoft Reserved (MSR) partizione riservata di circa 16MB.
  3. Partizione di Boot (Boot partition). La partizione occupa il restante spazio su disco e contiene i file del sistema operativo e il file di paging.
Se il server utilizza il firmware BIOS verranno create solo due partizioni:
  1. Partizione di sistema (System partition) di circa 100MB contenente i tool di recovery e i file necessari al boot del sistema operativo. 
  2. Partizione di Boot (Boot partition) che occupa il restante spazio del disco e contiene i file di Windows Server 2022 e il file di paging.
Selezione partizione per l' installazione
FIG 8 - Selezione partizione per l' installazione

Cliccando invece sul link Nuovo, possiamo specificare, nell'apposita casella, la dimensione della partizione da creare (FIG 9). Cliccando su Applica un messaggio ci avvisa che verranno create partizioni aggiuntive per garantire il corretto funzionamento di tutte le funzionalità di Windows (FIG 10). Cliccare su OK per visualizzare le partizioni che verranno create (FIG 11) quindi cliccare su Avanti per accettare e applicare il partizionamento e proseguire.
Creazione nuova partizione
FIG 9 - Creazione nuova partizione

Partizioni aggiuntive
FIG 10 - Partizioni aggiuntive
Creazione partizioni
FIG 11 - Creazione partizioni

A questo punto la procedura inizierà a copiare i file su disco e ad installare il sistema operativo e le sue funzionalità. Al termine dell'operazione il sistema verrà riavviato e verrà caricato il nuovo sistema operativo.
Copia dei file del sistema operativo e installazione
FIG 12 - Copia dei file del sistema operativo e installazione

Al primo avvio viene richiesto di inserire e confermare la password per l'utente Administrator. Digitare una password complessa contenente lettere maiuscole/minuscole, numeri e qualche carattere speciale (opzionale) altrimenti non verrà accettata (si veda FIG 14). Inserire due volte la password desiderata e cliccare su Fine.
Primo avvio e impostazione password per account Administrator
FIG 13 - Primo avvio e impostazione password per account Administrator

Password Administrator non accettata in quanto non rispetta i requisiti
FIG 14 - Password Administrator non accettata in quanto non rispetta i requisiti

Dopo qualche secondo apparirà la schermata di blocco in cui si invita l'utente a premere la combinazione CTRL+ALT+CANC per eseguire il logon. Premere la combinazione di tasti indicata.
Schermata di blocco
FIG 15 - Schermata di blocco
Nella schermata di logon inserire la password per l'utente Administrator e premere invio per eseguire l'accesso al sistema.
Schermata di logon
FIG 16 -  Schermata di logon

Dopo qualche secondo veniamo accolti da un messaggio che ci invita ad utilizzare Windows Admin Center (FIG 17),un'app basata su browser che consente la gestione dei server all'interno dell'infrastruttura. Chiusa la finestra del messaggio ci troveremo davanti alla finestra di Server Manager (FIG 18).
Prova Windows Admin Center
FIG 17 - Prova Windows Admin Center

Dashboard Server Manager
FIG 18 - Dashboard Server Manager

L'installazione di Windows Server 2022 Datacenter (esperienza desktop) è conclusa.


Installazione Windows Server 2022 Datacenter Server Core

I passaggi per l'installazione della versione Core sono uguali (ad eccezione, ovviamente, della selezione del sistema operativo senza l'esperienza desktop) a quelli visti per la versione Desktop Experience fino al primo riavvio dopo la copia dei file (FIG 12). Dopo il primo riavvio, la schermata che ci viene presentata è quella mostrata in FIG 19 in cui viene richiesto di modificare la password di Administrator. Selezionare OK e premere Invio.
Modifica password Administrator
FIG 19 - Modifica password Administrator

Digitare due volte la nuova password che si intende attribuire all'account Administrator quindi premere Invio per proseguire.
Nuova password per Administrator
FIG 20 - Nuova password per Administrator
Nella schermata successiva veniamo avvisati che la password è stata cambiata. Premere Invio.
Password cambiata
FIG 21 - Password cambiata

A questo punto ci viene mostrata la finestra di SConfig da cui è possibile procedere alla configurazione del nostro server. Per gli esperti, la configurazione del server può essere eseguita anche tramite PowerShell.
SConfig
FIG 22 - SConfig







domenica 19 febbraio 2023

Windows Server 2022: Introduzione

Windows Server 2022 è un sistema operativo per server rilasciato da Microsoft il 1º settembre 2021. Il sistema operativo fa parte della famiglia Windows NT ed è il successore di Windows Server 2019. Microsoft, nel corso degli anni, continua a migliorare il suo sistema operativo per server. Sebbene Windows Server 2022 non introduca cambiamenti radicali, offre alcune nuove funzionalità, tra cui miglioramenti alla sicurezza, ai servizi e all'amministrazione del sistema. In particolare tra le nuove funzionalità presenti troviamo:

Secured-core server (server protetto)
Questi sistemi richiedono alcune specifiche hardware, come ad esempio un modulo TPM 2.0, per utilizzare funzioni di sicurezza avanzate . Il modulo TPM (Trusted Platform Module) 2.0 può essere utilizzato per vari scopi tra cui l'archiviazione sicura delle chiavi e una migliore protezione all'avvio da parte di BitLocker. Microsoft offre anche maggiori protezioni contro gli attacchi a livello di firmware e la sicurezza basata sulla virtualizzazione (VBS).

Richieste di risoluzione dei nomi DNS crittografate con DoH
Le richieste DNS possono ora essere effettuate tramite Hypertext Transfer Protocol Secure (HTTPS), utilizzando un canale canale crittografato. Questa nuova funzionalità è denominata DNS-over-HTTPS (DoH).

Sicurezza del livello di trasporto (HTTPS e TLS)
In Windows Server 2022, sia HTTPS che TLS 1.3 sono abilitati per impostazione predefinita e consentono una migliore protezione della connessione di rete.

Sicurezza del Server Message Block (SMB)
Windows Server 2022 apporta diversi miglioramenti alla sicurezza del Server Message Block (SMB). SMB può ora essere utilizzato tramite il protocollo QUIC anziché il Transmission Control Protocol (TCP) consentendo, in questo modo, di sfruttare la crittografia TLS 1.3. SMB Direct supporta la crittografia con un impatto minimo sulle prestazioni inoltre il traffico tra cluster di storage in Storage Spaces Direct può ora essere crittografato.

Funzionalità ibride di Azure
Nel nuovo sistema operativo è disponibile Azure Arc, che fornisce una gestione centralizzata dei server, e Azure Automanage Hotpatch, che consente aggiornamenti senza riavvio. 

Windows Admin Center
Tra i miglioramenti apportati a Windows Admin Center troviamo l'aggiunta del supporto alle nuove funzionalità dei server secured-core.

Supporto migliorato per i Windows Container
Le dimensioni delle immagini dei container sono state notevolmente ridotte ed è stato aggiunto un maggiore supporto per Kubernetes (il sistema open-source di orchestrazione e gestione di container).

Prestazioni di rete
Le prestazioni del protocollo TCP e del protocollo UDP (User Datagram Protocol) sono state migliorate.

Microsoft Edge
Microsoft Edge ha sostituito Internet Explorer come browser predefinito in Windows Server 2022.

Miglioramenti nell'archiviazione
Grazie a miglioramenti apportati al Storage Migration Service, la migrazione dei dati è stata semplificata.
Storage Spaces Direct presenta 2 grandi novità:
    1. La velocità di riparazione dello storage regolabile dall'utente che consente agli utenti di specificare quante risorse allocare per la riparazione dei dati o per soddisfare le esigenze di storage attivo.
    2. La disponibilità della cache del bus di archiviazione sui sistemi non clusterizzati che consente di creare uno storage a livelli su un server stand-alone.


Versioni di Windows Server 2022

Windows Server 2022 è disponibile solo come sistema operativo a 64 bit (non esiste una versione a 32 bit) e viene distribuito in 3 versioni: Essentials, Standard, e Datacenter (è presente anche un'ulteriore versione Datacenter: Azure Edition). 

Essentials
La versione Essentials è ideale per le piccole organizzazioni (con un numero di utenti non superiore a 50). Rappresenta una soluzione economica e offre funzionalità di base sufficienti per svolgere la maggior parte dei lavori. Le caratteristiche dell'edizione Essentials sono:
    • Supporta fino a due core di CPU
    • Supporta un massimo di 64 GB di RAM (memoria ad accesso casuale)

Standard
L'edizione Standard è ideale per ambienti fisici o poco virtualizzati. Le caratteristiche dell'edizione Standard includono:
    • Fino a due contenitori Hyper-V e un numero illimitato di container Windows Server
    • Supporto HGS e Nano Server
    • Storage Replica (con alcune limitazioni)

Datacenter
L'edizione Datacenter ha le stesse caratteristiche dell'edizione Standard e alcune caratteristiche aggiuntive che la rendono ideale per le organizzazioni con molte esigenze di virtualizzazione, con la necessità di utilizzare la tecnologia software-defined networking (SDN) o che necessitano di opzioni di storage avanzate. Alcune di queste caratteristiche sono le seguenti: 
    • Container Hyper-V e container Windows illimitati
    • Macchine virtuali Hyper-V illimitate e supporto per macchine virtuali schermate
    • Storage Replica (illimitato) e Storage Spaces Direct
    • Supporto alla tecnologia software-defined networking (SDN)
    • Controller di rete
    • Supporto Host Guardian Hyper-V
Esiste anche una versione specializzata di Windows Server Datacenter denominata Azure Edition. Windows Server 2022 Datacenter: Azure Edition offre maggiore integrazione con il cloud Microsoft Azure. Tale versione è disponibile solo attraverso Microsoft Azure (installandola come macchina virtuale in Azure) e non è possibile installarla sui propri sistemi on-premises né eseguirla sui propri hypervisor.
Le nuove funzionalità includono le seguenti:
    • Azure Extended Network
    • Hotpatching
    • SMB over QUIC
    • Supporto per macchine virtuali schermate


Nelle seguenti tabelle vengono evidenziate le differenze in termini di funzionalità, ruoli e limiti, tra la versione Standard e quella Datacenter.
Funzionalità generali Standard Datacenter Datacenter: Azure Edition
Rete estesa di Azure
No
No
Con patch a caldo
No
No
SMB su QUIC
No
No
Rete software-defined
No
Replica archiviazione

(1 in collaborazione e 1 gruppo di risorse con un volume singolo da 2 TB)
Sì, illimitato
Sì, illimitato
Spazi di archiviazione diretta
No
Attivazione ereditata
Come guest se ospitato in Datacenter Può essere un host o un guest Può essere un host o un guest


Blocchi e limiti, Ruoli e funzionalità Standard Datacenter
Utilizzabile come guest di virtualizzazione

due macchine virtuali,
più un host Hyper-V per licenza

macchine virtuali illimitate,
più un host Hyper-V per licenza
Ruolo di Controller di rete
No
Supporto Sorveglianza host Hyper-V
No


Per maggiori dettagli sulle differenze tra le versioni è possibile consultare l'apposita pagina dal sito Microsoft.


Windows Server 2022 User Experiences

Windows Server 2022 offre due esperienze utente tra cui scegliere: Desktop Experience e Server Core. Quale utilizzare dipenderà dal carico di lavoro che si desidera supportare e dai requisiti organizzativi. La decisione su quale User Experience installare va valutata con attenzione: a partire da Windows Server 2016 non è più possibile passare da Server Core a Server con Desktop Experience (o viceversa) in maniera indolore ma è necessario reinstallare il sistema.

Desktop Experience
Desktop Experience è l'interfaccia grafica standard (GUI) utilizzata nelle versioni precedenti dei sistemi operativi Windows Server. Consente di interagire con il sistema tramite pulsanti e menu piuttosto che tramite la riga di comando. La GUI (Graphical User Interface) dei sistemi operativi server di Microsoft si rifà a quello delle versioni client: Windows Server 2008 R2 si rifà al look di Windows 7 mentre in Windows Server 2012 l'utente ritrova lo stesso feeling presente in Windows 8. Nelle versioni Windows Server 2016, Windows Server 2019 e Windows Server 2022 invece, troviamo lo stesso aspetto di Windows 10. La Desktop Experience facilita l'amministrazione del server anche agli amministratori di sistema principianti.
Desktop Experience
FIG 1 - Desktop Experience

Server Core
Server Core offre un'interfaccia molto più spartana quando ci si collega alla console. Si viene accolti da una finestra di comando dall'aspetto familiare in cui viene richiesto il nome utente e la password. Dopo aver effettuato l'accesso, viene presentata la finestra sconfig. Quando si sceglie di passare alla riga di comando da sconfig, viene visualizzata una finestra PowerShell con cui interagire. La configurazione iniziale viene eseguita con l'utilità sconfig, anche se può essere eseguita tramite uno script PowerShell o una Desired State Configuration (DSC) di PowerShell
Server Core, sconfig
FIG 2 - Server Core, sconfig

Nano
Non è disponibile attraverso il normale programma di installazione sul disco, ma è necessario scaricare l'immagine del contenitore da Microsoft. Nano offre un'interfaccia ancora più semplice e una console molto più limitata, denominata Recovery Console. Ha un ingombro molto più ridotto, sia in termini di disco che di CPU, rispetto a Desktop Experience o Server Core ed è ideale per l'esecuzione di applicazioni .NET Core. Poiché l'ingombro complessivo è minore, anche la superficie di attacco è ridotta. 
Nano è disponibile solo come immagine del sistema operativo di base per container e può essere eseguito solo come container su un host container, non può essere gestito tramite Criteri di gruppo e per la gestione su vasta scala è necessario utilizzare PowerShell DSC. É possibile eseguire il download delle immagini del server Nano dal registro dei container di Microsoft su DockerHub con il seguente comando:
docker pull mcr.microsoft.com/windows/nanoserver
Sul sito https://hub.docker.com/_/microsoft-windows-nanoserver sono presenti ulteriori informazioni sulle immagini del container Nano Server disponibili.


Prerequisiti

Microsoft pubblica i prerequisiti per ciascuno dei suoi sistemi operativi. Una delle cose fondamentali prima di avviare l'installazione è quella di assicurarsi che tutti i prerequisiti di Windows Server 2022 siano soddisfatti. Alcuni dei requisiti hardware sono indipendenti dall'edizione di Windows Server che si intende installare altri requisiti hardware variano a seconda che si installi Server con Desktop Experience o Server Core. Per la maggior parte, non ci sono molte differenze tra i requisiti minimi di Server Core e quelli di Server con Desktop Experience ad eccezione della quantità di memoria ad accesso casuale (RAM). Il requisito minimo per l'installazione di Server Core è 512 MB di RAM, mentre per Server con Desktop Experience sono necessari almeno 2 GB di RAM. I prerequisiti descritti di seguito sono quelli minimi. Per le specifiche hardware più adatte alle proprie esigenze va tenuto conto del carico di lavoro che si andrà ad eseguire.

CPU
I requisiti della CPU per Windows Server 2022 sono facilmente soddisfatti dalla maggior parte dei processori moderni:
  • Processore da 1,4 GHz a 64 bit
    Considerando che il sistema operativo è un sistema x64, è logico che anche il processore debba avere un'architettura a 64 bit. Il requisito dei 1,4 GHz viene soddisfatto anche dai processori più economici e di fascia bassa.
  • Supporto No Execute (NX)
    Quando il bit NX è abilitato su determinate aree di memoria, il processore non esegue nulla in quello spazio di memoria, il che fornisce una protezione contro il malware. Le aree protette dal bit NX contengono solitamente elementi quali istruzioni del processore o dati. Intel si riferisce a questa tecnologia come XD (abbreviazione di Execute Disable) mentre i processori AMD la chiamano Enhanced Virus Protection (EVP).
  • Supporto alla prevenzione dell'esecuzione dei dati (DEP, Data Execution Prevention)
    La tecnologia DEP fornisce una protezione aggiuntiva contro il malware che può prendere di mira le posizioni di memoria.
  • Supporto CMPXCHG16b, LAHF/SAHF e PrefetchW
    Queste impostazioni sono specifiche del processore (sono stati pubblicati diversi whitepaper su tali specifiche). CMPXCHG16b è un set di istruzioni supportato dalla maggior parte dei moderni processori x86_64. Load AH from Flags (LAHF)/Store AH into Flags (SAHF) vengono utilizzati per il supporto alla virtualizzazione. PrefetchW migliora le prestazioni quando si utilizzano processori AMD. 
  • Supporto alla traduzione degli indirizzi di secondo livello (Extended Page Table [EPT] o Nested Page Table [NPT])
    Questa funzione è particolarmente importante se si prevede di eseguire Hyper-V. Migliora le prestazioni delle macchine virtuali sul sistema e toglie un po' di pressione all'hypervisor migliorandone le prestazioni.

RAM (Random Access Memory)
La memoria ad accesso casuale (RAM) viene utilizzata dal server per memorizzare le cose a cui è necessario accedere subito e quelle a cui potrebbe essere necessario accedere nel prossimo futuro. La RAM è molto più veloce della memoria persistente, quindi un server con molta RAM avrà prestazioni migliori. La RAM deve essere di tipo ECC (Error Correcting Code). La memoria di tipo ECC è in grado di correggere gli errori di un singolo bit (ad esempio, se un'interferenza elettrica inverte un bit in errore, l'uso del bit di parità può garantire la correzione dei dati in memoria). Come indicato precedentemente, la quantità minima di RAM consigliata varia a seconda della versione di Windows Server 2022 che si intende installare: Server Core richiede un minimo di 512 MB di RAM, mentre Server con Desktop Experience richiede un minimo di 2 GB di RAM

Disco
Per l'installazione di Windows Server 2022 sono necessari almeno 32 GB di spazio sul disco rigido. Questo è lo spazio minimo indispensabile per l'installazione del sistema operativo. Se si dispone solo di 32 GB, non sarà possibile installare nient'altro. Visto il costo per GB dei moderni Hard Disk, anche questo prerequisito non rappresenta una grossa limitazione tuttavia, se lo spazio di archiviazione a disposizione è limitato, è possibile pensare all'installazione di Windows Server Core che richiede 4 GB in meno rispetto a Windows Server con Desktop Experience.

Adattatore di rete
L'adattatore di rete, detto anche scheda di interfaccia di rete (NIC), consente al server di connettersi alla rete e comunicare. Per Windows Server 2022, la scheda di rete deve supportare almeno una rete Ethernet gigabit.  L'adattatore di rete deve supportare il Pre-boot Execution Environment (PXE), un metodo per eseguire il boot di un computer utilizzando una connessione di rete ethernet ed il supporto di un server, senza bisogno di una unità di memoria di massa. È quello che la maggior parte delle organizzazioni usa oggi per eseguire l'immagine dei sistemi da un server di imaging centrale come Windows Deployment Services o System Center Configuration Manager.

Firmware UEFI
L'interfaccia UEFI (Unified Extensible Firmware Interface) ha ormai sostituito il tradizionale Basic Input-Output System (BIOS). Per l'avvio protetto è richiesto un firmware basato su UEFI 2.3.1c.

TPM (Trusted Platform Module) 2.0
La maggior parte delle schede madri è oggi dotata di un chip TPM (Trusted Platform Module) 2.0. Se si intende eseguire la crittografia del disco con BitLocker, questo è un elemento indispensabile.

Monitor
È ovvio che durante l'installazione del sistema operativo è necessario poter vedere cosa succede sul server. Windows Server 2022 richiede una connessione Super Video Graphics Array (SVGA) con una risoluzione minima di 1024 x 768. È possibile ottenere questo risultato collegando un monitor fisico al server o visualizzando il flusso video attraverso un KVM (Keyboard, Video, Mouse).
Le KVM consentono di utilizzare una tastiera, un monitor (video, nell'acronimo inglese) e un mouse per amministrare più server. Le KVM più vecchie richiedevano la presenza fisica sul posto per utilizzare la tastiera, il monitor e il mouse. Le moderne KVM consentono di amministrare i server in remoto tramite un servizio Web e forniscono funzionalità simili a quelle che si otterrebbero collegando fisicamente una tastiera, un monitor e un mouse al server.

Tastiera e mouse
È possibile collegare una tastiera e un mouse direttamente al server durante l'imaging oppure presentarli al sistema tramite un KVM. In ogni caso, è necessario disporre di una tastiera e di un mouse di qualche tipo per interagire con il sistema.


Preparazione supporto di installazione

Una volta recuperata l'immagine ISO di Windows Server 2022 bisogna procedere alla creazione del supporto per l'installazione su una macchina fisica. Se si dispone di un masterizzatore (e di un lettore DVD sul server) è possibile masterizzare l'immagine su un supporto DVD cliccando sul file ISO con il tasto destro del mouse e selezionando Masterizza immagine disco o utilizzando, in alternativa, uno dei tanti programmi di masterizzazione come ad es. Nero Burning Rom, ImgBurn, CDBurnerXP, ecc. 
Per installare Windows Server 2022 mediante unità di memoria di massa collegata alla porta USB del server è possibile utilizzare appositi tool come Rufus, Balena Etcher o Ventoy per creare una pendrive bootable con l'immagine ISO del sistema operativo. 
Se il server da installare farà parte di un'infrastruttura già esistente, l'installazione probabilmente potrà essere avviata tramite rete utilizzando Windows Deployment Services o System Center Configuration Manager
Se si tratta di un server stand-alone da aggiornare, allora l'immagine ISO può essere montata direttamente all'interno del sistema operativo obsoleto e avviare manualmente il setup di Windows Server 2022. In questo caso, oltre a verificare se la versione di Windows server presente sulla macchina sia aggiornabile a Windows Server 2022, è necessario assicurarsi che eventuali software installati siano compatibili con la nuova versione del sistema operativo server.

Prima di partire con l'installazione assicurarsi di disporre di tutti i driver relativi all'hardware su cui si andrà ad installare il sistema operativo Windows Server.




giovedì 16 febbraio 2023

Linux: Mostrare i colori base supportati nella finestra terminale

Per visualizzare i colori di base del testo del terminale è possibile utilizzare il comando
printf "\e[%dm%d dark\e[0m \e[%d;1m%d bold\e[0m\n" {30..37}{,,,}

Utile nel caso si voglia visualizzare i colori di base prima di andarli a modificare nelle preferenze.
Colori di base Terminale
FIG 1 - Colori di base Terminale





mercoledì 15 febbraio 2023

Linux: Elencare tutti i socket TCP aperti

Il comando lsof (list open files) è un comando dei sistemi operativi Unix e Unix-like che permette di visualizzare informazioni sui file aperti dai processi in esecuzione. Dato che in ambiente *nix anche l'accesso a dispositivi, socket e pipe avviene come se fossero dei normali file, è possibile utilizzare lsof per analizzarli.
Questo rende lsof un utile strumento per i sistemisti nella raccolta di informazioni diagnostiche sul sistema.

Per elencare tutti i socket TCP aperti e da quali processi è possibile utilizzare il comando
sudo lsof -i TCP
lsof, mostra tutti i socket TCP aperti
FIG 1 - lsof, mostra tutti i socket TCP aperti

Per visualizzare quali processi utilizzano la porta 80 in locale o in remoto. 
sudo lsof -i TCP:80
lsof, processi che utilizzano la porta TCP 80
FIG 2 - lsof, processi che utilizzano la porta TCP 80


Per elencare tutti i file aperti da un singolo processo indicando il suo PID 
sudo lsof -p 747
lsof, file aperti da uno specifico processo
FIG 3 - lsof, file aperti da uno specifico processo








martedì 14 febbraio 2023

PowerShell: Creare una nuova attività pianificata

Utilizzando il cmdlet New-ScheduledTask presente in PowerShell è possibile creare una nuova istanza di attività pianificata.
Il cmdlet New-ScheduledTask crea un oggetto che contiene la definizione di un'attività pianificata. New-ScheduledTask non registra automaticamente l'oggetto con il servizio Task Scheduler.

È possibile registrare un'attività per eseguire uno dei seguenti tipi di applicazioni o file: applicazioni Win32, applicazioni Win16, applicazioni OS/2, applicazioni MS-DOS, file batch (.bat), file di comando (.cmd) o qualsiasi altro tipo di file correttamente registrato.

Sintassi

New-ScheduledTask
   [[-Action] <CimInstance[]>]
   [[-Description] <String>]
   [[-Principal] <CimInstance>]
   [[-Settings] <CimInstance>]
   [[-Trigger] <CimInstance[]>]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [<CommonParameters>]
   

Parametri

-Action
Specifica una serie di elementi di lavoro per l'esecuzione di un'attività. Quando si specificano più azioni, queste vengono eseguite in sequenza. Un'attività può avere fino a 32 azioni.

-AsJob
Esegue il cmdlet come job in background. Questo parametro viene utilizzato per l'esecuzione di comandi che richiedono molto tempo per essere completati. 

-CimSession
Esegue il cmdlet in una sessione remota o su un computer remoto. Al parametro va passato il nome di un computer o un oggetto di sessione, ad esempio l'output di un cmdlet New-CimSession o Get-CimSession. L'impostazione predefinita è la sessione corrente sul computer locale.  

-Description
Descrizione breve del task.

-Principal
Specifica il contesto di sicurezza in cui viene eseguito un task.

-Settings
Specifica un oggetto di configurazione che il servizio Task Scheduler utilizza per determinare come eseguire un'attività.

-ThrottleLimit
Specifica il numero massimo di operazioni contemporanee che possono essere stabilite per eseguire il cmdlet. Se questo parametro viene omesso o viene inserito un valore pari a 0, Windows PowerShell calcola un limite di throttle ottimale per il cmdlet in base al numero di cmdlet CIM in esecuzione sul computer. ThrottleLimit si applica solo al cmdlet corrente, non alla sessione o al computer.

-Trigger
Specifica un array di uno o più oggetti trigger che causano l'avvio di un'attività pianificata.
Un trigger è un insieme di criteri che avvia un'attività pianificata quando i criteri sono soddisfatti. Per avviare un'attività si può usare un'attivazione basata sul tempo o un'attivazione basata sugli eventi, e una o più attivazioni possono avviare un'attività. Un'attività può avere fino a 48 inneschi. 


Esempio

 $TaskAction = New-ScheduledTaskAction -Execute "Taskmgr.exe"  
 $TaskTrigger = New-ScheduledTaskTrigger -AtLogon  
 $TaskPrincipal = "Contoso\Administrator"  
 $TaskSettings = New-ScheduledTaskSettingsSet  
 $Task = New-ScheduledTask -Action $TaskAction -Principal $TaskPrincipal -Trigger $TaskTrigger -Settings $TaskSettings  
 Register-ScheduledTask Task1 -InputObject $Task  


$TaskAction = New-ScheduledTaskAction -Execute "Taskmgr.exe"
Il cmdlet New-ScheduledTaskAction crea un oggetto che contiene la definizione di un'azione di attività pianificata. Un'azione pianificata rappresenta un comando (in questo caso taskmgr.exe) che un'attività esegue quando Task Scheduler esegue il task. L'oggetto viene assegnato alla variabile $TaskAction.

$TaskTrigger = New-ScheduledTaskTrigger -AtLogon
Il cmdlet New-ScheduledTaskTrigger crea e restituisce un nuovo oggetto trigger (innesco) di attività pianificata. Nell'esempio, con il parametro -AtLogon, viene indicato che il task dovrà essere eseguito al logon dell'utente. L'oggetto viene memorizzato all'interno della variabile $TaskTrigger.

$TaskPrincipal = "Contoso\Administrator"
Specifica il contesto di sicurezza in cui viene eseguito il Task.

$TaskSettings = New-ScheduledTaskSettingsSet
Il cmdlet New-ScheduledTaskSettingsSet crea un oggetto che contiene le impostazioni delle attività pianificate. Ogni attività pianificata ha un set di impostazioni dell'attività

$Task = New-ScheduledTask -Action $TaskAction -Principal $TaskPrincipal -Trigger $TaskTrigger -Settings $TaskSettings
Crea un oggetto che contiene la definizione dell'attività pianificata. L'oggetto viene assegnato alla variabile $Task.

Register-ScheduledTask Task1 -InputObject $Task
Registra la nuova attività pianificata e la definisce utilizzando la variabile $Task.

Utilità di pianificazione
FIG 1 - Utilità di pianificazione





domenica 12 febbraio 2023

Linux: Data carving

Il data carving è una tecnica utilizzata per recuperare i dati da un supporto di memorizzazione, come un disco rigido o una scheda di memoria, in seguito a una cancellazione accidentale o intenzionale, oppure in caso di danneggiamento del supporto stesso. Il data carving consiste nell'analizzare l'immagine del supporto di memorizzazione per individuare i frammenti di dati ancora presenti e salvarli in una nuova posizione. Questa tecnica può essere utilizzata per recuperare file, immagini, video e altri tipi di dati ed è fondamentale anche nelle investigazioni digitali forensi.

Quando un file viene salvato su un disco rigido, viene suddiviso e scritto in contenitori logici detti cluster. Ogni cluster è composto da un certo numero di settori, che sono le unità di base di memorizzazione su un disco rigido. Il sistema operativo utilizza una File Allocation Table (FAT) o una Master File Table (MFT) per tenere traccia della posizione dei cluster sul supporto di memoria.

Ogni volta che un file viene salvato, il sistema operativo cerca una serie di cluster vuoti contigui che siano sufficienti per contenere tutti i dati del file. Una volta individuati, i cluster vengono marcati come utilizzati e i dati del file vengono scritti su di essi. Se un file è troppo grande e non ci sono cluster vuoti contigui in grado di contenerlo, viene diviso in più parti e memorizzato in cluster diversi e non contigui. Il sistema operativo utilizza la FAT o l'MFT per tenere traccia della posizione di ogni parte del file sulla memoria. In questo modo, quando si apre un file, il sistema operativo può riunire tutte le sue parti.

Quando si cancella un file questo non viene in realtà rimosso dall'hard disk; viene rimosso il suo riferimento nella struttura del file system e lo spazio occupato dal file viene classificato come spazio non allocato. Proprio sullo spazio non allocato in un sistema di storage (hard disk, pendrive, ecc) si applica il data carving per recuperare i file e catalogarli sulla base del loro header e footer (stringhe esadecimali all'inizio e fine del file). Per il riconoscimento del tipo di file si ricorre al database dei magic number (firme esadecimali). Il magic number è costituito da una serie di byte specifici (da 2 a 10 byte) solitamente posizionati all'inizio del file, che vengono utilizzati per identificarne il tipo. Ad esempio, un file JPEG avrà un magic number specifico (FF D8 FF EE) diverso da un file PNG (89 50 4E 47). Quasi tutti i formati di file sono identificati da un magic number

Data carving con Scalpel

Uno degli strumenti più utilizzati e molto apprezzato per il data carving è Scalpel (https://github.com/machn1k/Scalpel-2.0). Tale strumento è già presente in Kali Linux. Per installarlo su distribuzioni Linux derivanti da Debian è possibile utilizzare i seguenti comandi da terminale
sudo apt-get update
sudo apt-get install scalpel

Prima di avviare lo strumento è necessario andare a modificare il file di configurazione /etc/scalpel/scalpel.conf che ha tutte le righe commentate. In base alla tipologia di file che si intende recuperare è necessario andare a rimuovere il commento dalla relativa riga. 

Aprire il file di configurazione con un editor di testo. In Kali Linux è possibile utilizzare l'editor nano con il comando da terminale
sudo nano /etc/scalpel/scalpel.conf

Per recuperare un file PDF eliminato da una pendrive è necessario andare a rimuovere i commenti relativi ai tipi di file PDF (FIG 1) presenti nel file di configurazione. 
File di configurazione scalpel.conf
FIG 1 - File di configurazione scalpel.conf

Premere CTRL + X per uscire dall'editor e confermare la modifica premendo Y seguito da Invio.
Salva modifica del  file di configurazione
FIG 2 - Salva modifica del  file di configurazione


La sintassi di scalpel è la seguente
scalpel -c fileconfig.conf unità -o /percorso/file/output

Il percorso dell'output deve risiedere su un unità diversa da quella da cui si sta tentando di recuperare i dati. Per identificare la pendrive eseguire il comando
lsblk 
lsblk
FIG 3 - lsblk

Dalla FIG 3 si evince che la pendrive è stata montata come sdb1. Eseguire una finestra terminale come root ed avviare il data carving con il comando
scalpel -c /etc/scalpel/scalpel.conf /dev/sdb1 -o /home/kali/Desktop/Recover
Avvio data carving con scalpel
FIG 4 - Avvio data carving con scalpel
Il comando creerà una cartella Recover sul Desktop contenente un file audit.txt (in cui saranno elencati eventuali file recuperati e altre informazioni sul processo) e una cartella contenente i file recuperati.
Risultati del data carving di scalpel
FIG 5 - Risultati del data carving di scalpel

File audit.txt
FIG 6 - File audit.txt

File recuperati da scalpel
FIG 7 - File recuperati da scalpel


Scalpel consente di effettuare il data carving anche su immagini di dischi virtuali (VDI, Virtual Disk Image) di VirtualBox. In questo caso il comando da eseguire sarà del tipo
scalpel -c /etc/scalpel/scalpel.conf /percorso/Immagine/file.vdi -o /home/kali/Desktop/Recover