SİSTEM DOKTORU

www.sistemdoktoru.com
     Powered By IKOVAN
SİSTEM DOKTORUna hoş geldiniz. Oturum Aç | Üye Ol
in ARA

Windows Servers

Microsoft Windows Server NT , 2000,2003,2008 Makaleleri

Sertifika Kullanılarak Uzak Masa Üstü Uygulaması

 

Yaygın tehditler

Önce bazı yaygın tehditlere göz atarak başlayalım. Hiçbirimiz sunucularımıza yetkisiz kişilerin erişmesini istemeyiz. Ama sunucularımızda uzak masaüstünü etkinleştirdiğimizde http://sistemdoktoru.com/blogs/ceh/archive/2007/04/25/terminal-server-hacking-and-vulnerability-scanning.aspx ilgili linkinde anlatıldığı gibi bu saldırılara karşı korunmak gerçekten zor bir hale gelir.

Eğer domain’inizdeki password policy, belli bir oturum açma girişiminden sonra kullanıcı hesaplarını kilitlemek üzere konfigure edilmemişse o zaman uzak masaüstü etkinleştirilmiş sunucunuz kullanıcı bazlı Dos atakları için uygun bir ortam teşkil etmiş olur. İp’nizi bilen herhangi biri kolaylıkla terminal sunucunuza bağlanabilir ve çeşitli kullanıcı adı ve parolalarla oturum açma girişiminde bulunabilir. Password policy’lerine bağlı olarak, denenen kullanıcının hesabı kilitlenebilir böylece gerçek kullanıcının oturum açması engellenebilir.

Buna ek olarak eğer zayıf parolalar kullanılıyorsa, üzerinde Windows terminal Hizmetleri çalışan sunuculara karşı hacking toolları kullanılarak dictionary saldırıları yapılabilir. Bu toollar aynı zamanda daha önce bahsedilen Dos saldırılarını da gerçekleştirebilirler.

Bu tehlike eğer internetten bu sunucuya 3389 nolu porttan ulaşılabiliyorsa çok daha büyük bir hale gelir.

Ama tabi ki bu tehlikeye de bir çözüm var çok şükür. Bu çözüm sertifika bazlı bilgisayar kimlik doğrulamasıdır. Eğer bilgisayar, bağlanmaya çalıştığı terminal sunucuya geçerli bir sertifika sunarak kimliğini doğrulayamazsa kullanıcı oturum açmaya fırsat bulamadan RDP bağlantısı düşecektir.

TLS/SSL Bazlı Kimlik Doğrulama nasıl etkinleştirilir?

Başlamadan önce dikkat etmemiz gereken bazı hususlara değinelim;

Sunucu tarafında aşağıdaki şartlar yerine getirilmelidir;

Terminal Sunucunuzda Windows Server 2003 SP1 yüklü olduğundan emin olun.

Ayrıca aşağıdaki özelliklere sahip bir TLS/SSL sertifikasına ihtiyacınız olacak:

Sertifika bilgisayar bazlı olmalı

Sertifikanın amacı sunucu kimlik doğrulaması olmalı

Sertifikanın private key’i mevcut olmalı.

Bilgisayar bazlı sertifika olduğundan terminal sunucunun bilgisayar hesabının sertifika deposunda saklanmalı.

İstemci tarafında aşağıdakiler gerekmektedir:

● İstemci bilgisayarda Microsoft Windows 2000, Windows XP, Windows Server 2003 veya Windows Vista yüklü olmalı.

● Windows 2000, XP ve Windows Server 2003 için, uzak masaüstü versiyon 5.2 veya daha yeni bir sürüm kullanılmalı. Bu versiyon bir Windows 2003 SP1 sunucuda şu klasörde bulunabilir:

%systemroot%\system32\clients\tsclient\win32\msrdpcli.msi

● Son bir önemli şart da sadece yetkili istemcilerin Terminal sunucuda bulunan bilgisayar bazlı sertifikayı basan Kök Sertifikasyon Otoritesine güvenebilmesi gerektiğidir.

Şartları gördüğümüze göre şimdi nasıl yapılması gerektiğine gelelim.

BİR TLS/SSL SERTİFİKASI TALEP ETMEK

Yapmamız gereken ilk şey terminal sunucumuza bilgisayar bazlı bir TLS/SSL sertifikası yüklemek.

Yapımızda daha önceden Microsoft Sertifika Hizmetlerinin kurulmuş olduğunu varsayıyoruz. TLS/SSL bazlı sertifikamızı Active Directory’ye entegre bir enterprise CA veya stand-alone bir CA’dan talep etmeyi seçebiliriz. Biz bu makale için enterprise CA kullanmayı seçiyoruz.

1.Terminal Sunucumuzun Start menüsünden Run’ı tıklayıp mmc yazıyor sonra da OK’i tıklıyoruz.

2.File Menu’den Add/Remove Snap-in’i tıklıyoruz.

3.Add’i tıklayıp Add Standalone snap-in penceresinde Certificates’i tıklayıp Add diyoruz.

4. Computer Account’ı seçip sonra Next’i tıklıyoruz.

5. Local Computer’i seçip sonra Finish’i tıklıyoruz.

