
Biblioteca Enterprise Security API que proporciona controles de seguridad para aplicaciones web Java, incluidos autenticación, control de acceso, validación de entrada, codificación de salida y operaciones criptográficas para reducir el riesgo de la aplicación.
| OWASP® ESAPI (OWASP Enterprise Security API) es una biblioteca gratuita y de código abierto de controles de seguridad para aplicaciones web que facilita a los programadores la escritura de aplicaciones de menor riesgo. La biblioteca ESAPI para Java está diseñada para facilitar a los programadores la incorporación de seguridad a aplicaciones existentes. ESAPI para Java también sirve como una base sólida para nuevos desarrollos. |
Puede encontrar las páginas wiki de OWASP ESAPI en https://owasp.org/www-project-enterprise-security-api/. El repositorio de GitHub de ESAPI legacy también tiene algunas páginas wiki útiles.
Esta es la rama legacy de ESAPI, lo que significa que es una rama del proyecto activamente mantenida; sin embargo, no se realizará un desarrollo *nuevo* significativo de funciones para esta rama. Las funciones ya programadas para la rama 2.x seguirán adelante. Encontrará ese repositorio de GitHub en [https://github.com/ESAPI/esapi-java-legacy](https://github.com/ESAPI/esapi-java-legacy).
NOTAS IMPORTANTES: La rama predeterminada para ESAPI legacy ahora es la rama 'develop' (en lugar de la rama 'main' (anteriormente 'master')), donde se realizarán ahora el desarrollo futuro, las correcciones de errores, etc. La rama 'main' ahora está marcada como "protegida"; refleja la última versión estable de ESAPI (2.1.0.1 a la fecha). Tenga en cuenta que este cambio de hacer de la rama 'develop' la predeterminada puede afectar cualquier pull request que tuviera intención de realizar.
Además, la versión mínima de Java necesaria para usar ESAPI es Java 7. (Esto cambió desde Java 6 durante el lanzamiento de la versión 2.2.0.0).
https://github.com/ESAPI/esapi-java
Tenga en cuenta, sin embargo, que el trabajo en ESAPI 3 aún no ha comenzado en serio y solo se encuentra en sus primeras etapas de planificación. Incluso el código que está actualmente ahí probablemente cambiará.
Las notas de la versión de ESAPI se pueden encontrar en el directorio "documentation" de ESAPI. Generalmente se denominan "esapi4java-core-2.#.#.#-release-notes.txt", donde "2.#.#.#" se refiere al número de versión de ESAPI (que utiliza versionado semántico).
A partir de ESAPI 2.2.3.0, ESAPI utiliza una versión de AntiSamy que por defecto incluye 'slf4j-simple' y realiza validación de esquemas XML en los archivos de políticas de AntiSamy. Por favor, LEA las notas de la versión 2.2.3.0 (al menos la parte inicial) para conocer algunas notas importantes que probablemente afectarán su uso de ESAPI. ¡Ha sido advertido!
La última versión de ESAPI es la 2.2.3.0. El jar de configuración predeterminado y su firma GPG se pueden encontrar en esapi-2.2.3.0-configuration.jar y esapi-2.2.3.0-configuration.jar.asc respectivamente.
Los jars normales más recientes de ESAPI están disponibles en Maven Central.
Sin embargo, antes de comenzar un proyecto nuevo usando ESAPI, asegúrese de leer "¿Debería usar ESAPI?".
A menos que cometamos un error sin querer, nuestra intención es mantener clases, métodos y/o campos que hayan sido anotados como "@deprecated" durante un mínimo de dos (2) años o hasta el siguiente número de versión principal (por ejemplo, 3.x por ahora), lo que ocurra primero, antes de eliminarlos. Tenga en cuenta que esta política no aplica a las clases del paquete org.owasp.esapi.reference. No se espera que usted use dichas clases directamente en su código.
¡Haga un fork y envíe un pull request! ¡Así de fácil! Generalmente solo aceptamos correcciones de errores, no nuevas funciones, porque como proyecto legacy no tenemos la intención de agregar nuevas funciones, aunque podemos hacer excepciones. Si desea proponer una nueva función, el mejor lugar para discutirla es la lista de correo ESAPI-DEV mencionada abajo. Tenga en cuenta que revisamos todos los pull requests, incluido el estilo de codificación de cualquier contribución; use el mismo estilo de codificación que se encuentra en los archivos que ya está editando.
Si es nuevo en ESAPI, un buen punto de partida es buscar problemas de GitHub etiquetados como 'good first issue'. (Por ejemplo, para encontrar todos los problemas abiertos con esa etiqueta, use https://github.com/ESAPI/esapi-java-legacy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22.)
Puede encontrar detalles adicionales en el archivo 'CONTRIBUTING-TO-ESAPI.txt'.
A mediados de 2014, ESAPI migró todo el código a GitHub. Esta migración se completó en noviembre de 2014.
Todos los problemas de Google Code se han migrado a los problemas de GitHub. Tenemos una instancia de JIRA/Confluence asignada, pero no ha sido configurada para sincronizarse con los problemas de GitHub y, por lo tanto, no debería usarse. JIRA está bien, pero si no podemos tenerla sincronizada con los problemas de GitHub (que es donde la mayoría de nuestros usuarios reportan problemas), no es utilizable. Como desarrolladores, no queremos perder tiempo cerrando problemas de múltiples sitios de seguimiento de errores. Por lo tanto, hasta que ocurra esta sincronización (consulte el problema #371 de GitHub), use SOLO GitHub para reportar errores.
Al reportar un problema, sea claro e intente asegurarse de que el equipo de desarrollo de ESAPI tenga suficiente información para poder reproducir sus resultados. Si aún no lo ha hecho, este podría ser un buen momento para leer el clásico de Eric S. Raymond "Cómo hacer preguntas de manera inteligente", en http://www.catb.org/esr/faqs/smart-questions.html antes de publicar su problema.
Si ha encontrado un error, cree un problema en el repositorio esapi-legacy-java: https://github.com/ESAPI/esapi-java-legacy/issues
NOTA: Por favor, NO use los problemas de GitHub para hacer preguntas sobre ESAPI. Si desea hacerlo, publique en cualquiera de las 2 listas de correo (ahora en Google Groups) que se encuentran al final de esta página. Si encontramos preguntas como problemas de GitHub, simplemente las cerraremos y le indicaremos que lo haga de todos modos.
Si ha encontrado una vulnerabilidad en ESAPI legacy, primero busque en la lista de problemas (ver arriba) para ver si ya ha sido reportada. Si no lo ha sido, contacte directamente a Kevin W. Wall (kevin.w.wall at gmail.com) y a Matt Seil (matt.seil at owasp.org). Por favor, no reporte vulnerabilidades a través de los problemas de GitHub ni de las listas de correo de ESAPI, ya que deseamos mantener seguros a nuestros usuarios mientras se implementa y despliega un parche. Si desea ser reconocido por encontrar la vulnerabilidad, siga este proceso. (Con el tiempo, nos gustaría que BugCrowd maneje esto, pero aún falta bastante). Además, cuando publique el correo describiendo la vulnerabilidad, hágalo desde una dirección de correo que revise habitualmente.
Hay más detalles disponibles en el archivo 'SECURITY.md'.
Wiki: https://owasp.org/www-project-enterprise-security-api/
Compilación nocturna: Travis CI - https://travis-ci.org/bkimminich/esapi-java-legacy
JIRA: https://owasp-esapi.atlassian.net/browse/ESAPILEG
Problemas: Hasta nuevo aviso, use los problemas de GitHub para reportar errores y solicitudes de mejoras.
Documentación: https://owasp-esapi.atlassian.net/wiki/display/ESAPILEG/ESAPI+Legacy (Próximamente), por ahora encuentre documentación general en el directorio 'documentation/', y el Javadoc más reciente en https://www.javadoc.io/doc/org.owasp.esapi/esapi/
Soporte en tiempo real disponible en nuestro canal de IRC (pero si desea hacerlo y quiere que el equipo de desarrollo de ESAPI participe, envíenos un correo con antelación indicando la fecha/hora):
Servidor: irc.freenode.net
Canal: #esapi
Webchat: https://webchat.freenode.net/
Listas de correo: A partir del 25 de marzo de 2019, las 2 listas de correo de ESAPI se movieron oficialmente FUERA de sus listas de correo Mailman a un nuevo hogar en Google Groups.
Los nombres de los 2 grupos de Google son "esapi-project-users" y "esapi-project-dev", a los cuales puede ENVIAR mensajes después de suscribirse a ellos mediante "Suscribirse a la lista de usuarios de ESAPI" y "Suscribirse a la lista de desarrolladores de ESAPI" respectivamente.
Los archivos antiguos de las listas de correo Mailman de ESAPI-Users y ESAPI-Dev todavía están disponibles en https://lists.owasp.org/pipermail/esapi-users/ y https://lists.owasp.org/pipermail/esapi-dev/ respectivamente.
Para una visión general de Google Groups y su interfaz web, consulte https://groups.google.com/forum/#!overview
Para obtener ayuda sobre cómo suscribirse y cancelar la suscripción a Google Groups, consulte https://webapps.stackexchange.com/questions/13508/how-can-i-subscribe-to-a-google-mailing-list-with-a-non-google-e-mail-address/15593#15593.
OWASP es una marca registrada de OWASP Foundation, Inc.