Cosa devo fare se qualcuno tenta di forzare il tentativo di accedere al nostro account "sa" di SQL Server?


9

Sembra che qualcuno o qualcosa stia provando un tentativo di forza bruta per accedere all'istanza di SQL Server di produzione con l'account "sa". Non hanno avuto successo perché il nostro account "sa" è disabilitato, ma quali misure devo prendere per assicurarmi che le cose siano sicure?

tentativi di accesso


1
Hey. Segna come una risposta in modo da poter andare avanti con le nostre vite. :)
JohnThePro

Risposte:


29

Il tuo server SQL deve essere pubblicamente disponibile su Internet? Questo di solito non è il caso. Se deve assolutamente essere così, potresti limitare l'accesso per indirizzo IP o forse configurare una VPN. Ovviamente, rendere la password sa indelebile o vedere come limitare le posizioni di accesso sa solo dai tuoi indirizzi IP LAN. Fornisci maggiori dettagli in modo che altri possano aiutarti con soluzioni migliori.


3
Assolutamente questo. Questo è un caso classico per l'utilizzo dei firewall e per ridurre al minimo la superficie di attacco.
Rob Moir,

Inoltre non è qualcuno. È praticamente un verme là fuori, non un essere umano. SQL Server su Internet + non cambia la porta predefinita = ignora completamente la realtà (Internet non è un bel posto).
TomTom,

5

La prima cosa che potresti fare è iniziare inserendo nella blacklist quell'indirizzo IP e negando totalmente QUALSIASI traffico dal loro IP sul tuo firewall. Naturalmente, possono semplicemente cambiare gli IP, ma almeno impediranno loro di bombardare il tuo server con traffico e registri.


3

Disabilita quella porta (MySQL è 3306; non ricordare la porta di SQL Server, forse 118?) Attraverso il firewall. Quindi nessuno può accedervi.
Se è necessario l'accesso esterno a SQL, rimappare su una porta con numero elevato, come 53535. Se qualcuno scopre che quella porta è aperta, sarà difficile indovinarne il significato.


1433; se deve essere aperto verso l'esterno, cambiarlo in qualsiasi altra cosa; ciò comporterà comunque la modifica delle stringhe di connessione sui client.
SqlACID

E anche 1434, per il servizio di scoperta ...
AviD

3

L'accesso tenta di coinvolgere tentativi di iniezione di codice dannoso. Consiglio di bloccare questa attività con una blacklist permanente utilizzando il software firewall del server o un firewall esterno di terze parti.

Inoltre, ridurre il numero di errori di accesso consentiti in quanto ciò bloccherà automaticamente l'indirizzo IP dell'intruso.

Sopra minimizzerà questo.


2

Probabilmente è solo un kiddie di script che esegue uno scanner e non vale la pena dedicarlo. Vorrei non avere il tuo database accessibile da Internet.


2
  • Se possibile, disabilitare tutto l'accesso all'account SQL, non solo sa, ovvero abilitare solo l'autenticazione di Windows, senza autenticazione SQL.
  • Limitare l'accesso alla rete, tramite firewall o almeno le restrizioni IP sulla casella, a quei server che richiedono solo l'accesso. Gli utenti pubblici non hanno bisogno dell'accesso diretto, giusto?
  • Tieni conto che probabilmente proverà a forzare l'utente amministratore locale, il prossimo. Sebbene non sia possibile rimuovere realmente le autorizzazioni dell'amministratore, è possibile rilasciarlo in un ruolo specifico e bloccare esplicitamente l'accesso.
  • Se possibile, disabilitare il servizio SQL Server Browser. Nessun motivo per renderlo più semplice ...
  • Esegui un'analisi completa di utenti, autorizzazioni e password sul database: probabilmente proveranno con altri utenti.
  • Prova a chiedere di nuovo su ITSecurity.SE per maggiori informazioni :)

2

Se il tuo SQL Server deve essere accessibile al di fuori del tuo netowrk, puoi autorizzare gli indirizzi IP esterni che richiedono l'accesso. Le VPN sono una soluzione migliore (ma non sempre disponibile) e la migliore soluzione non è l'accesso esterno.