6. Add Standalone Snap-in penceresinde Close’u tıklayıp sonra OK’i tıklıyoruz.

7. MMC konsolünde Certificates’in üzerine geliyoruz.

8. View Menu’den Options’ı seçiyoruz.

9. View Options kutusunda Certificate Purpose’ı seçip OK’i tıklıyoruz.

10. Server Authentication’a sağ tıklayıp All Tasks’den Request New Certificate’i tıklıyoruz.

11. Certificate Request Wizard başlıyor, Next’i tıklıyoruz.

12. Certificate Types Listesinde Server Authentication veya Computer sertifikasını seçmemiz gerekiyor ama bizim sunucumuz aynı zamanda bir domain controller olduğu için biz Domain Controller Authentication’i seçiyoruz. Advanced kutucuğunu da işaretleyip Next diyoruz.

13. (Bu adım ve seçenekleri sertifika çeşidine göre farklılık gösterebilir.)

Bir sonraki pencerede Cryptographic Service Providers listesini görüyoruz. Burada Microsoft RSA SChannel Cryptographic Provider’ı seçiyoruz. Key Length’i varsayılan 1024’te bırakıyoruz. Ve gerektiğinde sertifikayı başka bir bilgisayara kopyalamak için Mark this key as exportable kutusunu işaretliyoruz. Next diyoruz.

14. Sertifikasyon Otoritemizi seçip, sertifikamıza bir isim belirliyoruz Next ve Finish diyerek bitiriyoruz.

Terminal Hizmetler Konfigurasyonu

Şimdi de terminal hizmetlerde TLS/SSL’i etkinleştirelim.

Administrative Tools menüsünden Terminal Services Configuration’ı başlatıyoruz. Sol tarafta Connections’ı tıklıyoruz. Sağ bölmede RDP-Tcp’ye sağ tıklayıp Properties’i seçiyoruz.

Öncelikle bir önceki bölümde yarattığımız sertifikayı seçmemiz gerekecek.

1. General sekmesinde Edit düğmesini tıklıyoruz.

2. Sertifikayı seçip OK diyoruz.

3. Yine General sekmesinde security layer olarak SSL’i seçip, encryption level’ı High’a getirip OK’i tıklıyoruz.

Sunucumuz artık hazır şimdi istemci bilgisayara geçelim.

İstemci Konfigürasyonu

İlk yapmamız gereken şey istemciyi terminal sunucunun sunucu sertifikasını basan CA’e güvenecek şekilde konfigüre etmek. Bunu yapmanın en iyi yolu grup policy ama basitlik adına güvenilen kök CA’i bir web tarayıcısı kullanarak istemcimize yükleyeceğiz.

  1. İstemcinin tarayıcısından aşağıdaki URL’yi giriyoruz:

http://server/certsrv

sunucu adı CA’in yüklü olduğu bilgisayar ismi olmalı.

  1. Download a CA certificate, certificate chain, or CRL’ye tıklıyoruz.
  2. Ekranın sağ üst köşesindeki Install this CA certificate chain’e tıklıyoruz.

  1. Bu web sitesine güvenip güvenmediğiniz uyarı çıkacaktır, Yes’i seçin ve sertifikayı yüklemek için bir daha Yes’i seçin.

Bir sonraki yapmamız gereken şey remote desktop client’ımızı versiyon 5.2 veya daha yüksek bir sürüme yükseltmek.

  1. Ön şartlarda da daha önce belirtildiği gibi desteklenen remote desktop client’ımızı terminal sunucuda şu lokasyonda bulabiliriz:

%systemroot%\system32\clients\tsclient\win32\msrdpcli.msi

Yeni remote desktop’umuzu basitçe bu lokasyondan istemci bilgisayarımıza kuralım.

Not: Yeni remote desktop’umuz XP içinde önceden var olan remote desktop’umuzu yükseltmeyecektir. Bilgisayarımızda iki ayrı versiyon remote desktop olmasını istemiyorsak %ProgramFiles%\Remote Desktop içinde bulunan iki dosyayı aşağıdaki lokasyonlara kopyalamamız gerekmektedir.

%systemdrive%\Windows\System32\dllcache

%systemdrive%\Windows\System32

  1. Bir sonraki adımda yeni Remote Desktop’umuzu başlatıyor ve eski versiyonda bulunmayan Security sekmemizi seçiyoruz.

  1. Authentication(Kimlik Doğrulama) Listesinde Attempt Authentication(tesviye edilen) veya Require Authentication’ı seçiyoruz.

  1. Bu uyarı ekranını Yes diyerek geçiyoruz.

  1. Artık terminal sunucumuza bağlanıp oturum açabiliriz. Sol üst köşedeki küçük kilit ikonu, bağlantımızın güvenli olduğunu göstermektedir.
  2. Eğer isterseniz CA’imizin sertifika zincirini, bilgisayarına yüklememiş bir istemciyle test yapabilirsiniz. Bu istemcinin kesinlikle bağlanamadığını göreceksiniz…

Kaynaklar:

http://www.windowsecurity.com/articles/Secure-remote-desktop-connections-TLS-SSL-based-authentication.html

