¿Qué características tiene una web realmente segura?
La correcta gestión de los permisos de usuario, la actualización regular del software o el uso de protocolos criptográficos son algunas de las características de una web realmente segura
Las aplicaciones web son una de las principales vías de acceso para aquellos atacantes que quieran poner en jaque la seguridad de una organización, acceder a información confidencial sin autorización gestionada por la misma o menoscabar su reputación. Su elevada exposición las convierte en la presa perfecta para los actores maliciosos que deseen abrir una brecha de seguridad web y explotarla, pudiendo desencadenar incidentes de enorme gravedad.
Por ello, es imprescindible poner énfasis en el desarrollo de estrategias de prevención que refuercen la seguridad de la web y que, desde el primer momento, trabajen por evitar que estos episodios tengan lugar o que minimicen la frecuencia con la que ocurren, mermando así la magnitud de sus posibles consecuencias.
A continuación, desgranamos las claves de las principales características de una web realmente segura.
1. Siglas que inspiran confianza: HTTPS y TLS/SSL
La dirección web o URL (siglas de Uniform Resource Locator en inglés) suele ser el primer elemento de una página en la que se fija el usuario a la hora comprobar de forma ágil si posee alguna de las características de una web realmente segura. Escrutar el dominio o el nombre concreto de la página suele venir acompañado de la realización de un recorrido visual hasta el comienzo de esa secuencia de caracteres, esperando encontrar la combinación de letras ‘HTTPS’.
Si nos topamos con ella, la sensación de alivio es inmediata: es de dominio público que la entrada en escena se las siglas HTTPS es una de las principales características de una web realmente segura. De hecho, aquellas páginas que no contienen esta abreviatura son marcadas por los navegadores como no seguras. Pero ¿por qué sucede esto?
El término HTTPS responde a las siglas de Hypertext Transfer Protocol Secure, o Protocolo Seguro de Transferencia de Hipertexto en castellano. Se trata de una evolución del protocolo estándar HTTP que, como su nombre indica, realiza una transferencia segura de los datos intercambiados entre el cliente (generalmente, el navegador) y el servidor web. Esta transmisión está protegida gracias a la aplicación de un cifrado que codifica toda la información intercambiada, entrando en juego otra abreviatura que completa el tándem: el protocolo TLS/SSL.
TLS (Transport Layer Security) es la actualización del protocolo criptográfico SSL (Secure Socket Layers), y hoy en día es el certificado de encriptación de uso común. De hecho, el protocolo SSL fue reemplazado por el TLS 1.0. como estándar en 1999, pero algunas implementaciones antiguas siguen utilizando la nomenclatura SSL como término genérico.
Esta dupla de protocolos, por lo tanto, permite incrementar la privacidad de los datos de los usuarios, ya que, al codificar toda la información transmitida, esta se vuelve ilegible para aquellos atacantes que intenten interceptarla, configurándose como una de las características de una web realmente segura.
2. Actualizaciones regulares y parches de seguridad
No es un secreto que los actores maliciosos están permanentemente analizando la red y escrutando las últimas tendencias en ciberseguridad con el fin de descubrir vulnerabilidades desconocidas o nuevas formas de explotar aquellas preexistentes.
Por ello, una de las principales características de una web realmente segura es la actualización constante de su software, plugins y sistemas operativos, así como la inclusión regular de cambios o mejoras en el código de la aplicación web a través de la implementación de parches de seguridad.
Estas medidas resultan imprescindibles a la hora de diseñar estrategias de ciberseguridad basadas en la prevención, puesto que, de una forma continua en el tiempo, ayudan a subsanar posibles errores de desarrollo, protegen la web de aquellas vulnerabilidades que ya son conocidas y refuerzan la seguridad contra amenazas emergentes.
Además, una actualización recurrente y programada puede optimizar el rendimiento y la eficiencia de la web, al tiempo que permitirá a ciertos negocios a cumplir con normativas sobre seguridad que exigen una actualización regular de los sistemas, como el Estándar de Seguridad de Datos para la Industria de Tarjeta de Pago (PCI DSS) o el Reglamento General de Protección de Datos (RGPD) de la Unión Europea.
3. Validación y sanitización de datos
Para que una página o aplicación reúna todas las características de una web realmente segura, esta debe contemplar la implementación de medidas para garantizar una entrada y salida del usuario segura, eficiente y de calidad.
Esto se consigue a través de la puesta en marcha de dos procesos diferentes, pero que coexisten en estrecha relación:
- Validación. Este proceso permite verificar si los datos entrantes aportados por el usuario cumplen con los requisitos o reglas preestablecidas antes de ser aceptados y procesados por la aplicación web. Esto conlleva la revisión de parámetros como el formato, el rango o la longitud de información como direcciones de correo electrónico, números de teléfono, fechas
- Sanitización. Al igual que el proceso anterior, esta técnica posibilita cerciorarse de que los datos de entrada se encuentran en un formato seguro y adecuado antes de ser utilizados en la web. Pero, a diferencia de la validación, la sanitización implica la eliminación o modificación de caracteres potencialmente dañinos o indeseados, así como la codificación de salidas (HTML encoding, JSON encoding) para evitar ataques de inyección de código.
Al tener presentes estos dos procedimientos y aplicarlos en los procesos de entrada de información de la web se aumenta la resistencia de la aplicación a vulnerabilidades basadas en la manipulación de datos de entrada, como los ataques XSS o la inyección de código SQL.
- Los ataques XSS o secuencias de comandos en sitios cruzados (Cross-site scripting en inglés) consisten en la introducción de código malicioso por parte de los atacantes en la propia aplicación web, con el fin último de robar información a los usuarios que accedan a esta.
- La inyección SQL es otro tipo de ciberataque relacionado con este tipo de vulnerabilidades, en el que los actores maliciosos utilizan formularios de entrada para acceder a la base de datos de las aplicaciones web, secuestrando así información confidencial y teniendo la oportunidad de modificarla o incluso eliminarla.
Protegerse ante este tipo de ataques, que cada año son definidos por la OWASP como una de las amenazas más peligrosas en cuestión de ciberseguridad para las aplicaciones web, es imprescindible para mantener una buena higiene de datos, configurándose esta como una de las principales características de una web realmente segura.
4. Aplicación de protocolos seguros para el inicio de sesión
Otra de las características de una web realmente segura es la utilización de protocolos robustos que se aseguren de que los usuarios que quieran acceder a la web sean quienes dicen ser y que sus permisos queden bien definidos. Para ello, es necesario que entren en juego dos protocolos distintos: la autenticación y la autorización.
4.1. Autenticación
Por un lado, los procesos de autenticación tienen el cometido de verificar la identidad de los usuarios, cerciorándose de que ninguna otra entidad pueda acceder con sus credenciales de forma indebida o fraudulenta.
El método de autenticación por excelencia es la contraseña, pero desde su implementación se ha ido fraguando una interminable lista de vulnerabilidades que comprometen su eficacia. Por suerte, existen técnicas de encriptación como el hashing y el salting que incrementan considerablemente la robustez de las contraseñas, reduciendo la capacidad de los actores maliciosos para adivinar o descifrarlas.
Aún así, para asegurarse de que una página o aplicación reúne todas las características de una web realmente segura, es recomendable la utilización de métodos adicionales de autenticación, como la utilización de OTPs (One Time Passcodes en inglés) o de la autenticación de dos factores (2FA) o multifactor (MFA). Al incluir en la ecuación más elementos que deben ser verificados, las probabilidades de sufrir un ataque de autenticación pueden disminuir considerablemente.
4.2. Autorización
Por otro lado, la autorización define una relación de los recursos de una web a los que puede acceder el usuario, así como sus permisos según su nivel de privilegios.
Esto normalmente se controla al programar la web, estableciendo un esquema de controles de acceso y un sistema meridiano de permisos que son asignados en forma de roles. La forma más adecuada de asegurarse de que la página en cuestión posee las características de una web realmente segura en lo relativo al proceso de autorización es aplicar el principio de “asignación de mínimos privilegios indispensables” por defecto.
Así se reducen en gran medida las brechas de seguridad que puedan darse y sus respectivas consecuencias al limitar el acceso a las acciones sensibles a los usuarios adecuados.
Conclusión: implementación y mantenimiento
En definitiva, a la hora de proteger la seguridad de una aplicación web toda precaución es bienvenida. Implementar todos los mecanismos de prevención disponibles y asegurarse de que estos son actualizados regularmente es la clave de bóveda de una web debidamente protegida.
Además, en caso de duda, la realización de análisis como una auditoría de seguridad web es siempre una buena idea para determinar si la página o aplicación en cuestión cumple con todas las características de una web realmente segura.