A un server servono soltanto i servizi, le autorizzazioni e le connessioni necessari al suo ruolo. Il rafforzamento della sicurezza elimina le capacità superflue e stabilisce una configurazione sicura. L’obiettivo è ridurre la superficie di attacco mantenendo operativi applicazioni, backup e amministrazione.
Il risultato dovrebbe essere una baseline approvata per il ruolo specifico del server e un registro delle verifiche effettuate. Ogni deviazione deve avere una motivazione, un responsabile, un controllo limitante e una data di revisione. Le sezioni seguenti coprono la preparazione e le principali aree da controllare. Selezionare le impostazioni specifiche per la piattaforma, la sua versione, l’applicazione e le condizioni operative.
Definire il ruolo del server e le responsabilità
Registrare lo scopo del server, il proprietario dell’applicazione, il sistema operativo, la versione, il software installato e il modello di hosting. Allineare il registro con l’inventario degli asset. Identificare i dati che elabora, chi vi accede e quali servizi dipendono da esso. Un server di database, un controller di dominio e un’applicazione pubblica non dovrebbero ricevere le stesse modifiche semplicemente perché utilizzano lo stesso sistema operativo.
Per un server fisico, assegnare la responsabilità per la stanza, i media e la configurazione di avvio. Per una macchina virtuale, considerare anche l’hypervisor e la console di gestione. Nel cloud, verificare la divisione delle responsabilità. Il fornitore potrebbe gestire l’hardware mentre il vostro team rimane responsabile del sistema operativo, dell’applicazione e dell’accesso per il guest. Per un servizio gestito, verificare il contratto. La parola “gestito” non conferma che ogni controllo sia stato completato.
Iniziare con le linee guida del fornitore attuale o con un benchmark CIS per la versione e il ruolo pertinenti. Registrare il nome, l’edizione e il profilo selezionato. Un profilo più restrittivo può influire sulla compatibilità, quindi non applicarlo automaticamente a tutti i sistemi. Confrontare inizialmente le raccomandazioni con i requisiti dell’applicazione e testare le modifiche in un ambiente appropriato.

