Modifica IP server utilizzato da Eseguibile [Autenticazione client-server]

0

per l'autenticazione del mio eseguibile uso un modulo server TCP in esecuzione su un VPS a cui il mio client (eseguibile) si connette. Perciò devo avere l'IP del VPS all'interno dell'Eseguibile. Ho due problemi principali con questo: 1. Se qualcuno in qualche modo si impossessa della fonte o disassembla l'Eseguibile (io ho l'offuscamento, ma se in qualche modo riesce a farlo) avrebbe l'IP. 2. Se il server si arresta (forse a causa del DDOS dopo che qualcuno ha ottenuto l'IP all'interno dell'eseguibile), come dovrebbe sapere il programma a quale server deve connettersi, senza che io spinga una versione aggiornata dell'eseguibile.

Per risolvere ciò ho pensato di avere un altro server che distribuiva gli IP, ma poi ci sarebbe di nuovo un IP / Indirizzo nell'eseguibile e loro potrebbero semplicemente mettere giù il server di distribuzione e siamo tornati al Problema # 2. Non so se voi capite cosa intendo, ma mi piacerebbe qualche consiglio o modi per renderlo più efficiente.

    
posta ZZ_James 12.05.2017 - 16:03
fonte

2 risposte

1

Invece di utilizzare un indirizzo IP statico nell'eseguibile perché non utilizzare un dominio. In questo modo, nel caso in cui sia necessario modificare l'indirizzo IP, è sufficiente modificare l'indirizzo IP a cui punta il nome del dominio.

Ciò impedirà di dover correggere l'eseguibile nel caso in cui l'indirizzo IP debba essere modificato. Naturalmente è ancora possibile per un attaccante DDoS il nuovo IP, quindi avrai ancora bisogno di un modo per mitigare gli effetti di un attacco come questo.

    
risposta data 12.05.2017 - 16:15
fonte
1

Non dovresti provare ad autenticare un eseguibile. Il meglio che puoi fare è avere un segreto nell'eseguibile stesso e affidarti all'offuscamento per nasconderlo. Ed è risaputo che l'offuscamento non è sicurezza. Questa è una battaglia senza speranza ...

Dovresti invece autenticare gli utenti e aspettarti che utilizzino correttamente la tua applicazione. E comunque non fidarti troppo di ciò che viene da fuori ... Ma qui, puoi distribuire nomi utente e lasciare che gli utenti scelgano la loro password, o se hai davvero bisogno di una strong autenticazione usa un 2 Factor Authentication con certificato su smartcard per esempio, o con token univoco casuale inviato come SMS.

    
risposta data 12.05.2017 - 16:44
fonte

Leggi altre domande sui tag