No puede rechazar efectivamente las conexiones a menos que proporcione a cada cliente una clave privada que puede revocar individualmente. Pero esto es probablemente exagerado. No necesita una solución a prueba de balas si la mayoría de las personas no se molestan en disparar una bala.
Es una pregunta de seguridad, así que describamos un modelo de amenaza y estrategias de mitigación.
Supongamos que tiene una URL que golpea y puede incurrir en un costo notable para usted (por ejemplo, costo de procesamiento), y desea protegerlo tanto de un ataque DoS simple como de aplicaciones copycat.
Use SSL para ocultar la conexión y evitar que se analice fácilmente. Use un número de puerto no obvio, una secuencia de redireccionamiento, un intercambio de cookies para complicar la conexión un poco antes de hacer la parte costosa de la solicitud. Use un código secreto integrado en su aplicación para que el servidor sepa que tiene que aceptar la conexión.
Ahora alguien no puede aprender la URL costosa de golpear simplemente ejecutando un rastreador de paquetes o mirando cadenas similares a URL en su código. Un atacante potencial tiene que descompilar su aplicación.
Realmente no puede proteger su código de ser descompilado y / o ejecutado bajo un depurador. El atacante finalmente aprende la clave secreta y la secuencia de conexión.
Observa que comienza a recibir solicitudes de rouge en su costosa URL: ya sea en forma de ataque o en forma de una aplicación copycat que tiene que acceder a su servicio para ejecutarse, o tal vez se publique un código de explotación. Sin embargo, no puede distinguir una solicitud fraudulenta de una solicitud legítima.
Cree una actualización menor gratuita para su aplicación, con una clave secreta diferente. Debe golpear una URL costosa diferente que sirve los mismos datos que la URL costosa comprometida. Durante algún tiempo, haga que ambas URL sean accesibles.
Vea cómo su base de usuarios cambia a la versión actualizada. Acelere la costosa URL comprometida y eventualmente la 404. Acaba de mitigar una violación de seguridad, con suerte sin perder demasiado. Volver al punto de partida.
Descargo de responsabilidad: no soy un experto en seguridad.