SSL HTTPS Protokolünde Çalışan Web Servis

365 views
Skip to first unread message

Tufan Dayi

unread,
Apr 22, 2013, 8:57:16 AM4/22/13
to bnr...@googlegroups.com
Selamınaleyküm,

Bir sorum olacaktı;

IIS üzerinde SSL sertifikası yüklü olan bir web servise, windows form tarafından referans olarak ekleme işlemi yapılırken https:// olarak adresini yazmaktan başka bir güvenlik önlemi alınıyor mu? Yani gelen giden paketlerin şifrelenmesi için https:// olarak servisi eklememiz yeterli mi? eğer yeterliyse gelen giden paketler kabak gibi görünüyorsa kabahat IIS konfigurasyonundamı dır?

Sevgiler, saygılar...

Tufan.

Abdulkadir Bener

unread,
Apr 25, 2013, 12:26:54 PM4/25/13
to bnr...@googlegroups.com
Güvenli olması lazım ama kabak görüntüsünün olması ilginç tabi ki...
Bence şu linki bi okumalısınız: http://support.microsoft.com/kb/307267/en-us
Aşağıda dikkat edilmesi gereken paragrafları kopyaladım.
En alttaki paragrafı uygulamadığınız için sıkıntı yaşıyor olabilir misiniz?
 
Saygılar...
 
 

Modify WSDL from HTTP to HTTPS

  1. Edit the WSDL files for your service so that the address for your Web service begins with https instead of http. You must make sure that the copy of the WSDL that your client is using also indicates https.
  2. For Microsoft Visual Studio .NET projects, when you add a Web Reference ,you can specify an https URL as the location of the XML Web service. If you did not do this, then you can edit the class that was created by Visual Studio .NET that wraps the Web service and modify the line of code that sets the URL. For a C# project, the line of code might look like this after you have modified it:
  3. Your XML Web Service will now be accessed over SSL.

Verify That It Works

To determine if SSL is configured properly, try browsing to your server by using an https URL such as https://my_computer/test/test.asmx.

You configuration should be alright if you can successfully browse to the location without any error messages being displayed by Internet Explorer. You are ready to try to access your web service programmatically.

Enforcing SSL-Only Access

If you want to make sure that only SSL requests are accepted by your Web service, you can configure the virtual directory where your XML Web service resides to be SSL only in the Internet Services Manager:
  1. Right-click the virtual directory where your XML Web service resides, and then click Properties.
  2. Click the Directory Security tab, and then click Edit under Secure Communications.
  3. Click require secure channel (SSL), and then click OK twice.

 

 


22 Nisan 2013 15:57 tarihinde Tufan Dayi <td...@hotmail.com> yazdı:

--
Bu e-postayı Google Grupları'ndaki "bnr_net" adlı gruba abone olduğunuz için aldınız.
Bu grubun aboneliğinden çıkmak ve bu gruptan artık e-posta almamak için bnr_net+u...@googlegroups.com adresine e-posta gönderin.
Daha fazla seçenek için, https://groups.google.com/groups/opt_out adresiniz ziyaret edin.
 
 

Tufan Dayi

unread,
Apr 26, 2013, 2:13:14 AM4/26/13
to bnr...@googlegroups.com
Abdülkadir hocam selam,

Bu konu ile ilgili bir iki gündür biraz çalışma yaptım vardığım sonucu aktarayım size;

Benim bilgisayarımdan çıkan ve benim bilgisayarıma giren hiç bir şey güvenli değil, network kartından geçmeden öncesi sunucuya gönderilecek veriyi fiddler, http analyzer gibi programlar çok rahat bir şekilde yakalayabiliyor. Paketler network kartından ağa yüklenmeye başladığı anda secure socket layer denen korumalı bir iletişim katmanından gidiyor, ağ üzerinden bir dinleme yapılıyorsa, wireshark gibi bir programla ssl ile iletilen verileri şifreli olarak görüyor buda zaten verileri açıktan görmediği için, güvenli kabul ediliyor.

Şöyle bir sorun var; ben bilgisayarımdan bir programı kullanırken programın bir web servise bağlandığını biliyorsam, bu web service bilgilerinide http analyzer gibi bir programla alabileceksem, üçüncü kişilere web servisimin giriş anahtarlarını vermiş oluyorum. Bu durumda web servis bağlantılarında kullanılan soap header, sertifika gibi şeyleri atalım çöpe gitsin static olan hiç bir şey güvenli değil tek güvenli olan kurgulanması gereken yapı tek kullanımlık anahtarlar ile web servise giriş çıkışların doğru kişiler tarafından yapılmasını sağlamak. Aksi takdirde güvenlik resmen yerlerde...

Üçünü kişilerin son kullanıcı olduğunu varsayalım ve bu kişilerin bu tip işlemlerle web service ile ilgili hiç bir işlemi olmadığını düşünelim, peki şöyle bir şey aklınıza geliyor olmalı eğer http analyzer gibi bir program bilgisayardan çıkan tüm bilgileri bana şifrelenmeden önce gösterebiliyorsa bunları toplayıp, bu bilgilere ihtiyacı olan birilerine servis edebilir, bunun yapılması hiçte zor değil.

