Presso la mia organizzazione abbiamo un sondaggio sul sito web utilizzato da uno dei gestori per scopi di uguaglianza. Hanno progettato e implementato il sondaggio in Adobe FormsCentral che ora è in pensione, quindi mi è stato chiesto di creare qualcosa di simile.
Sto per creare il sondaggio utilizzando ASP.Net MVC e ho pensato di aggiungere i dati a un database su un server SQL, in modo che i dati possano essere scaricati liberamente dal gestore. L'unico problema che ho è che il mio manager (non lo stesso che vuole il sondaggio) è preoccupato per la sicurezza dell'applicazione.
In particolare è preoccupato per il fatto che creeremo un collegamento dal nostro server web (in una DMZ) al nostro server SQL attualmente utilizzato solo internamente. Anche se voglio dire "andrà bene", ha ragione. Se il server Web è compromesso, potrebbe quindi esporre il nostro server di database, insieme alle credenziali per accedervi.
Limiterò le credenziali in modo che il sondaggio abbia solo le autorizzazioni di scrittura per la tabella specifica utilizzata, ma non sono sicuro che ci siano modi per proteggere le credenziali utilizzate per accedere al server del database. Utilizzerò le credenziali di lettura solo su una pagina intranet che il gestore può quindi utilizzare per scaricare i risultati.
È possibile nascondere le credenziali di qualcuno che ha accesso al server web? Oppure la risposta è "Non permettere che il tuo server web venga compromesso"? Sono interessato anche a questo per riferimento futuro, poiché potremmo archiviare in futuro dati più sensibili, ad esempio indirizzi di clienti, e consentire l'accesso a Internet tramite Internet, piuttosto che internamente.
E ci sono altre cose che dovrei cercare? Proteggerò già dagli attacchi SQL injection e scripting.
Per ulteriori informazioni, il server Web ha HTTPS e il server SQL contiene i dettagli del cliente memorizzati in altri database, ma questi non verranno toccati dall'applicazione. Qualsiasi aiuto o consiglio su questo sarebbe apprezzato.