La whitelisting richiede più gestione, ma rimuove questa stupidità. Se qualcuno ha bisogno di accesso e ha un IP che cambia frequentemente, può accedere a un sistema diverso tramite RDP e connettersi a SQL Server da lì.

Rinomina l'account sa, crea un account sa fasullo e disabilitalo.

Controlla le autorizzazioni e attiva un aggiornamento della password per tutti gli account utente di SQL Server; forse aumentare i requisiti di sicurezza della password.

Rinumerare la porta di ascolto IP di SQL Server. Ciò significa aggiornare le configurazioni client o i file di configurazione dell'applicazione.

Concordo con altri poster per quanto riguarda i probabili vettori del prossimo attacco e questo è probabilmente qualcuno che esegue una sceneggiatura.


1

Per chiunque sia alla ricerca di un programma che crei i criteri IPSEC, i filtri, ecc. E scansiona automaticamente il registro eventi e aggiunga gli IP all'elenco dei blocchi, ho scritto un piccolo programma che fa proprio questo.

Ho avuto anche questo problema in cui il mio registro eventi sarebbe stato riempito con migliaia di voci per gli hacker che tentavano di accedere alla mia istanza MSSQL con il login 'sa'. Dopo molte ricerche, ho deciso di scrivere il mio programma, farlo creare gli elementi IPSEC necessari e quindi scansionare il registro eventi ogni 60 secondi alla ricerca di attacchi da nuovi indirizzi IP. Quindi aggiunge l'indirizzo IP al filtro IPSEC e blocca tutto il traffico da e verso l'IP. L'ho provato solo su Windows Server 2008, ma credo che funzionerà anche su altre versioni.

Sentiti libero di scaricare il programma usando il link qui sotto. Le donazioni sono sempre apprezzate utilizzando il collegamento nel menu di scelta rapida dell'icona Task Manager.

http://www.cgdesign.net/programs/AutoBlockIp.zip

Si noti che questo funziona solo per i tentativi di accesso SQL utilizzando l'accesso 'sa', ma potrei modificarlo per funzionare anche per altri eventi di registro. Inoltre, puoi visualizzare gli IP che sono stati bloccati, ma continuerai a vedere alcuni elementi nel registro degli eventi poiché il programma viene eseguito solo ogni 60 secondi. Ciò è dovuto al fatto di non essere in grado di eliminare una singola voce del registro eventi e non pensavo che sarebbe stata una buona idea cancellare l'intero registro.

DICHIARAZIONE DI NON RESPONSABILITÀ - Scaricando e installando il programma sopra menzionato, l'utente accetta di tenermi innocuo per eventuali danni, perdita di dati, corruzione o altri problemi di funzionalità derivanti dall'uso di detto software. Ho testato il programma al meglio delle mie possibilità e attualmente lo ho eseguito su 2 server, ma sei stato avvisato di usarlo a tuo rischio e pericolo.

Per qualsiasi domanda o commento, non esitate a contattarmi utilizzando il modulo di contatto sul mio sito Web all'indirizzo www.cgdesign.net

-Chris


Fai un buon lavoro nel rivelare la tua affiliazione con il prodotto. Fai attenzione, generalmente non apprezziamo le sessioni di vendita.
Scott Pack,

0

Dovresti limitare i tentativi di accesso, quindi se lo stesso utente tenta di accedere più di 5 volte, vengono bloccati da ulteriori tentativi per alcune ore o un giorno. Almeno allora non possono forzare un login forzato dopo un milione di tentativi.

E come altri hanno già detto, non consentire l'accesso del pubblico se non è necessario. È possibile limitare l'accesso a un set di IP noti se alcune persone necessitano di un accesso esterno.


1
L'account è già disabilitato, non può essere disabilitato molto di più.
mrdenny,

@mrdenny: stavo pensando di più agli account non disabili per il primo paragrafo. Se qualcuno è costretto a forzare "sa", potrebbe facilmente iniziare con un altro account. Dopo 5 tentativi su un account disabilitato, bloccali completamente.
Sconcertato Goat

I gattini degli script attaccano di solito l'account sa solo perché conoscono già il nome utente. Altrimenti devono forzare anche il nome utente, che richiede il doppio del tempo e non hanno modo di sapere se il nome utente esiste o meno.
mrdenny,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.