Cambiar la IP del servidor utilizada por Ejecutable [Autentificación Cliente-Servidor]

0

para la autenticación de mi ejecutable, uso un módulo de servidor TCP que se ejecuta en un VPS al que mi cliente (ejecutable) se conecta. Para eso tengo que tener la IP del VPS dentro del Ejecutable. Tengo dos problemas principales con esto: 1. Si alguien de alguna manera se apodera de la fuente o desmonta el Ejecutable (tengo una ofuscación, pero si de alguna manera se las arregla para hacerlo) tendría la IP. 2. Si el servidor deja de funcionar (tal vez debido a que se ha hecho DDOS después de que alguien obtuviera la IP dentro del Ejecutable), ¿cómo debería saber el programa a qué servidor debería conectarse, sin que yo introduzca una versión actualizada del Ejecutable?

Para resolver esto, pensé en tener otro servidor que distribuya las IP, pero luego habría una IP / Dirección en el Ejecutable de nuevo y podrían simplemente dejar el servidor de distribución y volveremos al problema # 2. No sé si ustedes entienden lo que quiero decir, pero me encantaría recibir algunos consejos o maneras en las que al menos podría hacer esto más eficiente.

    
pregunta ZZ_James 12.05.2017 - 16:03
fuente

2 respuestas

1

En lugar de usar una dirección IP estática en el ejecutable, ¿por qué no usar un dominio? De esta manera, en el caso de que necesite cambiar la dirección IP, solo puede cambiar la dirección IP a la que apunta su nombre de dominio.

Esto evitará que necesite parchear el archivo ejecutable en caso de que la dirección IP deba cambiar. Por supuesto, todavía es posible que un atacante elimine la nueva IP, por lo que aún necesitará alguna forma de mitigar los efectos de un ataque como este.

    
respondido por el anon 12.05.2017 - 16:15
fuente
1

No debes intentar autenticar un ejecutable. Lo mejor que puedes hacer es tener un secreto en el mismo archivo ejecutable y confiar en la ofuscación para ocultarlo. Y es bien sabido que la ofuscación no es seguridad. Esa es una lucha sin esperanza ...

En su lugar, debe autenticar a los usuarios y esperar que usen su aplicación correctamente. Y, de todos modos, nunca confíe demasiado en lo que viene del exterior ... Pero aquí, puede distribuir los nombres de usuario y dejar que los usuarios elijan su contraseña, o si realmente necesita una autenticación segura, use una autenticación de 2 factores con certificado en tarjetas inteligentes, por ejemplo, o con token único aleatorio enviado como SMS.

    
respondido por el Serge Ballesta 12.05.2017 - 16:44
fuente

Lea otras preguntas en las etiquetas