Protocolos web y seguridad

 Hay algo que debes de tener siempre presente si quieres responsabilizarte de la seguridad de tus aplicaciones, o de la seguridad de las aplicaciones de terceros: debes superar, o igualar al menos, los conocimientos de cualquier hacker potencial de dichas aplicaciones. Centrándonos en la web, es básico conocer el protocolo de comunicación que esta usa, pues un hacker lo dominará perfectamente. World wide web es una de la partes más activas de internet, y hace uso de dos protocolos: HTTP y HTTPS.

 El protocolo de transferencia de hipertexto (HTTP) funciona de un modo sencillo basado en peticiones y respuestas. El agente de usuario encargado de hacer la petición (usualmente un navegador web) solicita un recurso a una computadora que es la encargada de almacenarlo y proveerlo, es decir, al servidor. Después de valorar la petición del cliente, dicho servidor prepara y devuelve la respuesta, que puede consistir en una página web, un documento informático, datos obtenidos al ejecutar un programa o una consulta a una base de datos, etc.

 Estas transacciones constan de un encabezado que estará seguido por una línea en blanco y por los datos principales. En el encabezado se hace referencia a los datos principales, y por este motivo se le conoce como metadatos. El servidor coloca los metadatos en las variables de entorno de CGI, usando el prefijo HTTP_ para distinguirlas del resto.

 El protocolo seguro de transferencia de hipertexto (HTTPS) es similar a HTTP, pero en esta ocasión crea un canal cifrado mediante SSL/TLS. HTTPS utiliza por defecto el puerto 443, en lugar del puerto 80 propio de HTTP. La finalidad de este protocolo es evitar ataques man-in-the-middle y eavesdropping, mediante los cuales un hacker puede obtener acceso a cuentas de un sitio web o información confidencial.