Vai al contenuto principaleVai al piè di pagina

Rafforzamento della sicurezza dei server: lista di controllo pratica

Autore:

Servizio correlato: Rafforzamento della sicurezza

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.

Tre ruoli di server hanno schede di configurazione separate.
Selezionare la baseline per il ruolo del server, la versione della piattaforma e le dipendenze dell’applicazione.

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.

Le impostazioni salvate, i test e le verifiche costituiscono una modifica di configurazione controllata.
Salva le impostazioni originali, esegui il test della modifica e verifica il funzionamento dopo l’implementazione.

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.

Fonti

Utilizzo dei materiali del sito web

L’uso, la riproduzione o la distribuzione di materiali pubblicati su questo sito web, in forma intera o parziale, è consentito solo previa autorizzazione scritta preventiva da parte della redazione. team di DK’S Enterprises, Ltd.

Quando si citano o si fa riferimento a materiali provenienti da questo sito, è necessario includere un collegamento diretto, attivo e indicizzabile alla fonte originale: https://dkent.net/

Il collegamento ipertestuale deve rimanere accessibile al pubblico e deve essere posizionato almeno nella seconda paragrafo del contenuto di riferimento. L’utilizzo non autorizzato di materiali senza attribuzione adeguata può violare le leggi sul copyright e sulla proprietà intellettuale applicabili.

Articoli correlati

Come stabilire le priorità delle vulnerabilità e assegnare le correzioni
Segmentazione della rete: pianificare le zone e verificare gli accessi