Introduzione rapida: piccola azienda, risorse MOLTO limitate. Io praticamente faccio tutto, inclusa la spazzatura.
Da anni eseguiamo internamente un'istanza di MySQL e abbiamo funzionato bene, ma penso che sia in buona parte una buona fortuna. Disponiamo di diversi computer client che vengono distribuiti nei negozi e, a volte, nelle fiere. Queste macchine client hanno bisogno di accedere al database. Attualmente stiamo facilitando l'accesso sicuro tramite una VPN alla nostra rete. Il nostro firewall non ha un buco aperto per MySQL.
La soluzione VPN è dolorosa e ha le sue implicazioni sulla sicurezza. Sono anche sempre più nervoso nel mantenere la mia istanza MySQL online e disponibile. Ho trovato Amazon il servizio RDS di AWS e sembrava PERFETTO! Tuttavia, mi sono imbattuto subito nel problema del gruppo di sicurezza e mi sono reso conto che avrei dovuto concedere un accesso completo e illimitato a tutti gli IP, poiché non ho alcun controllo sugli intervalli IP delle macchine client. Fidati di me su questo, non ho idea di quale sarà il loro IPS.
Ho letto che è una pessima pratica esporre un DB al pubblico e che quando si deve assolutamente fare questo è meglio implementare un'API di servizi web sul DB. Sarebbe bello farlo, ma non c'è modo che io abbia il tempo (in questo momento) di scrivere un endpoint di servizi Web per tutte le applicazioni.
Finalmente ... la mia domanda: quali sono le minacce che dovremmo affrontare esponendo la nostra istanza DB a tutti gli IP? Non siamo una banca, non siamo una società pubblica - nessuno sa davvero di noi quindi sembra che un attacco mirato sia improbabile. Tuttavia sono completamente all'oscuro delle minacce alla sicurezza e di "cosa c'è là fuori" - ci sono minacce che scandiscono tutti gli intervalli IP in cerca di un server per rispondere, quindi quando attaccano "solo per divertimento"?
Per essere chiari, SO che questo è contro le migliori pratiche e non ho bisogno di una lezione, sto cercando consigli del mondo reale sulla probabilità di un attacco - se è possibile determinarlo.
A proposito, ho trovato questa domanda ed è correlata ma non esattamente ciò di cui ho bisogno. Volevo solo includerlo in modo che altri non rispondessero collegandoci ad esso. Database Amazon RDS pubblico