You are on page 1of 10

Web Gvenlii Topluluu webguvenligi.

org

Web Uygulama Gvenlii Kontrol Listesi 2012

Web Uygulama Gvenlii Kontrol Listesi, web uygulamalarnda bilgi gvenlii asndan gerekletirilmesi, aktif olmas gereken kontrolleri ieren ve deneti bak asyla hazrlanm olan bir dokmantasyon projesidir. Kontrol listesinin ilk srm 2010 ylnda yaynlanmtr. u an elinizdeki dokman, bir ok iyiletirme yaplarak hazrlanan ve Ocak 2012de tamamlanan ikinci srmdr. Bu yeni ikinci srmde yaplan balca deiiklikler aada listelenmitir; Kategorilerde OWASP Testing Guiden kategorileri temel alnmtr. Her kontrol maddesi ayrca ASVS (OWASP Application Security Verification Standard) kategorileri ile de elenmitir. Risk seviyesi ve de sorumlular ksm revize edilmitir. Excel dokmannda kontrollerin aktif olup olmadna verilecek "Evet" / "Hayr" / "---" cevabna gre farkl risk seviyesindeki ve de toplamdaki gvenlik durumu grafiksel olarak gsterilmektedir. "---" seenei ilgili gvenlik kontrolnn denetlenen sistemin kapsamnn dnda olduunu gsterir ve grafiksel gsterimlerde deerlendirmeye alnmaz. Kontrol listesi, PDF belgesine ek olarak Excel formatnda da sunulmutur. Bu sayede proje esnasnda gvenlik aktivitelerinin durumlarnn bir ara yardm ile takip edilebilmesine olanak salanmtr.

Dokmann genel yaps; her kontrol iin bir Kategori, Sorumlu, ASVS kategorisi ve Risk Seviyesi eklinde oluturulmutur. Bu bilgiler aadaki deerleri iermektedirler;

Kategori (OWASP Testing Guide)

Bilgi Toplama Yaplandrma Ynetimi Kimlik Dorulama Oturum Ynetimi Yetkilendirme Mant Veri Denetimi Hizmet D Brakma Web Servisleri

Sorumlu

Gelitirici: Uygulamay gelitirmekten sorumlu kiiler Sistem Yneticisi: Web ve uygulama sunucularnn yaplandrma ve ynetiminden sorumlu kiiler Veritaban Yneticisi: Veritaban sunucusunun yaplandrma ve ynetiminden sorumlu kiiler

www.webguvenligi.org

OWASP ASVS Kategorisi

Veri Korumas Snama Gereksinimleri Hata Ynetimi ve Kayt Tutma Snama Gereksinimleri Eriim Kontrol Snama Gereksinimleri Oturum Ynetimi Snama Gereksinimleri Kimlik Snama Gereksinimleri Kriptoloji Snama Gereksinimleri letiim Gvenlii Snama Gereksinimleri kt Kodlama Snama Gereksinimleri Girdi Denetimi Snama Gereksinimleri Kritik (4) Yksek (3) Orta (2) Dk (1)

Risk Seviyesi

Katkda Bulunanlar 2012 v2 2010 v1 Bnyamin Demir, Emin slam Tatl, Onur Ylmaz, Emre Sren, Ouzhan Topgl Bedirhan Urgun, Bnyamin Demir, Onur Ylmaz, Kubilay Onur Gngr, A. Kadir Altan, Volkan Altan, Muharrem Aydn, Canberk Bolat

www.webguvenligi.org

1. Web, uygulama ve veritaban sunucularnn sistem bileenleri hakkndaki kritik bilgiler (sunucu ad ve srm, kullanlan program srm v.b.) gizlenmelidir. Kategori : Bilgi Toplama ASVS : Veri Korumas Sorumlu : Sistem Yneticisi, Veritaban Yneticisi Seviye : Orta 2. Uygulamada oluan hatalar ve uygulama sunucusu n tanml hata mesajlar kullancya detayl olarak gsterilmemelidir. Kategori : Bilgi Toplama ASVS : Hata Ynetimi ve Kayt Tutma Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Orta 3. Uygulamalarn zerinde kotuklar listelememelidir. Kategori : Bilgi Toplama Sorumlu : Sistem Yneticisi sunucular, servis verdikleri dizinlerin ieriklerini

ASVS : Eriim Kontrol Seviye : Orta

