Seguridad HTTP

Seguridad HTTP

HTTP se utiliza para una comunicación a través de Internet, por lo que los desarrolladores de aplicaciones, los proveedores de información y los usuarios deben conocer las limitaciones de seguridad de HTTP / 1.1. Esta discusión no incluye soluciones definitivas a los problemas mencionados aquí, pero sí hace algunas sugerencias para reducir los riesgos de seguridad.

Fuga de información personal

Los clientes HTTP suelen tener acceso a una gran cantidad de información personal, como el nombre del usuario, la ubicación, la dirección de correo electrónico, las contraseñas, las claves de cifrado, etc.Por lo tanto, como usuario, debe tener mucho cuidado para evitar la filtración involuntaria de esta información a través del protocolo HTTP a otras fuentes.

  • Toda la información confidencial debe almacenarse en el lado del servidor en forma cifrada.

  • Revelar la versión de software específica del servidor podría permitir que la máquina del servidor se vuelva más vulnerable a ataques contra software que se sabe que contiene agujeros de seguridad.

  • Los proxies que sirven como portal a través de un firewall de red deben tomar precauciones especiales con respecto a la transferencia de información de encabezado que identifica a los hosts detrás del firewall.

  • La información enviada en el campo Formulario puede entrar en conflicto con los intereses de privacidad del usuario o la política de seguridad de su sitio. Por lo tanto, no debe transmitirse sin que el usuario pueda deshabilitar, habilitar y modificar el contenido del campo.

  • Los clientes no deben incluir un campo de encabezado Referer en una solicitud HTTP no segura si la página de referencia se transfirió con un protocolo seguro.

  • Los autores de servicios que utilizan el protocolo HTTP no deben utilizar formularios basados ​​en GET para el envío de datos confidenciales, ya que esto provocará que estos datos se codifiquen en el Request-URI.

Ataque basado en nombres de archivos y rutas

El documento debe restringirse a los documentos devueltos por solicitudes HTTP para que sean solo aquellos que fueron previstos por los administradores del servidor.

Por ejemplo, UNIX, Microsoft Windows y otros sistemas operativos utilizan .. como componente de ruta para indicar un nivel de directorio por encima del actual. En tal sistema, un servidor HTTP DEBE rechazar cualquier construcción de este tipo en el Request-URI si de otra manera permitiría el acceso a un recurso fuera de los destinados a ser accesibles a través del servidor HTTP.

Suplantación de DNS

Los clientes que usan HTTP dependen en gran medida del Servicio de nombres de dominio y, por lo tanto, generalmente son propensos a ataques de seguridad basados ​​en la asociación errónea deliberada de direcciones IP y nombres DNS. Los clientes deben tener cuidado al asumir la validez continua de una asociación de nombre DNS / número IP.

Si los clientes HTTP almacenan en caché los resultados de las búsquedas de nombres de host para lograr una mejora del rendimiento, deben observar la información TTL proporcionada por DNS. Si los clientes HTTP no observan esta regla, podrían ser falsificados cuando cambie la dirección IP de un servidor al que se haya accedido anteriormente.

Encabezados de ubicación y suplantación de identidad

Si un solo servidor admite varias organizaciones que no confían entre sí, DEBE verificar los valores de los encabezados Ubicación y Contenido-Ubicación en las respuestas que se generan bajo el control de dichas organizaciones para asegurarse de que no intenten invalidar recursos sobre los cuales no tienen autoridad.

Credenciales de autenticación

Los agentes de usuario y los clientes HTTP existentes suelen conservar la información de autenticación de forma indefinida. HTTP / 1.1 no proporciona un método para que un servidor dirija a los clientes a descartar estas credenciales almacenadas en caché, lo cual es un gran riesgo de seguridad.

Se recomienda hacer uso de protección por contraseña en protectores de pantalla, tiempos de inactividad y otros métodos que mitiguen los problemas de seguridad inherentes a este problema.

Proxies y caché

Los proxies HTTP son hombres en el medio y representan una oportunidad para los ataques de intermediarios. Los apoderados tienen acceso a información relacionada con la seguridad, información personal sobre usuarios individuales y organizaciones, e información de propiedad que pertenece a usuarios y proveedores de contenido.

Los operadores de proxy deben proteger los sistemas en los que se ejecutan los proxies, ya que protegerían cualquier sistema que contenga o transporte información confidencial.

Los proxies de caché proporcionan vulnerabilidades potenciales adicionales, ya que el contenido de la caché representa un objetivo atractivo para la explotación malintencionada. Por lo tanto, el contenido de la caché debe protegerse como información confidencial.