[Owasp-turkey] Onerileriniz

volkan uzun vuzun at csusb.edu
Fri Jun 8 15:58:57 EDT 2007


 

Tesekkurler degerli onerilerin icin,

- Membershipproviderda mesela 5 tane kere yanlis login yapilirsa, hesabi
kilitle secenegi aktif

- Sifre secme isleminde minimum 6 uzunluk, 1 sayi zorunlu, ayica
ajaxcontroltoolkit ile gelen passwordsthrength bilesenini kullanip,
kullanicinin sectigi sifre ne kadar guvenli bir nebze olsun kullaniciya
bildiriyorum.

- server.htmlencode isleminin sebebi, xss ve injection saldirilari icin.

- capthca her nekadar koyabilsemde sorun bizim yaptigimiz her uyguluma
accessible olmak zorunda ( korler, gorme bozuklugu olanlar , sagirlar vs vs
icin ), gerci capthcanin accessible olan versiyonlarida var sanirim ama gene
de isimi zorlastiriyor.

- windows integrated auth. Kullanirsam eger, ve nete acik olan web sunucusu
hack olursa, bu durumda sql server da artik ataga acik degil mi ? ben ise
arada bir sql sifresi koyarak, bunu engellemeye calismistim. Bu konuda ne
dusunuyorsun ?

- kaan : https://mail.csusb.edu ya gidersen orada mail server icin
verdigimiz ornek bir certificate var.

- bu arada sql server a, erisim sadece web server uzerinden ve bir sifre
ile. Web uygulamasini imzalayip, sadece bu web uygulamasi sorgu
kosturabilir, bunun disinda baska bir uygulama sifre ile gelse bile izin
verme demek gibi bir sansimiz var mi ?

volkan

 

  _____  

From: Bedirhan Urgun [mailto:urgunb at hotmail.com] 
Sent: Friday, June 08, 2007 12:46 PM
To: volkan uzun; owasp-turkey at lists.owasp.org
Subject: RE: [Owasp-turkey] Onerileriniz

 

 
 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 -0700
From: vuzun at csusb.edu
To: owasp-turkey at lists.owasp.org
Subject: [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 ?

 

1.	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
2.	Yonetici, her kullanici icin, sayfa bazinda hak tanima islemi
yapabiliyor.
3.	Sisteme her giris/cikis, upload islemi, ve tum kayit silme islemleri
loglaniyor ( bunu cok abartmadim veri tabani cildirmasin diye )
4.	web.config'te connection string kismi sifreli.
5.	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.
6.	veritabaninda henuz yapmadim ama yapmayi dusundugum sql server
2005'in sundugu bir imkan olan, veritabani seviyesinde sifreleme
kullanilacak..
7.	Her turlu veri girisi Server.HtmlEncode ile encode yapilarak sisteme
kayit ediliyor.
8.	Her turlu dosya upload isleminde zip islemi yapiliyor.
9.	tum sql sorgu islemleri stored procedure kullanildi, dinamik sql
kesinlikle kullanilmadi, veriler veritabanindan cekilirken sadece gerekli
kolonlar cekiliyor.
10.	web sunucusu ile veri tabani birbirine cross kablo ile bagli ve
aralarinda nat ip adresi var ( bu californiada zorunlu bir uygulama gazi
bilgileri icin ).
11.	web sunucusu ve veri tabani bu uygulama disinda baska hicbir
uygulamayi barindirmiyor ( bu da baska bir zorunluluk )
12.	web sunucusuna calistigim yerin verdigi bir sertifika yuklu ve
sadece (ssl) https:// ile erisime izin var.
13.	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
14.	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.
Join <http://club.live.com/home.aspx?icid=CLUB_wlmailtextlink>  Live Search
Club!

-------------- sonraki bölüm --------------
Bir HTML eklentisi temizlendi...
URL: https://lists.owasp.org/pipermail/owasp-turkey/attachments/20070608/3705e84f/attachment.html 


More information about the Owasp-turkey mailing list