4. Arama motorlar tarafndan grntlenmemesi istenen dizinler varsa, bunlar iin robots.txt ile nlem alnmaldr. Yanlz, sayfa ierisinde kprlenmeyen balantlarn / dizinlerin (rnein ynetim sayfas) gvenlik sorunu oluturmamas adna robots.txt dosyasna eklenmemesi gerekmektedir. Kategori : Bilgi Toplama ASVS : Eriim Kontrol Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Orta 5. Uygulama ats, veritaban, uygulama sunucusu ve web sunucusu gibi kullanlan yazlmlarn gvenlik yamalar en st seviyede olmaldr. Kategori : Yaplandrma Ynetimi ASVS : Veri Korumas Sorumlu : Sistem Yneticisi Seviye : Kritik 6. Gerekmedike POST/GET dndaki HTTP metotlarna izin verilmemelidir. Kategori : Yaplandrma Ynetimi ASVS : Eriim Kontrol Sorumlu : Sistem Yneticisi Seviye : Orta 7. Ana sistem iin gereksiz olan dosyalara (rnein yedekleme, ariv, test, gelitirme iin kullanlan dosyalar) eriim engellenmeli ve sistemdeki gereksiz uygulamalar (rnein n tanml sunucu sayfalar, demo uygulamalar) kaldrlmallar. Kategori : Yaplandrma Ynetimi ASVS : Eriim Kontrol Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Yksek 8. ASP.NET, PHP, STRUTS gibi kullanlan uygulama atlarnn gvenlik zellikleri aktif hale getirilmelidir. Kategori : Yaplandrma Ynetimi ASVS : Veri Korumas Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Yksek 9. n tanml kullanc hesaplar sistemden, veritabanndan ve uygulamadan kaldrlmaldr. Kategori : Yaplandrma Ynetimi ASVS : Kimlik Snama Sorumlu : Gelitirici, Sistem / Veritaban Yneticisi Seviye : Yksek

www.webguvenligi.org

10. Hassas bilgiler ieren web sayfalarnn tarayclarda bellee alnmamas iin autocomplete, cache-control, pragma gibi gerekli HTTP/HTML balklar kullanlmaldr. Kategori : Yaplandrma Ynetimi ASVS : Oturum Ynetimi Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Yksek 11. Gvenli web trafii iin (SSL) gl ifreleme algoritmalar kullanlmaldr, gvensiz algoritmalar inaktif hale getirilmelidir. Kategori : Yaplandrma Ynetimi ASVS : Kriptoloji Sorumlu : Sistem Yneticisi Seviye : Yksek 12. Flash uygulamalarnda crossdomain.xml ve SilverLight uygulamalarnda clientaccesspolicy.xml yaplandrma dosyalarnda uygulanan politikalarn gvenli olup olmad kontrol edilmelidir. Kategori : Yaplandrma Ynetimi ASVS : Eriim Kontrol Sorumlu : Sistem Yneticisi Seviye : Orta 13. SSL sunucusunun "renegotiation" zellii kapatlarak sunucu servis d brakma ve MITM saldrlarna kar korunakl hale getirilmelidir. Kategori : Yaplandrma Ynetimi ASVS : Kriptoloji Sorumlu : Sistem Yneticisi Seviye : Yksek 14. Zayf parolalarn kullanmna izin verilmemelidir. Kategori : Kimlik Dorulama Sorumlu : Gelitirici, Sistem Yneticisi

ASVS : Kriptoloji Seviye : Kritik

15. Kullanlan parolalar ve parolam unuttum kontrol soru ve cevaplar gibi dier hassas veriler ak metin olarak saklanmamaldr. Kategori : Kimlik Dorulama ASVS : Veri Korumas Sorumlu : Gelitirici Seviye : Kritik 16. Uygulama ile son kullanc arasnda aktarlan kullanc ad, parola, kredi kart no, adres gibi hassas veriler HTTPS protokol zerinden aktarlmaldr. Kategori : Kimlik Dorulama ASVS : letiim Gvenlii Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Kritik 17. Umumi olmayan btn kaynaklara ve sayfalara eriim iin sunucu tarafnda kimlik dorulamas yaplmaldr. Kategori : Kimlik Dorulama ASVS : Kimlik Snama Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Yksek 18. Parola hash deerleri oluturulurken tuz (salt) veriside kullanlmaldr. Kategori : Kimlik Dorulama ASVS : Kriptoloji Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Yksek

www.webguvenligi.org

