Desidero configurare una macchina nella mia rete per accettare tutte le chiamate da una macchina specifica senza autenticazione. Per questo ho intenzione di utilizzare l'indirizzo IP del computer client come fattore di fiducia richiesto per consentire l'autenticazione non controllata.È possibile determinare con precisione l'indirizzo IP di un client in servlet java
La mia preoccupazione è che è possibile determinare con precisione l'indirizzo IP di un client in un servlet Java? È possibile che l'IP che ottengo nel servlet possa essere modificato da qualche meccanismo di hacking per far credere al mio server che si tratta dell'IP di fiducia?
Ad esempio se la mia macchina server è configurata per fare affidamento su 192.168.0.1, allora è possibile da parte di qualche altro client diverso da 192.168.0.1 fingere come 192.168.0.1 e ingannare il mio meccanismo di autenticazione?
e +1 per menzionare l'intestazione XFF e la possibilità che sia nullo – stevevls
come funziona l'autenticazione client? il cliente può inviare un certificato simile a quello che il server invia nella comunicazione https per identificarsi, potresti fornire alcuni dettagli al riguardo. – Ashish
È possibile generare un certificato client autofirmato e installarlo sul keystore della macchina client (si sta utilizzando anche Java nel client?). Quindi, il tuo server dovrebbe accettare solo le richieste firmate dai certificati client da una determinata CA (te stesso, in questo caso). C'è abbondanza di documentazione sui certificati client Java + sul web. Inoltre, dai un'occhiata all'eccellente [voce di Wikipedia] (http://en.wikipedia.org/wiki/Transport_Layer_Security) su TLS per le basi. – Viccari