Estoy desarrollando un servidor que cumple dos propósitos: es un CMS para que las personas utilicen y mantengan algunos datos, y un servicio web para una aplicación móvil para obtener estos datos. Se ejecuta en un servidor Debian que ejecuta Tomcat 6 (usando Java / JSP) en la nube de AWS.
Ahora, el servidor usa inicios de sesión / contraseñas para identificar a los usuarios en ambos casos: en el caso de la aplicación móvil, el inicio de sesión / contraseña es en la aplicación y se comparte en todas las instancias de la aplicación. Si alguien comienza a ver el tráfico de red del cliente, verá la URL, el inicio de sesión y la contraseña, irá a la URL y podrá iniciar sesión en el CMS (o al menos iniciar un ataque de fuerza bruta contra el servicio de inicio de sesión) .
¿Cuál es la mejor manera de asegurar el CMS? Mis ideas son más o menos:
- Mueva el CMS a una instancia de servidor diferente y un dominio diferente. Todavía compartirá la base de datos subyacente con el servicio web.
- Oscurecer el punto de inicio de sesión del servidor. En lugar de redirigir básicamente todas las URL no válidas a la página de inicio de sesión, envíelas estrictamente a 404 y cambie el nombre de inicio de sesión a algo aleatorio.
- Asegúrese de que la aplicación móvil use inicios de sesión / contraseñas que no funcionen en CMS (implementando diferentes roles para el editor / usuario de la aplicación de CMS) y refuerce el inicio de sesión contra los ataques (fuerza bruta, etc.)