
OWASP Enterprise Security API 라이브러리는 Java 웹 애플리케이션을 위한 보안 제어 기능을 제공하며, 인증, 접근 제어, 입력 검증, 암호화 및 인코딩을 포함하여 취약점 위험을 줄입니다.
| OWASP® ESAPI (The OWASP Enterprise Security API)는 무료 오픈 소스 웹 애플리케이션 보안 제어 라이브러리로, 프로그래머가 더 낮은 위험의 애플리케이션을 작성하기 쉽게 해줍니다. Java용 ESAPI 라이브러리는 기존 애플리케이션에 보안을 추가(retrofit)하기 쉽게 설계되었습니다. 또한 Java용 ESAPI는 새로운 개발을 위한 견고한 기반을 제공합니다. |
OWASP ESAPI 위키 페이지는 https://owasp.org/www-project-enterprise-security-api/에서 찾을 수 있습니다. ESAPI legacy GitHub 저장소에도 몇 가지 유용한 위키 페이지가 있습니다.
이것은 ESAPI의 legacy 브랜치이며, 프로젝트의 활발히 유지 관리되는 브랜치입니다. 그러나 이 브랜치에 대한 중요한 *새로운* 기능 개발은 *이루어지지 않습니다*. 2.x 브랜치에 이미 예정된 기능들은 계속 진행됩니다. 해당 GitHub 저장소는 [https://github.com/ESAPI/esapi-java-legacy](https://github.com/ESAPI/esapi-java-legacy)에서 찾을 수 있습니다.
중요 사항: ESAPI legacy의 기본 브랜치는 이제 'develop' 브랜치입니다('main'(이전 'master') 브랜치가 아닙니다). 향후 개발, 버그 수정 등은 이 브랜치에서 이루어집니다. 'main' 브랜치는 이제 "보호"로 표시되며, 최신 안정 ESAPI 릴리스(현재 2.1.0.1)를 반영합니다. 'develop' 브랜치를 기본으로 변경한 것이 귀하가 의도했던 풀 리퀘스트에 영향을 줄 수 있음을 유의하십시오.
또한 ESAPI를 사용하기 위한 최소 기준 Java 버전은 Java 7입니다. (이것은 2.2.0.0 릴리스에서 Java 6에서 변경되었습니다.)
https://github.com/ESAPI/esapi-java
그러나 ESAPI 3에 대한 작업은 아직 본격적으로 시작되지 않았으며 초기 계획 단계에 있습니다. 현재 있는 코드조차도 변경될 가능성이 있습니다.
ESAPI 릴리스 노트는 ESAPI의 "documentation" 디렉토리에서 찾을 수 있습니다. 일반적으로 "esapi4java-core-2.#.#.#-release-notes.txt" 형식으로 명명되며, 여기서 "2.#.#.#"는 ESAPI 릴리스 번호(시맨틱 버전 사용)를 나타냅니다.
ESAPI 2.2.3.0부터 ESAPI는 기본적으로 'slf4j-simple'을 포함하고 AntiSamy 정책 파일에 대해 XML 스키마 유효성 검사를 수행하는 AntiSamy 버전을 사용합니다. ESAPI 사용에 영향을 미칠 수 있는 중요한 내용이 포함되어 있으므로 2.2.3.0 릴리스의 릴리스 노트(최소한 시작 부분)를 읽으시기 바랍니다! 경고했습니다!!!
가장 최신 ESAPI 릴리스는 2.2.3.0입니다. 기본 구성 jar와 해당 GPG 서명은 각각 esapi-2.2.3.0-configuration.jar 및 esapi-2.2.3.0-configuration.jar.asc에서 찾을 수 있습니다.
최신 일반 ESAPI jar는 Maven Central에서 사용할 수 있습니다.
그러나 ESAPI를 사용하여 새 프로젝트를 시작하기 전에 "Should I use ESAPI?"를 반드시 읽어보시기 바랍니다.
의도치 않게 망치지 않는 한, "@deprecated"로 어노테이션된 클래스, 메서드 및/또는 필드를 제거하기 전에 최소 2년 또는 다음 주요 릴리스 번호(현재 3.x) 중 먼저 도래하는 때까지 유지할 예정입니다. 이 정책은 org.owasp.esapi.reference 패키지 아래의 클래스에는 적용되지 않습니다. 이러한 클래스는 코드에서 직접 사용할 것으로 예상되지 않습니다.
포크하고 풀 리퀘스트를 제출하세요! 파이만큼 간단합니다! 일반적으로 버그 수정만 허용하며, 새로운 기능은 허용하지 않습니다. 왜냐하면 레거시 프로젝트로서 새로운 기능을 추가할 의도가 없기 때문입니다. 단, 예외는 있을 수 있습니다. 새로운 기능을 제안하려면 아래 언급된 ESAPI-DEV 메일링 리스트를 통해 논의하는 것이 가장 좋습니다. 모든 풀 리퀘스트는 코드 스타일을 포함하여 검토합니다. 이미 편집 중인 파일에서 사용된 동일한 코딩 스타일을 사용하세요.
ESAPI를 처음 사용하는 경우 'good first issue' 레이블이 붙은 GitHub 이슈를 찾아보는 것이 좋습니다. (예: 해당 레이블이 있는 모든 열린 이슈를 찾으려면 https://github.com/ESAPI/esapi-java-legacy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22를 사용하세요.)
'CONTRIBUTING-TO-ESAPI.txt' 파일에서 추가 세부 정보를 찾을 수 있습니다.
2014년 중반, ESAPI는 모든 코드를 GitHub로 마이그레이션했습니다. 이 마이그레이션은 2014년 11월에 완료되었습니다.
Google Code의 모든 이슈는 GitHub 이슈로 마이그레이션되었습니다. JIRA/Confluence 인스턴스가 할당되었지만 GitHub 이슈와 동기화되도록 구성되지 않았으므로 사용해서는 안 됩니다. JIRA는 괜찮지만 GitHub 이슈(대부분의 사용자가 이슈를 보고하는 곳)와 동기화할 수 없다면 사용할 수 없습니다. 개발자로서 여러 버그 추적 사이트에서 이슈를 닫는 데 시간을 소비하고 싶지 않습니다. 따라서 이 동기화가 이루어질 때까지(GitHub 이슈 #371 참조) 버그 보고는 GitHub만 사용하십시오.
이슈를 보고할 때는 명확하게 작성하고 ESAPI 개발 팀이 결과를 재현할 수 있도록 충분한 정보를 제공해 주십시오. 아직 하지 않았다면 이슈를 게시하기 전에 Eric S. Raymond의 고전 "How to Ask Questions the Smart Way"를 http://www.catb.org/esr/faqs/smart-questions.html에서 읽어보는 것이 좋습니다.
버그를 발견하셨다면 esapi-legacy-java 저장소에 이슈를 생성하세요: https://github.com/ESAPI/esapi-java-legacy/issues
참고: ESAPI에 대한 질문은 GitHub 이슈를 사용하지 마십시오. 질문이 있으시면 이 페이지 하단에 있는 2개의 메일링 리스트(현재 Google Groups)에 게시하십시오. GitHub 이슈로 질문을 발견하면 단순히 닫고 어쨌든 그렇게 하도록 안내할 것입니다.
ESAPI legacy에서 취약점을 발견하셨다면 먼저 이슈 목록(위 참조)을 검색하여 이미 보고되었는지 확인하세요. 보고되지 않았다면 Kevin W. Wall (kevin.w.wall at gmail.com)과 Matt Seil (matt.seil at owasp.org)에게 직접 연락하십시오. 패치가 구현되고 배포되는 동안 사용자를 보호하기 위해 GitHub 이슈나 ESAPI 메일링 리스트를 통해 취약점을 보고하지 마십시오. 취약점 발견을 인정받고 싶다면 이 절차를 따라주십시오. (결국에는 BugCrowd가 이를 처리하길 원하지만 아직 멀었습니다.) 또한 취약점을 설명하는 이메일을 보낼 때는 평소에 확인하는 이메일 주소를 사용하십시오.
자세한 내용은 'SECURITY.md' 파일에서 확인할 수 있습니다.
위키: https://owasp.org/www-project-enterprise-security-api/
야간 빌드: Travis CI - https://travis-ci.org/bkimminich/esapi-java-legacy
JIRA: https://owasp-esapi.atlassian.net/browse/ESAPILEG
이슈: 추후 공지가 있을 때까지 버그 및 기능 개선 요청은 GitHub 이슈를 사용하세요.
문서: https://owasp-esapi.atlassian.net/wiki/display/ESAPILEG/ESAPI+Legacy (Coming Soon), 현재는 'documentation/' 디렉토리에서 일반 문서를, https://www.javadoc.io/doc/org.owasp.esapi/esapi/에서 최신 Javadoc을 찾을 수 있습니다.
실시간 지원은 IRC 채널에서 가능합니다 (단, ESAPI 개발 팀의 참여를 원한다면 먼저 날짜/시간을 이메일로 알려주세요):
서버: irc.freenode.net
채널: #esapi
웹챗: https://webchat.freenode.net/
메일링 리스트: 2019-03-25을 기준으로 ESAPI의 2개 메일링 리스트는 공식적으로 Mailman 메일링 리스트에서 Google Groups의 새 홈으로 이동되었습니다.
2개 Google Groups의 이름은 "esapi-project-users" 및 "esapi-project-dev"입니다. 각각 "Subscribe to ESAPI Users list" 및 "Subscribe to ESAPI Developers list"를 통해 구독한 후에 게시할 수 있습니다.
이전 ESAPI-Users 및 ESAPI-Dev Mailman 메일링 리스트의 이전 아카이브는 각각 https://lists.owasp.org/pipermail/esapi-users/ 및 https://lists.owasp.org/pipermail/esapi-dev/에서 계속 사용할 수 있습니다.
Google Groups 및 웹 인터페이스에 대한 일반적인 개요는 https://groups.google.com/forum/#!overview를 참조하십시오.
Google Groups 구독 및 구독 취소에 대한 도움말은 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는 OWASP Foundation, Inc.의 등록 상표입니다.