Secure Socket Layer (SSL)
SSL teknolojisi TCP/IP protokolü üzerinden çalisan, web sunucusu ve web tarayicisi arasindaki tüm bilgi akisini koruyan bir güvenlik protokolüdür. Bütün popüler web tarayicilarda ve web sunucularda uygulanmaktadir. Bugünün web üzerinden elektronik ticaret ve elektronik is uygulamalarinda önemli bir rolü vardir. SSL protokolü iki taraf arasinda güvenli ve gizli iletisimin saglanmasinda elektronik kimlik belgelerini kullanir. SSL baglantisi üzerinden gönderilen veriler üçüncü sahislar tarafindan bozguna ugratildiginda, bundan taraflarin aninda haberi olur.
Bir web sunucusunun kullanicilariyla SSL baglantisi saglayabilmesi için öncelikle sunucu tarafinda bir sunucu e-kimliginin bulunmasi gereklidir. SSL ile güvenligi saglanmis bir siteye baglanan kullanici sitenin URL adresinin "https:" ile basladigini görür. Bundan sonraki asamalarda sunucu kendi e-kimligini kullaniciya göndererek kendini tanitir. Eger sunucunun e-kimligi geçerliyse ve kullanicinin tarayicisinda sunucuya e-kimlik veren Onay Kurumunun e-kimligi tanimliysa tarayici kullaniciya güvenilir bir siteye baglandigina dair bilgi verir. Daha sonra SSL baglantisi kurulur ve sunucu-tarayici arasindaki tüm veriler üçüncü sahislarin mesaji okumasini önlemek amaciyla sifrelenir, mesaj içeriginin yolda herhangi bir sekilde degistirilme olasiligina karsi olarak da sayisal imza ile imzalanir ve sifreli mesaj imzasiyla birlikte gönderilir veya alinir. SSL / Sunucu Kimlik Dogrulamasi olarak adlandirilan bu islemlerin amaci kullaniciya baglandigi sitenin gerçekten baglandigini düsündügü site oldugunun ve sunucuya gönderilen bilgilerin gerçekten de sadece o sunucu tarafindan okunabileceginin ispatinin saglanmasidir. Kullanici bundan emin olmak için SSL baglantisi süresince sunucudan gelen her bilgiyi web sayfasinin güvenlikle ilgili özelliklerine bakarak kontrol etmelidir. Web sayfalarinin güvenlik bilgileri sunucunun e-kimligini kontrol imkani saglar. Eger yabanci veya farkli bir sunucunun kimligiyle karsilasilirsa baglanilan sunucu baglanildigi sanilan sunucu degildir ve iletisimin güvenligi tehdit altindadir.
SSL’in sagladigi imkanlardan bir digeri de kullanici e-kimliginin sunucuya gönderilerek kullanicinin kendisini sunucuya tanitmasidir. SSL / Kullanici Kimlik Dogrulamasi olarak adlandirilan bu islemde ise sunucu kendini kullaniciya tanittigi gibi kullanicidan da kendisini tanitmasini ister. Bunun için kullanicinin bir e-kimliginin olmasi gerekmektedir. Sunucu tarafinda yapilacak bazi ayarlar ile e-kimligi olan hangi kullanicilarin siteye baglanmalarina izin verilecegi tanimlanabilir.
mIRC de SSL kullanimi
mIRC 6.14 surumu ile SSL kullanimida mIRC tarafidan desteklenmeye baslamistir ve OpenSSL* kutuphanleri kullilmaktadir.
Kullanmak için yapmaniz gereken OpenSSL 0.9.7d yada daha yeni kutuphane surumunu mIRC i yukledikten sonra mIRC nin yuklendigi dosyaya tasimaniz. Bu kutuphaneler
mIRC ile birlikte gelmemekte cunku ulkelere gore bircok degisiklik gosteren OpenSSL DLL leri bulunmaktadir.
Hangi dosyalara ihtiyacim var?
OpenSSL in libeay32.dll ve ssleay32.dll lerine ihtiyaciniz vardir, ve buyuk ihtimalle birde msvcr70d.dll ye. Bu DLL ler yukledikten sonra ya mIRC nin bulundugu dosyaya yada Windowsun sistem dosyasina kopyalanmalidir.
Bu DLL ler bizim SSL i test ettigimiz OpenSLL kaynaklariyla derlenmis olan varsayilan DLL lerdir. Eger SSL/OpenSSL ile ugrastiysaniz kendi DDL nizde derleyebilirsiniz. OpenSLL DLL leri Visual C++.Net ile derlendiginde msvcr70.dll dosyasinada ihtiyac duyar ve bu DLL windows 9x de bulunmamaktadir.Bu yuzden msvcr70d.dll dosyasininda sistemizde oldugundan emin olun.
Eger OpenSSL hakkinda hiçbir fikriniz yoksa Win32 OpenSSL dosyasini asagidaki linkten** indirebilirsiniz. Bu dosya gerekli her dosyayi kolay bir arayuzle sisteminize kurucaktir.
Peki daha sonra, nasil calisacak?
mIRC eger DLL leri bulursa otomatik olarak yukler. $sslready degiskeni DLL ler duzgun yuklendiyse kullanilmaya baslanir. Bir servera SSL ile guvenli bir sekilde baglanmak için /server -e komutunu kullanabilirsiniz yada serverin port numarasi onune + sembolu getirerek kullanabilirsiniz. $ssl degiskeni bu degisikligi fark edip baglantinin SSL li mi yoksa normal mi olucagini tanimlar. SSL ayarlari mIRC nin View/Options/Connect/Options bolumunde bulunmaktadir, ve bu ayarlar OpenSSL DLL lerinin uygun bir sekilde yuklenmisse etkindir.
Hangi serverlar SSL i destekliyor?
Suanda bu destek pek yaygin olmasada bir kac server bu destegi vermektedir, ayrica bir serverin SSL i destekleyip desteklemedini kontorl etmek için tek yapmaniz gereken irc.kaffee-net.de:+6670 gibi baglanmayi denemek olucaktir. O kadarda zor degil ha ;)
Eger SSL destekleyen bir server a baglandiysaniz su sekilde bir uyari alicaksiniz;
-irc.kaffee-net.de- *** You are connected to irc.kaffee-net.de with TLSv1-AES256-SHA-256bits
Ve eger bu SSL destekli server a whoIS cekerseniz soyle bir sonuc alicaksiniz;
Krejt is [email protected] * Tjerk Vonck
Krejt is connecting from *@CB97235.xxx.xxx.nl
Krejt on #mirc
Krejt using irc.kaffee-net.de Root of ... of ... I don’t know ;>=
Krejt is a Secure Connection
Krejt has been idle 4secs, signed on Wed Mar 03 16:42:15
Krejt End of /WHOIS list.
Peki baska SSL destekli server varmi?
Evet tabiki var, iste asagida bir kac örnegi;
irc.munchkins.net:+9999
irc.distributed.net:+994
ssl.axenet.org:+6697
aurora.blabber.net:+7000
irc.link-net.org:+7000
irc.indymedia.org:+994
irc.ircsystems.net:+6697
ssl.wondernet.nu:+6000
irc.villageirc.net:+9999
irc.irchighway.net:+9999
irc.wiredirc.net:+6668
irc.suidnet.org:+9999
ircs.segfault.net:+994
irc.chatsages.com:+9998
irc.ircnexus.net:+2500
ssl.biteme-irc.net:+6999
Ve diger ayarlar ne?
Yukarida anlatilmis olan ayarlar yapildiktan sonra View/Options/Connect/Options bölümünde SSL ile ilgili yere girip “Display invalid certificates for approval instead of closing connection” yazan yeri seçiyoruz. Bunun sebebi biz SSL ile belirli bir servera girdigimizde bize sertifikayi onaylamamiz için bir uyari yollamaktadir. Eger yollanan uyariyi kabul etmedigimiz takdirde girmek istedigimiz servera baglantimiz saglanmamaktadir. Uyarinin sebebi bazi sertifikalar sistem tarafindan taninmayip sistem üzerinde soruna yol açmamasi için kullanilmaktadir.
Sonuç olarak yapmamiz gereken öncelikle Mirc Script sürümüdür. Ve gerekli olan DLL leri yukarida yazildigi gibi Mirc yada System klasörüne atmamiz gerekmektedir. Bu ayarlari yapmadigimiz takdirde /server –e yazdigimizda SSL is not available uyarisiyla karsilasiriz.
Neden guzenli bir baglantiya ihtiyac duyariz?
mIRC bir cok organizasyon tarafinda kullaniliyor ve onlar iletisimlerinde guvenlik istiyorlar. Cesitli egitim organizasyonlari online ogretimi saglamkta ve iletisimlerinin guvbenli olmasini bazi özel nedenlerle istemekteler. Tum bunlardan ayri olarak dunya capinda iletisim guvenli yollardan yapilmakta ister politika hakkinda olsun ister is yada baska bir nedenle.Sonuc olarak guvenli iletisim kisisel guvenlik içinde gerekli bir sistemdir ve eger sizin istediginiz gereken bir sey degilse tek yapmaniz gereken kullanmamaktir.
Konu hakkinda not..
IRC serverlari üstünden paylastiginiz bilgiler guvenli iletisim methodlari kullanilirsa bir baskasi tarafindan ne okunur nede degisiklige ugrar. Hernekadar puplic serverlardaki iletisim sifrelenmemis satirlardan olusada, guvenli iletisim onemlidir. Ve eger bir kisiyle guvenli bir sekilde iletisim kurmak istiyorsaniz her iki tarafindan SSL kullanmasi gerekmektedir. Ve eger bir grup içinde guvenli iletisim kurmak istiyorsaniz gruptaki herkesin SSL kullanmasi gerekmektedir, sayet gruptaki bir kisi bile SSL kullanmazsa iletisim guvenli olmayacaktir.
IIS’de SSL Ayarlari
IIS için SSL ayarlari asagidaki basamaklar izlenerek yapilir:
- IIS Web sitesi için bir sunucu sertifikasi istemi hazirlanir.
- Bu istem vasitasiyla sunucu sertifikasi hizmet saglayicisindan bir sertifika edinilir.
- Edinilen bu sertifika IIS’ye kurulur.
- Web sitesi SSL kullanimina açilir.
IIS Web Sitesi Için Bir Sunucu Sertifikasi Istemi(Windows XP Pro)
- IIS snap-in’ni baslatmak için Start butonuna tiklayin, daha sonra Control Panel’e tiklayin. Control Panel’de, Administrative Tools’a çift tiklayin. Administrative Tools’da, Internet Services Manager’a çift tiklayin.
- Soldaki panoda, Web sitenize sag fare tusuyla tiklayin. Properties’e tiklayin ve Directory Security’yi seçin.
- Secure Communications kismindaki Server Certificate butonuna tiklayin. Böylece Web Server Certificate Wizard çalisacaktir.
- Web Server Certificate Wizard diyalog kutusunda Next butonuna tiklayin.
- Server Certificate sayfasinda Create a new certificate seçenegini seçin ve Next butonuna tiklayin.
- Delayed or Immediate Request sayfasinda Prepare a request now but send it later seçenegini seçin ve Next butonuna tiklayin.
- Name and Security Settings sayfasinda Name kutusuna Web sitesinin ismini girin. Burada girdiginiz isim bilgisi sertifikada kullanilmayacaktir, sadece Sistem Yöneticisine kolaylik saglama amaci güder.
- Bit cinsinden açik-anahtar uzunlugunu girin. Diger seçenekleri bos birakin ve Next butonuna basin.
- Organization ve Organization Unit kutularina sirasiyla kurulusunuzun ve kurulusunuzda bu sertifikayi kullanacak birimin isimlerini girin ve Next butonuna basin.
- Common Name kutusuna sertifikayi kuracaginiz bilgisayarin ismini girin. Bu bilgi sertifika içerisinde kullanilacagi için çok önemlidir. Dolayisiyla dogrulugundan emin olun. Eger bilgisayariniz, bir intranet sunucusu olarak kullanilacaksa, bu kutuya bilgisayarinizin NetBIOS veya DNS ismini girebilirsiniz. Yok eger bilgisayariniz, bir Internet sunucusu olarak kullanilacaksa buraya gireceginiz isim Web sunucunuzun internet adresiyle ayni olmalidir. Örn. Bilgisayarinizin NetBIOS ismi websunusu, DSN ismi de websunucusu.sirketim.com.tr olsun. Dolayisiyla Web sitenizin adresi www.sirketim.com.tr ise Common Name kutusuna gireceginiz isim de bu olmalidir. Bilgisayar ismini girdikten sonra Next butonuna basin.
- Country/Region, State/Province ve City/Locality kutularina sirasiyla bulundugunuz ülkenin, eyaletin ve sehrin isimlerini girin. Türkiye’de eyalet sistemi olmadigindan dolayi State/Province kutusunu bos birakin. Next butonuna basin.
- Certificate Request File Name sayfasinda sertifika istem dosyasinin tam adini bu dosyayi kaydetmek istediginiz dizinle beraber girin. Next butonuna basin.
- Request File Summary sayfasinda girdiginiz sertifika istem bilgilerini kontrol edin ve Next butonuna basin.
- Completing the Web Server Certificate Wizard sayfasinda Finish butonuna basin. Böylece Wizard sertifika istem dosyasini yaratacaktir.
- OK butonuna basarak Web Site Properties sayfasini kapatin.
- Internet Services Manager programini kapatin.
Sunucu Sertifikasi Hizmet Saglayicisindan Bir Sertifika Edinme
Bu kismin IIS ile bir ilgisi yoktur. Sunucu sertifikasi, TÜBITAK-BILTEN ya da VeriSign gibi kuruluslardan belli bir ücret karsiliginda edinilebilir. Ayrica bu kuruluslar belli bir süreligine deneme(evaluation) için sertifika vermektedir.
Sunucu Sertifikasinin IIS’e kurulumu
- IIS snap-in’ni baslatmak için Start butonuna tiklayin, daha sonra Control Panel’e tiklayin. Control Panel’de, Administrative Tools’a çift tiklayin. Administrative Tools’da, Internet Services Manager’a çift tiklayin.
- Soldaki panoda, Web sitenize sag fare tusuyla tiklayin. Properties’e tiklayin ve Directory Security’yi seçin.
- Secure Communications kismindaki Server Certificate butonuna tiklayin. Böylece Web Server Certificate Wizard çalisacaktir.
- Web Server Certificate Wizard diyalog kutusunda Next butonuna tiklayin.
- Pending Certificate Request sayfasinda Process the pending request and install the certificate seçenegini isaretleyin ve Next butonuna basin.
- Process a Pending Request sayfasinda Path and file name kutusuna sunucu sertifikasi dosyasinin tam adini ve yolunu girin. Next butonuna basin.
- Sunucu sertifikasinin özellikleri Certificate Summary sayfasinda gözükecektir. Next butonuna basin.
- Completing the Web Server Certificate Wizard sayfasinda Finish butonuna basin.
- OK butonuna basarak Web Site Properties sayfasini kapatin.
- Internet Services Manager programini kapatin.
Web Sitesini SSL Kullanimina Açma
- IIS snap-in’ni baslatmak için Start butonuna tiklayin, daha sonra Control Panel’e tiklayin. Control Panel’de, Administrative Tools’a çift tiklayin. Administrative Tools’da, Internet Services Manager’a çift tiklayin.
- Soldaki panoda, Web sitenizdeki SSL kullanmak istediginiz sanal dizine(virtual directory) sag fare tusuyla tiklayin. Properties’e tiklayin ve Directory Security’yi seçin.
- Secure Communications kismindaki Edit butonuna tiklayin.
- SSL kullanimini aktif hale getirmek için Require secure channel(SSL) seçenegini isaretleyin. Daha sonra 128 bit sifreleme için Require 128-bit encryption seçenegini isaretleyin.
- OK butonuna basarak Secure Communications sayfasini kapatin.
- OK butonuna basarak Directory Security sayfasini kapatin.
- Internet Services Manager programini kapatin.
Kaynaklar:
++ http://sertifika.bilten.tubitak.gov.tr/net/teknik/SSL.jsp
++ http://www.maliye.gov.tr/mayem/new/sx/yayinlar/notlar/IISdeSSLayarlar%C4%B1.htm
++ http://www.mirc.co.uk/ssl.html adresinden MMx tarafindan çevirilip, bazi bölümlerine ekleme yapilmistir.
* http://www.openssl.org
** http://www.shininglightpro.com/products/Win32OpenSSL.html