Fundamentos de Seguridad Web

Seguridad Web

Conjunto de medidas, protocolos y herramientas diseñadas para proteger sitios y aplicaciones web contra amenazas, accesos no autorizados, robo de datos y ataques cibernéticos.

OWASP (Open Web Application Security Project)

Organización sin fines de lucro dedicada a mejorar la seguridad del software. Publica el OWASP Top 10, una lista de las 10 vulnerabilidades más críticas en aplicaciones web.

Vulnerabilidad

Debilidad o fallo en un sistema de software que puede ser explotada por un atacante para comprometer la seguridad, integridad o disponibilidad de la aplicación.

Inyección SQL (SQL Injection)

Ataque que consiste en insertar código SQL malicioso en campos de entrada de una aplicación web para manipular o acceder a la base de datos sin autorización.

XSS (Cross-Site Scripting)

Vulnerabilidad que permite a un atacante inyectar scripts maliciosos en páginas web vistas por otros usuarios, pudiendo robar cookies, sesiones o datos sensibles.

CSRF (Cross-Site Request Forgery)

Ataque que engaña al navegador del usuario para que envíe solicitudes no autorizadas a un sitio en el que está autenticado, ejecutando acciones no deseadas.

Firewall de Aplicaciones Web (WAF)

Sistema de seguridad que filtra y monitorea el tráfico HTTP entre una aplicación web e Internet, protegiendo contra ataques como XSS, SQL Injection y DDoS.

DDoS (Distributed Denial of Service)

Ataque distribuido de denegación de servicio que busca hacer que un servidor o red no esté disponible saturándolo con un volumen masivo de tráfico desde múltiples fuentes.

Encriptación y Control de Acceso

Encriptación (Cifrado)

Proceso de convertir datos legibles (texto plano) en un formato ilegible (texto cifrado) mediante un algoritmo y una clave, para proteger la información durante su almacenamiento o transmisión.

Encriptación Simétrica

Método de cifrado que usa la misma clave tanto para encriptar como para desencriptar los datos. Ejemplo: AES (Advanced Encryption Standard).

Encriptación Asimétrica

Método que utiliza un par de claves: una pública (para encriptar) y una privada (para desencriptar). Ejemplo: RSA. Es la base de los certificados digitales y HTTPS.

Hash (Función Hash)

Función que convierte datos de cualquier tamaño en una cadena de longitud fija. Es unidireccional (no se puede revertir). Se usa para almacenar contraseñas de forma segura. Ejemplo: SHA-256, bcrypt.

Autenticación

Proceso de verificar la identidad de un usuario, dispositivo o sistema. Se basa en factores como: algo que sabes (contraseña), algo que tienes (token) o algo que eres (biometría).

Autorización

Proceso de determinar qué recursos o acciones tiene permitido un usuario autenticado. Se implementa mediante roles y permisos.

JWT (JSON Web Token)

Estándar abierto (RFC 7519) para crear tokens de acceso que permiten la transmisión segura de información entre partes como un objeto JSON firmado digitalmente.

OAuth 2.0

Protocolo de autorización que permite a aplicaciones de terceros acceder a recursos de un usuario sin necesidad de compartir sus credenciales directamente.

MFA (Multi-Factor Authentication)

Método de autenticación que requiere dos o más factores de verificación independientes para confirmar la identidad del usuario.

RBAC (Role-Based Access Control)

Modelo de control de acceso basado en roles, donde los permisos se asignan a roles (admin, usuario, editor) y los usuarios reciben los permisos del rol asignado.

Certificados de Seguridad Web

SSL (Secure Sockets Layer)

Protocolo criptográfico (ahora reemplazado por TLS) que establece un canal cifrado entre un servidor web y un navegador, garantizando la privacidad de los datos transmitidos.

TLS (Transport Layer Security)

Versión actualizada y más segura de SSL. Es el protocolo estándar actual para cifrar las comunicaciones en Internet. TLS 1.3 es la versión más reciente.

HTTPS (HTTP Secure)

Protocolo HTTP cifrado mediante TLS/SSL. Se identifica por el candado en la barra del navegador y la URL que inicia con https://. Es esencial para cualquier sitio web moderno.

Certificado SSL/TLS

Archivo digital que vincula una clave criptográfica con los datos de una organización, permitiendo conexiones seguras. Tipos: DV (Domain Validation), OV (Organization Validation), EV (Extended Validation).

Let's Encrypt

Autoridad de certificación (CA) gratuita y automatizada que emite certificados SSL/TLS DV. Es la opción más popular para sitios web que buscan implementar HTTPS sin costo.

CA (Certificate Authority)

Entidad de confianza encargada de emitir, renovar y revocar certificados digitales. Ejemplos: DigiCert, Comodo, GlobalSign, Let's Encrypt.

Despliegue de Aplicaciones

Deploy (Despliegue)

Proceso de poner una aplicación web en un servidor de producción para que sea accesible a los usuarios finales a través de Internet.

Servidor de Producción

Servidor donde se ejecuta la versión final de una aplicación web, accesible por los usuarios reales. Requiere alta disponibilidad, seguridad y rendimiento.

CI/CD (Continuous Integration / Continuous Deployment)

Prácticas de desarrollo que automatizan la integración, pruebas y despliegue de código. Herramientas: GitHub Actions, Jenkins, GitLab CI.

FTP / SFTP

FTP (File Transfer Protocol) transfiere archivos entre cliente y servidor. SFTP (SSH File Transfer Protocol) es su versión segura que cifra la transferencia mediante SSH.

SSH (Secure Shell)

Protocolo que permite acceder a un servidor remoto de forma segura mediante una conexión cifrada. Se usa para administrar servidores y desplegar aplicaciones.

DNS (Domain Name System)

Sistema que traduce nombres de dominio legibles (ejemplo.com) en direcciones IP numéricas que las computadoras usan para comunicarse entre sí.

Hosting (Alojamiento Web)

Servicio que proporciona espacio en un servidor para almacenar y servir los archivos de una aplicación web. Tipos: compartido, VPS, dedicado, cloud.

Docker

Plataforma de contenedores que permite empaquetar una aplicación con todas sus dependencias en una unidad estandarizada, garantizando que funcione igual en cualquier entorno.

Variables de Entorno

Valores de configuración almacenados fuera del código fuente (archivo .env) que contienen información sensible como credenciales de BD, claves API y configuraciones del servidor.