Sto sviluppando un server che ha due scopi: è un CMS per le persone che utilizzano e mantengono alcuni dati e un servizio Web per un'app mobile per ottenere questi dati. Funziona su un server Debian che esegue Tomcat 6 (utilizzando Java / JSP) sul cloud AWS.
Ora, il server utilizza login / password per identificare gli utenti in entrambi i casi: nel caso dell'app mobile, il login / password è nell'app e condiviso in tutte le istanze dell'app. Se qualcuno inizia a guardare il traffico di rete del client, vedrà URL, login e password, andrà all'URL e sarà in grado di accedere al CMS (o almeno lanciare un attacco a forza bruta contro il servizio di login) .
Qual è il modo migliore per proteggere il CMS? Le mie idee sono approssimativamente:
- Sposta il CMS in un'altra istanza del server e in un dominio diverso. Condivide ancora il DB sottostante con il servizio Web.
- oscura il punto di accesso del server. Invece di reindirizzare in pratica tutti gli URL non validi alla pagina di accesso, inviarli rigorosamente a 404 e rinominare l'accesso a qualcosa di casuale.
- Assicurati che l'app mobile utilizzi accessi / password che non funzionano in CMS (implementando ruoli diversi per editor CMS / utente app) e indurisci gli attacchi di accesso contro (attacchi brute force ecc.)