Posted in

Güvenlik Duvarı Ortamlarında RPC Dinamik Port Yapılandırması Nasıl Yapılır?

Windows Server ortamlarında yıllardır en sık karşılaştığım ama çoğu zaman gözden kaçan konulardan biri de RPC (Remote Procedure Call) trafiği ve bu trafiğin güvenlik duvarları ile olan dansıdır. Özellikle dağıtık sistemlerde veya domain yapılarında güvenlik duvarı arkasındaki sunucularla sağlıklı bir iletişim kurmak istiyorsanız, RPC’nin çalışma mantığını iyi kavramak ve yapılandırmasını doğru yapmak zorundasınız.

Windows ortamlarında sıkça kullanılan bazı yönetim araçları — örneğin DHCP Manager, WINS Manager gibi — arka planda RPC (Remote Procedure Call) protokolünü kullanır. Bu sistemler, çalışırken belirli bir porttan iletişim kurmak yerine, işletim sisteminin belirlediği TCP/UDP aralığında rastgele bir port seçerek haberleşme yapar. Buna RPC Dinamik Port Ataması denir.

Ancak güvenlik duvarı (firewall) arkasında çalışan sistemlerde bu rastgelelik ciddi sıkıntılara neden olabilir. Çünkü hangi porttan hangi trafiğin geçeceğini bilemezseniz, güvenlik duvarınızı da sağlıklı yapılandıramazsınız. Bu yüzden birçok sistem yöneticisi, RPC’nin hangi portları kullandığını kontrol etmek ister.

Bu yazıda, Microsoft’un resmi dökümanına dayanan bilgileri sahada karşılaştığımız senaryolarla harmanlayarak anlatacağım. Özellikle dinamik RPC port aralığı nasıl çalışır, nasıl sınırlandırılır ve güvenlik duvarları ile nasıl entegre edilir sorularına yanıt vereceğim.

 

Nedir Bu RPC Dinamik Portlar?

RPC, istemci ve sunucu arasında uzaktan işlem çağrıları yapılmasını sağlayan temel bir iletişim protokolüdür. Örneğin, bir yönetim konsolundan uzak bir sunucuya bağlanmak, Active Directory replikasyonu veya WMI sorguları yapmak gibi birçok işlev RPC’ye dayanır.

Ancak kritik bir nokta var: RPC dinamik olarak 1024 – 65535 (Windows Server 2008 ve sonrası için 49152 – 65535) aralığında portlar açar. Bu, güvenlik duvarı açısından baş belası olabilir. Çünkü bu kadar geniş bir port aralığını açmak, güvenlik açısından kabul edilebilir değildir.

Sahada En Çok Karşılaştığımız Sorun: Erişim Var Ama Bağlantı Yok

Eğer güvenlik duvarınızda sadece TCP 135 portunu açtıysanız, bağlantı kuruluyor gibi görünür ama RPC üzerinden veri alışverişi gerçekleşmez. Çünkü 135 sadece RPC Endpoint Mapper portudur. Asıl iletişim dinamik olarak belirlenen portlardan yapılır.

Bu durumda yapılması gereken şey, RPC’nin kullanacağı dinamik port aralığını belirli bir aralıkla sınırlamak ve bu port aralığını güvenlik duvarına manuel olarak tanımlamaktır.

Portları Sabitlemek Neden Önemli?

Bazı Windows servisleri, RPC için kullanacakları portları doğrudan yapılandırma dosyalarından veya kayıt defterinden (registry) ayarlamaya izin verir. Böylece o servisin hangi porttan çalışacağını kesin olarak biliriz. Güvenlik duvarında sadece o belirli portu açarak hem sistemi korur hem de gerektiği kadar erişim sağlarız.

Eğer bir servisin portunu elle ayarlayabiliyorsak, mutlaka bu yöntemi tercih etmeliyiz. Böylece hem trafik daha kontrollü akar hem de saldırı yüzeyi azalır.

