This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Difference between revisions of "Category:OWASP Enterprise Security API"
Kevin.Fealey (talk | contribs) |
Kevin.Fealey (talk | contribs) (→Getting Started) |
||
Line 65: | Line 65: | ||
===Problems Building?=== | ===Problems Building?=== | ||
+ | If you have any problems while performing the steps above, be sure you have Apache Ant installed. | ||
+ | ''For help setting up Eclipse or integrating Ant within Eclipse, please read [http://www.onjava.com/pub/a/onjava/excerpt/anttdg2_ch11/index.html?page=1 this article] | ||
==Architecture== | ==Architecture== |
Revision as of 20:28, 15 September 2008
OWASP Enterprise Security API (ESAPI) Project
What is ESAPI?
The ESAPI is a free and open collection of all the security methods that a developer needs to build a secure web application. You can just use the interfaces and build your own implementation using your company's infrastructure. Or, you can use the reference implementation as a starting point. In concept, the API is language independent. However, the first deliverables from the project are a Java API and a Java reference implementation. Efforts to build ESAPI in .NET and PHP are already underway.
Why ESAPI?
Unfortunately, the available platforms, frameworks, and toolkits (Java EE, Struts, Spring, etc...) simply do not provide enough protection. This leaves developers with responsibility for designing and building security mechanisms. This reinventing the wheel for every application leads to wasted time and massive security holes.
The cost savings through reduced development time, and the increased security due to using heavily analyzed and carefully designed security methods provide developers with a massive advantage over organizations that are trying to deal with security using existing ad hoc secure coding techniques. This API is designed to automatically take care of many aspects of application security, making these issues invisible to the developers.
Where did ESAPI come from?
The OWASP ESAPI project is led by Jeff Williams, who serves as the volunteer chair of OWASP and is the CEO of Aspect Security. Jeff is a software developer who has specialized in application security since 1995. The ESAPI is the result of over a decade of code review and penetration testing of critical enterprise applications. If you'd like to volunteer to help on the project, you can contact him at [email protected].
More information about the ESAPI can be found in the ESAPI PowerPoint presentation
Download Now
This release is the first public release and will undoubtably undergo significant revision over the coming months. We are seeking organizations willing to pilot this ESAPI and work with us to make this library better. Please contact [email protected] for more information. If you're interested in application security, please join the OWASP ESAPI mailing list and help make ESAPI better!
Versions (archived source files are also available on the SVN under tags)
JAR Files | Source Files |
---|---|
|
|
Resources
- Information regarding the ESAPI SVN can be found at the ESAPI Google Code repository.
- If you have any problems with the ESAPI, please report them to the issues section.
- For more information about the ESAPI, please view the ESAPI PowerPoint presentation.
Getting Started
If you plan on customizing the ESAPI code to fit your organization's needs, download the latest version of the ESAPI source files from above. For the moment, I'll assume you are using Eclipse as your IDE. More tutorials may come in the future for other IDEs.
- Unzip file ESAPI source files to a directory of your choice.
- From the Eclipse toolbar, select File -> New -> Project -> Other.
- In the Java folder, select Java Project from Existing Ant Buildfile and click Next.
- Name your project.
- Click Browse and navigate to the unzipped ESAPI source files.
- From the root directory (probably ESAPI_version) select build.xml.
- Click Finish and you should be ready to edit ESAPI.
Problems Building?
If you have any problems while performing the steps above, be sure you have Apache Ant installed. For help setting up Eclipse or integrating Ant within Eclipse, please read this article
Architecture
The ESAPI architecture is very simple, just a collection of classes that encapsulate the key security operations most applications need. ESAPI is designed to make it easy to retrofit security into existing applications, as well as providing a solid foundation for new development. New development projects should consider integrating ESAPI into their framework to make even more of the security happen automatically. ESAPI comes with an ESAPI filter that minimizes the changes required to your base application.
The ESAPI covers most of the key security challenges facing application developers. ESAPI provides the capability for developers to create applications that are protected against almost all of the risks described in the OWASP Top Ten. Compare this coverage with automated scanning and static analysis tools, and then consider how your time is best spent.
There are two key parts to the ESAPI:
- A set of interfaces
- A reference implementation
By using the ESAPI, applications across an organization will be easier to develop, more consistent, and easier to update in a single place. The use of the ESAPI will make it much easier for static analysis tools to verify an application, as the ESAPI calls can be built into the ruleset.
Project Sponsors
The OWASP ESAPI project is sponsored by
Licensing
This project is dual-licensed under GPL and BSD. Pick whichever one fits your corporate policy...[JFM]
Pages in category "OWASP Enterprise Security API"
The following 27 pages are in this category, out of 27 total.
C
E
- EASPI
- ESAPI Swingset
- ESAPI
- ESAPI Access Control
- ESAPI ClassicASP Readme
- ESAPI ColdFusion CFML Readme
- ESAPI Contributions
- ESAPI DotNET Readme
- ESAPI Javadocs
- ESAPI JavaScript Readme
- ESAPI Mapping
- ESAPI Plan
- ESAPI Python Readme
- ESAPI Secure Coding Guideline
- ESAPI Specification
- ESAPI Summit
- ESAPI-Building
- ESAPI-BuildingWithEclipse