La sicurezza è la preoccupazione principale in questi giorni in ogni settore. Anche la sicurezza del database è una delle principali preoccupazioni per qualsiasi cliente. SQL Server è progettato per proteggere tutti i tuoi dati archiviati nei database, ma a volte non riusciamo ad applicare il giusto set di configurazioni e lasciamo un buco nel nostro sistema. Gli hacker e gli alieni non autorizzati potrebbero utilizzare queste scappatoie per penetrare nel tuo sistema. I tuoi dati possono essere compromessi o diffamati, le tue risorse di sistema possono essere cancellate per creare un'interruzione per interrompere le tue attività commerciali, i dati dei tuoi clienti potrebbero essere esposti alla concorrenza, ecc.
Blocco o protezione avanzata di SQL Server
L'intero processo per proteggere l'ambiente del database è noto come blocco database \ SQL Server. Descriverò vari parametri e dettagli di configurazione che puoi applicare per proteggere il tuo ambiente di database.
Installa solo i componenti richiesti
Iniziamo le pratiche di blocco con l'installazione di SQL Server. SQL Server offre vari componenti e funzionalità che i DBA scelgono per vari requisiti. Alcuni di questi componenti e funzionalità sono riportati di seguito:
- Motore di database
- Servizi di segnalazione
- Servizi di integrazione
- Motore dei servizi di analisi
- Servizi di notifica
- Documentazione ed esempi (database e codici di campioni)
- Ricerca in tutto il testo
- Altre funzionalità come replica, servizi di machine learning, servizi di qualità dei dati e così via
È buona norma installare solo le funzionalità necessarie perché così facendo si riducono o si limitano le possibilità di attacco superficiale. Inoltre, avrai un basso utilizzo delle risorse di sistema.
Installa gli ultimi aggiornamenti
Assicurati di aggiornare i tuoi sistemi in tempo. Se vengono rilevate nuove vulnerabilità, vengono pubblicate nei bollettini sulla sicurezza dai fornitori del prodotto.
Non sto parlando di aggiornare solo le patch di SQL Server ma tutto ciò che è in esecuzione sul tuo sistema a partire dal sistema operativo a qualsiasi altra applicazione installata sulla tua macchina. Applica sempre le patch per mantenere aggiornato il tuo software per prevenire minacce o attacchi esterni.
Utilizza la modalità di autenticazione di Windows
Scegli sempre la modalità di autenticazione di Windows per le connessioni utente se non hai dipendenze per usare la modalità di autenticazione di SQL Server. È più sicuro e autentica l'accesso di Windows con la directory Windows Active durante ogni tentativo di accesso. SQL Server dispone di due tipi di modalità di autenticazione.
- Autenticazione Windows
- Modalità mista (Windows + SQL Server)
Modalità di autenticazione di Windows: Questa è una modalità di autenticazione predefinita per SQL Server. La modalità di autenticazione di Windows sfrutta gli account locali, gli account utente di Active Directory e i gruppi quando si concede l'accesso a SQL Server. In questa modalità, come amministratore del database, puoi concedere agli utenti del dominio o del server locale l'accesso al server del database senza creare e gestire un account SQL Server separato.
Modalità mista: La modalità di autenticazione mista ha entrambe le opzioni. È possibile utilizzare l'autenticazione basata su Windows e le autenticazioni basate sull'accesso di SQL Server. Il meccanismo di autenticazione di SQL Server si basa sugli account gestiti all'interno di SQL Server, inclusi i criteri delle password. Potrebbe essere necessaria l'autenticazione mista se disponi di alcune dipendenze per supportare le applicazioni legacy.
È possibile seguire i passaggi seguenti per selezionare o modificare la modalità di autenticazione del server:
- Avvia SQL Server Management Studio e connettiti all'istanza di SQL Server di destinazione.
- In SQL Server Management Studio, fare clic con il pulsante destro del mouse sull'istanza di SQL Server, quindi fare clic su Proprietà .
- Fai clic su Sicurezza pagina nel riquadro di sinistra, puoi vedere entrambe le opzioni di autenticazione nel riquadro di destra sotto Autenticazione del server sezione. Se desideri proteggere la tua istanza, assicurati di passare alla modalità di autenticazione di Windows. Devi solo fare clic sul pulsante di opzione della modalità di autenticazione di Windows e quindi fare clic su OK per applicare le modifiche.
- Nella finestra di dialogo di SQL Server Management Studio, fare clic su OK per riconoscere la necessità di riavviare SQL Server.
La modalità di autenticazione di Windows è una scelta più sicura. Tuttavia, se è richiesta l'autenticazione in modalità mista, è necessario fornire password complesse per gli accessi a SQL Server e applicare criteri di sicurezza\blocco per una maggiore sicurezza. Si consiglia inoltre di disabilitare l'account sa di SQL Server se si utilizza la modalità di autenticazione mista. Ne parlerò nella prossima sezione.
Rinomina/Disabilita l'Account sa
Login sa viene creato per impostazione predefinita durante l'installazione di SQL Server, quindi questo potrebbe essere uno dei potenziali motivi per cui gli aggressori possono hackerare o assumere il controllo di questo account. Ricorda che questo accesso ha privilegi di amministrazione del sistema, quindi chiunque abbia accesso a questo account può gestire i tuoi database e le istanze di SQL Server.
Dovresti eseguire il comando seguente per disabilitare l'account sa.
--Disable sa login
USE MASTER
GO
ALTER LOGIN sa DISABLE;
GO
Puoi vedere la sua esecuzione nella figura sottostante.
Prima di rinominare o disabilitare l'account sa, verificare che nell'istanza di SQL Server esista un altro account con privilegi di amministratore.
Modifica le porte predefinite di SQL Server
Sappiamo tutti che SQL Server utilizza la porta 1433 per qualsiasi richiesta e comunicazione del client. Poiché questa configurazione è di dominio pubblico, gli hacker possono indirizzare questa configurazione per connettersi all'istanza di SQL Server.
È possibile modificare la porta di SQL Server seguendo i passaggi seguenti.
- Accedi al tuo computer di destinazione su cui è installato SQL Server.
- Avvia Gestione configurazione server strumento.
- Espandi la Configurazione di rete di SQL Server nodo dal riquadro di sinistra e selezionare Protocolli per configurare l'istanza di SQL Server.
- Nel riquadro di destra, fai clic con il pulsante destro del mouse sul nome del protocollo TCP/IP e scegli Proprietà .
- Nelle Proprietà TCP/IP finestra di dialogo, seleziona gli Indirizzi IP scheda. Esiste una voce corrispondente per ogni indirizzo IP assegnato al server.
- Cancella i valori per entrambe le porte dinamiche TCP e Porta TCP per ogni indirizzo IP ad eccezione degli indirizzi IP in IPAll .
- In IPAll per ogni istanza, inserisci una nuova porta su cui desideri che SQL Server sia in ascolto.
- Fai clic su Applica e riavvia i servizi SQL Server.
Disabilita il servizio SQL Browser
I servizi di SQL Server Browser vengono installati con l'installazione dell'istanza di SQL Server. Questo servizio reindirizza la connessione alla porta su cui è in esecuzione SQL Server. Se questo servizio è in esecuzione, sarà un passaggio più semplice per gli aggressori perché consente loro di connettersi a SQL Server senza passare il numero di porta. Quindi, è meglio disabilitare questo servizio dopo aver cambiato la porta.
Disabilita l'opzione xp_cmdshell
SQL Server offre una stored procedure estesa xp_cmdshell per eseguire ed eseguire comandi del sistema operativo da SQL Server. Dovrebbe essere disabilitato per prevenire qualsiasi rischio per la sicurezza. È possibile trovare questa stored procedure estesa nelle configurazioni a livello di server o eseguendo sp_configure stored procedure T-SQL. Puoi eseguire le seguenti istruzioni T-SQL per disabilitare questa configurazione.
-- Enable advanced options to display configure xp_cmdshell
sp_configure 'show advanced options', '1'
RECONFIGURE
-- Disable xp_cmdshell
sp_configure 'xp_cmdshell', '0'
RECONFIGURE
GO
Utilizza la crittografia o il mascheramento dei dati
SQL Server offre diverse metodologie di crittografia per proteggere i dati. La crittografia è consigliata se gli utenti accedono ai dati tramite la rete pubblica. SQL Server dispone di più opzioni per implementare il set di crittografie corretto in base alle esigenze aziendali. Questo è l'elenco delle opzioni di crittografia o mascheramento dei dati che possiamo utilizzare per proteggere i nostri dati:
- TDE (Crittografia dati trasparenti)
- Proteggi i dati utilizzando le chiavi di crittografia
- Crittografa sempre
- Mascheramento dinamico dei dati
Rimuovi BUILTIN\Administrators da SQL Server
Dovremmo sempre rimuovere l'account BUILTIN\Administrators dall'istanza di SQL Server per limitare l'accesso indesiderato all'istanza del database. Il modo migliore è concedere agli utenti l'accesso a SQL Server individualmente. Puoi anche aggiungere un gruppo di persone nel gruppo Windows e concedere loro l'accesso a SQL Server. È possibile utilizzare l'istruzione T-SQL seguente per eliminare questo account di accesso dall'istanza di SQL Server.
Puoi anche eliminare questo accesso usando la GUI tramite SQL Server Management Studio. Devi solo connetterti all'istanza di SQL Server, quindi espandere la cartella di sicurezza a livello di istanza. Qui puoi fare clic con il pulsante destro del mouse su questo account di accesso per rimuoverlo dall'istanza di SQL Server.
--DROP Login
DROP LOGIN [BUILTIN\Administrators]
Password forti e privilegi utente adeguati
Assegnare sempre diritti adeguati a ogni utente, dovrebbero essere minimi, considerando il loro ruolo durante l'accesso ai database. Inoltre, non dovremmo mai usare password deboli per qualsiasi login o lo stesso login e password. Utilizza sempre la politica della password per qualsiasi accesso SQL.
Configura il controllo dell'accesso di SQL Server
SQL Server ha fornito una funzionalità di controllo per acquisire i dettagli su tutti gli accessi non riusciti e riusciti. Questa è una configurazione molto utile se vuoi controllare chi si sta connettendo o tentando di connettersi ai tuoi database. Possiamo configurare l'avviso di SQL Server che invierà una notifica di posta elettronica su ogni accesso fallito e riuscito a SQL Server. Puoi seguire i passaggi seguenti per abilitare il controllo dell'accesso.
- Connettiti all'istanza di SQL Server di destinazione in SQL Server Management Studio
- Fai clic con il pulsante destro del mouse sul nome dell'istanza di SQL Server, quindi fai clic su Proprietà .
- Fai clic su Sicurezza scheda nel riquadro di sinistra. Riceverai il controllo dell'accesso nel riquadro di destra come mostrato nel primo screenshot di questo articolo
- Scegli l'opzione desiderata e chiudi le Proprietà del server pagina
- Riavvia il servizio SQL Server per applicare questa modifica
Rimuovi gli accessi a SQL Server inutilizzati
Tieni sempre d'occhio i tuoi accessi a SQL Server. Dovresti essere attento a rimuovere tutti gli account di accesso che non sono più in uso. So che è difficile da gestire manualmente, ma puoi configurare un avviso di posta per inviare un messaggio di posta su tutti gli accessi a SQL Server e i relativi privilegi.
Conclusione
Ho spiegato alcune delle possibili configurazioni che possiamo applicare per proteggere i nostri database da minacce esterne. Considera tutti i punti precedenti durante la distribuzione delle politiche di protezione avanzata del database nell'ambiente.
Condividi questo articolo e fornisci il tuo feedback nella sezione commenti in modo che possiamo migliorare.