in Güvenlik, Windows

Windows RDP Güvenliği

Bir çok RDP manyağı tanıyorum inception tipinde sunucudan sunucuya atlayıp en son SSH ile kalakalmış acayip fanteziler yapan tipler. Tabi çoğu hoster :) yoksa ne uğraşsın ki o kadar pencere ile.

Tamam RDP hepimizin işini kolaylaştırıyor ve her işimizi görüyor fakat çok brute-force ve man-in-the-middle attack’lara maruz kalıyor çünkü herkes protokolü biliyor, port’unu biliyor ve zafiyetleri hiç bitmiyor..

Olay RDP günveliğini biraz daha arttırmak adına yapılması gereken adımlar!

Ufaktan listeleyeyim:

  1. Adam gibi karmaşık bir parola belirle.
  2. Windows Firewall’dan White List’i aktifleştir.
  3. RDP Portunu değiştir.
  4. Encryption’ı aktifleştir.

Başlıklar halinde ilerleyelim…

Adam gibi karmaşık bir parola belirle.

Çok fazla açıklamaya gerek yok ama kolaylık olması açısından MaestroPanel’in Yüksek Seviye Parola Politikası örnek gösterilebilir. Ek olarak Password Card denene bir olay var. Buradan da yararlanılabilir.

Windows Firewall’dan White List’i aktifleştir.

Normalde RDP’nin kendi içinde bir White List özelliği yok. Bu nedenle Windows Firewall’ı kullanmak gerekiyor.

Önce aşağıdaki komut ile Firewall’ın public profilini açıyoruz:

netsh firewall set opmode enable

daha sonra RDP ile ilgili TCP Inbound (sunucuya gelen istek) kurallarından sunucuya ön tanımlı olarak gelen “Remote Desktop (TCP-In)” kuralını biraz değiştirmek gerekiyor. Aşağıdaki komut kuralı istediğimiz gibi değiştirip hangi ip adresine izin vereceğimizi belirliyor.

set rule name="Remote Desktop (TCP-In)" dir=in new remoteip=192.168.1.20

Yani burada 192.168.1.20 IP’sinden gelen RDP isteklerini kabul edecek sadece. Buna bir IP daha eklemek isterseniz virgül ekleyip diğer IP Adresini yazabilirsiniz.

set rule name="Remote Desktop (TCP-In)" dir=in new remoteip=192.168.1.20,192.168.1.22,10.0.0.0/24

Böyle atraksiyonlara da izin var ;)

 RDP Portunu değiştir.

Hani git Google’a yaz ilk çıkan hareketi uygula diyerek sıyrılabilirdim bu madde den ama yazayım hazır başlamışken.

Registry’i açıp aşağıdaki anahtarı bulduktan sonra

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber

PortNumber değerini (default 3389) makul bir TCP portu ile değiştirebilirsiniz. 9000-9999 arası güzel az kullanılan portlar hep.

Encryption’ı aktifleştir.

RDP Protokolünü kriptolu bir vaziyette kullanmak man-in-the-middle attack’ları engeller bu nedenle önemli bir adımdır. run’dan gpedit.msc yazıp Enter’a bastığınızda karşınıza windows’un group politikaları gelecektir. Oradan;

Computer Configuration > 
        Administrator Templates > 
            Windows Components > 
                Remote Desktop Services > 
                   Remote Desktop Session Host > Security

anahtarına geldikten sonra, “Set client connection encryption level” özelliğine gelip “Enable” yapın.

Bonus

Bu ayarlarla kısmen RDP servisiniz korunacaktır fakat aklıma gelmişken ekleyeyim brute-force için etkili olabilecek bir özelliği de aktifleştirmenizde fayda var. Buda Account Lockout Policy

Bu ayar herhangi bir windows local user hesabından belirlediğiniz sayıda hatalı veya geçersiz giriş denemesi olursa belirlediğiniz süre hesabı kitliyor.

Aşağıdaki komut 5 hatalı girişte olayın tetikleneceğini belirler.

net accounts /lockoutthreshold:5

Bu komut ise 5 hayalı giriş yapıldıktan sonra hesabın kaç dakika kilitli kalacağını belirler.

net accounts /lockoutduration:30

 

Yorum Bırak

Comment

  1. Teşekkürler
    Daha fazla güvenlik için yurtdışı proxy ip değiştirme programlarını engellemek adına güvenlik duvarı ip bloğu türkiyenin ip adresleri olabilir özellikle ttnet. çift server varsa diğerinin ip adresi eklenir.
    güvenlik duvarını açmadan önce rdp nin etkin olmasıda önemli yoksa uzak masaüstü bağlantısı kesiliyor.

  2. Uzak masaüstü ile bağlanan kişiler için
    “netsh firewall set opmode enable” bu komut bağlantıyı koparıyor.

    Sanırım önce ip tanımlaması yapmak daha sonra enable yapmak gerek.