Come hackerare in un database mysql remoto?

0

(Spostato da Stack Overflow mentre altri utenti hanno detto che si trattava di una domanda di sicurezza)

Ho un database mysql seduto su un server remoto. Nient'altro, cioè nessun sito web che lo utilizza, nessun script lato server ecc., Niente tranne l'accesso remoto da un'applicazione che ho scritto io stesso in Depli. Questa applicazione funziona su una dozzina di macchine in tutto il paese.

Ho impostato gli indirizzi IP consentiti usando lo strumento mysql remoto in cpanel. Il problema è che alcuni utenti hanno indirizzi IP dinamici, quindi si lamentano spesso che non possono più entrare. I caratteri jolly sembrano inefficaci poiché talvolta anche il primo ottetto cambia. L'unica soluzione è usare%.%.%.% (Alcune fonti dicono che dovrebbe essere %%%. %%%. %%%. %%%) ma comunque sono consapevole che questo riduce la sicurezza.

La domanda è: cosa dovrei (o qualcun altro) dover hackerare nel database se i caratteri jolly hanno permesso il loro indirizzo IP?

Nella mia mente un hacker dovrebbe conoscere A) C'è un database lì in primo luogo B) Il nome del database C) Il nome del singolo utente che ho impostato D) la password per quell'utente

Qualcuno programmatore esperto può dirmi se consentire l'accesso da qualsiasi indirizzo IP possa compromettere indebitamente la sicurezza?

    
posta user3209752 18.05.2015 - 10:39
fonte

3 risposte

2

La prima risposta ha detto molte cose. Ma finché la tua connessione al database mysql è possibile, puoi essere hackerato. [Il mio consiglio fuori tema: continua a cercare informazioni su exploit e vulnerabilità per mysql attivamente].

Can any expert programmers out there tell me if allowing access from any IP address would compromise security unduly?

In realtà, non mi piace quell'accesso da "qualsiasi IP". Questo apre molti modi agli aggressori.

That application runs on about a dozen machines around the country.

Consiglio vivamente di limitare l'accesso almeno agli indirizzi IP del Paese.

Cerca gli intervalli di indirizzi IP per un determinato paese e aggiungi gli IP degli ISP dal tuo paese.

Un utente malintenzionato potrebbe trovare il tuo database se lo stai eseguendo sulla porta predefinita. Modifica!

E non dimenticare di impostare con successo diritti corretti per gli utenti del DB.

    
risposta data 18.05.2015 - 13:49
fonte
2

Un utente malintenzionato avrebbe bisogno di uno dei seguenti:

  • Nessun utente / password conosciuti
    • Una vulnerabilità per la versione di mysql che usi.
    • l'IP del tuo server mysql (se viene eseguito su una porta predefinita è probabile che siano già noti al mondo criminale)
  • Annusato Nome utente / password / ip
    • Niente, ha tutto ciò di cui ha bisogno.

La differenza tra i due scenari è che 1 è un attacco diretto e l'altro un attacco a rete.

La difesa contro questi attacchi potrebbe essere:

  • usa SSH o un'altra tecnica VPN per tunnelare la tua connessione mysql attraverso un tunnel 'sicuro'. (non esponendo alcuna parte del tuo sistema oltre al punto iniziale e finale).
  • Usa la connessione SSL sulla tua porta mysql. (questo rende quasi impossibile l'intercettazione)
  • se tutto ciò che fai è aggiungere dati al DB, creare un punto di accesso (app) che abbia accesso al DB. questi sono spesso più facili da proteggere usando oauth2 o simili.
  • usa i certificati lato client con SSL. questo rende molto difficile per chiunque tranne qualcuno con i certificati appropriati per accedere al tuo DB.
risposta data 18.05.2015 - 12:22
fonte
0

Vedi MySQL BACKRONYM attacco ( maggiori informazioni qui ). In pratica le versioni precedenti di MySQL (prima dell'ultima versione di anteprima di MySQL 5.7.3) erano vulnerabili a un attacco di stripping SSL man-in-the-middle in cui un utente malintenzionato poteva acquisire i dati di autenticazione e accedere al database.

Quindi, tutti gli attaccanti della rete (alcuni membri non autorizzati di un ISP) devono solo eseguire uno script, cercare tentativi di handshake MySQL, applicare questo attacco, acquisire le credenziali del database e quindi connettersi. Un elenco bianco di indirizzi IP probabilmente non aiuta in modo significativo, poiché ancora una volta per l'attacco MitM / network sono in grado di impersonare il proprio indirizzo IP autorizzato su questo server.

La mia comprensione è che le attuali configurazioni di default sono ancora vulnerabili, sebbene possano essere configurate per essere sicure. Certo, se il tuo database non accetta l'autenticazione remota (ad es., Non accetta l'autenticazione di rete, o deve essere sulla intranet locale protetta o tramite VPN), allora stai bene per l'attacco BACKRONYM.

    
risposta data 19.05.2015 - 07:45
fonte

Leggi altre domande sui tag