19. Kullanclara (zarf, szl, e-posta yoluyla) datlan balang parolalar, kullanclar uygulamaya ilk giri yaptklarnda deitirilmeye zorlanmaldr. Kategori : Kimlik Dorulama ASVS : Kriptoloji Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Yksek 20. Uygulama zerinden yaplan kritik ilemler hem uygulama seviyesinde hem de sunucu seviyesinde kayt altna alnmaldr. Kategori : Kimlik Dorulama ASVS : Hata Ynetimi ve Kayt Tutma Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Kritik 21. Kullanc ad ve parola ile kimlik dorulamasnn yapld kontroller tek tip hata mesaj vermek suretiyle kullanc adlar listeleme saldrlarna engel olmaldrlar. rnek bir hata mesaj "Girdiginiz kullanc ad ve/veya parola yanltr." seklinde olabilir. Kategori : Kimlik Dorulama ASVS : Kimlik Snama Sorumlu : Gelitirici Seviye : Yksek 22. Btn baarl ve baarsz login ilemleri ve kaynaklara eriim denemeleri kayt altna alnmaldr. Kategori : Kimlik Dorulama ASVS : Kimlik Snama Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Yksek 23. Oturum ynetimi iin kullanlan ve uygulamay kullanan btn kullanclar iin tekil olmas gereken deerlerin (session id, token v.b.) gl bir rastgele veri retecinden temin edildii ve tahmin edilemez derecede karmak olduu kontrol edilmelidir. Kategori : Oturum Ynetimi ASVS : Oturum Ynetimi Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Kritik 24. Oturum bilgisi zaman amna urayacak ekilde yaplandrlmaldr. Kategori : Oturum Ynetimi ASVS : Oturum Ynetimi Sorumlu : Sistem Yneticisi Seviye : Yksek 25. Uygulamalarda baarl kimlik dorulama ve tekrarlayan kimlik dorulama (re-authentication) neticesinde her zaman yeni bir oturum bilgisi oluturulmaldr. k ileminden sonra da var olan oturum bilgisi geersizletirilmelidir. Kategori : Oturum Ynetimi ASVS : Oturum Ynetimi Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Yksek 26. Kritik ilemlerde CSRF saldrlarna kar "token" veya "CAPTCHA" gibi gvenlik nlemleri alnmaldr. Kategori : Oturum Ynetimi ASVS : Eriim Kontrol Sorumlu : Gelitirici Seviye : Yksek 27. Oturum bilgisini iceren cerezlerin (COOKIE) domain ve yol (path) bilgileri ilgili site iin en uygun ekilde snrlandrlmaldr. Kategori : Oturum Ynetimi ASVS : Oturum Ynetimi Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Yksek

www.webguvenligi.org

28. Kullanlan erez deerleri iin httponly parametresi tanml olmaldr. Buna ek olarak, HTTPS protokol kullanlan balantlarda kullanlan erez deerleri iin secure parametresi tanml olmaldr. Kategori : Oturum Ynetimi ASVS : Oturum Ynetimi Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Yksek 29. Baarl login ilemleri sonras kullanc HTTP 302 ile dahili sayfalara ynlendirilmelidir. Kategori : Oturum Ynetimi ASVS : Oturum Ynetimi Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Orta 30. Baarl kimlik dorulamas sonucu eriilen uygulamalarda sistemden tekrar kmak (logout) iin gerekli linkler salanmaldr. Kategori : Oturum Ynetimi ASVS : Oturum Ynetimi Sorumlu : Gelitirici Seviye : Orta 31. GET ve POST isteklerindeki HTTP parametreleri deitirilerek nc ahslarn bilgilerine yetkisiz olarak eriilmemelidir. Kategori : Yetkilendirme ASVS : Eriim Kontrol Sorumlu : Gelitirici Seviye : Kritik 32. Uygulamay altran sistem kullancsnn, hizmet verilen dizin dndaki yetkileri kaldrlmaldr. Kategori : Yetkilendirme ASVS : Eriim Kontrol Sorumlu : Sistem Yneticisi Seviye : Yksek 33. Veritaban kullancsnn sadece uygulamann kulland veritaban kaynaklarna eriim hakk olmaldr. Kategori : Yetkilendirme ASVS : Eriim Kontrol Sorumlu : Sistem Yneticisi, Veritaban Yneticisi Seviye : Yksek 34. Veritaban kullancsnn veritabanna sadece uygulama sunucu IP adresinden balant hakk olmaldr. Kategori : Yetkilendirme ASVS : Eriim Kontrol Sorumlu : Sistem Yneticisi, Veritaban Yneticisi Seviye : Yksek 35. Race-Condition'lara engel olmak iin kritik kaynaklara, objelere, metotlara senkronizasyon salanarak e zamanl eriime izin verilmemelidir. Kategori : Yetkilendirme ASVS : Eriim Kontrol Sorumlu : Gelitirici Seviye : Yksek 36. Sunucu zerinde bulunan ve web tabanl istatistik salayan uygulamalara eriim herkese ak olmamaldr. Kategori : Yetkilendirme ASVS : Eriim Kontrol Sorumlu : Sistem Yneticisi Seviye : Orta

