Conceptos generales de seguridad
Por qué Ciberseguridad para Desarrollo Web
No estamos seguros
Autorización Autenticación y Accountability : AAA
Funciona en mi local
Empecemos por la lógica
SQL Injection
De local a producción
Introducción a DevSecOps
DevSecOps como cultura
Creando pipelines
Corriendo nuestras pruebas
Listas de control de privilegios
Seguridad en la arquitectura
Diseñando la arquitectura
Infraestructura como código
Creando la infraestructura
Creando roles y policies
Desplegando funciones lambda
El mundo de la Base de Datos
Conectando lambdas a una VPC
Single point of failure
Evitando vulnerabilidades en el código
Configurando Auth0
Creando un lambda Authorizer
Secretos y API Keys
Creando Endpoints
Evitando Cross Site Scripting o XSS
Validando la integridad de los datos con tokens
Controles de seguridad sobre datos
Conociendo la naturaleza de los datos
Protege tus datos con Key Management Services
Monitoring y alertas
Sistema de logs
Observabilidad
Alertas y Postmortems
CORS y cierre
Errores de CORS
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Entender y manejar los CORS (Cross-Origin Resource Sharing, o Intercambio de Recursos de Origen Cruzado) es crucial para cualquier desarrollador web, ya que influye directamente en cómo los recursos son compartidos de manera segura entre diferentes servidores. Este mecanismo se utiliza para permitir que un dominio solicite recursos a otro, siempre que se haya permitido explÃcitamente. Al tratar con el backend y el frontend, este conocimiento es invaluable para evitar errores y garantizar una experiencia de usuario óptima.
Cuando un navegador hace una solicitud a otro servidor web, este último responde con un header particular llamado Access-Control-Allow-Origin
. Este header especifica qué orÃgenes están autorizados a acceder a los recursos. La ausencia de un origen permitido provocará el conocido error de CORS, que impide que los recursos sean compartidos entre los dos puntos involucrados.
Configurar correctamente los CORS es fundamental para el funcionamiento de tus APIs. Aquà es donde herramientas como API Gateway y Auth0 resultan útiles:
API Gateway: Desde el menú de CORS, puedes añadir los headers requeridos para permitir que ciertos orÃgenes hagan solicitudes a tus APIs.
Auth0: Este servicio ofrece un panel donde es necesario añadir manualmente los orÃgenes que deseas permitir. La interfaz gráfica de Auth0 facilita esta tarea, asegurando que solo las solicitudes de orÃgenes aprobados sean procesadas.
La seguridad en el desarrollo web no se limita a la gestión adecuada de los CORS. Aquà te presentamos algunas prácticas esenciales para garantizar la protección de tus aplicaciones y datos:
Autenticación de Dos Factores (2FA): Utilizada para aumentar la seguridad de tu cuenta AWS y prevenir accesos no autorizados.
Automatización con GitHub Actions: Creación de pipelines que aseguran que tu flujo de trabajo sea más eficiente y seguro.
Diseño de Arquitectura Segura: Incluir la base de datos en una VPC y limitar el acceso desde direcciones IP especÃficas o recursos seguros.
Mitigación de Riesgos de SQL Injection: Implementando prácticas efectivas para proteger tus datos contra ataques comúnmente dirigidos a bases de datos.
Uso de Access Tokens con Auth0: Creación de authorizers que validan tokens de acceso, asegurando que solo usuarios autenticados interactúen con tu aplicación.
Protección de Datos en Reposo o en Tránsito: Adopción de técnicas que protejan tus datos, sean estos almacenados o en proceso de transmisión.
El aprendizaje constante es el camino hacia un desarrollo web seguro y eficiente. Aquà te mostramos algunas maneras de continuar expandiendo tu conocimiento:
Material adicional: Consulta la sección de recursos del curso para más información y profundiza en técnicas de seguridad y buenas prácticas.
Compromiso comunitario: Participa en redes sociales, comparte tus logros y mantente actualizado con las últimas tendencias y técnicas en seguridad y desarrollo web.
Educación complementaria: Considera realizar cursos adicionales que se enfoquen en áreas especÃficas de seguridad o nuevas tecnologÃas de desarrollo.
Crear aplicaciones seguras y eficientes es una meta alcanzable con dedicación y aprendizaje continuo. Aprovecha cada recurso a tu disposición y sigue desarrollando tus habilidades. ¡Tu próximo proyecto puede ser aún más impresionante!
Aportes 4
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?