http://support.microsoft.com/kb/895433/en-us

Yayınlanış Tarihi 30 Mayıs 2007 Çarşamba 16:21 Yayınlayan: cterden

Yorumlar

 

Dediki :

Ellerinize ve Bilginize Sağlık...

Mayıs 30, 2007 16:50
 

ocen76 Dediki :

çok çok önemli ve güzel bir çalışma , tebrikler ...

Mayıs 30, 2007 18:43
 

Cengizhan Dediki :

Elinize sağlık teşekkürler.

Mayıs 30, 2007 20:14
 

Dediki :

Teşekkürler eline sağlık.

Mayıs 30, 2007 20:22
 

maniac_team Dediki :

Harika OlmuşHocam,ellerine sağlık..

Mayıs 30, 2007 21:09
 

cterden Dediki :

Rica ederim arkadaşlar. Sistem Mühendisliği camiasına bir katkım olabildiyse ne mutlu bana...

Haziran 11, 2007 14:31
 

ermann Dediki :

süper olmuş hocam ellerine sağlık

Temmuz 12, 2007 12:14
 

efabilisim Dediki :

guzel bir makale hocam çok tşkler ....

Şubat 22, 2008 15:43
 

Faruk AY Dediki :

Paylaşım için teşekkürler

Mart 2, 2008 21:55
 

x-files Dediki :

teşekürler elinize sağlık

Mart 9, 2008 08:39
 

space78 Dediki :

isabetli bir makale, çoğu arkadaşın poblemine çözüm olduğunu düşünüyorum

Mart 13, 2008 15:09
 

Mustafa IRIGUL Dediki :

Çok güzel bir makale tebrik ederim.Bir çok bilgi işlemcinin önemsemediği veya atladığı bir konu..

Mart 21, 2008 10:12
 

ermanatalar Dediki :

Güzel bir anlatım.Ellerinize saglık.kolay gelsin

Nisan 2, 2008 14:48
 

gürkan arsoy Dediki :

Teşekkürler sitede yeniyim siteden kimseyide tanımıyorum nette gezinirken buldum bu işlere merakım olduğu için makalelerinizi okuyorum bence bulunamıycak bir site elinize sağlık

Nisan 9, 2008 18:06
 

emre kıvanc Dediki :

PAYLAŞIM İÇİN TEŞEKKÜRLER GAYET AÇIK ANLATMIŞSINIZ

BAŞARILAR DİLİYORUM

Mayıs 29, 2008 09:05
 

ibrahim_selcuk Dediki :

verdiğin gibi için teşekkür ederim. Client sertifikayı nasıl çekecek  uzak masa üstü bağlanacak bilgisayar localde değil uzakta olur bunun için export inport yapılabilir yada modem üzerinden port açılarak yapılabilir ki bu çok tehlikeli bir durum bence.

Temmuz 24, 2008 12:33
 

arranger23 Dediki :

Öncelikle Şunu söylemek istiyorum.Bu makaleleri takip eden ve uygulamaya çalışan arkadaşlarımız genelde yeni başlayan veya eğitim gören kişiler ve onlar için konular ayrıntılı ve gerçek hayattan örneklerle açıklanmalı diye düşünüyorum.Makaleni hem konu anlamında hem işleyiş anlamında hiç beğenmedim.Gereksiz bir konu ve gerçek hayatta hiç uygulayan bir şirket görmedim.Yazarım rule mu aslanlar gibi isa da yaparım bir ssl publish birde farklı porta yönlendiririm sonrada GP ile dağıtırım.Faydalı ve insanlara çalışma yaşamında uygulayacağı konuları yazmaya çalışın ki bir anlamı olsun.Yoksa microsftta konu çok ömür yetmez.

iyi çalışmalar.

Ocak 24, 2009 00:23
 

okyanusunkalbi Dediki :

TESKKURLER ELLERİNİZE SAĞLIK

Ağustos 20, 2009 15:24
 

Tolga BOYSA Dediki :

Çok güzel bir makale tebrik ederim.

Bir çok IT'nin önemsemediği ve makalelerinde yer vermediği bir konu...

Eylül 16, 2009 15:31
Kimliksiz yorumlar seçilemez kılınmış durumdadır.

cterden Kimdir?

1975 Ankara doğumluyum. Bilgisayarla ilk tanışmam Atari zamanında oldu. Sonra C64'e geçiş yaptım. Daha bilgisayarların harddiski olmadığı, herşeyin disketlere kaydedildiği dönemden kalmayım. Windows ilk çıktığında "Windows'a ne gerek var, Dos'la herşeyi hallediyoruz" diyenlerdenim. Bilgisayar Mühendisliğini çok istememe rağmen kader ve ÖSYM sistemi beni Elektrik Mühendisliğine götürdü. İTÜ Elektrik Mühendisliğini bitirdikten sonra birkaç sene değişik sektörlerde çalıştım. Daha sonra Bilge Adam'da Sistem Mühendisliği eğitimi alarak çok sevdiğim bilgisayar dünyasına geçiş yaptım ve IT sektöründe çalışmaya başladım...
ikost hosting
info@ikovan.com