www.webguvenligi.org

37. Kstl eriim gerektiren btn URL'lere, fonksiyonlara, obje referanslarna, servislere, uygulama verilerine, kullanc bilgilerine, gvenlik yaplandrma dosyalarna eriim denetlenmelidir. Kategori : Yetkilendirme ASVS : Eriim Kontrol Sorumlu : Sistem Yneticisi Seviye : Yksek 38. Yetki hakknn artk gerekmedii durumlarda (rnein irketi terk etme, projede rol deitirme gibi) en ksa srede ilgili haklar iptal edilmelidir. Kategori : Yetkilendirme ASVS : Eriim Kontrol Sorumlu : Sistem Yneticisi Seviye : Yksek 39. Parola gncelleme ilemleri iin eski parola her zaman sorulmaldr. Kategori : Mant ASVS : Kimlik Snama Sorumlu : Gelitirici Seviye : Yksek 40. Parola unuttum formlar, gizli soru ve benzeri ek argmanlarla desteklenmelidir. Kategori : Mant ASVS : Kimlik Snama Sorumlu : Gelitirici Seviye : Orta 41. Parola unuttum ilemlerinden sonra kullancya gnderilen eposta, kullanc ad ve parola bilgisi iermemelidir. Bunun yerine snrl yaam sresi bulunan bir link gnderilip, o link zerinden alan sayfadan parola deitirme ilemi gerekletirilmelidir. Kategori : Mant ASVS : Kimlik Snama Sorumlu : Gelitirici Seviye : Yksek 42. Ynetim paneli gibi kritik dizinlerin isimleri kolay tahmin edilebilir olmamaldr (admin, yonetici, administrator, yonetim, panel v.b.). Kategori : Mant ASVS : Eriim Kontrol Sorumlu : Gelitirici Seviye : Orta 43. Uygulamalar, gelitirme ortamndan prodksiyon ortamna aktarlrken gereksiz olan dosyalar (rnein test kodlar, demo programlar, yedek dosyalar) silinmeli, ayet gerek yoksa kaynak kod aktarlmamal ve de aktarlacak olan kaynak kodlardaki yorum satrlar silinmelidir. Aktarm esnasnda dosyalarda istenmeyen bir deiikliin olmamas garanti edilmelidir. Kategori : Mant ASVS : Veri Korumas Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Yksek 44. Uygulama domain isimlerine ait hassas bilgilerin google/bing gibi arama motorlar tarafndan indekslenmedii kontrol edilmelidir. Kategori : Mant ASVS : Oturum Ynetimi Sorumlu : Sistem Yneticisi Seviye : Yksek 45. Kullancdan gelen tm girdiler sunucu tarafnda pozitif veri kontrolnden gemelidir. Girdiler veri kontrolnden gemeden nce canonicalization ilemine tabi tutulmaldrlar. Kategori : Veri Denetimi ASVS : Girdi Denetimi Sorumlu : Gelitirici Seviye : Yksek

www.webguvenligi.org

