
OWASP Enterprise Security API-Bibliothek, die Sicherheitskontrollen für Java-Webanwendungen bereitstellt, einschließlich Authentifizierung, Zugriffskontrolle, Eingabevalidierung, Verschlüsselung und Kodierung, um das Schwachstellenrisiko zu reduzieren.
| OWASP® ESAPI (The OWASP Enterprise Security API) ist eine freie Open-Source-Bibliothek mit Sicherheitskontrollen für Webanwendungen, die es Programmierern erleichtert, Anwendungen mit geringerem Risiko zu entwickeln. Die Bibliothek ESAPI for Java wurde entwickelt, um es Programmierern zu erleichtern, Sicherheit in bestehende Anwendungen nachzurüsten. ESAPI for Java dient außerdem als solide Grundlage für die Neuentwicklung. |
Sie finden die OWASP-ESAPI-Wiki-Seiten unter https://owasp.org/www-project-enterprise-security-api/. Das GitHub-Repository von ESAPI Legacy 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 wesentliche *neue* Funktionsentwicklung mehr betrieben. Funktionen, die bereits für den 2.x-Zweig geplant sind, werden umgesetzt. Sie finden das 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 künftige Entwicklung, Fehlerbehebungen usw. durchgeführt werden. Der 'main'-Zweig ist jetzt als "geschützt" markiert; er spiegelt die neueste stabile ESAPI-Version (Stand heute 2.1.0.1) wider. Beachten Sie, dass sich diese Änderung – den 'develop'-Zweig zum Standard zu machen – auf Pull-Requests auswirken kann, die Sie einzureichen beabsichtigten.
Außerdem ist die minimale Basisversion von Java für die Nutzung von ESAPI Java 7. (Dies wurde während des 2.2.0.0-Releases 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 erst in den frühesten Planungsphasen befindet. Selbst der derzeit vorhandene Code wird sich wahrscheinlich ändern.
Die ESAPI-Versionshinweise finden Sie im "documentation"-Verzeichnis von ESAPI. Sie heißen in der Regel "esapi4java-core-2.#.#.#-release-notes.txt", wobei sich "2.#.#.#" auf die ESAPI-Release-Nummer bezieht (die semantische Versionierung 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. Die Standard-Konfigurations-JAR und ihre 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 erhältlich.
Bevor Sie jedoch ein neues Projekt mit ESAPI beginnen, lesen Sie unbedingt "Sollte ich ESAPI verwenden?".
Sofern wir es nicht versehentlich vermasseln, ist es unsere Absicht, Klassen, Methoden und/oder Felder, die als "@deprecated" annotiert wurden, mindestens zwei (2) Jahre lang oder bis zur nächsten Hauptversionsnummer (z. B. derzeit 3.x) zu behalten, 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! Einfach wie Pi! Wir akzeptieren in der Regel 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, besprechen Sie diese am besten über die weiter 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 vorfinden, die Sie bereits bearbeiten.
Wenn Sie neu bei ESAPI sind, ist ein guter Einstieg, 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 Einzelheiten finden Sie in der Datei 'CONTRIBUTING-TO-ESAPI.txt'.
Mitte 2014 hat ESAPI den gesamten Code zu GitHub migriert. Diese Migration wurde im November 2014 abgeschlossen.
Alle Issues von Google Code wurden zu GitHub-Issues migriert. Uns wurde eine JIRA/Confluence-Instanz zugewiesen, aber sie wurde nicht so konfiguriert, dass sie mit den GitHub-Issues synchronisiert wird, und daher sollte sie nicht verwendet werden. JIRA ist an sich in Ordnung, 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. Bitte verwenden Sie daher bis zu dieser Synchronisierung (siehe GitHub-Issue #371) AUSSCHLIESSLICH GitHub zur Meldung von Fehlern.
Wenn Sie ein Issue melden, seien Sie bitte präzise und versuchen Sie sicherzustellen, dass das ESAPI-Entwicklungsteam ausreichend Informationen hat, um Ihre Ergebnisse zu reproduzieren. Falls Sie es noch nicht getan haben, ist dies vielleicht ein guter Zeitpunkt, 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-Repository: 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 an eine der 2 Mailinglisten (jetzt auf Google Groups), die Sie am Ende dieser Seite finden. Wenn wir Fragen als GitHub-Issues finden, schließen wir sie einfach und verweisen Sie darauf, dies ohnehin zu tun.
Wenn Sie eine Schwachstelle in ESAPI Legacy gefunden haben, durchsuchen Sie zunächst die Issues-Liste (siehe oben), um festzustellen, ob sie bereits gemeldet wurde. Falls nicht, 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 Schwachstellen nicht über GitHub-Issues oder über die ESAPI-Mailinglisten, da wir unsere Benutzer schützen möchten, während ein Patch implementiert und bereitgestellt wird. Wenn Sie für das Auffinden der Schwachstelle genannt werden möchten, folgen Sie bitte diesem Prozess. (Irgendwann möchten wir BugCrowd diese Aufgabe übernehmen lassen, aber das dauert noch eine Weile.) Wenn Sie die E-Mail mit der Beschreibung der Schwachstelle senden, tun Sie dies bitte von einer E-Mail-Adresse aus, 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: Verwenden Sie bis auf Weiteres die GitHub-Issues zur Meldung von Fehlern und Verbesserungsvorschlägen.
Dokumentation: https://owasp-esapi.atlassian.net/wiki/display/ESAPILEG/ESAPI+Legacy (Bald 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 ist 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 vorab eine Benachrichtigung mit Datum/Uhrzeit):
Server: irc.freenode.net
Kanal: #esapi
Webchat: https://webchat.freenode.net/
Mailinglisten:
Stand 2019-03-25 wurden die 2 Mailinglisten von ESAPI offiziell von ihren Mailman-Mailinglisten zu einem neuen 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 senden dürfen, und zwar über "ESAPI-Benutzerliste abonnieren" bzw. "ESAPI-Entwicklerliste abonnieren".
Alte Archive der früheren 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 Weboberfläche finden Sie unter https://groups.google.com/forum/#!overview
Hilfe zum Abonnieren und Kündigen 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.