Preparare una modifica sicura della configurazione
Salvare le impostazioni correnti e l’elenco delle policy attive. Identificare chi le gestisce: policy di dominio, gestione della configurazione, un’immagine o un servizio cloud. In caso contrario, la prossima modifica potrebbe sovrascrivere una correzione manuale. Stabilire lo stato iniziale dell’applicazione e gli indicatori che riveleranno un’interruzione.
- Concordare le modifiche con il proprietario dell’applicazione. Assegnare l’implementatore, la finestra di manutenzione e le condizioni per l’interruzione.
- Preparare backup e un metodo testato per il ripristino dei dati e della configurazione necessari. Non trattare automaticamente un’istantanea di una macchina virtuale come un backup completo e indipendente dell’applicazione.
- Testare l’accesso di emergenza attraverso un percorso separato concordato. Proteggere quel percorso e registrarne l’utilizzo.
- Testare le impostazioni in un ambiente di test o su un gruppo limitato concordato. Se non è disponibile una copia completa dell’ambiente, valutare i limiti del test e concordare un passaggio più piccolo.
- Decidere chi effettuerà il ripristino dello stato precedente e come, se l’applicazione, l’integrazione o i backup smettono di funzionare. Non avviare modifiche all’accesso remoto senza un percorso di ripristino testato.
Verificare le principali aree della configurazione
Account e accesso amministrativo
Rivedere gli account locali e centralizzati, i gruppi di amministratori, gli account di servizio e le autorizzazioni dell’applicazione. Rimuovere i privilegi e l’accesso non necessari per i partecipanti precedenti dopo aver verificato le dipendenze. Utilizzare assegnazioni di accesso separate per il lavoro quotidiano e l’amministrazione. Un account di servizio richiede una funzione specifica, un proprietario e segreti gestiti, piuttosto che privilegi di amministratore illimitati senza data di scadenza.
Configurare l’autenticazione forte e la protezione a più fattori per l’accesso alla gestione, ove supportato. Allineare le regole relative a password, blocco e archiviazione di segreti con il sistema di identità. Un blocco eccessivo può interrompere un servizio e la cancellazione di un account predefinito senza verifica può interrompere il supporto. Testare il nuovo metodo di accesso prima di disabilitare quello precedente. Conservare chiavi, token e credenziali di emergenza in un archivio sicuro gestito.
Limitare le connessioni di amministrazione a utenti e percorsi autorizzati tramite un gateway gestito o un ambiente di amministrazione separato. Verificare RDP, SSH, pannelli di hosting, la console di virtualizzazione e la console cloud. Cambiare un solo numero di porta non è una protezione sufficiente. Confermare che le restrizioni si applichino a tutte le interfacce e non possano essere aggirate tramite un’altra connessione.
Servizi, applicazioni e connessioni consentite
Confrontare i ruoli installati, i servizi in esecuzione, le porte aperte e i programmi con lo scopo del server. Rimuovere le applicazioni di dimostrazione, gli strumenti di sviluppo e i componenti obsoleti solo dopo aver verificato chi li utilizza. Mantenere una dipendenza necessaria con una ragione documentata e accesso limitato. Non disabilitare un protocollo di file, un servizio di identità o un agente di backup da un elenco di controllo generico se le operazioni dipendono da esso.
Permettere i flussi necessari sul firewall del server, definendo chiaramente sorgenti e destinazioni. Verificare le connessioni in entrata e in uscita, nonché gli aggiornamenti, la risoluzione dei nomi, la sincronizzazione temporale, l’identità, il monitoraggio e i backup. Verificare le dipendenze prima di bloccare il traffico. Un progetto di segmentazione separato definisce i confini delle zone. Questa lista di controllo copre la protezione dell’host singolo e delle sue connessioni consentite.
Rivedere le impostazioni dell’applicazione: permessi per dati e directory, account di servizio, archiviazione di segreti, estensioni non necessarie, funzionalità di debug e dimostrazione. Assegnare i permessi di scrittura ed esecuzione in base al ruolo, piuttosto che a ogni singolo utente. Seguire le linee guida del fornitore per il server di database e l’applicazione. Rafforzare il sistema operativo da solo non risolve i problemi dell’applicazione.
Supporto, aggiornamenti e strumenti di sicurezza
Verificare il supporto per il sistema operativo e i componenti, gli aggiornamenti richiesti e la compatibilità dell’applicazione. Un sistema non supportato necessita di un piano di sostituzione concordato o di un’eccezione temporanea limitata. Aggiornamenti e una base sicura si completano a vicenda. Un server aggiornato potrebbe comunque avere permessi pericolosi o un servizio non necessario. Mantenere una coda separata delle vulnerabilità scoperte e collegare ogni attività all’asset pertinente.
Verificare lo stato degli strumenti di sicurezza inclusi nell’architettura: la politica applicata, lo stato degli aggiornamenti, la connessione di gestione e la consegna degli eventi. Mantenere le eccezioni dell’applicazione al minimo e validarle attraverso i test. Un conflitto tra applicazioni non dovrebbe portare a uno spegnimento permanente e non documentato di tutte le protezioni. Consentire il deployment automatizzato solo per le impostazioni testate all’interno di un ambito concordato.
Dati, certificati e protezione fisica
Verificare la crittografia per le connessioni e i dati richiesti, la validità del certificato, l’accesso alla chiave e le procedure di recupero della chiave. Un certificato deve corrispondere allo scopo del servizio e il cliente deve validare le date e la catena di fiducia. La protezione del disco non sostituisce i permessi all’interno di un sistema in esecuzione. Backup e segreti richiedono restrizioni di accesso separate, oppure possono fornire un modo per aggirare la protezione dei dati primari.
Per le apparecchiature gestite, verificare l’accesso alla stanza, l’uso di supporti esterni e le impostazioni di avvio sicuro, ove supportato. Valutare la compatibilità e il recupero prima di modificare le impostazioni di avvio o di crittografia. Per un data center di terze parti, documentare le responsabilità piuttosto che cercare di applicare impostazioni che il team non controlla.
Log e scostamenti dalla configurazione prevista
Abilitare gli eventi richiesti per l’accesso, le modifiche dei permessi, i servizi, le politiche e gli errori dell’applicazione. Verificare la sincronizzazione temporale e la consegna al sistema di raccolta assegnato. Limitare l’accesso ai log, concordare la conservazione e assegnare la responsabilità della revisione degli avvisi. Il controllo deve confermare che un evento di test raggiunge il sistema di ricezione, piuttosto che semplicemente mostrare una casella di controllo abilitata sul server.
Confrontare le impostazioni effettive con la baseline approvata. Distinguere un’eccezione concordata da un cambiamento accidentale. Registrare la fonte di una deviazione e l’azione richiesta, quindi verificare il risultato. Gli strumenti Microsoft possono analizzare e confrontare le politiche di baseline. L’esecuzione di uno strumento da solo non dimostra che tutte le impostazioni sono state applicate o sono compatibili con il ruolo dell’host.
Mantenere una tabella di verifiche ed eccezioni
Il modello seguente riguarda un singolo server. Inserite il suo ID e il suo ruolo nell’intestazione del documento di lavoro. In ogni riga, sostituite il ruolo del proprietario con una persona specifica e registrate il risultato effettivo e la data. La tabella descrive i criteri di verifica piuttosto che il lavoro completato.
|
Area |
Responsabile |
Come verificare |
Eccezione |
Ripristino della configurazione in caso di errore |
Verifica successiva |
|---|---|---|---|---|---|
|
Account e autorizzazioni |
Responsabile dell’accesso al sistema |
Confrontate i permessi con i ruoli concordati. Verificate l’accesso standard e amministrativo. |
Accesso al servizio: motivo, restrizione e approvatore. |
Ripristinate le assegnazioni salvate tramite un percorso di accesso di emergenza testato. |
Data ed evento: cambiamento di ruolo o dei partecipanti. |
|
Connessioni di gestione |
Amministratore del server |
L’accesso autorizzato funziona correttamente: una fonte non autorizzata non può connettersi, e l’evento viene registrato. |
Percorso aggiuntivo: finalità, responsabile e scadenza. |
Ripristinare la configurazione di accesso approvata. |
Data e modifica delle interfacce o del metodo di connessione. |
|
Servizi e programmi |
Responsabile dell’applicazione |
I componenti necessari rimangono, e i test di applicazione e integrazione hanno successo. |
Dipendenza da un componente obsoleto con un piano di correzione. |
Ripristinare il servizio o il pacchetto richiesto secondo il piano. |
Data e modifica del ruolo dell’applicazione. |
|
Firewall |
Responsabile delle regole dell’host |
Verificare le connessioni in entrata e in uscita richieste, nonché il blocco delle connessioni non necessarie. |
Autorizzazione con motivazione aziendale e data di revisione. |
Ripristinare l’insieme di regole salvato. |
Data e modifica delle dipendenze. |
|
Aggiornamenti e sicurezza |
Responsabile della manutenzione |
Confermare le versioni, la funzionalità di protezione e lo stato di salute delle applicazioni. |
Modifica rinviata con un controllo temporaneo e una scadenza. |
Metodo concordato per ripristinare il sistema o il componente. |
Data e rilascio di un aggiornamento significativo. |
|
Dati e certificati |
Responsabile del servizio |
Verificare la connessione, le autorizzazioni, il certificato e la disponibilità delle chiavi di ripristino necessarie. |
Limite della piattaforma con un controllo alternativo. |
Ripristinare la configurazione validata, preservando le chiavi protette. |
Data e rinnovo del certificato o cambio della chiave. |
|
Log e configurazione di riferimento |
Responsabile del monitoraggio |
Ricevere un evento di test e verificare eventuali deviazioni dalle impostazioni approvate. |
Evento o impostazione non disponibile, con un proprietario e un controllo compensatorio. |
Ripristinare la precedente politica di raccolta o impostazione. |
Data e modifica della politica o dello strumento di gestione. |
Applicare le modifiche e verificare il risultato
Applica le modifiche in piccoli gruppi concordati. Dopo ogni gruppo, verifica l’accesso dell’amministratore, le operazioni principali dell’applicazione, le integrazioni, i backup e il monitoraggio. Registra le impostazioni effettive e i risultati dei test. Se un criterio non viene soddisfatto, interrompi l’espansione e utilizza la procedura di ripristino concordata. Dopo il ripristino, identifica la causa e rivedi la decisione piuttosto che lasciare la modifica fallita disabilitata silenziosamente.

Conserva la configurazione approvata, le prove e le eccezioni, in modo che le persone responsabili possano accedervi. Pianifica controlli regolari in base all’importanza e ripeti i controlli dopo un cambiamento di ruolo, un aggiornamento dell’applicazione, un cambiamento di accesso o una migrazione del server. Non esiste un programma standard per ogni server. Ogni eccezione richiede una scadenza e un proprietario autorizzato a decidere. Una deviazione scaduta richiede una revisione.
Se hai bisogno di assistenza tecnica per valutare e implementare una configurazione di base, discuti l’attività con i team di DK nella pagina Security Hardening. Fornisci i ruoli del server, i vincoli dell’applicazione e la finestra di manutenzione disponibile.







