
Enterprise-Security-API-Bibliothek, die Sicherheitskontrollen für Java-Webanwendungen bereitstellt, einschließlich Authentifizierung, Zugriffskontrolle, Eingabevalidierung, Ausgabekodierung und kryptografischen Operationen, um das Anwendungsrisiko zu reduzieren.
| OWASP® ESAPI (The OWASP Enterprise Security API) ist eine freie, quelloffene Bibliothek für Sicherheitskontrollen von Webanwendungen, die es Programmierern erleichtert, Anwendungen mit geringerem Risiko zu schreiben. Die ESAPI-für-Java-Bibliothek wurde entwickelt, um es Programmierern zu erleichtern, Sicherheit in bestehende Anwendungen nachzurüsten. ESAPI für Java dient außerdem als solide Grundlage für neue Entwicklungen. |
Die OWASP-ESAPI-Wiki-Seiten finden Sie unter https://owasp.org/www-project-enterprise-security-api/. Das ESAPI-Legacy-GitHub-Repository enthält ebenfalls einige nützliche Wiki-Seiten.
Dies ist der Legacy-Zweig von ESAPI, was bedeutet, dass es sich um einen aktiv gepflegten Zweig des Projekts handelt, jedoch wird für diesen Zweig *keine* signifikante *neue* Funktionsentwicklung durchgeführt. Funktionen, die bereits für den 2.x-Zweig eingeplant sind, werden weitergeführt. Sie finden dieses GitHub-Repository unter [https://github.com/ESAPI/esapi-java-legacy](https://github.com/ESAPI/esapi-java-legacy).
WICHTIGE HINWEISE: Der Standardzweig für ESAPI Legacy ist jetzt der 'develop'-Zweig (anstelle des 'main'-Zweigs (früher 'master')), in dem nun die zukünftige Entwicklung, Fehlerbehebungen usw. durchgeführt werden. Der 'main'-Zweig ist jetzt als „protected“ markiert; er spiegelt die neueste stabile ESAPI-Version (zum heutigen Datum 2.1.0.1) wider. Beachten Sie, dass diese Änderung, den 'develop'-Zweig zum Standard zu machen, alle Pull Requests beeinflussen kann, die Sie zu erstellen beabsichtigten.
Außerdem ist die minimale Basis-Java-Version für die Verwendung von ESAPI Java 7. (Dies wurde während des 2.2.0.0-Release von Java 6 geändert.)
https://github.com/ESAPI/esapi-java
Beachten Sie jedoch, dass die Arbeit an ESAPI 3 noch nicht ernsthaft begonnen hat und sich nur in den frühesten Planungsphasen befindet. Selbst der gegenwärtig vorhandene Code wird sich wahrscheinlich ändern.
Die ESAPI-Versionshinweise finden Sie im Verzeichnis „documentation“ von ESAPI. Sie heißen im Allgemeinen „esapi4java-core-2.#.#.#-release-notes.txt“, wobei sich „2.#.#.#“ auf die ESAPI-Versionsnummer bezieht (die semantische Versionsverwaltung verwendet).
Ab ESAPI 2.2.3.0 verwendet ESAPI eine Version von AntiSamy, die standardmäßig 'slf4j-simple' enthält und eine XML-Schema-Validierung der AntiSamy-Richtliniendateien durchführt. Bitte LESEN Sie die Versionshinweise für das 2.2.3.0-Release (zumindest den Anfang) für einige wichtige Hinweise, die sich wahrscheinlich auf Ihre Nutzung von ESAPI auswirken werden! Sie wurden gewarnt!!!
Das neueste ESAPI-Release ist 2.2.3.0. Das Standard-Konfigurations-JAR und seine GPG-Signatur finden Sie unter esapi-2.2.3.0-configuration.jar bzw. esapi-2.2.3.0-configuration.jar.asc.
Die neuesten regulären ESAPI-JARs sind über Maven Central verfügbar.
Bevor Sie jedoch ein neues Projekt mit ESAPI starten, lesen Sie unbedingt „Sollte ich ESAPI verwenden?“.
Solange wir es nicht versehentlich vermasseln, ist es unsere Absicht, Klassen, Methoden und/oder Felder, die als „@deprecated“ gekennzeichnet wurden, mindestens zwei (2) Jahre oder bis zur nächsten Hauptversionsnummer (z. B. 3.x derzeit) aufzubewahren, je nachdem, was zuerst eintritt, bevor wir sie entfernen. Beachten Sie, dass diese Richtlinie nicht für Klassen im Paket org.owasp.esapi.reference gilt. Es wird nicht erwartet, dass Sie solche Klassen direkt in Ihrem Code verwenden.
Erstellen Sie einen Fork und reichen Sie einen Pull-Request ein! So einfach wie Pi! Wir akzeptieren im Allgemeinen nur Fehlerbehebungen, keine neuen Funktionen, da wir als Legacy-Projekt nicht beabsichtigen, neue Funktionen hinzuzufügen, obwohl wir Ausnahmen machen können. Wenn Sie eine neue Funktion vorschlagen möchten, ist der beste Ort, dies zu besprechen, die unten erwähnte ESAPI-DEV-Mailingliste. Beachten Sie, dass wir alle Pull Requests prüfen, einschließlich des Codestils aller Beiträge; verwenden Sie denselben Codestil, den Sie in den Dateien finden, die Sie bereits bearbeiten.
Wenn Sie neu bei ESAPI sind, ist ein guter Ausgangspunkt, nach GitHub-Issues mit dem Label 'good first issue' zu suchen. (Um z. B. alle offenen Issues mit diesem Label zu finden, verwenden Sie https://github.com/ESAPI/esapi-java-legacy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22.)
Weitere Details finden Sie in der Datei „CONTRIBUTING-TO-ESAPI.txt“.
Mitte 2014 migrierte ESAPI den gesamten Code zu GitHub. Diese Migration wurde im November 2014 abgeschlossen.
Alle Issues von Google Code wurden zu GitHub-Issues migriert. Wir haben eine JIRA/Confluence-Instanz, die uns zugewiesen wurde, aber sie wurde nicht konfiguriert, um mit den GitHub-Issues zu synchronisieren, und daher sollte sie nicht verwendet werden. JIRA ist gut, aber wenn wir sie nicht mit GitHub-Issues synchronisieren können (wo die Mehrheit unserer Benutzer Issues meldet), ist sie nicht nutzbar. Als Entwickler möchten wir keine Zeit damit verbringen, Issues von mehreren Fehlerverfolgungsseiten zu schließen. Daher verwenden Sie bitte bis zu dieser Synchronisierung (siehe GitHub-Issue #371) NUR GitHub zum Melden von Fehlern.
Wenn Sie ein Issue melden, seien Sie bitte klar und versuchen Sie sicherzustellen, dass das ESAPI-Entwicklungsteam genügend Informationen hat, um Ihre Ergebnisse reproduzieren zu können. Falls Sie das noch nicht getan haben, ist dies vielleicht ein guter Zeitpunkt, um Eric S. Raymonds Klassiker „How to Ask Questions the Smart Way“ unter http://www.catb.org/esr/faqs/smart-questions.html zu lesen, bevor Sie Ihr Issue veröffentlichen.
Wenn Sie einen Fehler gefunden haben, erstellen Sie ein Issue im esapi-legacy-java-Repo: https://github.com/ESAPI/esapi-java-legacy/issues
HINWEIS: Bitte verwenden Sie GitHub-Issues NICHT, um Fragen zu ESAPI zu stellen. Wenn Sie dies tun möchten, posten Sie in eine der 2 Mailinglisten (jetzt auf Google Groups), die sich am Ende dieser Seite befinden. Wenn wir Fragen als GitHub-Issues finden, schließen wir sie einfach und verweisen Sie darauf, dies trotzdem zu tun.
Wenn Sie eine Sicherheitslücke in ESAPI Legacy gefunden haben, durchsuchen Sie zuerst die Issues-Liste (siehe oben), um zu sehen, ob sie bereits gemeldet wurde. Wenn dies nicht der Fall ist, kontaktieren Sie bitte direkt sowohl Kevin W. Wall (kevin.w.wall at gmail.com) als auch Matt Seil (matt.seil at owasp.org). Bitte melden Sie Sicherheitslücken nicht über GitHub-Issues oder über die ESAPI-Mailinglisten, da wir unsere Benutzer sicher halten möchten, während ein Patch implementiert und bereitgestellt wird. Wenn Sie für das Finden der Sicherheitslücke Anerkennung wünschen, folgen Sie bitte diesem Prozess. (Irgendwann möchten wir, dass BugCrowd dies übernimmt, aber das ist noch ein weiter Weg.) Wenn Sie die E-Mail mit der Beschreibung der Sicherheitslücke senden, senden Sie sie bitte von einer E-Mail-Adresse, die Sie regelmäßig überwachen.
Weitere Details finden Sie in der Datei „SECURITY.md“.
Wiki: https://owasp.org/www-project-enterprise-security-api/
Nightly Build: Travis CI - https://travis-ci.org/bkimminich/esapi-java-legacy
JIRA: https://owasp-esapi.atlassian.net/browse/ESAPILEG
Issues: Bis auf Weiteres verwenden Sie die GitHub-Issues zum Melden von Fehlern und Verbesserungsvorschlägen.
Dokumentation: https://owasp-esapi.atlassian.net/wiki/display/ESAPILEG/ESAPI+Legacy (Demnächst verfügbar), vorerst finden Sie allgemeine Dokumentation im Verzeichnis „documentation/“ und das neueste Javadoc unter https://www.javadoc.io/doc/org.owasp.esapi/esapi/
Echtzeit-Support auf unserem IRC-Kanal verfügbar (aber wenn Sie dies nutzen möchten und möchten, dass das ESAPI-Entwicklungsteam teilnimmt, senden Sie uns bitte vorher eine kurze Mitteilung mit Datum/Uhrzeit):
Server: irc.freenode.net
Kanal: #esapi
Webchat: https://webchat.freenode.net/
Mailinglisten: Seit dem 25.03.2019 wurden ESAPIs 2 Mailinglisten offiziell von ihren Mailman-Mailinglisten in ein neues Zuhause auf Google Groups verlegt.
Die Namen der 2 Google Groups lauten „esapi-project-users“ und „esapi-project-dev“, an die Sie nach dem Abonnieren über „ESAPI-Benutzerliste abonnieren“ und „ESAPI-Entwicklerliste abonnieren“ senden können.
Alte Archive der alten Mailman-Mailinglisten für ESAPI-Users und ESAPI-Dev sind weiterhin unter https://lists.owasp.org/pipermail/esapi-users/ bzw. https://lists.owasp.org/pipermail/esapi-dev/ verfügbar.
Eine allgemeine Übersicht über Google Groups und seine Webschnittstelle finden Sie unter https://groups.google.com/forum/#!overview.
Hilfe zum Abonnieren und Abbestellen von Google Groups finden Sie unter 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 ist ein eingetragenes Warenzeichen der OWASP Foundation, Inc.