Protezione del database MySQL pubblicamente esposto per il progetto CS di gruppo

2

Ciao, sto cercando qualche consiglio. Per un corso di programmazione C ++ avanzato sto prendendo un altro studente e sto facendo un progetto. Per questo progetto intendiamo utilizzare un database MySQL come database di back-end. Vorrei configurare un database MySQL accessibile in remoto che possiamo utilizzare per il progetto in modo tale che possiamo utilizzare lo stesso database per testare i nostri programmi, anche in questo modo può usare i computer nel laboratorio informatico per programmarli, dato che non dovremo portare un computer con MySQL Installato su di esso per andare a lezione sul nostro programma.

Quello che mi preoccupa è la sicurezza di fare qualcosa del genere, quello che ho intenzione di fare è creare un database e un utente. Quello che vorrei fare è consentire connessioni remote MySQL al database dal mio account utente e limitare gli accessi root a localhost (se devo accedere al database come root posso SSH al mio Unix Server e quindi accedere come root mysql localmente quindi il traffico verrà crittografato). quello che sto cercando è qualche consiglio su come posso proteggere al meglio questo database.

Non ho intenzione di usare SSL per accedere al database come "utente" dal nostro programma poiché ciò richiederà un numero ancora maggiore di librerie di terze parti (OpenSSL) da aggiungere al nostro progetto e io davvero per mantenere il numero di librerie che stanno usando.

Quello che sto cercando sono alcuni consigli su come posso proteggere al meglio questo sistema. Lo terrò solo per il semestre e lo riprenderò e lo riprenderò quando avrò finito. Si troverà su una DMZ con l'unico altro host sulla rete che è un server web OpenBSD che sto utilizzando.

Ho intenzione di utilizzare lo script mysql_secure_installation che è incluso in MySQL Server su OpenBSD quando lo imposto in modo da rimuovere utenti e database di test. C'è altro che dovrei fare se non mantenere il sistema aggiornato, non consentire login di root da remoto e utilizzare password complesse?

Grazie per aver trovato il tempo di rispondere alla mia domanda

    
posta crooked 16.09.2013 - 02:22
fonte

1 risposta

2

il modo più semplice, se tutte le macchine sono basate su linux / unix, è quello di creare ssh-tunnels (a volte chiamato 'poor mans vpn') da ogni macchina sul tuo server mysql;

  • non è necessario aprire le porte all'esterno
  • non è necessario creare utenti aggiuntivi
  • non c'è bisogno di cambiare mysql access-permission localmente
  • puoi lavorare con i tasti ssh
  • il trasferimento dei dati è crittografato

ssh -p 22 -L 3306:127.0.0.1:3306 user@mysql-server -N

questo avvierà un tunnel e renderà mysql @ mysql-server localmente disponibile @ localhost: 3306

    
risposta data 17.09.2013 - 10:01
fonte

Leggi altre domande sui tag