Si se hace correctamente, podría ser una adición algo útil a su protocolo de seguridad. Sin embargo, no me atrevería a utilizarlo para reemplazar un factor preexistente en su autenticación, ya que las direcciones IP no son información secreta (se la regala a cada sitio web que visita) y depende de cómo / dónde las obtenga. Dirección desde, podría ser trivial a spoof. Pero si usa la dirección IP de una conexión TCP junto con, por ejemplo, una cookie segura solo de http almacenada, podría agregar algo de seguridad. Específicamente, invalidaría la cookie cada vez que cambia la dirección IP (que puede cambiar por motivos benignos, como la reasignación de su IP por parte de su ISP) y por motivos maliciosos (el atacante se apoderó de su cookie).
Como dijo Ladadadada , las direcciones IP en las conexiones TCP ya no son fáciles de falsificar. TCP requiere un procedimiento de intercambio para obtener un número de secuencia de 32 bits aleatorio del servidor antes de que pueda intercambiar información. Si usted forja una dirección IP aleatoria completamente falsa al iniciar el procedimiento de intercambio, entonces los paquetes no se enviarán a su computadora a través de Internet, por lo que no puede completar el intercambio. A menos que sea, usted controle los enrutadores intermedios en el ISP o una computadora en una de las mismas redes locales que podrían capturar los paquetes enrutados a otro lugar, en cuyo caso podría falsificar direcciones IP aleatorias.
Sin embargo, si diseña una aplicación web y registra la dirección IP, debe tener cuidado. Supongamos que tiene una aplicación web con dos servidores web (por ejemplo, uno para contenido dinámico / otro para estático), detrás de un equilibrador de carga u otro proxy. Puede ver por prueba y error que la dirección IP del cliente solo está presente en el encabezado HTTP X-Forwarded-For
. Sin embargo, este campo es fácil de cambiar. Por ejemplo, telnet www.whatismyip.org 80
y escriba lo siguiente con / sin X-Forwarded-For
la línea (recuerde presionar la tecla Intro dos veces después de la última línea para indicar el final de su solicitud HTTP).
GET / HTTP/1.1
Host: www.whatismyip.org
X-Forwarded-For: 1.2.3.4
y verá que esta aplicación web cree que su dirección IP ha cambiado a 1.2.3.4
. Así que asegúrese de probar a fondo. En general, creo que hacer esto por ti mismo es más trabajo de lo que vale, especialmente porque puede frustrar a los usuarios cuyas direcciones IP cambian con bastante frecuencia.
EDITAR: Me di cuenta después de escribir esto que, si bien respondía a la pregunta del título ('¿la dirección IP puede ser un componente de la autenticación de 2 factores?'), pero no la parte específica que se refiere a la administración de ssh. Diría que la contraseña está protegida por contraseña ssh la clave es esencialmente una autenticación de dos factores: algo que tienes (la clave ssh) y algo que sabes (la clave de la contraseña).