Esiste un allagamento della connessione MySQL?

0

Sono uno sviluppatore di un piccolo sito web. Ci sono 3 server web (per il bilanciamento del carico) e un server MySQL.

Oggi i server web sembrano essere in calo e, sfortunatamente, non riesco a impossessarmi dell'amministratore (è in un fuso orario diverso, probabilmente addormentato). Ma ho alcuni privilegi elevati, quindi posso collegarmi come amministratore di permessi completi al server MySQL tramite PHPMyAdmin (che è in esecuzione localmente sul server MySQL).

Lì vedo qualcosa di strano nei risultati di SHOW PROCESSLIST . Ci sono oltre 500 connessioni da "utente non autenticato" con il comando "Connetti". Queste connessioni provengono da due dei tre server Web che abbiamo (credo). Fondamentalmente stanno cercando di connettersi, ma in realtà non si connettono.

È stato così per circa 5 ore. Il server MySQL è soddisfatto di questo e non sta nemmeno rallentando, il che mi fa pensare se si tratta di un attacco. Inoltre, se l'attaccante aveva il controllo del server, poteva semplicemente trovare le password pertinenti nei file del codice sorgente PHP.

Quindi - questo è un attacco e c'è qualcosa che posso fare al riguardo fino all'arrivo dell'amministratore? (Non ho root server, solo privilegi di amministratore MySQL)

Aggiornamento: avevo scritto il nome utente in modo errato. Non è "utente anonimo", è "utente non autenticato".

Aggiornamento 2: OK, l'amministratore si è appena svegliato. Grazie per il tuo aiuto!

    
posta Vilx- 08.03.2013 - 13:46
fonte

3 risposte

1

MySQL include un account utente anonimo che consente a chiunque di connettersi al server MySQL senza avere un account utente. Questo è inteso solo per il test e dovrebbe essere rimosso prima che il server del database venga inserito in un ambiente di produzione.

Se configurato correttamente, il server MySQL non dovrebbe nemmeno essere raggiungibile da IP diversi dai front-end Web (a parte: se si tratta di un sito piccolo, perché hai bisogno di così tanti server?).

È più probabile che si tratti di un problema di configurazione / codice rispetto a un problema di sicurezza. In ogni caso, il mio consiglio sarebbe di cercare di raccogliere e documentare quante più informazioni (

  • Cosa ti fa pensare che le connessioni provengano dal web front-end?
  • A quali database accede l'utente?
  • Quali query sono in esecuzione?
  • Da quale IP provengono le connessioni?

) il più possibile su cosa sta succedendo nel sistema e continua a provare a riattivare l'amministratore.

    
risposta data 08.03.2013 - 14:14
fonte
1

L'utente anonimo viene probabilmente utilizzato dall'applicazione del sito Web per accedere al database di back-end, nel qual caso ciascuna delle 500 connessioni rappresenta probabilmente una singola connessione Web al sito. Se il sito web è piccolo, 500 connessioni simultanee potrebbero essere sufficienti per farlo cadere, quindi potrebbe indicare una condizione Denial of Service. Potrebbe trattarsi di un attacco o potrebbe essere dovuto al fatto che il tuo sito sia inaspettatamente popolare

Il fatto è che, a meno che tu non abbia una qualche linea di base, non puoi davvero capire se le connessioni 500 sono normali o anormali, quindi non c'è semplicemente modo di rispondere a questa domanda al 100%.

Un'azione da intraprendere sarebbe iniziare a raccogliere metriche quali connessioni al sito, connessioni SQL, ecc. in modo da sapere cosa è normale e cosa no.

    
risposta data 08.03.2013 - 14:52
fonte
1

Non so cosa stia causando questo - ci sono stati alcuni suggerimenti da altri utenti, ma se fossi in te, inizierei guardando all'origine di questo traffico - qual è il client (intendo il programma sul web macchina server - non l'host)? È qualcosa che dovrebbe tentare o hai una vulnerabilità? Cosa sta succedendo con il profilo del traffico sui server web? Hai eseguito una scansione IDS sui file del server web?

    
risposta data 09.03.2013 - 01:14
fonte

Leggi altre domande sui tag