Windows RPC Dinamik Port Aralığı: Registry Üzerinden Elle Yapılandırma Rehberi

Windows sistemlerinde RPC (Remote Procedure Call) için kullanılacak port aralığını sınırlamak istediğinizde, bunu doğrudan sistem ayarlarından değil, kayıt defteri (registry) üzerinden manuel olarak yapmanız gerekir. Ancak bu işlem dikkat ve bilgi gerektirir.

⚠️ Uyarı: Registry ile çalışmadan önce dikkat!

Registry ayarlarında yapılacak yanlış bir değişiklik, sisteminizin kararsız hale gelmesine veya hiç açılmamasına neden olabilir. Bu yüzden adımları dikkatle takip edin ve işlemden önce registry yedeğinizi mutlaka alın. Registry Yedeği alma konusunda bilgi isterseniz, ilgili yazıma göz atabilirsiniz.

Yapılandırılacak Anahtar (Key) ve Parametreler

Tüm aşağıdaki ayarlar şu konumda yapılır:
HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\Internet

Eğer HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc altında Internet anahtarı (Key) yok ise oluşturabilirsiniz.

🔧 1. Ports

Tür: REG_MULTI_SZ
Bu alan, kullanılmasına izin verilecek portları belirtir. Tek tek portlar ya da aralık olarak girilebilir.

📌 Örnek Değerler:

  • 5984 (tek bir port)

  • 5000-5100 (bir port aralığı)

⚠️ Dikkat:
Eğer belirttiğiniz değerlerden biri 0–65535 aralığı dışında kalır ya da doğru formatta yazılmazsa, RPC altyapısı tüm yapılandırmayı geçersiz kabul eder. Bu durumda sisteminiz varsayılan ayarlarla devam eder.


🔧 2. PortsInternetAvailable

Tür: REG_SZ
Olası Değerler: Y (Evet) veya N (Hayır) – büyük/küçük harfe duyarlı değildir.

Bu parametre, yukarıda Ports altında tanımladığınız portların internet üzerinden ulaşılabilir portlar mı, yoksa iç ağ (intranet) portları mı olduğunu belirler.

  • Y: Tanımlı portlar internet üzerinden erişilebilen portlardır.

  • N: Tanımlı portlar sadece iç ağda (LAN) kullanılabilir.


🔧 3. UseInternetPorts

Tür: REG_SZ
Olası Değerler: Y veya N

Bu parametre, sistemdeki varsayılan politika olarak hangi port setinin kullanılacağını tanımlar.

  • Y: Varsayılan olarak internet erişimli portlar kullanılır.

  • N: Varsayılan olarak sadece intranet (iç ağ) portları kullanılır.

* Bu yapılandırma, özellikle güvenlik duvarı (firewall) arkasındaki sistemlerin daha sıkı ve kontrollü çalışması için oldukça faydalıdır. Ancak yapı karmaşık ve riskli olduğundan ötürü dikkatli uygulanmalıdır.

 

⚠️ Dikkat: Eğer port yapılandırmasında bir hata varsa veya port havuzunda yeterli sayıda port yoksa, Endpoint Mapper Servisi dynamic endpoint kullanan RPC sunucularını kaydedemez. Bu durumda sistem, 87 (0x57) ERROR_INVALID_PARAMETER hata kodunu verir. Bu durum, Netlogon gibi Windows RPC sunucularını da etkileyebilir. Böyle bir durumda, olay günlüğüne 5820 numaralı olay (event) kaydedilir.

Log Name: System Source: NETLOGON Event ID: 5820 Level: Error Keywords: Classic Description: The Netlogon service could not add the AuthZ RPC interface. The service was terminated. The following error occurred: The parameter is incorrect.

 

İlgili Microsoft linkinden orjinal makaleye erişebilirsiniz.

Leave a Reply

Your email address will not be published. Required fields are marked *