Desarrollo Seguro en Java (incluye OWASP)
Este curso aborda los conceptos y principios de codificación segura con Java mediante la metodología de pruebas del Proyecto Abierto para la Seguridad de Aplicaciones Web (OWASP). OWASP es una comunidad en línea que crea artículos, metodologías, documentación, herramientas y tecnologías de disponibilidad gratuita en el campo de la seguridad de aplicaciones web.
Temario del curso
- Comprender las amenazas web y los vectores de ataque
- Conocer los principios del diseño seguro
- Comprender el Top 10 de OWASP en ataques
- Comprender los problemas de autenticación y autorización
- Conocer cómo prevenir Cross-Site Scripting (XSS)
- Conocer cómo prevenir Cross-Site Request Forgery (CSRF)
- Comprender el ciclo de desarrollo seguro
- Conocer 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 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 resultar difícil, incluso para desarrolladores que hayan utilizado previamente diversos bloques de construcción criptográficos (como cifrado y firmas digitales). Para ayudar a los participantes a comprender el papel y el uso de estas primitivas criptográficas, en primer lugar se establece una base sólida sobre los principales requisitos de las comunicaciones seguras – reconocimiento seguro, integridad, confidencialidad, identificación remota y anonimato –, presentando además los problemas típicos que pueden comprometer estos requisitos junto con soluciones del mundo real.
Dado que la criptografía es un aspecto crítico de la seguridad de redes, también se abordan los algoritmos criptográficos más importantes en criptografía simétrica, hashing, criptografía asimétrica y acuerdo de claves. En lugar de presentar una base matemática profunda, estos elementos se discuten desde la perspectiva del desarrollador, mostrando ejemplos típicos de casos de uso y consideraciones prácticas relacionadas con el uso de criptografía, como las infraestructuras de clave pública (PKI). Se introducen los protocolos de seguridad en diversas áreas de las comunicaciones seguras, con un análisis detallado de las familias de protocolos más utilizadas, como IPSEC y SSL/TLS.
Se analizan las vulnerabilidades criptográficas típicas tanto relacionadas con ciertos algoritmos y protocolos criptográficos –como BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE y similares– como el ataque de temporización de RSA. En cada caso, se describen las consideraciones prácticas y las posibles consecuencias para cada problema, nuevamente sin entrar en detalles matemáticos profundos.
Finalmente, dado que la tecnología XML es fundamental para el intercambio de datos por parte de las aplicaciones de red, se describen los aspectos de seguridad del 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 las debilidades en estas medidas de protección e issue específicos de seguridad del XML, como inyección XML, ataques de entidad externa XML (XXE), bombas XML e inyección XPath.
Los participantes que asistan a este curso
- Comprenderán los conceptos básicos de la seguridad, la seguridad informática y la programación segura
- Comprenderán los requisitos de las comunicaciones seguras
- Aprenderán sobre ataques y defensas en redes en diferentes capas OSI
- Tendrán una comprensión práctica de la criptografía
- Comprenderán los protocolos de seguridad esenciales
- Comprenderán algunos ataques recientes contra criptosistemas
- Obtendrán información sobre algunas vulnerabilidades recientes relacionadas
- Comprenderán los conceptos de seguridad de los servicios web
- Obtendrán fuentes y lecturas complementarias 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++ requiere una defensa rigurosa contra la explotación maliciosa, la corrupción de memoria y los contorneos de validación de entradas. Este programa analiza patrones de vulnerabilidad como 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, garantizar la sanitización de entradas y entregar software endurecido resistente a ciberataques.
Seguridad Java Avanzada
21 HorasIncluso los programadores de Java con experiencia no dominan necesariamente todos los servicios de seguridad que ofrece Java, ni son conscientes de las distintas vulnerabilidades relevantes para las aplicaciones web escritas en este lenguaje.
El curso, además de introducir los componentes de seguridad de la edición estándar de Java, aborda problemas de seguridad relacionados con la edición empresarial (JEE) y los servicios web. El análisis de servicios específicos se antecede por los fundamentos de la criptografía y la comunicación segura. Diversos ejercicios tratan sobre técnicas de seguridad declarativa y programática en JEE, mientras que se discute tanto la seguridad a nivel de capa de transporte como extremo a extremo en los servicios web. Se presenta el uso de todos estos componentes a través de varios ejercicios prácticos, donde los participantes pueden probar por sí mismos las API y herramientas discutidas.
El curso también recorre y explica los fallos de programación más frecuentes y graves del lenguaje y la plataforma Java, junto con vulnerabilidades relacionadas con la web. Además de los errores típicos cometidos por programadores de Java, las vulnerabilidades de seguridad introducidas abarcan tanto problemas específicos del lenguaje como aquellos derivados del entorno de ejecución. Todas las vulnerabilidades y los ataques correspondientes se demuestran mediante ejercicios fáciles de entender, seguidos de las guías de codificación recomendadas y las posibles técnicas de mitigación.
Los participantes que asistan a este curso aprenderán
- A comprender los conceptos básicos de seguridad, seguridad TI y codificación segura.
- A identificar vulnerabilidades web más allá del Top Ten de OWASP y saber cómo evitarlas.
- A comprender los conceptos de seguridad en servicios web.
- A utilizar diversas características de seguridad del entorno de desarrollo de Java.
- A tener una comprensión práctica de la criptografía.
- A entender las soluciones de seguridad de Java EE.
- A aprender sobre errores de codificación típicos y cómo evitarlos.
- A obtener información sobre algunas vulnerabilidades recientes en el framework de Java.
- A adquirir conocimientos prácticos en el uso de herramientas de pruebas de seguridad.
- A obtener 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 para la JVM (Máquina Virtual de Java). Algunas de sus características incluyen capacidades de scripting, creación de lenguajes específicos del dominio, metaprogramación en tiempo de ejecución y de compilación, y programación funcional. Groovy suele utilizarse como complemento de Java.
En esta formación en vivo con instructor, los participantes aprenderán a programar en Groovy mientras avanza por la creación de una aplicación de ejemplo.
Público objetivo
- Desarrolladores
Formato del curso
- Parte teórico-práctico, 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 Argentina (en línea o presencial) está dirigida a desarrolladores de nivel principiante que desean aprender los fundamentos de la programación en Groovy.
Al finalizar esta capacitación, los participantes podrán:
- Comprender los conceptos básicos de programación.
- Escribir scripts simples en Groovy y utilizar las funcionalidades principales del núcleo de Groovy.
- Entender 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 comunes y excepciones en Groovy.
Microservicios en Java
21 HorasEsta formación impartida por un instructor en Argentina (en línea o presencial) está dirigida a desarrolladores de Java de nivel intermedio que deseen diseñar, desarrollar, implementar y mantener aplicaciones basadas en microservicios utilizando frameworks 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.
- Crear e implementar microservicios usando Java y Spring Boot.
- Implementar el descubrimiento de servicios, gestión de configuración y pasarelas de API (API Gateway).
- Asegurar, supervisar y escalar los microservicios de manera efectiva.
- Desplegar microservicios utilizando Docker y Kubernetes.
Construcción de Microservicios con Spring Boot, Docker y Kubernetes
21 HorasEsta formación práctica, impartida por instructores en Argentina (disponible en línea o presencial), está dirigida a desarrolladores de nivel intermedio a avanzado que deseen dominar el desarrollo de microservicios utilizando Spring Boot, Docker y Kubernetes.
Al finalizar esta capacitación, los participantes serán capaces de:
- Comprender los principios de la arquitectura de microservicios.
- Construir microservicios listos para producción mediante Spring Boot.
- Comprender el papel fundamental de Docker en la contenedización de microservicios.
- Configurar clústeres de Kubernetes para desplegar y orquestar microservicios.
Quarkus para desarrolladores
14 HorasEsta formación en vivo con instrucción en Argentina (en línea o presencial) está dirigida a desarrolladores que desean utilizar Quarkus para construir, probar e implementar aplicaciones, aprovechando todo el poder de Java pero con un menor uso de recursos.
Al finalizar esta formación, los participantes podrán:
- Configurar el entorno de desarrollo necesario para comenzar a crear aplicaciones con Quarkus.
- Compilar y ejecutar aplicaciones en modo nativo utilizando GraalVM.
- Utilizar las herramientas y extensiones de Quarkus para construir aplicaciones nativas mediante Maven.
- Contenerizar, ejecutar e implementar aplicaciones con Docker.
Quarkus para Desarrollo Nativo en Java y Microservicios
40 HorasEsta capacitación impartida por instructores en Argentina (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, optimizando el uso de memoria y el tiempo de inicio.
Al finalizar esta capacitación, los participantes podrán:
- Desarrollar aplicaciones nativas de Java ligeras y de alto rendimiento con Quarkus.
- Crear e implementar servicios RESTful y arquitecturas de microservicios.
- Utilizar GraalVM para la compilación nativa y optimizar la eficiencia de memoria y el tiempo de inicio.
- Empaquetar y contenerizar aplicaciones para entornos Kubernetes y OpenShift.
RabbitMQ con Java y Spring
14 HorasEsta capacitación en vivo impartida por un instructor en <ubicación> (en línea o presencial) está dirigida a arquitectos de software y desarrolladores web que desean usar RabbitMQ como middleware de mensajería y programar en Java utilizando Spring para construir aplicaciones.
Al finalizar esta capacitación, los participantes serán capaces de:
- Utilizar Java y Spring con RabbitMQ para crear aplicaciones.
- Diseñar sistemas asíncronos basados en mensajes usando RabbitMQ.
- Crear y aplicar colas, tópicos, intercambios y vinculaciones en RabbitMQ
Spring Boot, React y Redux
14 HorasEsta formación impartida por un instructor en Argentina (en línea o presencial) está dirigida a desarrolladores web que deseen crear aplicaciones web funcionales de front-end y back-end utilizando Spring Boot, React y Redux.
Al finalizar esta formación, los participantes podrán:
- Construir una aplicación de front-end con React y Redux.
- Crear APIs RESTful con Spring Boot.
- Asegurar servicios web con Spring Security y tokens JWT (Web Token).
Spring 5
21 HorasEsta formación en vivo con instructor en <ubicación> (en línea o presencial) está dirigida a desarrolladores de Java que deseen utilizar el framework Spring 5 para desarrollar y desplegar aplicaciones empresariales web.
Al finalizar esta formación, los participantes podrán:
- Instalar y configurar Spring 5.
- Comprender e implementar las últimas características de Spring 5.
- Acceder a bases de datos con Spring Application.
- Utilizar el nuevo framework web reactivo, WebFlow, para hacer una aplicación reactiva.
- Integrar una aplicación Spring con aplicaciones legadas de Java EE.
- Probar y desplegar una aplicación Spring de grado empresarial.
Fundamentos de Spring con Spring Boot 3.5.5 y Java 21
14 HorasSpring es un framework integral de Java que simplifica el desarrollo de aplicaciones empresariales mediante la inyección de dependencias, una 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 de Java con conocimientos básicos que deseen construir 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 esta capacitación, los participantes serán capaces de:
- Comprender los principios fundamentales de Spring, como Inversión de Control (IoC), Inyección de Dependencias (DI) y Programación Orientada a Aspectos (AOP).
- Configurar aplicaciones Spring mediante XML, anotaciones y JavaConfig.
- Desarrollar servicios RESTful utilizando Spring Boot y JPA.
- Implementar operaciones CRUD, manejar transacciones y gestionar 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 mediante ejemplos del mundo real.
- Discusión interactiva y resolución guiada de problemas.
Opciones de personalización del curso
- Para solicitar una formación personalizada para este curso, contáctanos para organizarlo.
Spring WebFlux: Programación Reactiva para Aplicaciones Web Escalables
35 HorasSpring WebFlux es un módulo de programación reactiva dentro del Framework Spring, diseñado para construir aplicaciones web no bloqueantes y basadas en eventos.
Esta formación en vivo dirigida por un instructor (en línea o presencial) está dirigida a desarrolladores Java de nivel principiante a intermedio que desean construir aplicaciones escalables y receptivas 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 a escenarios de aplicaciones del mundo real.
Formato del Curso
- Clase interactiva y discusión.
- Muchas ejercicios y práctica.
- 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, por favor contáctanos para coordinar los detalles.
Spring Webflux
14 HorasEsta formación en vivo con instructor en Argentina (en línea o presencial) está dirigida a desarrolladores que desean utilizar WebFlux para desarrollar e implementar aplicaciones reactivas.
A medida que avancemos en esta formación, los participantes serán capaces de:
- Instalar y configurar Spring 5 y el marco WebFlux.
- Desarrollar aplicaciones y servicios reactivos.