Garanti bankası, iş bankası, hotmail, gmail bunların hepsinde denemeler yaptım hotmail ve iş bankası doldurduğunuz formun (hotmail için login, iş bankası için müşteri bilgileri) post edilmesinde gönderdiğiniz tüm bilgileri açık ediyor, evet bu bilgileri ben girdim ben zaten biliyorum göstermesi normal! göstermesi normal değil gmail ve garanti bankası bunun önüne geçmek için bu bilgileri clientda şifreliyor ve sunucuda açıyor sanırım :) gördüğüm kadarıyla klavyeden girilen bilgileri direk ifşa etmiyorlar burdaki amaçta az önce web servis için verdiğimiz örnekte olduğu gibi bu bilgileri bu gibi programlar sayesinde dışarıya aktarılması çokta zor değil, birde işin acı tarafı bu bilgiler karman çorman yakalanmıyor örneğin; iş bankası TxtMusteriNo:xxxxxx TxtParola:xxxx şeklinde form kontrollerinin name bilgileri ile sunuyor bu şekilde ne aradığını bilen bir kişi çok rahat bir şekilde istediği bilgiyi alabilecek.

Sizin göndermiş olduğunuz şekilde https:// adresini servisinin url özelliğin set ettim, client sertficate özelliğine x509 standartları ile sertifika yüklerek denedim yine yakalandı yine yakalandı, daha sonra IIS üzerindeki ssl ile ilgili bir sorun olduğunu düşünerek https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL adresindeki web servisi denedim bunda login olmaya gerek yok ama yine servise gönderilen parametreleri açık bir şekilde görebildim. O zaman sorun bende değildi? Sorun teknolojideydi a.q. deyip koyun alıp köye yerleşmeyi düşündüm....

Yok, yok bu kadar kolay pes edemezdim buraya kadar edindiğim tecrübeler bana güvenlik anlamında çok şey kattı bu hacker denen zibidilerin ne kadar basit şeylerle sistemleri patlattığını daha iyi anladım, işinizi geliştirmek olunca hiç yıkmayı düşünmüyorsunuz, hani derler ya yuvayı kurmak zordur yıkmak çok kolay diye işte bunun teknolojide bile karşılığı varmış, meğer büyüklerimiz bu sözü genel anlamda söylemişler çok geniş görmüşler çerçeveyi :) hatta ninemin "denk durmadın kız iken henüz ssl yok iken" diye bir şeyler söylediğini hatırlar gibiyim....

İşin özü artık geliştirme işlemlerinde paronayak düşünmekte fayda var.

Sevgiler, saygılar...
 


Date: Thu, 25 Apr 2013 19:26:54 +0300
Subject: Re: SSL HTTPS Protokolünde Çalışan Web Servis
From: abdulka...@gmail.com
To: bnr...@googlegroups.com

Abdulkadir Bener

unread,
Apr 26, 2013, 10:27:07 AM4/26/13
to bnr...@googlegroups.com
Neşem yerine geldi vallahi. :)
Benzetmeler ve nükteler müthişti.
 
Her neyse, sıkıntınızı anladım. Ama şunu baştan kabullenmek gerekir sanırım: SSL için yapılan tanımlama OnTheWire ya da TransportLayer diye tabir edilen güvenliktir. Yani sizin datalar henüz Wire kısmına atılmadan dinleyen bir yazılımla içine bakarsanız illa ki şifrelenmemiş halini alacaksınız. ben ilk soruyu sorduğunuzda makinadan çıkmış datayı şifreleyemediğinizi sandıydım.
 
SSL Kabloya düşmeden okunabiliyorsa bu bir güvenlik zaafiyeti midir?
Olabilir, bir ActiveDirectory'de yavşak bir administrator makinalara http paketleri dinleyip kendine servis eden bir yazılımı çaktırmadan kurabilir.
Kimsenin ruhu duymaz.
Binlerce kişinin şifresini bilmem neyini kabak, ampul vb şekillerde elde edebilir.
Çok fena.
 
Buna engel olmak için;
Sunucu tarafı web sayfasıysa yapacak bir şeyiniz yok demektir, admine güveneceksiniz...
Web servisiyse WS yine yapacak fazla bir şey yok maalesef, neticede burada da transport seviyesinde ssl geçerli.
Adamı öyle ya da böyle dinleyebilirler.
Servis WCF ise "Transport Level Security" değil ama fakat "Message Level Security" kullanarak olayı kökten çözebilirsiniz sanırım. Bazı protokolleri (basichttp vs.) kullanma olanağınız kalmamış olacak ama olsun. Güvenlikse söz konusu olan, çaresini buldunuz demektir.
 
Ninenizin ellerinden hürmetle öptüm... :)
 
 


26 Nisan 2013 09:13 tarihinde Tufan Dayi <td...@hotmail.com> yazdı:
Reply all
Reply to author
Forward
0 new messages