Desarrollo Seguro en Java (incluye OWASP)
Este curso abarca los conceptos y principios de codificación segura con Java a través de la metodología de pruebas del Proyecto de Seguridad de Aplicaciones Web Abiertas (OWASP). El Proyecto de Seguridad de Aplicaciones Web Abiertas es una comunidad en línea que crea artículos, metodologías, documentación, herramientas y tecnologías de acceso libre en el campo de la seguridad de aplicaciones web.
Temario del curso
- Comprender las amenazas web y los vectores de ataque.
- Conocer los principios de diseño seguro.
- Comprender los ataques OWASP Top 10.
- Comprender los problemas de autenticación y autorización.
- Saber cómo prevenir scripts entre sitios (XSS).
- Saber cómo prevenir la falsificación de solicitudes entre sitios (CSRF).
- Comprender el ciclo de desarrollo seguro.
- Saber cómo prevenir ataques de inyección.
- Comprender las protecciones en JDBC y JPA.
- Comprender las metodologías de pruebas de penetración.
- Saber cómo asegurar aplicaciones en Java.
Requerimientos
- Experiencia con Java.
- Experiencia en la creación de aplicaciones web.
Los cursos públicos requieren más de 5 participantes.
Desarrollo Seguro en Java (incluye OWASP) - Reserva
Desarrollo Seguro en Java (incluye OWASP) - Consulta
Desarrollo Seguro en Java (incluye OWASP) - Solicitud de consultoría
Reseñas (3)
El tema es actual y necesitaba estar al día
Damilano Marco - SIAP s.r.l.
Curso - Secure Developer Java (Inc OWASP)
Traducción Automática
Fue bastante exhaustiva, la información fue clara y concisa.
Sebastian-Daniel - BRD
Curso - Secure Developer Java (Inc OWASP)
Traducción Automática
Múltiples ejemplos para cada módulo y gran conocimiento del formador.
Sebastian - BRD
Curso - Secure Developer Java (Inc OWASP)
Traducción Automática
Próximos cursos
Cursos Relacionados
Seguridad de Red y Comunicación Segura
21 HorasImplementar una aplicación de red segura puede ser un desafío, incluso para los desarrolladores que hayan utilizado previamente diversos componentes criptográficos (como cifrado y firmas digitales). Para que los participantes comprendan el papel y el uso de estos elementos criptográficos, primero se proporciona una base sólida sobre los requisitos principales de la comunicación segura: acuse de recibo seguro, integridad, confidencialidad, identificación remota y anonimato. Además, se presentan los problemas típicos que pueden afectar a estos requisitos junto con soluciones del mundo real.
Dado que la criptografía es un aspecto crítico de la seguridad de las redes, también se discuten los algoritmos criptográficos más importantes en el cifrado simétrico, las funciones hash, el cifrado asimétrico y el acuerdo de claves. En lugar de presentar un fondo matemático profundo, estos elementos se abordan desde la perspectiva de un desarrollador, mostrando ejemplos típicos de casos de uso y consideraciones prácticas relacionadas con el uso de la criptografía, como las infraestructuras de clave pública. Se introducen los protocolos de seguridad en muchas áreas de la comunicación segura, con un análisis en profundidad de las familias de protocolos más utilizadas, como IPSEC y SSL/TLS.
Se analizan las vulnerabilidades criptográficas típicas tanto en relación con ciertos algoritmos criptográficos como con protocolos criptográficos, como BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE y otros similares, así como el ataque de tiempo contra RSA. En cada caso, se describen las consideraciones prácticas y las posibles consecuencias de cada problema, nuevamente, sin entrar en detalles matemáticos profundos.
Finalmente, dado que la tecnología XML es central para el intercambio de datos en las aplicaciones de red, se describen los aspectos de seguridad de XML. Esto incluye el uso de XML dentro de servicios web y mensajes SOAP, junto con medidas de protección como la firma XML y el cifrado XML, así como debilidades en estas medidas de protección e issue específicos de seguridad XML como la inyección XML, ataques de entidades externas XML (XXE), bombas XML e inyección XPath.
Los participantes que asistan a este curso comprenderán
- Los conceptos básicos de seguridad, seguridad de la información y codificación segura
- Los requisitos de la comunicación segura
- Los ataques y defensas de red en diferentes capas OSI
- Una comprensión práctica de la criptografía
- Los protocolos de seguridad esenciales
- Algunos ataques recientes contra sistemas criptográficos
- Información sobre algunas vulnerabilidades recientes relacionadas
- Los conceptos de seguridad de los servicios web
- Fuentes y lecturas adicionales sobre prácticas de codificación segura
Público objetivo
Desarrolladores, profesionales
Codificación Segura C / C ++
21 HorasEscribir código seguro en C y C++ exige una defensa rigurosa contra la explotación maliciosa, la corrupción de memoria y eludir la validación de entrada. Este programa examina patrones de vulnerabilidad, incluidos desbordamientos de búfer, uso después de liberar (use-after-free), desbordamientos enteros y confusión de tipos. Los participantes aplican directrices de codificación segura, herramientas de análisis estático y técnicas de programación defensiva para eliminar debilidades, imponer la sanitización de la entrada y entregar un software endurecido resistente a los ciberataques.
Seguridad Java Avanzada
21 HorasIncluso los programadores de Java con experiencia no siempre dominan todos los servicios de seguridad que ofrece Java, ni están al tanto de las distintas vulnerabilidades relevantes para las aplicaciones web escritas en Java.
El curso, además de presentar los componentes de seguridad de Standard Java Edition, aborda los temas de seguridad de Java Enterprise Edition (JEE) y de los servicios web. Antes de discutir los servicios específicos, se presentan los fundamentos de la criptografía y la comunicación segura. Los distintos ejercicios tratan sobre las técnicas de seguridad declarativa y programática en JEE, mientras que se analizan tanto la seguridad a nivel de la capa de transporte como la seguridad de extremo a extremo en los servicios web. El uso de todos los componentes se presenta mediante varios ejercicios prácticos, donde los participantes pueden probar por sí mismos las API y las herramientas discutidas.
El curso también revisa y explica los fallos de programación más frecuentes y graves del lenguaje y la plataforma Java, así como las vulnerabilidades relacionadas con la web. Además de los errores típicos cometidos por los programadores de Java, las vulnerabilidades de seguridad introducidas cubren tanto problemas específicos del lenguaje como problemas derivados del entorno de ejecución. Todas las vulnerabilidades y los ataques relevantes se demuestran mediante ejercicios fáciles de entender, seguidos de las directrices de codificación recomendadas y las posibles técnicas de mitigación.
Los participantes que asisten a este curso
- Comprenderán los conceptos básicos de seguridad, la seguridad informática y la codificación segura.
- Aprenderán sobre vulnerabilidades web más allá del OWASP Top Ten y sabrán cómo evitarlas.
- Comprenderán los conceptos de seguridad de los servicios web.
- Aprenderán a utilizar diversas funciones de seguridad del entorno de desarrollo de Java.
- Tendrán una comprensión práctica de la criptografía.
- Comprenderán las soluciones de seguridad de Java EE.
- Aprenderán sobre los errores de codificación típicos y cómo evitarlos.
- Obtendrán información sobre algunas vulnerabilidades recientes en el marco de trabajo Java.
- Adquirirán conocimientos prácticos en el uso de herramientas de prueba de seguridad.
- Obtendrán fuentes y lecturas adicionales sobre prácticas de codificación segura.
Público objetivo
Desarrolladores
Programación Groovy
21 HorasApache Groovy es un lenguaje de programación dinámico que se ejecuta en la JVM (Máquina Virtual de Java). Algunas de sus características incluyen capacidades de scripting, creación de lenguajes específicos de dominio (DSL), metaprogramación en tiempo de ejecución y en tiempo de compilación, y programación funcional. Groovy se utiliza a menudo como complemento de Java.
En este entrenamiento en vivo e impartido por un instructor, los participantes aprenderán a programar en Groovy mientras avanzan en la creación de una aplicación de ejemplo.
Público objetivo
- Desarrolladores
Formato del curso
- Parte teórica, parte discusión, ejercicios y práctica intensiva
Programación en Groovy para Principiantes
14 HorasEsta formación en vivo, impartida por un instructor en Costa Rica (en línea o presencial), está dirigida a desarrolladores principiantes que desean aprender los fundamentos de la programación en Groovy.
Al finalizar esta formación, los participantes serán capaces de:
- Comprender los conceptos básicos de programación.
- Escribir scripts sencillos en Groovy y utilizar las características principales de este lenguaje.
- Comprender y aplicar los principios básicos de la programación orientada a objetos utilizando Groovy.
- Aprender técnicas básicas de manejo de errores para gestionar errores y excepciones comunes en Groovy.
Microservicios en Java
21 HorasEsta formación en vivo impartida por un instructor en Costa Rica (en línea o presencial) está dirigida a desarrolladores de Java con nivel intermedio que desean diseñar, desarrollar, implementar y mantener aplicaciones basadas en microservicios utilizando marcos de trabajo de Java como Spring Boot y Spring Cloud.
Al finalizar esta formación, los participantes podrán:
- Comprender los principios y beneficios de la arquitectura de microservicios.
- Construir e implementar microservicios utilizando Java y Spring Boot.
- Implementar descubrimiento de servicios, gestión de configuraciones y pasarelas de API.
- Asegurar, monitorear y escalar microservicios de manera efectiva.
- Implementar microservicios utilizando Docker y Kubernetes.
Construcción de Microservicios con Spring Boot, Docker y Kubernetes
21 HorasEsta formación en vivo con instructores en Costa Rica (disponible en línea o en instalaciones del cliente) está adaptada para desarrolladores de nivel intermedio a avanzado que buscan dominar el desarrollo de microservicios utilizando Spring Boot, Docker y Kubernetes.
Al finalizar esta formación, los participantes serán capaces de:
- Comprender los principios de la arquitectura de microservicios.
- Crear microservicios listos para producción utilizando Spring Boot.
- Comprender el papel fundamental de Docker en la contenerización de microservicios.
- Configurar clústeres de Kubernetes para desplegar y orquestar microservicios.
Quarkus para Desarrolladores
14 HorasEsta formación en vivo con instructor en Costa Rica (en línea o presencial) está dirigida a desarrolladores que deseen utilizar Quarkus para construir, probar y desplegar aplicaciones con todo el potencial de Java, pero con un menor consumo de recursos.
Al finalizar esta formación, los participantes serán capaces de:
- Configurar el entorno de desarrollo necesario para comenzar a desarrollar aplicaciones con Quarkus.
- Construir, compilar y ejecutar aplicaciones en modo nativo utilizando GraalVM.
- Utilizar las herramientas y extensiones de Quarkus para construir aplicaciones nativas usando Maven.
- Contenerizar, ejecutar y desplegar aplicaciones con Docker.
Quarkus para Desarrollo Nativo en Java y Microservicios
40 HorasEsta formación en vivo y dirigida por un instructor en Costa Rica (en línea o presencial) está dirigida a desarrolladores y arquitectos de nivel intermedio a avanzado que deseen desarrollar aplicaciones nativas de Java y microservicios utilizando Quarkus, con un uso optimizado de la memoria y un tiempo de inicio reducido.
Al finalizar esta formación, los participantes serán capaces de:
- Desarrollar aplicaciones nativas de Java de alto rendimiento y ligeros utilizando Quarkus.
- Construir e implementar servicios RESTful y arquitecturas de microservicios.
- Utilizar GraalVM para la compilación nativa y optimizar el inicio y la eficiencia de la memoria.
- Empaquetar y contenerizar aplicaciones para entornos de Kubernetes y OpenShift.
RabbitMQ con Java y Spring
14 HorasEsta formación en vivo dirigida por un instructor en Costa Rica (en línea o presencial) está dirigida a arquitectos de software y desarrolladores web que desean utilizar RabbitMQ como middleware de mensajería y programar en Java con Spring para crear aplicaciones.
Al finalizar esta formación, los participantes serán capaces de:
- Utilizar Java y Spring con RabbitMQ para construir aplicaciones.
- Diseñar sistemas asíncronos impulsados por mensajería usando RabbitMQ.
- Crear y aplicar colas, temas, intercambios y enlaces en RabbitMQ
Spring Boot, React y Redux
14 HorasEsta formación en vivo, impartida por un instructor en Costa Rica (en línea o presencial), está dirigida a desarrolladores web que desean crear aplicaciones web de front-end y back-end funcionales utilizando Spring Boot, React y Redux.
Al finalizar esta formación, los participantes serán capaces de:
- Construir una aplicación de front-end con React y Redux.
- Crear APIs RESTful con Spring Boot.
- Asegurar los servicios web con Spring Security y tokens JWT.
Spring 5
21 HorasEsta formación en vivo, impartida por un instructor, en <ubicación> (en línea o en las instalaciones), está dirigida a desarrolladores Java que desean utilizar el marco de trabajo Spring 5 para desarrollar y desplegar aplicaciones web empresariales.
Al finalizar esta formación, los participantes serán capaces de:
- Instalar y configurar Spring 5.
- Comprender e implementar las características más recientes de Spring 5.
- Acceder a bases de datos con Spring Application.
- Utilizar el nuevo marco de trabajo web reactivo, WebFlow, para hacer una aplicación reactiva.
- Integrar una aplicación Spring con aplicaciones empresariales heredadas (legacy) de Java EE.
- Probar y desplegar una aplicación Spring de calidad empresarial.
Fundamentos de Spring con Spring Boot 3.5.5 y Java 21
14 HorasSpring es un marco de trabajo integral para Java que simplifica el desarrollo de aplicaciones empresariales mediante la inyección de dependencia, la arquitectura modular y opciones de configuración optimizadas.
Esta formación en vivo impartida por un instructor (en línea o presencial) está dirigida a desarrolladores Java de nivel principiante que deseen crear aplicaciones web modernas y listas para producción, utilizando la versión más reciente del Framework Spring y Spring Boot 3.5.5 con Java 21.
Al finalizar este entrenamiento, los participantes serán capaces de:
- Comprender los principios fundamentales de Spring, como Inversión de Control (IoC), Inyección de Dependencia (DI) y Programación Orientada a Aspectos (AOP).
- Configurar aplicaciones Spring utilizando XML, anotaciones y JavaConfig.
- Desarrollar servicios RESTful con Spring Boot y JPA.
- Implementar operaciones CRUD, gestionar transacciones y administrar la persistencia de datos.
- Utilizar características avanzadas de Spring, como perfiles, manejo de excepciones y serialización de datos.
Formato del curso
- Breve introducción teórica seguida de extensos ejercicios prácticos.
- Implementación práctica utilizando ejemplos del mundo real.
- Discusión interactiva y solución guiada de problemas.
Opciones de personalización del curso
- Para solicitar una formación personalizada para este curso, contáctenos para organizarla.
Spring WebFlux: Programación reactiva para aplicaciones web escalables
35 HorasSpring WebFlux es un módulo de programación reactiva dentro del Framework de Spring, diseñado para construir aplicaciones web no bloqueantes y basadas en eventos.
Esta formación en vivo, impartida por un instructor (en línea o presencial), está dirigida a desarrolladores de Java de nivel principiante e intermedio que deseen construir aplicaciones escalables y reactivas utilizando Spring WebFlux.
Al finalizar esta formación, los participantes serán capaces de:
- Comprender los fundamentos de la programación reactiva con Project Reactor.
- Construir y probar APIs RESTful no bloqueantes utilizando Spring WebFlux.
- Integrar WebFlux con bases de datos y servicios externos.
- Aplicar patrones reactivos en escenarios de aplicaciones del mundo real.
Formato del curso
- Conferencias interactivas y discusiones.
- Numerosos ejercicios y prácticas.
- Implementación práctica en un entorno de laboratorio en vivo.
Opciones de personalización del curso
- Para solicitar una formación personalizada para este curso, contáctenos para coordinar los detalles.
Spring WebFlux
14 HorasEsta formación en vivo, impartida por un instructor, en Costa Rica (en línea o presencial), está dirigida a desarrolladores que deseen utilizar WebFlux para crear e implementar aplicaciones reactivas.
Al finalizar esta capacitación, los participantes serán capaces de:
- Instalar y configurar Spring 5 y el marco WebFlux.
- Desarrollar aplicaciones y servicios reactivos.