Quiero configurar una máquina en mi red para aceptar todas las llamadas desde una máquina específica sin autenticación. Para esto estoy planeando usar la dirección IP de la máquina cliente como el factor de confianza requerido para permitir la autenticación no verificada.¿Es posible determinar con precisión la dirección IP de un cliente en servlet java
Mi preocupación es que es posible determinar con precisión la dirección IP de un cliente en un servlet Java? ¿Es posible que la IP que obtengo en el servlet pueda ser cambiada por algún mecanismo de piratería para hacer que mi servidor crea que es la IP confiable?
Por ejemplo, si mi máquina servidor está configurada para confiar en 192.168.0.1, entonces ¿es posible que otro cliente que no sea 192.168.0.1 pretenda ser 192.168.0.1 y engañar a mi mecanismo de autenticación?
y +1 por mencionar el encabezado XFF y la posibilidad de que sea nulo – stevevls
¿cómo funciona la autenticación del cliente? ¿Puede el cliente enviar un certificado similar al que envía el servidor en la comunicación https para identificarse a sí mismo, podría proporcionarnos algunos detalles al respecto? – Ashish
Puede generar un certificado de cliente autofirmado e instalarlo en el almacén de claves de su máquina cliente (¿está utilizando Java en su cliente también?). Entonces, su servidor solo debe aceptar solicitudes firmadas por certificados de cliente de una CA determinada (usted mismo, en este caso). Existe una gran cantidad de documentación con respecto a los certificados de Java + cliente en la web. Además, eche un vistazo a la excelente [entrada de Wikipedia] (http://en.wikipedia.org/wiki/Transport_Layer_Security) en TLS para obtener información básica. – Viccari