Alguien me dijo que mostrar su dirección IP en una URL (como http://192.0.2.34/default.html
) es más fácil de piratear. ¿Es eso cierto? Podría rastrear cualquier nombre de dominio y obtener su número de IP también.
¿Más fácil de hackear? No. ¿Más fácil de hacer? Potencialmente. Usar una dirección IP en lugar de un nombre de host con una entrada de DNS significa que está renunciando a una capa de flexibilidad de enrutamiento que puede ser muy beneficiosa.
Por ejemplo, si el malware apunta a su dirección IP en un ataque DoS, si está usando un nombre de dominio, cambie la dirección IP del sitio y en el registro DNS, y el ataque finaliza sin que sus usuarios sepan la diferencia. Sin embargo, si sus usuarios realizan solicitudes directamente a su IP, no es una opción. Estás vinculado a esa IP a menos que quieras incomodar (y posiblemente perder) a tus usuarios en el camino.
Normalmente, si su sitio es accesible como http://1.2.3.4/
, eso implicaría que no está imponiendo ninguna limitación en el encabezado Host:
. Eso significaría que podría acceder a él no solo a través de la dirección IP, sino también a cualquier nombre de host que se resolvió en esa dirección, incluido un dominio registrado por un atacante y apuntado a él.
Esto abre los ataques de DNS recauchutado , donde un atacante elude la Política del mismo origen al cambiar la dirección IP de un nombre de host entre su propio servidor y el suyo, y ataques de cookies donde apuntan attacker.com
a su servicio y luego sub.attacker.com
a su propio servidor, lo que permite leer la cookie desde el subdominio.
Todo el riesgo que corren depende del diseño y el propósito de su aplicación. Es más probable que sea explotable en aplicaciones no públicas, donde tiene una autorización implícita basada en el rango de direcciones IP privadas o SSO (Windows auth et al); en ese caso, una aplicación podría producir datos confidenciales sin la interacción del usuario, y esos datos podrían ser visibles para dicho atacante.
Sin saberlo, la ruta más segura es poner limitaciones en lo que puede contener el encabezado Host:
para las solicitudes HTTP. Por lo general, eso significa configurar servidores virtuales basados en host y permitir que solo los nombres de host conocidos lleguen a sus aplicaciones web, en cuyo caso los nombres de host de los atacantes y el acceso directo a la dirección IP llegarían a una página de error.
Sin embargo, si lo desea, puede realizar una comprobación personalizada que solo permita una dirección IP y no cualquier otro nombre de host. No, la dirección IP no es un problema en sí mismo.
Y / o simplemente use HTTPS, que ofrece una mayor seguridad de que está llegando al servidor correcto.
Al contrario de las otras respuestas, considero que el uso de direcciones IP en lugar de nombres de host es una mala práctica por varias razones. Más notablemente:
Es bastante más difícil para los usuarios promedio verificar que están hablando con el servicio correcto y no con un sitio de phishing: tienen que recordar un número grande en lugar de un nombre.
El uso de ip-adresses implica que no puede usar https con un certificado válido.
Las direcciones IP pueden ser reasignadas por varias razones, y no todas están bajo su control. Por lo tanto, alguien más puede obtener su dirección IP actual.
Una forma común de manejar grandes cantidades de tráfico (por ejemplo, un ataque DDoS) es apuntar la entrada del dns a una gran red de almacenamiento en caché distribuida. Al utilizar una dirección IP, está descartando esta opción efectiva y relativamente económica.
Usar la dirección IP en lugar del dominio no es una mala práctica de seguridad , ya que un atacante podría obtenerla de forma trivial.
Un comando de terminal simple como nslookup
puede verificar cualquier dirección IP resuelta por el dominio dado. Además, si el dominio está conectado a una sola dirección IP, ping
hace el trabajo también.
Dar su dirección de [sitio web] de una manera u otra no lo hace más "hackeable" de lo que ya podría ser.
No puede ser un problema de seguridad porque todos pueden averiguar la dirección IP del dominio.
por ejemplo, mira esto: ip-lookup
Junto con las buenas razones que mencionó Bobince, también es posible que no pueda crear un certificado SSL / TLS de confianza adecuada para un sitio que no usa un nombre de dominio DNS. De este modo, todos los navegadores que intentan conectarse a su versión HTTPS: // de su sitio con dirección IP se quejan de que no pueden confiar en él.
Lea otras preguntas en las etiquetas web-application web-hosting dns-domain