46. Kullancdan gelen veriler iletim sistemi komut satrna girmeden kontrol edilmeli ve dzgnletirme ileminden (escape) geirilmelidir. Kategori : Veri Denetimi ASVS : kt Kodlama Sorumlu : Gelitirici Seviye : Kritik 47. SQL enjeksiyonuna kar prepared statement/parameterized query/bind variables/pozitif veri kontrol yntemlerinden biri veya birka kullanlmaldr. Kategori : Veri Denetimi ASVS : kt Kodlama Sorumlu : Gelitirici Seviye : Kritik 48. XSS saldrlarna kar btn kullanc girdileri dar aktarlmadan nce sunucu tarafnda zel karakter kodlama (output encoding) ileminden geirilmelidir. Gvenlik seviyesini artrmak iin bu ilem kullanc girdilerinin tip, uzunluk, ierik denetlemesi yaplarak desteklenebilir. Kategori : Veri Denetimi ASVS : kt Kodlama Sorumlu : Gelitirici Seviye : Yksek 49. Gvensiz kaynaklardan veri alarak aritmetik ilem yapan uygulamalar, gerekli tam say st snr ve alt snr kontrollerini gerekletirmelidirler. Kategori : Veri Denetimi ASVS : Girdi Denetimi Sorumlu : Gelitirici Seviye : Yksek 50. Kullancdan gelen ve dosya eriim ilemlerinde kullanlan girdiler normalizasyon ilemine tabi tutulmaldr. Kategori : Veri Denetimi ASVS : kt Kodlama Sorumlu : Gelitirici Seviye : Yksek 51. Kardan dosya ykleme ilemlerinde yklenilen dosya zerinde isim, boyut, tip ve ierik kontrol yaplmaldr. Kategori : Veri Denetimi ASVS : Girdi Denetimi Sorumlu : Gelitirici Seviye : Yksek 52. Kullanc parametrelerini kullanarak farkl sitelere ynlendirme yapan uygulamalarda ilgili parametrelere pozitif girdi denetimi uygulanmal ve bu sayede olta saldrlarna engel olunmaldr. Kategori : Veri Denetimi ASVS : Girdi Denetimi Sorumlu : Gelitirici Seviye : Yksek 53. Kullancdan veri alarak LDAP'a balanan uygulamalar, gerekli girdi kontrollerini gerekletirmeli ve bu girdileri LDAP dzgnletirme ileminden (escape) geirmelidir. Kategori : Veri Denetimi ASVS : kt Kodlama Sorumlu : Gelitirici Seviye : Yksek 54. Gvensiz kaynaklardan veri alarak XPath sorgular yapan uygulamalar, gerekli girdi kontrollerini gerekletirmeli ve bu girdileri XPath dzgnletirme ileminden (escape) geirmelidir. Kategori : Veri Denetimi ASVS : kt Kodlama Sorumlu : Gelitirici Seviye : Yksek
www.webguvenligi.org

55. Kullancdan gelen CR/LF karakterleri uygulama tarafnda olduklar gibi HTTP cevap balklarnda kullanlmamaldr. Kategori : Veri Denetimi ASVS : Girdi Denetimi Sorumlu : Gelitirici Seviye : Yksek 56. Uygulamalar, uygun olan her sayfada ereve engelleyici nlemleri (frame busting) almaldrlar. Kategori : Veri Denetimi ASVS : kt Kodlama Sorumlu : Gelitirici Seviye : Orta 57. Uygulama hizmete girmeden nce szma testleri yaplmaldr. Kategori : Veri Denetimi ASVS : Girdi Denetimi Sorumlu : Gelitirici Seviye : Yksek 58. DoS saldrs barndracak veya ifre deneme-yanlma gibi kaba kuvvet saldrlarna ak tm formlara CAPTCHA veya farkl anti-otomasyon gvenlik kontrolleri uygulanmaldr. Kategori : Hizmet D Brakma ASVS : Kimlik Snama Sorumlu : Gelitirici Seviye : Yksek 59. Genelde uygulamalarn arama zelliini ktye kullanarak veritaban zerinde ok detayl arama yaptrarak ilemciyi megul eden SQL genel arama karakter (%,* v.b.) saldrlarna kar arama sresini kstlamak suretiyle nlem alnmaldr.. Kategori : Hizmet D Brakma ASVS : Girdi Denetimi Sorumlu : Gelitirici Seviye : Orta 60. SOAP, Restful, XML-RPC gibi teknolojilerle gelitirilmi web servislerine eriimlerde kimlik dorulama kontrol uygulanmaldr. Kategori : Web Servisleri ASVS : Kimlik Snama Sorumlu : Gelitirici, Sistem Yneticisi Seviye : Kritik 61. Web servisleri iin kullanlan atlarn klasik XML saldrlarna (rnein cok byk XML verileri, ok sk tekrarlanan XML tag'leri) ve parametre maniplasyonlar na kar korunakl olmalar salanmaldr. Kategori : Web Servisleri ASVS : kt Kodlama Sorumlu : Sistem Yneticisi Seviye : Yksek

www.webguvenligi.org

You might also like