[Owasp-turkey] Onerileriniz

Bedirhan Urgun urgunb at hotmail.com
Fri Jun 8 15:45:55 EDT 2007


 
 Merhaba,
 Bi kac oneri de ben vereyim istedim;
   - ASP.NET - SQL2005 baglantisinin cross kablo ile oldugunu soylemissiniz, belki Windows (Integrated) Auth. ile bu ikisinin kimlik dogrulama kismini halledebilirsiniz. Boylece web.config'de hic sifrelenmis bile olsa parola bulundurmus olmazsiniz.
   - Butun girdileri bir denetimden gecirebiliriz. (bunu zaten yapiyorsunuzdur)
   - Kayit meselesinde belki gecersiz kullanici adi/parola denemelerini de kaydedebilirsiniz (veritabani cok siser diyorsaniz, aslinda bir backup plani yapmak gerekebilir).    - Yukaridan hareketle, kaba kuvvet kimlik dogrulama saldirilarindan korunmak icin login sayfasina CAPTCHA koyabilirsiniz, veya "Anti Brute Force Resource Metering" tekniklerinden bi tanesini uygulayabilirsiniz.
   - Kullanicilarin sifrelerinin hash'ini tutuyorsunuz db'de, belki bunlari tuzlamak gerekebilir. :) Yani salted hash. Salt'lari da web sunucusunda bir dosyada veya web.config'de (tek salt kullanarak) tutabilirsiniz.
   - Server.HTMLEncode fonksiyonunu (veya daha iyisi AntiXSS kutuphanesini) belki html uretirken kullanmak isteyebilirsiniz. Ama tabi tam olarak anlayamadim ne yapmak istediginizi.
   - dosya upload meselesini zaten daha once konusmustuk (upload edilen dosyanin ismi degistirilebilir, upload edilen dizin web dizini disinda birakilabilir, upload edilen dosyanin icerigi kontrol edilebilir, v.b.).
   - Ve uygulamanin calisma haklarini Fulltrust'tan Medium'a cekebilirsiniz belki (belki hic koda veya politikaya dokunmadan calisir :) )
   - Gerci bayagi sikilastirilmis bi sekilde kuruluyor bildigim kadari ile ama SQL 2005 hardening'ine egilebiliriz. bilmiyorum....
   
Daha soylenebilecek eminim cok sey vardir, mesela Membership provider'in guvenlik zaafiyetleri var mi acaba veya kullanim hatalari? 
 
Umarim bi nebze de olsa faydali olur.
 
bedirhan


Date: Fri, 8 Jun 2007 09:20:28 -0700From: vuzun at csusb.eduTo: owasp-turkey at lists.owasp.orgSubject: [Owasp-turkey] Onerileriniz






Selamlar, 
Uzerinde calistigim bir projede oldukca paranoyak olmak zorundayim; cunku gazilerin (veterans) bazi kisisel bilgileri ( sosyal sigorta nosunu son  4 hanesi, dogum tarihi, hastaliklari  vs ) tutuluyor.
Uygulamayi bastan sonra asp.net 2.0, c#, framework 2.0, sql server 2005 ile gelistiriyorum.
Simdi sizlerden oneri bekliyorum asagida yazdigim guvenlik amaciyla aldigim onlemler disinda yapilmasi gereken seyler sizce var midir ?
 

Kullanicilar mutlaka authentication, ve authorization ile sisteme giris yapiyorlar, bu sistemi .net frameworkun membership provider ile hallediyorum. Bir admin acilan kullanici hesaplarini onayladiktan sonra hesaplar kullanilabilir hale geliyor. Sifreler ayda 1 kere kullanim disi oluyor, ve tekrar sifre yaratilmasi isteniyor. Sifreler hash olarak tutuluyor
Yonetici, her kullanici icin, sayfa bazinda hak tanima islemi yapabiliyor.
Sisteme her giris/cikis, upload islemi, ve tum kayit silme islemleri loglaniyor ( bunu cok abartmadim veri tabani cildirmasin diye )
web.config’te connection string kismi sifreli.
Kullanicilarin hassas bilgileri ( hastalik bilgileri, sosyal sigorta nolari, dogum tarihleri ) simetrik bir anahtarla sifrelendikten sonra veritabanina kayit ediliyor. Bu simetrik anahtar web.configte tutuluyor, web.config’in bu kismida sifreleniyor aspnet_regiis ile. Simetrik keyin bir kopyasi sunucularin bakimi yapan bir kisi tarafindan saklaniyor.Burada guvenlikten sorumlu bir arkadasimiz, simetrik keyi usb keyde saklamayi, ve her veri goruntulenmesi icin anahtardan tekrar okunmasini istedi ama pratikte bu imkansiz.
veritabaninda henuz yapmadim ama yapmayi dusundugum sql server 2005’in sundugu bir imkan olan, veritabani seviyesinde sifreleme kullanilacak..
Her turlu veri girisi Server.HtmlEncode ile encode yapilarak sisteme kayit ediliyor.
Her turlu dosya upload isleminde zip islemi yapiliyor.
tum sql sorgu islemleri stored procedure kullanildi, dinamik sql kesinlikle kullanilmadi, veriler veritabanindan cekilirken sadece gerekli kolonlar cekiliyor.
web sunucusu ile veri tabani birbirine cross kablo ile bagli ve aralarinda nat ip adresi var ( bu californiada zorunlu bir uygulama gazi bilgileri icin ).
web sunucusu ve veri tabani bu uygulama disinda baska hicbir uygulamayi barindirmiyor ( bu da baska bir zorunluluk )
web sunucusuna calistigim yerin verdigi bir sertifika yuklu ve sadece (ssl) https:// ile erisime izin var.
web sunucusuna erisim hakki olan 4 kisinin kullandigi notebooklarda vpn yuklu, ve vpn ile sisteme girince aldiklari sabit ipler, iis uzerinde authenticated olan tek ipler. Vpn sifreleri sistem admininin sorumlulugu altinda
vpn kullanmadan sisteme giris yok. ( iis authentaticanda geri cevriliyorlar )
 
simdi tek aradigim sey bunlara ekstra olarak, ziplenmis dosyayi nasil imzalarim, buna digital olarak imza atabilirsem, upload eden kisinin bir bilgisini imza icine atabilirmiyim ?
Baska onerdiginiz, acik gordugunuz bir kisim var mi ?
 
_________________________________________________________________
Play free games, earn tickets, get cool prizes! Join Live Search Club. 
http://club.live.com/home.aspx?icid=CLUB_wlmailtextlink
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.owasp.org/pipermail/owasp-turkey/attachments/20070608/e41f0ece/attachment-0001.html 


More information about the Owasp-turkey mailing list