OWASP Enterprise Security API (ESAPI)
Giriş
OWASP Projelerini Tanıyalım isimli yazı dizisi çerçevesinde (uzun zaman ara vermiş olsakta) bu ikinci yazımızda ESAPI (Enterprise Security API) [1] projesini tanıtacağız.
ESAPI Nedir ?
ESAPI; web uygulamarındaki güvenlik problemlerini gidermek için geliştirilmiş bir güvenlik kontrol kütüphanesidir. BSD lisansı ile dağıtılan, ücretsiz ve açık kaynak kodlu olan ESAPI projesinin JAVA, .NET, ASP, PHP, Python, Javascript ve benzeri bir çok dil ve teknolojiyi destekleyen sürümü bulunmaktadır.
ESAPI kütüphanesinin sağladığı arayüzler ve sık kullanılanların işlevleri aşağıdaki gibidir;
- Authenticator; kimlik doğrulama işlemleri
- User
- AccessController; erişim kontrolleri
- AccessReferenceMap
- Validator; doğrulama işlemleri
- Encoder; encoding / decoding (kodlama işlemleri)
- HTTPUtilities
- Encyptor; kriptografi işlemleri
- EncryptedProperties
- Randomizer; rastgelelik işlemleri
- ExceptionHandling; hata yakalama mekanizması ile ilgili işlemler
- Logger; loglama işlemleri
- IntrusionDetector
- SecurityConfiguration
Bu arayüzler ile geliştirilen web uygulamasının hemen her aşamasında ve modülünde ilgili ihtiyaçların güvenli bir şekilde giderilmesi hedeflenmiştir.
OWASP ESAPI ve Top Ten Proje İlişkisi
Yazı dizimizde tanıttığımız ilk proje olan OWASP Top Ten [2] projesinde adreslenen güvenlik vektörlerinin, ESAPI kütüphanesindeki hangi arayüz ve metotlar ile handle edilebileceğini gösteren güzel bir imaj; [3]
ESAPI Swingset
ESAPI Swingset [4] interaktif uygulaması ile; yazılımcılarının ESAPI kütüphanesini nasıl pratik olarak kullanabileceği ve web uygulamasını tehdit eden yayın güvenlik vektörlerinden nasıl korunacağını göstermek amaçlanmıştır. (for Java Developers)
İlgili uygulamayı indirerek ESAPI kütüphanesini uygulamalı olarak inceleyebilir ve kod örneklerine erişebilirsiniz.
Sonuç
Web uygulaması geliştirirken alınması gereken güvenlik önlemlerini daha pratik ve doğru bir şekilde implemente etmeye yarayan OWASP ESAPI projesini tanıtmaya çalıştık. Daha detaylı bilgilere OWASP ESAPI projesi ana sayfasından [5] ve referans linklerinden ulaşabilirsiniz.
Referanslar
[1] https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_APIhttps://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API
[2] https://docs.google.com/********/d/1zoSvVk0hSLIgCyPnz2K-bXVTWvi5LXBU4bYkBMrlzYw/edithttps://docs.google.com/********/d/1zoSvVk0hSLIgCyPnz2K-bXVTWvi5LXBU4bYkBMrlzYw/edit
[3] http://www.jtmelton.com/2009/01/03/the-owasp-top-ten-and-esapi/The OWASP Top Ten and ESAPI – Part 0 – Introduction : John Melton's Weblog
[4] https://www.owasp.org/index.php/ESAPI_Swingsethttps://www.owasp.org/index.php/ESAPI_Swingset
[5] https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_APIhttps://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API